@githolon/runtime 0.119.9 → 0.119.12

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.
@@ -8024,7 +8024,7 @@
8024
8024
  var ReadMaintenanceCause = /* @__PURE__ */ tsEnum(ReadMaintenanceCauseSchema);
8025
8025
 
8026
8026
  // ../../adapter/proto/nomos/runtime/v2/correspondence_desk_pb.js
8027
- var file_nomos_runtime_v2_correspondence_desk = /* @__PURE__ */ fileDesc("Cipub21vcy9ydW50aW1lL3YyL2NvcnJlc3BvbmRlbmNlX2Rlc2sucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIi0AIKFVNoYXJlV29ya3NwYWNlUmVxdWVzdBIPCgdzdWJqZWN0GAEgASgJEhAKCHJlbGF0aW9uGAIgASgJEhoKEmFzc2VydGVyX3ByaW5jaXBhbBgDIAEoCRIOCgZvYmplY3QYBCABKAkSHAoPaG9tZV9sYXdfc2hhMjU2GAUgASgJSACIAQESGgoNYXV0aG9yX3NlY3JldBgGIAEoDEgBiAEBEh8KEmFzc2VydGVyX3dvcmtzcGFjZRgHIAEoCUgCiAEBEhgKC2F0dGVzdGVkX2F0GAggASgJSAOIAQESFwoKYXV0aF90b2tlbhgJIAEoDEgEiAEBQhIKEF9ob21lX2xhd19zaGEyNTZCEAoOX2F1dGhvcl9zZWNyZXRCFQoTX2Fzc2VydGVyX3dvcmtzcGFjZUIOCgxfYXR0ZXN0ZWRfYXRCDQoLX2F1dGhfdG9rZW4ikgEKFFNoYXJlV29ya3NwYWNlUmVzdWx0EjgKB291dGNvbWUYASABKA4yJy5ub21vcy5ydW50aW1lLnYyLlNoYXJlV29ya3NwYWNlT3V0Y29tZRITCgZzdGF0dXMYAiABKA1IAIgBARIUCgdtZXNzYWdlGAMgASgJSAGIAQFCCQoHX3N0YXR1c0IKCghfbWVzc2FnZSLKAQodUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgprZXlfc2hhMjU2GAMgASgJSACIAQESFwoKcHVibGljX2tleRgEIAEoDEgBiAEBEhcKCmF1dGhfdG9rZW4YBSABKAxIAogBARIOCgZyZW1vdGUYBiABKAhCDQoLX2tleV9zaGEyNTZCDQoLX3B1YmxpY19rZXlCDQoLX2F1dGhfdG9rZW4i1AEKFlBhcmVudFNpZ25lckVucm9sbG1lbnQSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRISCgprZXlfc2hhMjU2GAMgASgJEg4KBm9iamVjdBgEIAEoCRIQCghyZWxhdGlvbhgFIAEoCRIQCghlbnJvbGxlZBgGIAEoCBIPCgdyZXZva2VkGAcgASgIEhkKDHZlcmlmaWVkX3ZpYRgIIAEoCUgAiAEBEhIKCmNoZWNrZWRfYXQYCSABKAlCDwoNX3ZlcmlmaWVkX3ZpYSLcAgojRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgpwdWJsaWNfa2V5GAMgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgEIAEoDEgBiAEBEhMKBmRvbWFpbhgFIAEoCUgCiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgDiAEBEhcKCmF1dGhfdG9rZW4YByABKAxIBIgBARIVCghpZF90b2tlbhgIIAEoDEgFiAEBEhkKDHZlcmlmaWVkX3ZpYRgJIAEoCUgGiAEBQg0KC19wdWJsaWNfa2V5QhAKDl9hdXRob3Jfc2VjcmV0QgkKB19kb21haW5CDAoKX2RpcmVjdGl2ZUINCgtfYXV0aF90b2tlbkILCglfaWRfdG9rZW5CDwoNX3ZlcmlmaWVkX3ZpYSLZAQoiRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlc3VsdBIOCgZwYXJlbnQYASABKAkSEQoJcHJpbmNpcGFsGAIgASgJEhIKCmtleV9zaGEyNTYYAyABKAkSEAoIZW5yb2xsZWQYBCABKAgSEAoIcmVwYWlyZWQYBSABKAgSEwoGZG9tYWluGAYgASgJSACIAQESFgoJZGlyZWN0aXZlGAcgASgJSAGIAQESEgoKY2hlY2tlZF9hdBgIIAEoCUIJCgdfZG9tYWluQgwKCl9kaXJlY3RpdmUiHQobVmVyaWZ5V29ya3NwYWNlQ2hhaW5SZXF1ZXN0IrsBChpWZXJpZnlXb3Jrc3BhY2VDaGFpblJlc3VsdBINCgV2YWxpZBgBIAEoCBISCgVlcnJvchgCIAEoCUgAiAEBEhgKC3BsYW5zX3JlcnVuGAMgASgESAGIAQESOgoHaGlzdG9yeRgEIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuVmVyaWZ5Q2hhaW5IaXN0b3J5SAKIAQFCCAoGX2Vycm9yQg4KDF9wbGFuc19yZXJ1bkIKCghfaGlzdG9yeSKHAQoSVmVyaWZ5Q2hhaW5IaXN0b3J5Eg0KBXN0YXRlGAEgASgJEg4KBmFuY2hvchgCIAEoCRIQCghib3VuZGFyeRgDIAMoCRIMCgR3YWxrGAQgASgJEh0KEHZlcmlmaWVkX2NvbW1pdHMYBSABKARIAIgBAUITChFfdmVyaWZpZWRfY29tbWl0cyJ/ChRTeW5jV29ya3NwYWNlUmVxdWVzdBINCgVhZG1pdBgCIAEoCBIRCgl3b3Jrc3BhY2UYAyABKAkSHwoScmVwbGFjZV9sb2NhbF9oZWFkGAQgASgJSACIAQFCFQoTX3JlcGxhY2VfbG9jYWxfaGVhZEoECAEQAlIHc2Vzc2lvbiKGCgoVU3luY1dvcmtzcGFjZVJlc3BvbnNlEhEKCXdvcmtzcGFjZRgBIAEoCRIaCg1wcmV2aW91c19oZWFkGAIgASgJSACIAQESGQoMY3VycmVudF9oZWFkGAMgASgJSAGIAQESEAoIYWRtaXR0ZWQYBCABKAQSDwoHcmVmdXNlZBgFIAEoBBIQCghkZWZlcnJlZBgGIAEoBBISCgpsb2NhbF9vbmx5GAcgASgIEg4KBnB1bGxlZBgIIAEoCBIQCghkaXZlcmdlZBgJIAEoCBIaChJyZWNvbm5lY3RfcmVxdWlyZWQYCiABKAgSEwoLc3RpbGxfYWhlYWQYCyABKAgSDwoHb2ZmbGluZRgMIAEoCBITCgtwdXNoX2ZhaWxlZBgNIAEoCBIdChVkaXJlY3Rfb2ZmZXJfZGVmZXJyZWQYDiABKAgSNQoOYmlydGhfb3V0Y29tZXMYDyADKAsyHS5ub21vcy5rZXJuZWwudjEuQmlydGhPdXRjb21lEhsKE2FkbWl0dGVkX2ludGVudF9pZHMYECADKAkSHAoUY29udmVyZ2VkX2ludGVudF9pZHMYESADKAkSQgoKcHVzaF9lcnJvchgSIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZVRyYW5zcG9ydEZhaWx1cmVIAogBARJHCg9kaXNjb3ZlcnlfZXJyb3IYEyABKAsyKS5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVUcmFuc3BvcnRGYWlsdXJlSAOIAQESMwoHdGltaW5ncxgUIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuU3luY1BoYXNlVGltaW5ncxJBCg1vZmZlcl9yZWNlaXB0GBUgASgLMiUubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJSZWNlaXB0SASIAQESOQoOcmVtb3RlX3JlZnVzYWwYFiABKAsyHC5ub21vcy5rZXJuZWwudjEuU3luY1JlZnVzYWxIBYgBARJHChRjdXN0b2R5X2Rpc2FncmVlbWVudBgXIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5RGlzYWdyZWVtZW50SAaIAQESGAoQY3VzdG9keV9yZXBsYWNlZBgYIAEoCBIVCg1tYWluX2FkdmFuY2VkGBkgASgIEkAKD3JlYm9ybl9yZW1vdGVseRgaIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlUmViaXJ0aEgHiAEBEkcKFHByZXNlcnZlZF9sb2NhbF9jb3B5GBsgASgLMiQubm9tb3MucnVudGltZS52Mi5QcmVzZXJ2ZWRMb2NhbENvcHlICIgBARIxCiRjdXN0b2RpYW5fd2FybWluZ19yZXRyeV9hZnRlcl9taWxsaXMYHCABKA1ICYgBAUIQCg5fcHJldmlvdXNfaGVhZEIPCg1fY3VycmVudF9oZWFkQg0KC19wdXNoX2Vycm9yQhIKEF9kaXNjb3ZlcnlfZXJyb3JCEAoOX29mZmVyX3JlY2VpcHRCEQoPX3JlbW90ZV9yZWZ1c2FsQhcKFV9jdXN0b2R5X2Rpc2FncmVlbWVudEISChBfcmVib3JuX3JlbW90ZWx5QhcKFV9wcmVzZXJ2ZWRfbG9jYWxfY29weUInCiVfY3VzdG9kaWFuX3dhcm1pbmdfcmV0cnlfYWZ0ZXJfbWlsbGlzIugBChNDdXN0b2R5T2ZmZXJSZWNlaXB0EhIKCnJlcXVlc3RfaWQYASABKAkSQwoJYWRtaXNzaW9uGAogASgLMi4ubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJBZG1pc3Npb25SZWNlaXB0SAASOAoHZmFpbHVyZRgLIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keU9mZmVyRmFpbHVyZUgAEjMKB2Jsb2NrZWQYDCABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVCbG9ja2VkSABCCQoHb3V0Y29tZSKGAgocQ3VzdG9keU9mZmVyQWRtaXNzaW9uUmVjZWlwdBIMCgRtYWluGAEgASgJEhgKC3NlYWxlZF9tYWluGAIgASgJSACIAQESOwoIc2Vzc2lvbnMYAyADKAsyKS5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlTZXNzaW9uQWRtaXNzaW9uEjUKDmJpcnRoX291dGNvbWVzGAQgAygLMh0ubm9tb3Mua2VybmVsLnYxLkJpcnRoT3V0Y29tZRI6Cgd0aW1pbmdzGAUgASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uVGltaW5nc0IOCgxfc2VhbGVkX21haW4iswEKE0N1c3RvZHlPZmZlckZhaWx1cmUSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhEKCWNvbXBvbmVudBgDIAEoCRIWCgl3b3Jrc3BhY2UYBCABKAlIAIgBARITCgZkb21haW4YBSABKAlIAYgBARIWCglkaXJlY3RpdmUYBiABKAlIAogBAUIMCgpfd29ya3NwYWNlQgkKB19kb21haW5CDAoKX2RpcmVjdGl2ZSJdChdSdW50aW1lVHJhbnNwb3J0RmFpbHVyZRIQCghlbmRwb2ludBgBIAEoCRIOCgZzdGF0dXMYAiABKBESDwoHcmVmdXNlZBgDIAEoCBIPCgdtZXNzYWdlGAQgASgJIsUBChBTeW5jUGhhc2VUaW1pbmdzEhMKC3B1c2hfbWlsbGlzGAEgASgBEhQKDGFkbWl0X21pbGxpcxgCIAEoARIXCg9wcmVmZXRjaF9taWxsaXMYAyABKAESFwoPY29udmVyZ2VfbWlsbGlzGAQgASgBEhIKCnB1c2hfYnl0ZXMYBSABKAQSFQoNc2VydmVyX21pbGxpcxgGIAEoARIVCg1vZmZlcl9pbl9wdXNoGAcgASgIEhIKCnB1bGxfYnl0ZXMYCCABKAQiNAofUmVmcmVzaFJlcGxpY2FDcmVkZW50aWFsUmVxdWVzdBIRCgl3b3Jrc3BhY2UYASABKAkiiwEKDEdpdFJlYWRMZWFzZRIWCg5mb3JtYXRfdmVyc2lvbhgBIAEoDRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGcmVtb3RlGAMgASgJEg0KBXRva2VuGAQgASgJEhMKC3R0bF9zZWNvbmRzGAUgASgNEhwKFGV4cGlyZXNfdW5peF9zZWNvbmRzGAYgASgEIm4KD0dpdEZldGNoUmVxdWVzdBIPCgdzZXNzaW9uGAEgASgJEi0KBWxlYXNlGAIgASgLMh4ubm9tb3MucnVudGltZS52Mi5HaXRSZWFkTGVhc2USDAoEd2FudBgDIAEoCRINCgVoYXZlcxgEIAMoCSJqCg5HaXRGZXRjaFJlc3VsdBIdChBzdGFnZWRfcGFja19maWxlGAEgASgJSACIAQESDAoEaGVhZBgCIAEoCRIWCg5yZWNlaXZlZF9ieXRlcxgDIAEoBEITChFfc3RhZ2VkX3BhY2tfZmlsZSK2AQoeRGVsaXZlcldvcmtzcGFjZUVmZmVjdHNSZXF1ZXN0EhYKDnNvdXJjZV9zZXNzaW9uGAEgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAiABKAkSGgoNc291cmNlX2NvbW1pdBgDIAEoCUgAiAEBEh4KEXNvdXJjZV9vZmZlcl9wYXRoGAQgASgJSAGIAQFCEAoOX3NvdXJjZV9jb21taXRCFAoSX3NvdXJjZV9vZmZlcl9wYXRoIlEKHERlbGl2ZXJIdHRwT2JsaWdhdGlvblJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkSGQoRc291cmNlX29mZmVyX3BhdGgYAiABKAkiuwEKF0h0dHBPYmxpZ2F0aW9uRGVsaXZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSEQoJYXR0ZW1wdGVkGAIgASgIEhEKCWRlbGl2ZXJlZBgDIAEoCBIRCglyZXRyeWFibGUYBCABKAgSGwoTcHJlcGFyYXRpb25fcGVuZGluZxgFIAEoCBIcCg9yZXRyeV9hdF9taWxsaXMYBiABKARIAIgBAUISChBfcmV0cnlfYXRfbWlsbGlzIjYKHFJlY292ZXJDb3JyZXNwb25kZW5jZVJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkirAEKF0NvcnJlc3BvbmRlbmNlUmVjb3ZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSDwoHcGVuZGluZxgCIAEoCBIgChNuZXh0X3dha2VfYXRfbWlsbGlzGAMgASgESACIAQESGgoNcmV0YWluZWRfaGVhZBgEIAEoCUgBiAEBQhYKFF9uZXh0X3dha2VfYXRfbWlsbGlzQhAKDl9yZXRhaW5lZF9oZWFkIvYCChlXb3Jrc3BhY2VFZmZlY3RzRGVsaXZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSGAoQdGFyZ2V0X3dvcmtzcGFjZRgCIAEoCRIRCglhdHRlbXB0ZWQYAyABKAQSEQoJZGVsaXZlcmVkGAQgASgEEg8KB3JlZnVzZWQYBSABKAQSEQoJcmV0cnlhYmxlGAYgASgEEhwKD3JldHJ5X2F0X21pbGxpcxgHIAEoBEgAiAEBEhsKE3ByZXBhcmF0aW9uX3BlbmRpbmcYCCABKAgSGAoLdGFyZ2V0X2hlYWQYCSABKAlIAYgBARIfChdzb3VyY2Vfb3V0Y29tZV9yZWNvcmRlZBgKIAEoCBJBCgxyZXRyeV9yZWFzb24YCyABKAsyKy5ub21vcy5ydW50aW1lLnYyLkNvcnJlc3BvbmRlbmNlUmV0cnlSZWFzb25CEgoQX3JldHJ5X2F0X21pbGxpc0IOCgxfdGFyZ2V0X2hlYWQiOwoZQ29ycmVzcG9uZGVuY2VSZXRyeVJlYXNvbhIOCgZyZWFzb24YASABKAkSDgoGZGV0YWlsGAIgASgJIqwDChtSZW1vdGVHZW5lcmF0ZWRPZmZlclJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkSGAoQdGFyZ2V0X3dvcmtzcGFjZRgCIAEoCRINCgVhY3RvchgDIAEoCRIVCg1hdXRob3Jfc2VjcmV0GAQgASgMEhIKCmF1dGhfdG9rZW4YBSABKAwSLgoEY2FsbBgGIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5EaXJlY3RpdmVDYWxsSAASQAoPbW9kZWxfbGlmZWN5Y2xlGAkgASgLMiUubm9tb3Mua2VybmVsLnYxLk1vZGVsTGlmZWN5Y2xlSW50ZW50SAASQQoRYmlydGhfY2VydGlmaWNhdGUYByABKAsyIS5ub21vcy5rZXJuZWwudjEuQmlydGhDZXJ0aWZpY2F0ZUgBiAEBEiEKFHJlcXVpcmVkX3RhcmdldF9oZWFkGAggASgJSAKIAQESEAoIbGF3X3VzZHoYCiABKAxCCAoGaW50ZW50QhQKEl9iaXJ0aF9jZXJ0aWZpY2F0ZUIXChVfcmVxdWlyZWRfdGFyZ2V0X2hlYWQiPwocUmVtb3RlR2VuZXJhdGVkT2ZmZXJBY2NlcHRlZBIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCSLKAgoOUGVlckh0dHBFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEjAKBm1ldGhvZBgCIAEoDjIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBNZXRob2QSCwoDdXJsGAMgASgJEhkKDGNvbnRlbnRfdHlwZRgEIAEoCUgAiAEBEgwKBGJvZHkYBSABKAwSGQoMYmVhcmVyX3Rva2VuGAYgASgMSAGIAQESEwoGYWNjZXB0GAcgASgJSAKIAQESGwoOdGltZW91dF9taWxsaXMYCCABKA1IA4gBARIcCg9pZGVtcG90ZW5jeV9rZXkYCSABKAlIBIgBAUIPCg1fY29udGVudF90eXBlQg8KDV9iZWFyZXJfdG9rZW5CCQoHX2FjY2VwdEIRCg9fdGltZW91dF9taWxsaXNCEgoQX2lkZW1wb3RlbmN5X2tleSJcChBQZWVySHR0cFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoDRIZCgxjb250ZW50X3R5cGUYAiABKAlIAIgBARIMCgRib2R5GAMgASgMQg8KDV9jb250ZW50X3R5cGUiXwoRUGVlckVmZmVjdEZhaWx1cmUSOQoGcmVhc29uGAEgASgOMikubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0RmFpbHVyZVJlYXNvbhIPCgdtZXNzYWdlGAIgASgJItAIChFQZWVyRWZmZWN0UmVjZWlwdBIRCgllZmZlY3RfaWQYASABKAkSNgoIcmVzcG9uc2UYCiABKAsyIi5ub21vcy5ydW50aW1lLnYyLlBlZXJIdHRwUmVzcG9uc2VIABI2CgdmYWlsdXJlGAsgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0RmFpbHVyZUgAEjsKCWdpdF9mZXRjaBgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUGVlckdpdEZldGNoUmVzcG9uc2VIABI5CghnaXRfcHVzaBgNIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuUGVlckdpdFB1c2hSZXNwb25zZUgAEk0KFmJvcm5fY3VzdG9keV9wZXJzaXN0ZWQYDiABKAsyKy5ub21vcy5ydW50aW1lLnYyLlBlcnNpc3RCb3JuQ3VzdG9keVJlY2VpcHRIABJQChR3b3Jrc3BhY2VfZGlzY292ZXJlZBgPIAEoCzIwLm5vbW9zLmRpc2NvdmVyeS52MS5EaXNjb3ZlcmVkV29ya3NwYWNlUGxhY2VtZW50SAASQgoNbG9jYWxfY3VzdG9keRgQIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxvY2FsQ3VzdG9keVJlY2VpcHRIABI/ChFmcm9udGllcl9yZXRhaW5lZBgRIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuRnJvbnRpZXJSZXRhaW5lZEgAEiwKBXdva2VuGBIgASgLMhsubm9tb3MucnVudGltZS52Mi5QZWVyV29rZW5IABJJChRjcmVkZW50aWFsX3JlZnJlc2hlZBgTIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNyZWRlbnRpYWxSZWZyZXNoZWRIABI/Cg9kZXZpY2VfaWRlbnRpdHkYFCABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VJZGVudGl0eUgAEjcKC2xhd19wYWNrYWdlGBUgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVyTGF3UGFja2FnZUgAEk4KE2hpc3RvcnlfYWNxdWlzaXRpb24YFiABKAsyLy5ub21vcy5ydW50aW1lLnYyLlBlZXJIaXN0b3J5QWNxdWlzaXRpb25SZWNlaXB0SAASQQoQY29uc29sZV9lbnJvbGxlZBgXIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNvbnNvbGVFbnJvbGxlZEgAElIKGWNvbnNvbGVfZW5yb2xtZW50X3JlZnVzZWQYGCABKAsyLS5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xtZW50UmVmdXNlZEgAEjUKBnN0cmVhbRgZIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuUGVlclN0cmVhbVJlY2VpcHRIAEIJCgdvdXRjb21lIqcCChJQZWVyR2l0RmV0Y2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEi0KBWxlYXNlGAIgASgLMh4ubm9tb3MucnVudGltZS52Mi5HaXRSZWFkTGVhc2USEQoEd2FudBgDIAEoCUgAiAEBEg0KBWhhdmVzGAQgAygJEhEKCXJlZmVyZW5jZRgFIAEoCRISCgVkZXB0aBgGIAEoDUgBiAEBEjMKCWFsb25nc2lkZRgHIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3QSPgoOYWxvbmdzaWRlX3JlZnMYCCABKAsyJi5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRSZWZzQWxvbmdzaWRlQgcKBV93YW50QggKBl9kZXB0aCLQAQoUUGVlckdpdEZldGNoUmVzcG9uc2USDAoEcGFjaxgBIAEoDBIMCgRoZWFkGAIgASgJEhYKDnJlY2VpdmVkX2J5dGVzGAMgASgEEg8KB3NoYWxsb3cYBCADKAkSNQoJYWxvbmdzaWRlGAUgASgLMiIubm9tb3MucnVudGltZS52Mi5QZWVySHR0cFJlc3BvbnNlEjwKDmFsb25nc2lkZV9yZWZzGAYgASgLMiQubm9tb3MucnVudGltZS52Mi5QZWVyR2l0UmVmc0ZldGNoZWQimAEKEVBlZXJHaXRQdXNoRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIOCgZyZW1vdGUYAiABKAkSGQoMYmVhcmVyX3Rva2VuGAMgASgMSACIAQESGAoQc2Vzc2lvbl9pZGVudGl0eRgEIAEoCRIMCgRoZWFkGAUgASgJEgwKBHBhY2sYBiABKAxCDwoNX2JlYXJlcl90b2tlbiJYChNQZWVyR2l0UHVzaFJlc3BvbnNlEhEKCXJlZmVyZW5jZRgBIAEoCRIMCgRoZWFkGAIgASgJEhIKCnNlbnRfYnl0ZXMYAyABKAQSDAoEbm9vcBgEIAEoCCItCgtSZXRhaW5lZFJlZhIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIocBChRSZXRhaW5Gcm9udGllckVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEg4KBmJyYW5jaBgDIAEoCRIMCgRoZWFkGAQgASgJEisKBHJlZnMYBSADKAsyHS5ub21vcy5ydW50aW1lLnYyLlJldGFpbmVkUmVmIqIBChBGcm9udGllclJldGFpbmVkEhEKCXdvcmtzcGFjZRgBIAEoCRIOCgZicmFuY2gYAiABKAkSDAoEaGVhZBgDIAEoCRIQCghyZXRhaW5lZBgEIAEoCBITCgZkZXRhaWwYBSABKAlIAIgBARIrCgRyZWZzGAYgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZkIJCgdfZGV0YWlsIl4KGFBlcnNpc3RCb3JuQ3VzdG9keUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSLwoIY2hpbGRyZW4YAiADKAsyHS5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5IpcBChRQZXJzaXN0ZWRCb3JuQ3VzdG9keRIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCRIRCglwZXJzaXN0ZWQYAyABKAgSEwoGZGV0YWlsGAQgASgJSACIAQESKwoEcmVmcxgFIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWZCCQoHX2RldGFpbCJVChlQZXJzaXN0Qm9ybkN1c3RvZHlSZWNlaXB0EjgKCGNoaWxkcmVuGAEgAygLMiYubm9tb3MucnVudGltZS52Mi5QZXJzaXN0ZWRCb3JuQ3VzdG9keSLOBwoVQ29ycmVzcG9uZGVuY2VQZW5kaW5nEg8KB3dvcmtfaWQYASABKAkSMAoEaHR0cBgCIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3RIABI5CglnaXRfZmV0Y2gYAyABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRGZXRjaEVmZmVjdEgAEjcKCGdpdF9wdXNoGAQgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyR2l0UHVzaEVmZmVjdEgAEkoKFHBlcnNpc3RfYm9ybl9jdXN0b2R5GAUgASgLMioubm9tb3MucnVudGltZS52Mi5QZXJzaXN0Qm9ybkN1c3RvZHlFZmZlY3RIABJNChN3b3Jrc3BhY2VfZGlzY292ZXJ5GAYgASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVyV29ya3NwYWNlRGlzY292ZXJ5RWZmZWN0SAASQQoNbG9jYWxfY3VzdG9keRgHIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxvY2FsQ3VzdG9keUVmZmVjdEgAEkEKD3JldGFpbl9mcm9udGllchgIIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluRnJvbnRpZXJFZmZlY3RIABIwCgR3YWtlGAkgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVyV2FrZUVmZmVjdEgAEksKEnJlZnJlc2hfY3JlZGVudGlhbBgKIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNyZWRlbnRpYWxSZWZyZXNoRWZmZWN0SAASRQoPZGV2aWNlX2lkZW50aXR5GAsgASgLMioubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3RIABI9CgtsYXdfcGFja2FnZRgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxhd1BhY2thZ2VFZmZlY3RIABJNChNoaXN0b3J5X2FjcXVpc2l0aW9uGA0gASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0SAASSQoRY29uc29sZV9lbnJvbG1lbnQYDiABKAsyLC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xtZW50RWZmZWN0SAASNAoGc3RyZWFtGA8gASgLMiIubm9tb3MucnVudGltZS52Mi5QZWVyU3RyZWFtRWZmZWN0SABCCAoGZWZmZWN0IqABChpQZWVyQ29uc29sZUVucm9sbWVudEVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSFwoPZGV2aWNlX2lkZW50aXR5GAIgASgJEhIKCmNhcGFiaWxpdHkYAyABKAkSDwoHY29uc29sZRgEIAEoCRIOCgZ0ZW5hbnQYBSABKAkSDQoFc2NvcGUYBiABKAkSEgoKd29ya3NwYWNlcxgHIAMoCSKpAQoTUGVlckNvbnNvbGVFbnJvbGxlZBIRCglwcmluY2lwYWwYASABKAkSEAoIa2V5X2hhc2gYAiABKAkSPwoFaGVhZHMYAyADKAsyMC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xsZWQuSGVhZHNFbnRyeRosCgpIZWFkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEicgobUGVlckNvbnNvbGVFbnJvbG1lbnRSZWZ1c2VkEg4KBnN0YXR1cxgBIAEoDRIPCgdtZXNzYWdlGAIgASgJEgwKBGNvZGUYAyABKAkSFgoJcmV0cnlhYmxlGAQgASgISACIAQFCDAoKX3JldHJ5YWJsZSJjChxQZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSHQoVY3JlZGVudGlhbF9jYXBhYmlsaXR5GAMgASgJIlUKHVBlZXJIaXN0b3J5QWNxdWlzaXRpb25SZWNlaXB0EhEKCXdvcmtzcGFjZRgBIAEoCRIPCgdjaGFuZ2VkGAIgASgIEhAKCGNvbXBsZXRlGAMgASgIIjkKDlBlZXJXYWtlRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIUCgxkZWxheV9taWxsaXMYAiABKA0iCwoJUGVlcldva2VuItYBChtQZWVyQ3JlZGVudGlhbFJlZnJlc2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmNhcGFiaWxpdHkYAiABKAkSHQoQZGV2aWNlX2NoYWxsZW5nZRgDIAEoCUgAiAEBEhQKDGFsbG93X2NhY2hlZBgEIAEoCBInChpyZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NhgFIAEoDEgBiAEBQhMKEV9kZXZpY2VfY2hhbGxlbmdlQh0KG19yZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NiJvChdQZWVyQ3JlZGVudGlhbFJlZnJlc2hlZBIXCgphdXRoX3Rva2VuGAEgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgCIAEoDEgBiAEBQg0KC19hdXRoX3Rva2VuQhAKDl9hdXRob3Jfc2VjcmV0IsYCChhQZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhAKCGlkZW50aXR5GAIgASgJEjgKBGxvYWQYAyABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VJZGVudGl0eUxvYWRIABI4CgRzYXZlGAQgASgLMigubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlTYXZlSAASQQoNbG9hZF9yZWNvdmVyeRgFIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckRldmljZVJlY292ZXJ5TG9hZEgAEkEKDXNhdmVfcmVjb3ZlcnkYBiABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VSZWNvdmVyeVNhdmVIAEILCglvcGVyYXRpb24iGAoWUGVlckRldmljZUlkZW50aXR5TG9hZCIoChZQZWVyRGV2aWNlSWRlbnRpdHlTYXZlEg4KBnNlY3JldBgBIAEoDCIYChZQZWVyRGV2aWNlUmVjb3ZlcnlMb2FkIlAKFlBlZXJEZXZpY2VSZWNvdmVyeVNhdmUSNgoGcmVjb3JkGAEgASgLMiYubm9tb3MucnVudGltZS52Mi5EZXZpY2VSZWNvdmVyeVJlY29yZCKLAgoURGV2aWNlUmVjb3ZlcnlSZWNvcmQSDwoHdmVyc2lvbhgBIAEoDRITCgthcHBsaWNhdGlvbhgCIAEoCRIRCglwcmluY2lwYWwYAyABKAkSFwoPcHJldmlvdXNfc2VjcmV0GAQgASgMEhgKEGNhbmRpZGF0ZV9zZWNyZXQYBSABKAwSFwoPZW5yb2xsbWVudF9oZWFkGAYgASgJEhUKDXJlY292ZXJ5X2hlYWQYByABKAkSRAoRcGVuZGluZ19hZG1pc3Npb24YCCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uEhEKCWNvbXBsZXRlZBgJIAEoCCKxAQoXRGV2aWNlUmVjb3ZlcnlBZG1pc3Npb24SPQoFc3RhZ2UYASABKA4yLi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uU3RhZ2USEgoKcmVxdWVzdF9pZBgCIAEoBBIRCgl3b3Jrc3BhY2UYAyABKAkSMAoGZWZmZWN0GAQgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVySHR0cEVmZmVjdCJuChJQZWVyRGV2aWNlSWRlbnRpdHkSEwoGc2VjcmV0GAEgASgMSACIAQESOAoIcmVjb3ZlcnkYAiABKAsyJi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5UmVjb3JkQgkKB19zZWNyZXQiPQoUUGVlckxhd1BhY2thZ2VFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmxhd19zaGEyNTYYAiABKAkiIgoOUGVlckxhd1BhY2thZ2USEAoIbGF3X3VzZHoYASABKAwiRAocUGVlcldvcmtzcGFjZURpc2NvdmVyeUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIj4KFlBlZXJMb2NhbEN1c3RvZHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSKDAQoXUGVlckxvY2FsQ3VzdG9keVJlY2VpcHQSEQoJd29ya3NwYWNlGAEgASgJEhEKCWF2YWlsYWJsZRgCIAEoCBI2CgdvcGVuaW5nGAMgASgLMiAubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T3BlbmluZ0gAiAEBQgoKCF9vcGVuaW5nIi8KGkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5EhEKCXdvcmtzcGFjZRgBIAEoCSLeAQodQ29udGludWVDb3JyZXNwb25kZW5jZVJlcXVlc3QSDwoHd29ya19pZBgBIAEoCRI0CgdyZWNlaXB0GAIgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0UmVjZWlwdBJWChtyZWNvdmVyX2hpc3RvcnlfYWNxdWlzaXRpb24YAyABKAsyLC5ub21vcy5ydW50aW1lLnYyLkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5SACIAQFCHgocX3JlY292ZXJfaGlzdG9yeV9hY3F1aXNpdGlvbiKGAgoUUmVtb3RlT2ZmZXJBZG1pc3Npb24SEQoJd29ya3NwYWNlGAEgASgJEgwKBG1haW4YAiABKAkSGAoLc2VhbGVkX21haW4YAyABKAlIAIgBARIvCgd2ZXJkaWN0GAQgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVzcG9uc2USMwoMYm9ybl9jdXN0b2R5GAUgAygLMh0ubm9tb3MucnVudGltZS52Mi5Cb3JuQ3VzdG9keRITCgtyZXN1bHRfcGFjaxgGIAEoDBIYCgtyZXN1bHRfYmFzZRgHIAEoCUgBiAEBQg4KDF9zZWFsZWRfbWFpbkIOCgxfcmVzdWx0X2Jhc2UiSgoOQm9ybkN1c3RvZHlSZWYSKgoDcmVmGAEgASgLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIMCgRwYWNrGAIgASgMIoEBCgtCb3JuQ3VzdG9keRItCgVjaGlsZBgBIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5Cb3JuV29ya3NwYWNlEgwKBHBhY2sYAiABKAwSNQoLcHVibGljYXRpb24YAyADKAsyIC5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5UmVmIqoDChhDdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3QSGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoDRISCgpyZXF1ZXN0X2lkGAIgASgJEjcKBmlubGluZRgDIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUlubGluZU9mZmVyc0gAEkYKEXNlc3Npb25fY2FuZGlkYXRlGAQgASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5U2Vzc2lvbkNhbmRpZGF0ZUgAEhYKCWJhc2VfaGVhZBgFIAEoCUgBiAEBEhUKDWV2aWRlbmNlX3BhY2sYBiABKAwSGgoNb2JzZXJ2ZWRfaGVhZBgHIAEoCUgCiAEBEhkKEWZhc3RfZm9yd2FyZF9vbmx5GAggASgIEhwKD2NvbnRpbnVlc19hZnRlchgJIAEoCUgDiAEBEh0KFWFja25vd2xlZGdlX2FkbWlzc2lvbhgKIAEoCEIICgZzb3VyY2VCDAoKX2Jhc2VfaGVhZEIQCg5fb2JzZXJ2ZWRfaGVhZEISChBfY29udGludWVzX2FmdGVyIu4ECg5MaXZlT2ZmZXJGcmFtZRIyCghmcm9udGllchgBIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZUZyb250aWVySAASPAoGb2ZmZXJzGAIgASgLMioubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3RIABI0CglhZG1pc3Npb24YAyABKAsyHy5ub21vcy5ydW50aW1lLnYyLkxpdmVBZG1pc3Npb25IABJFChJjaGVja3BvaW50X3JlcXVlc3QYBCABKAsyJy5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50UmVxdWVzdEgAEkEKEGNoZWNrcG9pbnRfb2ZmZXIYBSABKAsyJS5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50T2ZmZXJIABJBChBjaGVja3BvaW50X2NodW5rGAYgASgLMiUubm9tb3MucnVudGltZS52Mi5MaXZlQ2hlY2twb2ludENodW5rSAASPwoPaGlzdG9yeV9yZXF1ZXN0GAcgASgLMiQubm9tb3MucnVudGltZS52Mi5MaXZlSGlzdG9yeVJlcXVlc3RIABI3CgtyZWZfcmVxdWVzdBgIIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVJlZlJlcXVlc3RIABIqCgRwYWNrGAkgASgLMhoubm9tb3MucnVudGltZS52Mi5MaXZlUGFja0gAEjYKB3JlZnVzYWwYCiABKAsyIy5ub21vcy5ydW50aW1lLnYyLkxpdmVTdHJlYW1SZWZ1c2FsSABCCQoHbWVzc2FnZSJaCg1MaXZlQWRtaXNzaW9uEhIKCnJlcXVlc3RfaWQYASABKAkSNQoJYWRtaXNzaW9uGAIgASgLMiIubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uIt4BCgxMaXZlRnJvbnRpZXISDAoEaGVhZBgBIAEoCRIQCghyZXNwb25zZRgCIAEoCBISCgptYXhfb2ZmZXJzGAMgASgNEhwKFHJlbW91bnRfYWZ0ZXJfb2ZmZXJzGAQgASgNEhcKD291dGNvbWVzX2RpZ2VzdBgFIAEoCRIvCghvdXRjb21lcxgGIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWYSEwoGc2VhbGVkGAcgASgJSACIAQESEgoKaGVsZF90cmVlcxgIIAMoCUIJCgdfc2VhbGVkIpABChVMaXZlQ2hlY2twb2ludFJlcXVlc3QSEQoEaGVhZBgBIAEoCUgAiAEBEhQKB3BhY2tfaWQYAiABKAlIAYgBARIOCgZvZmZzZXQYAyABKAQSFQoNd2luZG93X2NodW5rcxgEIAEoDRISCgpoZWxkX3RyZWVzGAUgAygJQgcKBV9oZWFkQgoKCF9wYWNrX2lkIs4CChNMaXZlQ2hlY2twb2ludE9mZmVyEgwKBGhlYWQYASABKAkSDwoHcGFja19pZBgCIAEoCRINCgVieXRlcxgDIAEoBBITCgtjaHVua19ieXRlcxgEIAEoDRIPCgdzaGFsbG93GAYgAygJEi8KCG91dGNvbWVzGAcgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIPCgdyZW1vdW50GAggASgIEhoKDW9mZmVyc19iZWhpbmQYCSABKARIAIgBARISCgpyZXF1ZXN0X2lkGAogASgJEhMKBnNlYWxlZBgLIAEoCUgBiAEBEgwKBG1haW4YDCABKAkSFQoNb21pdHRlZF90cmVlcxgNIAMoCRIUCgxzaGFyZWRfdHJlZXMYDiADKAlCEAoOX29mZmVyc19iZWhpbmRCCQoHX3NlYWxlZEoECAUQBiJZChNMaXZlQ2hlY2twb2ludENodW5rEg8KB3BhY2tfaWQYASABKAkSDgoGb2Zmc2V0GAIgASgEEg0KBWJ5dGVzGAMgASgMEhIKCnJlcXVlc3RfaWQYBCABKAkikgEKEkxpdmVIaXN0b3J5UmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgJEhAKCGJvdW5kYXJ5GAIgASgJEg0KBWRlcHRoGAMgASgNEhQKB3BhY2tfaWQYBCABKAlIAIgBARIOCgZvZmZzZXQYBSABKAQSFQoNd2luZG93X2NodW5rcxgGIAEoDUIKCghfcGFja19pZCJiCg5MaXZlUmVmUmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIRCgR3YW50GAMgASgJSACIAQESDQoFd2FudHMYBCADKAlCBwoFX3dhbnQinAEKCExpdmVQYWNrEhIKCnJlcXVlc3RfaWQYASABKAkSEQoJcmVmZXJlbmNlGAIgASgJEgwKBGhlYWQYAyABKAkSDAoEcGFjaxgEIAEoDBIPCgdzaGFsbG93GAUgAygJEgwKBGJhc2UYBiABKAkSDgoGb2ZmZXJzGAcgASgNEhMKBnNlYWxlZBgIIAEoCUgAiAEBQgkKB19zZWFsZWQifgoRTGl2ZVN0cmVhbVJlZnVzYWwSEgoKcmVxdWVzdF9pZBgBIAEoCRIMCgRjb2RlGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSHwoScmV0cnlfYWZ0ZXJfbWlsbGlzGAQgASgNSACIAQFCFQoTX3JldHJ5X2FmdGVyX21pbGxpcyL7AQoRTGl2ZVN0cmVhbVJlcXVlc3QSMgoIZnJvbnRpZXIYASABKAsyHi5ub21vcy5ydW50aW1lLnYyLkxpdmVGcm9udGllckgAEj0KCmNoZWNrcG9pbnQYAiABKAsyJy5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50UmVxdWVzdEgAEjcKB2hpc3RvcnkYAyABKAsyJC5ub21vcy5ydW50aW1lLnYyLkxpdmVIaXN0b3J5UmVxdWVzdEgAEi8KA3JlZhgEIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVJlZlJlcXVlc3RIAEIJCgdyZXF1ZXN0IkQKEExpdmVTdHJlYW1BbnN3ZXISMAoGZnJhbWVzGAEgAygLMiAubm9tb3MucnVudGltZS52Mi5MaXZlT2ZmZXJGcmFtZSLiAgoQUGVlclN0cmVhbUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEj0KCmNoZWNrcG9pbnQYAyABKAsyJy5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50UmVxdWVzdEgAEjcKB2hpc3RvcnkYBCABKAsyJC5ub21vcy5ydW50aW1lLnYyLkxpdmVIaXN0b3J5UmVxdWVzdEgAEi8KA3JlZhgFIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVJlZlJlcXVlc3RIABIvCgVsZXZlbBgGIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZUZyb250aWVySAASEgoKc3RhcnRfb25seRgHIAEoCBIQCgh1cHN0cmVhbRgIIAEoCRIdChVjcmVkZW50aWFsX2NhcGFiaWxpdHkYCSABKAlCCQoHcmVxdWVzdCLjAgoRUGVlclN0cmVhbVJlY2VpcHQSKgoEcGFjaxgBIAEoCzIaLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVBhY2tIABIPCgVsZXZlbBgCIAEoCUgAEjYKB3JlZnVzYWwYAyABKAsyIy5ub21vcy5ydW50aW1lLnYyLkxpdmVTdHJlYW1SZWZ1c2FsSAASLwoIb3V0Y29tZXMYBCADKAsyHS5ub21vcy5ydW50aW1lLnYyLlJldGFpbmVkUmVmEhYKDnJlY2VpdmVkX2J5dGVzGAUgASgEEhMKBnNlYWxlZBgGIAEoCUgBiAEBEh0KEHN0YWdlZF9wYWNrX2ZpbGUYByABKAlIAogBARIRCgRtYWluGAggASgJSAOIAQESFQoNb21pdHRlZF90cmVlcxgJIAMoCUIJCgdvdXRjb21lQgkKB19zZWFsZWRCEwoRX3N0YWdlZF9wYWNrX2ZpbGVCBwoFX21haW4iawoQUGVlclNvY2tldEVmZmVjdBIVCg1jb25uZWN0aW9uX2lkGAEgASgJEhIKCG9wZW5fdXJsGAIgASgJSAASDgoEc2VuZBgDIAEoDEgAEg8KBWNsb3NlGAQgASgISABCCwoJb3BlcmF0aW9uIqkBChFQZWVyU29ja2V0UmVjZWlwdBIVCg1jb25uZWN0aW9uX2lkGAEgASgJEhAKBm9wZW5lZBgCIAEoCEgAEhIKCHJlY2VpdmVkGAMgASgMSAASEAoGY2xvc2VkGAQgASgISAASNgoHY2xvc3VyZRgFIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuUGVlclNvY2tldENsb3N1cmVIAEINCgtvYnNlcnZhdGlvbiKNAQoRUGVlclNvY2tldENsb3N1cmUSEQoEY29kZRgBIAEoDUgAiAEBEg4KBnJlYXNvbhgCIAEoCRINCgVjbGVhbhgDIAEoCBI9Cglpbml0aWF0b3IYBCABKA4yKi5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRDbG9zZUluaXRpYXRvckIHCgVfY29kZSLiAwoPTGl2ZUxpbmtDbG9zdXJlEhUKDWNvbm5lY3Rpb25faWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEiwKBHJvbGUYAyABKA4yHi5ub21vcy5ydW50aW1lLnYyLkxpdmVMaW5rUm9sZRIzCgZzb2NrZXQYBCABKAsyIy5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRDbG9zdXJlEh0KFWNsb3NlZF9hdF91bml4X21pbGxpcxgFIAEoBBITCgtvcGVuX21pbGxpcxgGIAEoBBISCgphZG1pc3Npb25zGAcgASgNEiYKGWxhc3RfYWRtaXNzaW9uX3JlcXVlc3RfaWQYCCABKAlIAIgBARIfChJsYXN0X2FkbWl0dGVkX21haW4YCSABKAlIAYgBARIdChBsYXN0X3NlYWxlZF9tYWluGAogASgJSAKIAQESGgoNbGFzdF9mcm9udGllchgLIAEoCUgDiAEBEhoKEnVuYW5zd2VyZWRfYmF0Y2hlcxgMIAEoDUIcChpfbGFzdF9hZG1pc3Npb25fcmVxdWVzdF9pZEIVChNfbGFzdF9hZG1pdHRlZF9tYWluQhMKEV9sYXN0X3NlYWxlZF9tYWluQhAKDl9sYXN0X2Zyb250aWVyIi0KElBlZXJTb2NrZXRPYnNlcnZlZBIXCg9ydW5nX3dvcmtzcGFjZXMYASADKAkiPQoXRXhwb3J0TGl2ZU9mZmVyc1JlcXVlc3QSDwoHc2Vzc2lvbhgBIAEoCRIRCgliYXNlX2hlYWQYAiABKAkiTgoSQ3VzdG9keUludGVudE9mZmVyEg8KB3Nlc3Npb24YASABKAkSEgoKY29tbWl0X29pZBgCIAEoCRITCgtjaGFuZ2VfdXNkYRgDIAEoDCJLChNDdXN0b2R5SW5saW5lT2ZmZXJzEjQKBm9mZmVycxgBIAMoCzIkLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudE9mZmVyIiwKF0N1c3RvZHlTZXNzaW9uQ2FuZGlkYXRlEhEKCXJlZmVyZW5jZRgBIAEoCSKCBAoQQ3VzdG9keUFkbWlzc2lvbhIMCgRtYWluGAEgASgJEhgKC3NlYWxlZF9tYWluGAIgASgJSACIAQESOwoIc2Vzc2lvbnMYAyADKAsyKS5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlTZXNzaW9uQWRtaXNzaW9uEjUKDmJpcnRoX291dGNvbWVzGAQgAygLMh0ubm9tb3Mua2VybmVsLnYxLkJpcnRoT3V0Y29tZRIzCgxib3JuX2N1c3RvZHkYBSADKAsyHS5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5EhMKC3Jlc3VsdF9wYWNrGAYgASgMEhgKC3Jlc3VsdF9iYXNlGAcgASgJSAGIAQESOgoHdGltaW5ncxgIIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUFkbWlzc2lvblRpbWluZ3MSHgoRcmVjb3ZlcnlfcmVxdWlyZWQYCSABKAhIAogBARJGChFsb2NhbF9tYWludGVuYW5jZRgKIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuTWFpbnRlbmFuY2VTY2hlZHVsZWRIA4gBAUIOCgxfc2VhbGVkX21haW5CDgoMX3Jlc3VsdF9iYXNlQhQKEl9yZWNvdmVyeV9yZXF1aXJlZEIUChJfbG9jYWxfbWFpbnRlbmFuY2UiZQoXQ3VzdG9keVNlc3Npb25BZG1pc3Npb24SDwoHc2Vzc2lvbhgBIAEoCRI5CgdpbnRlbnRzGAIgAygLMigubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50QWRtaXNzaW9uItQDChZDdXN0b2R5SW50ZW50QWRtaXNzaW9uEhIKCmNvbW1pdF9vaWQYASABKAkSFgoJaW50ZW50X2lkGAIgASgJSAGIAQESOwoIYWRtaXR0ZWQYCiABKAsyJy5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRBZG1pdHRlZEgAEjkKB3NraXBwZWQYCyABKAsyJi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRTa2lwcGVkSAASOQoHcmVmdXNlZBgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudFJlZnVzZWRIABJECg1kZWFkX2xldHRlcmVkGA0gASgLMisubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50RGVhZExldHRlcmVkSAASOQoHYmxvY2tlZBgOIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudEJsb2NrZWRIABJBCgtxdWFyYW50aW5lZBgPIAEoCzIqLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudFF1YXJhbnRpbmVkSABCCQoHb3V0Y29tZUIMCgpfaW50ZW50X2lkIpABChVDdXN0b2R5SW50ZW50QWRtaXR0ZWQSDAoEaGVhZBgBIAEoCRIzCgdjcmVhdGVkGAIgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmEjQKCGFmZmVjdGVkGAMgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmIi8KFEN1c3RvZHlJbnRlbnRTa2lwcGVkEhcKD2FscmVhZHlfb25fbWFpbhgBIAEoCCKaAQoUQ3VzdG9keUludGVudFJlZnVzZWQSDwoHbWVzc2FnZRgBIAEoCRIRCgRoaW50GAMgASgJSACIAQESNAoHcmVmdXNhbBgEIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZWZ1c2FsSAGIAQFCBwoFX2hpbnRCCgoIX3JlZnVzYWxKBAgCEANSDWRlYWRfbGV0dGVyZWQifgoZQ3VzdG9keUludGVudERlYWRMZXR0ZXJlZBIPCgdtZXNzYWdlGAEgASgJEhEKBGhpbnQYAiABKAlIAIgBARIeChFjdXN0b2R5X3JlZmVyZW5jZRgDIAEoCUgBiAEBQgcKBV9oaW50QhQKEl9jdXN0b2R5X3JlZmVyZW5jZSImChRDdXN0b2R5SW50ZW50QmxvY2tlZBIOCgZkZXRhaWwYASABKAkilQEKGEN1c3RvZHlJbnRlbnRRdWFyYW50aW5lZBIOCgZyZWFzb24YASABKAkSGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIeChFjdXN0b2R5X3JlZmVyZW5jZRgEIAEoCUgAiAEBQhQKEl9jdXN0b2R5X3JlZmVyZW5jZSLtAQoXQ3VzdG9keUFkbWlzc2lvblRpbWluZ3MSFAoMdG90YWxfbWlsbGlzGAEgASgBEhMKC3NjYW5fbWlsbGlzGAIgASgBEhQKDGZldGNoX21pbGxpcxgDIAEoARITCgtzZWFsX21pbGxpcxgEIAEoARIYChBnYXRlX2ZvbGRfbWlsbGlzGAUgASgBEhQKDGludGVudF9jb3VudBgGIAEoDRIVCg1zZXNzaW9uX2NvdW50GAcgASgNEjUKBXNwYW5zGAggAygLMiYubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uU3BhbiKXAQoUQ3VzdG9keUFkbWlzc2lvblNwYW4SCgoCaWQYASABKAkSDQoFdHJhY2sYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgRraW5kGAQgASgJEg0KBWRlcHRoGAUgASgNEhsKE3N0YXJ0ZWRfdW5peF9taWxsaXMYBiABKAESHAoUZmluaXNoZWRfdW5peF9taWxsaXMYByABKAEiXQoXV29ya3NwYWNlRWZmZWN0RGVmZXJyZWQSGAoQdGFyZ2V0X3dvcmtzcGFjZRgBIAEoCRIaChJyZXRyeV9hZnRlcl9taWxsaXMYAiABKAQSDAoEaGVsZBgDIAEoBCL6AQoNT3V0Ym94U3VtbWFyeRIRCgl3b3Jrc3BhY2UYASABKAkSDwoHZW50cmllcxgCIAEoBBI0Cgd0YXJnZXRzGAMgAygLMiMubm9tb3MucnVudGltZS52Mi5PdXRib3hUYXJnZXRDb3VudBIfChJuZXh0X2R1ZV9hdF9taWxsaXMYBCABKARIAIgBARIUCgx3b3JrX3BlbmRpbmcYBSABKAgSEAoIcmVzaWRlbnQYBiABKAgSFQoNZW50cmllc190b3RhbBgHIAEoDRIYChBlbnRyaWVzX3ByZXBhcmVkGAggASgNQhUKE19uZXh0X2R1ZV9hdF9taWxsaXMiPgoRT3V0Ym94VGFyZ2V0Q291bnQSGAoQdGFyZ2V0X3dvcmtzcGFjZRgBIAEoCRIPCgdlbnRyaWVzGAIgASgEIkMKFFBlZXJHaXRSZWZzQWxvbmdzaWRlEg4KBnByZWZpeBgBIAEoCRIMCgRoZWxkGAIgAygJEg0KBWxpbWl0GAMgASgNImEKElBlZXJHaXRSZWZzRmV0Y2hlZBIrCgRyZWZzGAEgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIMCgRwYWNrGAIgASgMEhAKCGRlZmVycmVkGAMgASgNKrwBChVTaGFyZVdvcmtzcGFjZU91dGNvbWUSJwojU0hBUkVfV09SS1NQQUNFX09VVENPTUVfVU5TUEVDSUZJRUQQABIlCiFTSEFSRV9XT1JLU1BBQ0VfT1VUQ09NRV9ERUxJVkVSRUQQARIuCipTSEFSRV9XT1JLU1BBQ0VfT1VUQ09NRV9BV0FJVElOR19SRUNJUElFTlQQAhIjCh9TSEFSRV9XT1JLU1BBQ0VfT1VUQ09NRV9SRUZVU0VEEAMqZwoOUGVlckh0dHBNZXRob2QSIAocUEVFUl9IVFRQX01FVEhPRF9VTlNQRUNJRklFRBAAEhgKFFBFRVJfSFRUUF9NRVRIT0RfR0VUEAESGQoVUEVFUl9IVFRQX01FVEhPRF9QT1NUEAIqvwEKF1BlZXJFZmZlY3RGYWlsdXJlUmVhc29uEioKJlBFRVJfRUZGRUNUX0ZBSUxVUkVfUkVBU09OX1VOU1BFQ0lGSUVEEAASJgoiUEVFUl9FRkZFQ1RfRkFJTFVSRV9SRUFTT05fT0ZGTElORRABEiYKIlBFRVJfRUZGRUNUX0ZBSUxVUkVfUkVBU09OX1RJTUVPVVQQAhIoCiRQRUVSX0VGRkVDVF9GQUlMVVJFX1JFQVNPTl9UUkFOU1BPUlQQAyqtAQocRGV2aWNlUmVjb3ZlcnlBZG1pc3Npb25TdGFnZRIvCitERVZJQ0VfUkVDT1ZFUllfQURNSVNTSU9OX1NUQUdFX1VOU1BFQ0lGSUVEEAASLgoqREVWSUNFX1JFQ09WRVJZX0FETUlTU0lPTl9TVEFHRV9FTlJPTExNRU5UEAESLAooREVWSUNFX1JFQ09WRVJZX0FETUlTU0lPTl9TVEFHRV9SRUNPVkVSWRACKr8BChhQZWVyU29ja2V0Q2xvc2VJbml0aWF0b3ISKwonUEVFUl9TT0NLRVRfQ0xPU0VfSU5JVElBVE9SX1VOU1BFQ0lGSUVEEAASJwojUEVFUl9TT0NLRVRfQ0xPU0VfSU5JVElBVE9SX1JVTlRJTUUQARIlCiFQRUVSX1NPQ0tFVF9DTE9TRV9JTklUSUFUT1JfU0hFTEwQAhImCiJQRUVSX1NPQ0tFVF9DTE9TRV9JTklUSUFUT1JfUkVNT1RFEAMqYQoMTGl2ZUxpbmtSb2xlEh4KGkxJVkVfTElOS19ST0xFX1VOU1BFQ0lGSUVEEAASFwoTTElWRV9MSU5LX1JPTEVfUEVFUhABEhgKFExJVkVfTElOS19ST0xFX1JFTEFZEAJiBnByb3RvMw", [file_nomos_kernel_v1_kernel, file_nomos_runtime_v2_placement_desk, file_nomos_discovery_v1_workspace_placement, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_maintenance_desk]);
8027
+ var file_nomos_runtime_v2_correspondence_desk = /* @__PURE__ */ fileDesc("Cipub21vcy9ydW50aW1lL3YyL2NvcnJlc3BvbmRlbmNlX2Rlc2sucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIi0AIKFVNoYXJlV29ya3NwYWNlUmVxdWVzdBIPCgdzdWJqZWN0GAEgASgJEhAKCHJlbGF0aW9uGAIgASgJEhoKEmFzc2VydGVyX3ByaW5jaXBhbBgDIAEoCRIOCgZvYmplY3QYBCABKAkSHAoPaG9tZV9sYXdfc2hhMjU2GAUgASgJSACIAQESGgoNYXV0aG9yX3NlY3JldBgGIAEoDEgBiAEBEh8KEmFzc2VydGVyX3dvcmtzcGFjZRgHIAEoCUgCiAEBEhgKC2F0dGVzdGVkX2F0GAggASgJSAOIAQESFwoKYXV0aF90b2tlbhgJIAEoDEgEiAEBQhIKEF9ob21lX2xhd19zaGEyNTZCEAoOX2F1dGhvcl9zZWNyZXRCFQoTX2Fzc2VydGVyX3dvcmtzcGFjZUIOCgxfYXR0ZXN0ZWRfYXRCDQoLX2F1dGhfdG9rZW4ikgEKFFNoYXJlV29ya3NwYWNlUmVzdWx0EjgKB291dGNvbWUYASABKA4yJy5ub21vcy5ydW50aW1lLnYyLlNoYXJlV29ya3NwYWNlT3V0Y29tZRITCgZzdGF0dXMYAiABKA1IAIgBARIUCgdtZXNzYWdlGAMgASgJSAGIAQFCCQoHX3N0YXR1c0IKCghfbWVzc2FnZSLKAQodUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgprZXlfc2hhMjU2GAMgASgJSACIAQESFwoKcHVibGljX2tleRgEIAEoDEgBiAEBEhcKCmF1dGhfdG9rZW4YBSABKAxIAogBARIOCgZyZW1vdGUYBiABKAhCDQoLX2tleV9zaGEyNTZCDQoLX3B1YmxpY19rZXlCDQoLX2F1dGhfdG9rZW4i1AEKFlBhcmVudFNpZ25lckVucm9sbG1lbnQSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRISCgprZXlfc2hhMjU2GAMgASgJEg4KBm9iamVjdBgEIAEoCRIQCghyZWxhdGlvbhgFIAEoCRIQCghlbnJvbGxlZBgGIAEoCBIPCgdyZXZva2VkGAcgASgIEhkKDHZlcmlmaWVkX3ZpYRgIIAEoCUgAiAEBEhIKCmNoZWNrZWRfYXQYCSABKAlCDwoNX3ZlcmlmaWVkX3ZpYSLcAgojRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlcXVlc3QSDgoGcGFyZW50GAEgASgJEhEKCXByaW5jaXBhbBgCIAEoCRIXCgpwdWJsaWNfa2V5GAMgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgEIAEoDEgBiAEBEhMKBmRvbWFpbhgFIAEoCUgCiAEBEhYKCWRpcmVjdGl2ZRgGIAEoCUgDiAEBEhcKCmF1dGhfdG9rZW4YByABKAxIBIgBARIVCghpZF90b2tlbhgIIAEoDEgFiAEBEhkKDHZlcmlmaWVkX3ZpYRgJIAEoCUgGiAEBQg0KC19wdWJsaWNfa2V5QhAKDl9hdXRob3Jfc2VjcmV0QgkKB19kb21haW5CDAoKX2RpcmVjdGl2ZUINCgtfYXV0aF90b2tlbkILCglfaWRfdG9rZW5CDwoNX3ZlcmlmaWVkX3ZpYSLZAQoiRW5zdXJlUGFyZW50U2lnbmVyRW5yb2xsbWVudFJlc3VsdBIOCgZwYXJlbnQYASABKAkSEQoJcHJpbmNpcGFsGAIgASgJEhIKCmtleV9zaGEyNTYYAyABKAkSEAoIZW5yb2xsZWQYBCABKAgSEAoIcmVwYWlyZWQYBSABKAgSEwoGZG9tYWluGAYgASgJSACIAQESFgoJZGlyZWN0aXZlGAcgASgJSAGIAQESEgoKY2hlY2tlZF9hdBgIIAEoCUIJCgdfZG9tYWluQgwKCl9kaXJlY3RpdmUiHQobVmVyaWZ5V29ya3NwYWNlQ2hhaW5SZXF1ZXN0IrsBChpWZXJpZnlXb3Jrc3BhY2VDaGFpblJlc3VsdBINCgV2YWxpZBgBIAEoCBISCgVlcnJvchgCIAEoCUgAiAEBEhgKC3BsYW5zX3JlcnVuGAMgASgESAGIAQESOgoHaGlzdG9yeRgEIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuVmVyaWZ5Q2hhaW5IaXN0b3J5SAKIAQFCCAoGX2Vycm9yQg4KDF9wbGFuc19yZXJ1bkIKCghfaGlzdG9yeSKHAQoSVmVyaWZ5Q2hhaW5IaXN0b3J5Eg0KBXN0YXRlGAEgASgJEg4KBmFuY2hvchgCIAEoCRIQCghib3VuZGFyeRgDIAMoCRIMCgR3YWxrGAQgASgJEh0KEHZlcmlmaWVkX2NvbW1pdHMYBSABKARIAIgBAUITChFfdmVyaWZpZWRfY29tbWl0cyJ/ChRTeW5jV29ya3NwYWNlUmVxdWVzdBINCgVhZG1pdBgCIAEoCBIRCgl3b3Jrc3BhY2UYAyABKAkSHwoScmVwbGFjZV9sb2NhbF9oZWFkGAQgASgJSACIAQFCFQoTX3JlcGxhY2VfbG9jYWxfaGVhZEoECAEQAlIHc2Vzc2lvbiKGCgoVU3luY1dvcmtzcGFjZVJlc3BvbnNlEhEKCXdvcmtzcGFjZRgBIAEoCRIaCg1wcmV2aW91c19oZWFkGAIgASgJSACIAQESGQoMY3VycmVudF9oZWFkGAMgASgJSAGIAQESEAoIYWRtaXR0ZWQYBCABKAQSDwoHcmVmdXNlZBgFIAEoBBIQCghkZWZlcnJlZBgGIAEoBBISCgpsb2NhbF9vbmx5GAcgASgIEg4KBnB1bGxlZBgIIAEoCBIQCghkaXZlcmdlZBgJIAEoCBIaChJyZWNvbm5lY3RfcmVxdWlyZWQYCiABKAgSEwoLc3RpbGxfYWhlYWQYCyABKAgSDwoHb2ZmbGluZRgMIAEoCBITCgtwdXNoX2ZhaWxlZBgNIAEoCBIdChVkaXJlY3Rfb2ZmZXJfZGVmZXJyZWQYDiABKAgSNQoOYmlydGhfb3V0Y29tZXMYDyADKAsyHS5ub21vcy5rZXJuZWwudjEuQmlydGhPdXRjb21lEhsKE2FkbWl0dGVkX2ludGVudF9pZHMYECADKAkSHAoUY29udmVyZ2VkX2ludGVudF9pZHMYESADKAkSQgoKcHVzaF9lcnJvchgSIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZVRyYW5zcG9ydEZhaWx1cmVIAogBARJHCg9kaXNjb3ZlcnlfZXJyb3IYEyABKAsyKS5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVUcmFuc3BvcnRGYWlsdXJlSAOIAQESMwoHdGltaW5ncxgUIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuU3luY1BoYXNlVGltaW5ncxJBCg1vZmZlcl9yZWNlaXB0GBUgASgLMiUubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJSZWNlaXB0SASIAQESOQoOcmVtb3RlX3JlZnVzYWwYFiABKAsyHC5ub21vcy5rZXJuZWwudjEuU3luY1JlZnVzYWxIBYgBARJHChRjdXN0b2R5X2Rpc2FncmVlbWVudBgXIAEoCzIkLm5vbW9zLmtlcm5lbC52MS5DdXN0b2R5RGlzYWdyZWVtZW50SAaIAQESGAoQY3VzdG9keV9yZXBsYWNlZBgYIAEoCBIVCg1tYWluX2FkdmFuY2VkGBkgASgIEkAKD3JlYm9ybl9yZW1vdGVseRgaIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlUmViaXJ0aEgHiAEBEkcKFHByZXNlcnZlZF9sb2NhbF9jb3B5GBsgASgLMiQubm9tb3MucnVudGltZS52Mi5QcmVzZXJ2ZWRMb2NhbENvcHlICIgBARIxCiRjdXN0b2RpYW5fd2FybWluZ19yZXRyeV9hZnRlcl9taWxsaXMYHCABKA1ICYgBAUIQCg5fcHJldmlvdXNfaGVhZEIPCg1fY3VycmVudF9oZWFkQg0KC19wdXNoX2Vycm9yQhIKEF9kaXNjb3ZlcnlfZXJyb3JCEAoOX29mZmVyX3JlY2VpcHRCEQoPX3JlbW90ZV9yZWZ1c2FsQhcKFV9jdXN0b2R5X2Rpc2FncmVlbWVudEISChBfcmVib3JuX3JlbW90ZWx5QhcKFV9wcmVzZXJ2ZWRfbG9jYWxfY29weUInCiVfY3VzdG9kaWFuX3dhcm1pbmdfcmV0cnlfYWZ0ZXJfbWlsbGlzIugBChNDdXN0b2R5T2ZmZXJSZWNlaXB0EhIKCnJlcXVlc3RfaWQYASABKAkSQwoJYWRtaXNzaW9uGAogASgLMi4ubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJBZG1pc3Npb25SZWNlaXB0SAASOAoHZmFpbHVyZRgLIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keU9mZmVyRmFpbHVyZUgAEjMKB2Jsb2NrZWQYDCABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVCbG9ja2VkSABCCQoHb3V0Y29tZSKGAgocQ3VzdG9keU9mZmVyQWRtaXNzaW9uUmVjZWlwdBIMCgRtYWluGAEgASgJEhgKC3NlYWxlZF9tYWluGAIgASgJSACIAQESOwoIc2Vzc2lvbnMYAyADKAsyKS5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlTZXNzaW9uQWRtaXNzaW9uEjUKDmJpcnRoX291dGNvbWVzGAQgAygLMh0ubm9tb3Mua2VybmVsLnYxLkJpcnRoT3V0Y29tZRI6Cgd0aW1pbmdzGAUgASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uVGltaW5nc0IOCgxfc2VhbGVkX21haW4iswEKE0N1c3RvZHlPZmZlckZhaWx1cmUSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhEKCWNvbXBvbmVudBgDIAEoCRIWCgl3b3Jrc3BhY2UYBCABKAlIAIgBARITCgZkb21haW4YBSABKAlIAYgBARIWCglkaXJlY3RpdmUYBiABKAlIAogBAUIMCgpfd29ya3NwYWNlQgkKB19kb21haW5CDAoKX2RpcmVjdGl2ZSJdChdSdW50aW1lVHJhbnNwb3J0RmFpbHVyZRIQCghlbmRwb2ludBgBIAEoCRIOCgZzdGF0dXMYAiABKBESDwoHcmVmdXNlZBgDIAEoCBIPCgdtZXNzYWdlGAQgASgJIsUBChBTeW5jUGhhc2VUaW1pbmdzEhMKC3B1c2hfbWlsbGlzGAEgASgBEhQKDGFkbWl0X21pbGxpcxgCIAEoARIXCg9wcmVmZXRjaF9taWxsaXMYAyABKAESFwoPY29udmVyZ2VfbWlsbGlzGAQgASgBEhIKCnB1c2hfYnl0ZXMYBSABKAQSFQoNc2VydmVyX21pbGxpcxgGIAEoARIVCg1vZmZlcl9pbl9wdXNoGAcgASgIEhIKCnB1bGxfYnl0ZXMYCCABKAQiNAofUmVmcmVzaFJlcGxpY2FDcmVkZW50aWFsUmVxdWVzdBIRCgl3b3Jrc3BhY2UYASABKAkiiwEKDEdpdFJlYWRMZWFzZRIWCg5mb3JtYXRfdmVyc2lvbhgBIAEoDRIRCgl3b3Jrc3BhY2UYAiABKAkSDgoGcmVtb3RlGAMgASgJEg0KBXRva2VuGAQgASgJEhMKC3R0bF9zZWNvbmRzGAUgASgNEhwKFGV4cGlyZXNfdW5peF9zZWNvbmRzGAYgASgEIm4KD0dpdEZldGNoUmVxdWVzdBIPCgdzZXNzaW9uGAEgASgJEi0KBWxlYXNlGAIgASgLMh4ubm9tb3MucnVudGltZS52Mi5HaXRSZWFkTGVhc2USDAoEd2FudBgDIAEoCRINCgVoYXZlcxgEIAMoCSJqCg5HaXRGZXRjaFJlc3VsdBIdChBzdGFnZWRfcGFja19maWxlGAEgASgJSACIAQESDAoEaGVhZBgCIAEoCRIWCg5yZWNlaXZlZF9ieXRlcxgDIAEoBEITChFfc3RhZ2VkX3BhY2tfZmlsZSK2AQoeRGVsaXZlcldvcmtzcGFjZUVmZmVjdHNSZXF1ZXN0EhYKDnNvdXJjZV9zZXNzaW9uGAEgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAiABKAkSGgoNc291cmNlX2NvbW1pdBgDIAEoCUgAiAEBEh4KEXNvdXJjZV9vZmZlcl9wYXRoGAQgASgJSAGIAQFCEAoOX3NvdXJjZV9jb21taXRCFAoSX3NvdXJjZV9vZmZlcl9wYXRoIlEKHERlbGl2ZXJIdHRwT2JsaWdhdGlvblJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkSGQoRc291cmNlX29mZmVyX3BhdGgYAiABKAkiuwEKF0h0dHBPYmxpZ2F0aW9uRGVsaXZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSEQoJYXR0ZW1wdGVkGAIgASgIEhEKCWRlbGl2ZXJlZBgDIAEoCBIRCglyZXRyeWFibGUYBCABKAgSGwoTcHJlcGFyYXRpb25fcGVuZGluZxgFIAEoCBIcCg9yZXRyeV9hdF9taWxsaXMYBiABKARIAIgBAUISChBfcmV0cnlfYXRfbWlsbGlzIjYKHFJlY292ZXJDb3JyZXNwb25kZW5jZVJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkirAEKF0NvcnJlc3BvbmRlbmNlUmVjb3ZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSDwoHcGVuZGluZxgCIAEoCBIgChNuZXh0X3dha2VfYXRfbWlsbGlzGAMgASgESACIAQESGgoNcmV0YWluZWRfaGVhZBgEIAEoCUgBiAEBQhYKFF9uZXh0X3dha2VfYXRfbWlsbGlzQhAKDl9yZXRhaW5lZF9oZWFkIvYCChlXb3Jrc3BhY2VFZmZlY3RzRGVsaXZlcmVkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSGAoQdGFyZ2V0X3dvcmtzcGFjZRgCIAEoCRIRCglhdHRlbXB0ZWQYAyABKAQSEQoJZGVsaXZlcmVkGAQgASgEEg8KB3JlZnVzZWQYBSABKAQSEQoJcmV0cnlhYmxlGAYgASgEEhwKD3JldHJ5X2F0X21pbGxpcxgHIAEoBEgAiAEBEhsKE3ByZXBhcmF0aW9uX3BlbmRpbmcYCCABKAgSGAoLdGFyZ2V0X2hlYWQYCSABKAlIAYgBARIfChdzb3VyY2Vfb3V0Y29tZV9yZWNvcmRlZBgKIAEoCBJBCgxyZXRyeV9yZWFzb24YCyABKAsyKy5ub21vcy5ydW50aW1lLnYyLkNvcnJlc3BvbmRlbmNlUmV0cnlSZWFzb25CEgoQX3JldHJ5X2F0X21pbGxpc0IOCgxfdGFyZ2V0X2hlYWQiOwoZQ29ycmVzcG9uZGVuY2VSZXRyeVJlYXNvbhIOCgZyZWFzb24YASABKAkSDgoGZGV0YWlsGAIgASgJIqwDChtSZW1vdGVHZW5lcmF0ZWRPZmZlclJlcXVlc3QSFgoOc291cmNlX3Nlc3Npb24YASABKAkSGAoQdGFyZ2V0X3dvcmtzcGFjZRgCIAEoCRINCgVhY3RvchgDIAEoCRIVCg1hdXRob3Jfc2VjcmV0GAQgASgMEhIKCmF1dGhfdG9rZW4YBSABKAwSLgoEY2FsbBgGIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5EaXJlY3RpdmVDYWxsSAASQAoPbW9kZWxfbGlmZWN5Y2xlGAkgASgLMiUubm9tb3Mua2VybmVsLnYxLk1vZGVsTGlmZWN5Y2xlSW50ZW50SAASQQoRYmlydGhfY2VydGlmaWNhdGUYByABKAsyIS5ub21vcy5rZXJuZWwudjEuQmlydGhDZXJ0aWZpY2F0ZUgBiAEBEiEKFHJlcXVpcmVkX3RhcmdldF9oZWFkGAggASgJSAKIAQESEAoIbGF3X3VzZHoYCiABKAxCCAoGaW50ZW50QhQKEl9iaXJ0aF9jZXJ0aWZpY2F0ZUIXChVfcmVxdWlyZWRfdGFyZ2V0X2hlYWQiPwocUmVtb3RlR2VuZXJhdGVkT2ZmZXJBY2NlcHRlZBIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCSLKAgoOUGVlckh0dHBFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEjAKBm1ldGhvZBgCIAEoDjIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBNZXRob2QSCwoDdXJsGAMgASgJEhkKDGNvbnRlbnRfdHlwZRgEIAEoCUgAiAEBEgwKBGJvZHkYBSABKAwSGQoMYmVhcmVyX3Rva2VuGAYgASgMSAGIAQESEwoGYWNjZXB0GAcgASgJSAKIAQESGwoOdGltZW91dF9taWxsaXMYCCABKA1IA4gBARIcCg9pZGVtcG90ZW5jeV9rZXkYCSABKAlIBIgBAUIPCg1fY29udGVudF90eXBlQg8KDV9iZWFyZXJfdG9rZW5CCQoHX2FjY2VwdEIRCg9fdGltZW91dF9taWxsaXNCEgoQX2lkZW1wb3RlbmN5X2tleSJcChBQZWVySHR0cFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoDRIZCgxjb250ZW50X3R5cGUYAiABKAlIAIgBARIMCgRib2R5GAMgASgMQg8KDV9jb250ZW50X3R5cGUiXwoRUGVlckVmZmVjdEZhaWx1cmUSOQoGcmVhc29uGAEgASgOMikubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0RmFpbHVyZVJlYXNvbhIPCgdtZXNzYWdlGAIgASgJItAIChFQZWVyRWZmZWN0UmVjZWlwdBIRCgllZmZlY3RfaWQYASABKAkSNgoIcmVzcG9uc2UYCiABKAsyIi5ub21vcy5ydW50aW1lLnYyLlBlZXJIdHRwUmVzcG9uc2VIABI2CgdmYWlsdXJlGAsgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0RmFpbHVyZUgAEjsKCWdpdF9mZXRjaBgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUGVlckdpdEZldGNoUmVzcG9uc2VIABI5CghnaXRfcHVzaBgNIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuUGVlckdpdFB1c2hSZXNwb25zZUgAEk0KFmJvcm5fY3VzdG9keV9wZXJzaXN0ZWQYDiABKAsyKy5ub21vcy5ydW50aW1lLnYyLlBlcnNpc3RCb3JuQ3VzdG9keVJlY2VpcHRIABJQChR3b3Jrc3BhY2VfZGlzY292ZXJlZBgPIAEoCzIwLm5vbW9zLmRpc2NvdmVyeS52MS5EaXNjb3ZlcmVkV29ya3NwYWNlUGxhY2VtZW50SAASQgoNbG9jYWxfY3VzdG9keRgQIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxvY2FsQ3VzdG9keVJlY2VpcHRIABI/ChFmcm9udGllcl9yZXRhaW5lZBgRIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuRnJvbnRpZXJSZXRhaW5lZEgAEiwKBXdva2VuGBIgASgLMhsubm9tb3MucnVudGltZS52Mi5QZWVyV29rZW5IABJJChRjcmVkZW50aWFsX3JlZnJlc2hlZBgTIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNyZWRlbnRpYWxSZWZyZXNoZWRIABI/Cg9kZXZpY2VfaWRlbnRpdHkYFCABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VJZGVudGl0eUgAEjcKC2xhd19wYWNrYWdlGBUgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVyTGF3UGFja2FnZUgAEk4KE2hpc3RvcnlfYWNxdWlzaXRpb24YFiABKAsyLy5ub21vcy5ydW50aW1lLnYyLlBlZXJIaXN0b3J5QWNxdWlzaXRpb25SZWNlaXB0SAASQQoQY29uc29sZV9lbnJvbGxlZBgXIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNvbnNvbGVFbnJvbGxlZEgAElIKGWNvbnNvbGVfZW5yb2xtZW50X3JlZnVzZWQYGCABKAsyLS5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xtZW50UmVmdXNlZEgAEjUKBnN0cmVhbRgZIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuUGVlclN0cmVhbVJlY2VpcHRIAEIJCgdvdXRjb21lIqcCChJQZWVyR2l0RmV0Y2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEi0KBWxlYXNlGAIgASgLMh4ubm9tb3MucnVudGltZS52Mi5HaXRSZWFkTGVhc2USEQoEd2FudBgDIAEoCUgAiAEBEg0KBWhhdmVzGAQgAygJEhEKCXJlZmVyZW5jZRgFIAEoCRISCgVkZXB0aBgGIAEoDUgBiAEBEjMKCWFsb25nc2lkZRgHIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3QSPgoOYWxvbmdzaWRlX3JlZnMYCCABKAsyJi5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRSZWZzQWxvbmdzaWRlQgcKBV93YW50QggKBl9kZXB0aCLQAQoUUGVlckdpdEZldGNoUmVzcG9uc2USDAoEcGFjaxgBIAEoDBIMCgRoZWFkGAIgASgJEhYKDnJlY2VpdmVkX2J5dGVzGAMgASgEEg8KB3NoYWxsb3cYBCADKAkSNQoJYWxvbmdzaWRlGAUgASgLMiIubm9tb3MucnVudGltZS52Mi5QZWVySHR0cFJlc3BvbnNlEjwKDmFsb25nc2lkZV9yZWZzGAYgASgLMiQubm9tb3MucnVudGltZS52Mi5QZWVyR2l0UmVmc0ZldGNoZWQimAEKEVBlZXJHaXRQdXNoRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIOCgZyZW1vdGUYAiABKAkSGQoMYmVhcmVyX3Rva2VuGAMgASgMSACIAQESGAoQc2Vzc2lvbl9pZGVudGl0eRgEIAEoCRIMCgRoZWFkGAUgASgJEgwKBHBhY2sYBiABKAxCDwoNX2JlYXJlcl90b2tlbiJYChNQZWVyR2l0UHVzaFJlc3BvbnNlEhEKCXJlZmVyZW5jZRgBIAEoCRIMCgRoZWFkGAIgASgJEhIKCnNlbnRfYnl0ZXMYAyABKAQSDAoEbm9vcBgEIAEoCCItCgtSZXRhaW5lZFJlZhIRCglyZWZlcmVuY2UYASABKAkSCwoDb2lkGAIgASgJIocBChRSZXRhaW5Gcm9udGllckVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEg4KBmJyYW5jaBgDIAEoCRIMCgRoZWFkGAQgASgJEisKBHJlZnMYBSADKAsyHS5ub21vcy5ydW50aW1lLnYyLlJldGFpbmVkUmVmIqIBChBGcm9udGllclJldGFpbmVkEhEKCXdvcmtzcGFjZRgBIAEoCRIOCgZicmFuY2gYAiABKAkSDAoEaGVhZBgDIAEoCRIQCghyZXRhaW5lZBgEIAEoCBITCgZkZXRhaWwYBSABKAlIAIgBARIrCgRyZWZzGAYgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZkIJCgdfZGV0YWlsIl4KGFBlcnNpc3RCb3JuQ3VzdG9keUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSLwoIY2hpbGRyZW4YAiADKAsyHS5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5IpcBChRQZXJzaXN0ZWRCb3JuQ3VzdG9keRIRCgl3b3Jrc3BhY2UYASABKAkSDAoEaGVhZBgCIAEoCRIRCglwZXJzaXN0ZWQYAyABKAgSEwoGZGV0YWlsGAQgASgJSACIAQESKwoEcmVmcxgFIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWZCCQoHX2RldGFpbCJVChlQZXJzaXN0Qm9ybkN1c3RvZHlSZWNlaXB0EjgKCGNoaWxkcmVuGAEgAygLMiYubm9tb3MucnVudGltZS52Mi5QZXJzaXN0ZWRCb3JuQ3VzdG9keSLOBwoVQ29ycmVzcG9uZGVuY2VQZW5kaW5nEg8KB3dvcmtfaWQYASABKAkSMAoEaHR0cBgCIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUGVlckh0dHBFZmZlY3RIABI5CglnaXRfZmV0Y2gYAyABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJHaXRGZXRjaEVmZmVjdEgAEjcKCGdpdF9wdXNoGAQgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyR2l0UHVzaEVmZmVjdEgAEkoKFHBlcnNpc3RfYm9ybl9jdXN0b2R5GAUgASgLMioubm9tb3MucnVudGltZS52Mi5QZXJzaXN0Qm9ybkN1c3RvZHlFZmZlY3RIABJNChN3b3Jrc3BhY2VfZGlzY292ZXJ5GAYgASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVyV29ya3NwYWNlRGlzY292ZXJ5RWZmZWN0SAASQQoNbG9jYWxfY3VzdG9keRgHIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxvY2FsQ3VzdG9keUVmZmVjdEgAEkEKD3JldGFpbl9mcm9udGllchgIIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluRnJvbnRpZXJFZmZlY3RIABIwCgR3YWtlGAkgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVyV2FrZUVmZmVjdEgAEksKEnJlZnJlc2hfY3JlZGVudGlhbBgKIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuUGVlckNyZWRlbnRpYWxSZWZyZXNoRWZmZWN0SAASRQoPZGV2aWNlX2lkZW50aXR5GAsgASgLMioubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3RIABI9CgtsYXdfcGFja2FnZRgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUGVlckxhd1BhY2thZ2VFZmZlY3RIABJNChNoaXN0b3J5X2FjcXVpc2l0aW9uGA0gASgLMi4ubm9tb3MucnVudGltZS52Mi5QZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0SAASSQoRY29uc29sZV9lbnJvbG1lbnQYDiABKAsyLC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xtZW50RWZmZWN0SAASNAoGc3RyZWFtGA8gASgLMiIubm9tb3MucnVudGltZS52Mi5QZWVyU3RyZWFtRWZmZWN0SABCCAoGZWZmZWN0IqABChpQZWVyQ29uc29sZUVucm9sbWVudEVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSFwoPZGV2aWNlX2lkZW50aXR5GAIgASgJEhIKCmNhcGFiaWxpdHkYAyABKAkSDwoHY29uc29sZRgEIAEoCRIOCgZ0ZW5hbnQYBSABKAkSDQoFc2NvcGUYBiABKAkSEgoKd29ya3NwYWNlcxgHIAMoCSKpAQoTUGVlckNvbnNvbGVFbnJvbGxlZBIRCglwcmluY2lwYWwYASABKAkSEAoIa2V5X2hhc2gYAiABKAkSPwoFaGVhZHMYAyADKAsyMC5ub21vcy5ydW50aW1lLnYyLlBlZXJDb25zb2xlRW5yb2xsZWQuSGVhZHNFbnRyeRosCgpIZWFkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEicgobUGVlckNvbnNvbGVFbnJvbG1lbnRSZWZ1c2VkEg4KBnN0YXR1cxgBIAEoDRIPCgdtZXNzYWdlGAIgASgJEgwKBGNvZGUYAyABKAkSFgoJcmV0cnlhYmxlGAQgASgISACIAQFCDAoKX3JldHJ5YWJsZSJjChxQZWVySGlzdG9yeUFjcXVpc2l0aW9uRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkSHQoVY3JlZGVudGlhbF9jYXBhYmlsaXR5GAMgASgJIlUKHVBlZXJIaXN0b3J5QWNxdWlzaXRpb25SZWNlaXB0EhEKCXdvcmtzcGFjZRgBIAEoCRIPCgdjaGFuZ2VkGAIgASgIEhAKCGNvbXBsZXRlGAMgASgIIjkKDlBlZXJXYWtlRWZmZWN0EhEKCWVmZmVjdF9pZBgBIAEoCRIUCgxkZWxheV9taWxsaXMYAiABKA0iCwoJUGVlcldva2VuItYBChtQZWVyQ3JlZGVudGlhbFJlZnJlc2hFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmNhcGFiaWxpdHkYAiABKAkSHQoQZGV2aWNlX2NoYWxsZW5nZRgDIAEoCUgAiAEBEhQKDGFsbG93X2NhY2hlZBgEIAEoCBInChpyZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NhgFIAEoDEgBiAEBQhMKEV9kZXZpY2VfY2hhbGxlbmdlQh0KG19yZWplY3RlZF9hdXRoX3Rva2VuX3NoYTI1NiJvChdQZWVyQ3JlZGVudGlhbFJlZnJlc2hlZBIXCgphdXRoX3Rva2VuGAEgASgMSACIAQESGgoNYXV0aG9yX3NlY3JldBgCIAEoDEgBiAEBQg0KC19hdXRoX3Rva2VuQhAKDl9hdXRob3Jfc2VjcmV0IsYCChhQZWVyRGV2aWNlSWRlbnRpdHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhAKCGlkZW50aXR5GAIgASgJEjgKBGxvYWQYAyABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VJZGVudGl0eUxvYWRIABI4CgRzYXZlGAQgASgLMigubm9tb3MucnVudGltZS52Mi5QZWVyRGV2aWNlSWRlbnRpdHlTYXZlSAASQQoNbG9hZF9yZWNvdmVyeRgFIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuUGVlckRldmljZVJlY292ZXJ5TG9hZEgAEkEKDXNhdmVfcmVjb3ZlcnkYBiABKAsyKC5ub21vcy5ydW50aW1lLnYyLlBlZXJEZXZpY2VSZWNvdmVyeVNhdmVIAEILCglvcGVyYXRpb24iGAoWUGVlckRldmljZUlkZW50aXR5TG9hZCIoChZQZWVyRGV2aWNlSWRlbnRpdHlTYXZlEg4KBnNlY3JldBgBIAEoDCIYChZQZWVyRGV2aWNlUmVjb3ZlcnlMb2FkIlAKFlBlZXJEZXZpY2VSZWNvdmVyeVNhdmUSNgoGcmVjb3JkGAEgASgLMiYubm9tb3MucnVudGltZS52Mi5EZXZpY2VSZWNvdmVyeVJlY29yZCKLAgoURGV2aWNlUmVjb3ZlcnlSZWNvcmQSDwoHdmVyc2lvbhgBIAEoDRITCgthcHBsaWNhdGlvbhgCIAEoCRIRCglwcmluY2lwYWwYAyABKAkSFwoPcHJldmlvdXNfc2VjcmV0GAQgASgMEhgKEGNhbmRpZGF0ZV9zZWNyZXQYBSABKAwSFwoPZW5yb2xsbWVudF9oZWFkGAYgASgJEhUKDXJlY292ZXJ5X2hlYWQYByABKAkSRAoRcGVuZGluZ19hZG1pc3Npb24YCCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uEhEKCWNvbXBsZXRlZBgJIAEoCCKxAQoXRGV2aWNlUmVjb3ZlcnlBZG1pc3Npb24SPQoFc3RhZ2UYASABKA4yLi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5QWRtaXNzaW9uU3RhZ2USEgoKcmVxdWVzdF9pZBgCIAEoBBIRCgl3b3Jrc3BhY2UYAyABKAkSMAoGZWZmZWN0GAQgASgLMiAubm9tb3MucnVudGltZS52Mi5QZWVySHR0cEVmZmVjdCJuChJQZWVyRGV2aWNlSWRlbnRpdHkSEwoGc2VjcmV0GAEgASgMSACIAQESOAoIcmVjb3ZlcnkYAiABKAsyJi5ub21vcy5ydW50aW1lLnYyLkRldmljZVJlY292ZXJ5UmVjb3JkQgkKB19zZWNyZXQiPQoUUGVlckxhd1BhY2thZ2VFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhIKCmxhd19zaGEyNTYYAiABKAkiIgoOUGVlckxhd1BhY2thZ2USEAoIbGF3X3VzZHoYASABKAwiRAocUGVlcldvcmtzcGFjZURpc2NvdmVyeUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIj4KFlBlZXJMb2NhbEN1c3RvZHlFZmZlY3QSEQoJZWZmZWN0X2lkGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSKDAQoXUGVlckxvY2FsQ3VzdG9keVJlY2VpcHQSEQoJd29ya3NwYWNlGAEgASgJEhEKCWF2YWlsYWJsZRgCIAEoCBI2CgdvcGVuaW5nGAMgASgLMiAubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T3BlbmluZ0gAiAEBQgoKCF9vcGVuaW5nIi8KGkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5EhEKCXdvcmtzcGFjZRgBIAEoCSLeAQodQ29udGludWVDb3JyZXNwb25kZW5jZVJlcXVlc3QSDwoHd29ya19pZBgBIAEoCRI0CgdyZWNlaXB0GAIgASgLMiMubm9tb3MucnVudGltZS52Mi5QZWVyRWZmZWN0UmVjZWlwdBJWChtyZWNvdmVyX2hpc3RvcnlfYWNxdWlzaXRpb24YAyABKAsyLC5ub21vcy5ydW50aW1lLnYyLkhpc3RvcnlBY3F1aXNpdGlvblJlY292ZXJ5SACIAQFCHgocX3JlY292ZXJfaGlzdG9yeV9hY3F1aXNpdGlvbiKGAgoUUmVtb3RlT2ZmZXJBZG1pc3Npb24SEQoJd29ya3NwYWNlGAEgASgJEgwKBG1haW4YAiABKAkSGAoLc2VhbGVkX21haW4YAyABKAlIAIgBARIvCgd2ZXJkaWN0GAQgASgLMh4ubm9tb3Mua2VybmVsLnYxLk9mZmVyUmVzcG9uc2USMwoMYm9ybl9jdXN0b2R5GAUgAygLMh0ubm9tb3MucnVudGltZS52Mi5Cb3JuQ3VzdG9keRITCgtyZXN1bHRfcGFjaxgGIAEoDBIYCgtyZXN1bHRfYmFzZRgHIAEoCUgBiAEBQg4KDF9zZWFsZWRfbWFpbkIOCgxfcmVzdWx0X2Jhc2UiSgoOQm9ybkN1c3RvZHlSZWYSKgoDcmVmGAEgASgLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIMCgRwYWNrGAIgASgMIoEBCgtCb3JuQ3VzdG9keRItCgVjaGlsZBgBIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5Cb3JuV29ya3NwYWNlEgwKBHBhY2sYAiABKAwSNQoLcHVibGljYXRpb24YAyADKAsyIC5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5UmVmIqoDChhDdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3QSGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoDRISCgpyZXF1ZXN0X2lkGAIgASgJEjcKBmlubGluZRgDIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUlubGluZU9mZmVyc0gAEkYKEXNlc3Npb25fY2FuZGlkYXRlGAQgASgLMikubm9tb3MucnVudGltZS52Mi5DdXN0b2R5U2Vzc2lvbkNhbmRpZGF0ZUgAEhYKCWJhc2VfaGVhZBgFIAEoCUgBiAEBEhUKDWV2aWRlbmNlX3BhY2sYBiABKAwSGgoNb2JzZXJ2ZWRfaGVhZBgHIAEoCUgCiAEBEhkKEWZhc3RfZm9yd2FyZF9vbmx5GAggASgIEhwKD2NvbnRpbnVlc19hZnRlchgJIAEoCUgDiAEBEh0KFWFja25vd2xlZGdlX2FkbWlzc2lvbhgKIAEoCEIICgZzb3VyY2VCDAoKX2Jhc2VfaGVhZEIQCg5fb2JzZXJ2ZWRfaGVhZEISChBfY29udGludWVzX2FmdGVyIu4ECg5MaXZlT2ZmZXJGcmFtZRIyCghmcm9udGllchgBIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZUZyb250aWVySAASPAoGb2ZmZXJzGAIgASgLMioubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3RIABI0CglhZG1pc3Npb24YAyABKAsyHy5ub21vcy5ydW50aW1lLnYyLkxpdmVBZG1pc3Npb25IABJFChJjaGVja3BvaW50X3JlcXVlc3QYBCABKAsyJy5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50UmVxdWVzdEgAEkEKEGNoZWNrcG9pbnRfb2ZmZXIYBSABKAsyJS5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50T2ZmZXJIABJBChBjaGVja3BvaW50X2NodW5rGAYgASgLMiUubm9tb3MucnVudGltZS52Mi5MaXZlQ2hlY2twb2ludENodW5rSAASPwoPaGlzdG9yeV9yZXF1ZXN0GAcgASgLMiQubm9tb3MucnVudGltZS52Mi5MaXZlSGlzdG9yeVJlcXVlc3RIABI3CgtyZWZfcmVxdWVzdBgIIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVJlZlJlcXVlc3RIABIqCgRwYWNrGAkgASgLMhoubm9tb3MucnVudGltZS52Mi5MaXZlUGFja0gAEjYKB3JlZnVzYWwYCiABKAsyIy5ub21vcy5ydW50aW1lLnYyLkxpdmVTdHJlYW1SZWZ1c2FsSABCCQoHbWVzc2FnZSJaCg1MaXZlQWRtaXNzaW9uEhIKCnJlcXVlc3RfaWQYASABKAkSNQoJYWRtaXNzaW9uGAIgASgLMiIubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uIt4BCgxMaXZlRnJvbnRpZXISDAoEaGVhZBgBIAEoCRIQCghyZXNwb25zZRgCIAEoCBISCgptYXhfb2ZmZXJzGAMgASgNEhwKFHJlbW91bnRfYWZ0ZXJfb2ZmZXJzGAQgASgNEhcKD291dGNvbWVzX2RpZ2VzdBgFIAEoCRIvCghvdXRjb21lcxgGIAMoCzIdLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluZWRSZWYSEwoGc2VhbGVkGAcgASgJSACIAQESEgoKaGVsZF90cmVlcxgIIAMoCUIJCgdfc2VhbGVkIpABChVMaXZlQ2hlY2twb2ludFJlcXVlc3QSEQoEaGVhZBgBIAEoCUgAiAEBEhQKB3BhY2tfaWQYAiABKAlIAYgBARIOCgZvZmZzZXQYAyABKAQSFQoNd2luZG93X2NodW5rcxgEIAEoDRISCgpoZWxkX3RyZWVzGAUgAygJQgcKBV9oZWFkQgoKCF9wYWNrX2lkIs4CChNMaXZlQ2hlY2twb2ludE9mZmVyEgwKBGhlYWQYASABKAkSDwoHcGFja19pZBgCIAEoCRINCgVieXRlcxgDIAEoBBITCgtjaHVua19ieXRlcxgEIAEoDRIPCgdzaGFsbG93GAYgAygJEi8KCG91dGNvbWVzGAcgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIPCgdyZW1vdW50GAggASgIEhoKDW9mZmVyc19iZWhpbmQYCSABKARIAIgBARISCgpyZXF1ZXN0X2lkGAogASgJEhMKBnNlYWxlZBgLIAEoCUgBiAEBEgwKBG1haW4YDCABKAkSFQoNb21pdHRlZF90cmVlcxgNIAMoCRIUCgxzaGFyZWRfdHJlZXMYDiADKAlCEAoOX29mZmVyc19iZWhpbmRCCQoHX3NlYWxlZEoECAUQBiJZChNMaXZlQ2hlY2twb2ludENodW5rEg8KB3BhY2tfaWQYASABKAkSDgoGb2Zmc2V0GAIgASgEEg0KBWJ5dGVzGAMgASgMEhIKCnJlcXVlc3RfaWQYBCABKAkikgEKEkxpdmVIaXN0b3J5UmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgJEhAKCGJvdW5kYXJ5GAIgASgJEg0KBWRlcHRoGAMgASgNEhQKB3BhY2tfaWQYBCABKAlIAIgBARIOCgZvZmZzZXQYBSABKAQSFQoNd2luZG93X2NodW5rcxgGIAEoDUIKCghfcGFja19pZCJiCg5MaXZlUmVmUmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgJEhEKCXJlZmVyZW5jZRgCIAEoCRIRCgR3YW50GAMgASgJSACIAQESDQoFd2FudHMYBCADKAlCBwoFX3dhbnQinAEKCExpdmVQYWNrEhIKCnJlcXVlc3RfaWQYASABKAkSEQoJcmVmZXJlbmNlGAIgASgJEgwKBGhlYWQYAyABKAkSDAoEcGFjaxgEIAEoDBIPCgdzaGFsbG93GAUgAygJEgwKBGJhc2UYBiABKAkSDgoGb2ZmZXJzGAcgASgNEhMKBnNlYWxlZBgIIAEoCUgAiAEBQgkKB19zZWFsZWQifgoRTGl2ZVN0cmVhbVJlZnVzYWwSEgoKcmVxdWVzdF9pZBgBIAEoCRIMCgRjb2RlGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSHwoScmV0cnlfYWZ0ZXJfbWlsbGlzGAQgASgNSACIAQFCFQoTX3JldHJ5X2FmdGVyX21pbGxpcyL7AQoRTGl2ZVN0cmVhbVJlcXVlc3QSMgoIZnJvbnRpZXIYASABKAsyHi5ub21vcy5ydW50aW1lLnYyLkxpdmVGcm9udGllckgAEj0KCmNoZWNrcG9pbnQYAiABKAsyJy5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50UmVxdWVzdEgAEjcKB2hpc3RvcnkYAyABKAsyJC5ub21vcy5ydW50aW1lLnYyLkxpdmVIaXN0b3J5UmVxdWVzdEgAEi8KA3JlZhgEIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVJlZlJlcXVlc3RIAEIJCgdyZXF1ZXN0IkQKEExpdmVTdHJlYW1BbnN3ZXISMAoGZnJhbWVzGAEgAygLMiAubm9tb3MucnVudGltZS52Mi5MaXZlT2ZmZXJGcmFtZSLiAgoQUGVlclN0cmVhbUVmZmVjdBIRCgllZmZlY3RfaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEj0KCmNoZWNrcG9pbnQYAyABKAsyJy5ub21vcy5ydW50aW1lLnYyLkxpdmVDaGVja3BvaW50UmVxdWVzdEgAEjcKB2hpc3RvcnkYBCABKAsyJC5ub21vcy5ydW50aW1lLnYyLkxpdmVIaXN0b3J5UmVxdWVzdEgAEi8KA3JlZhgFIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVJlZlJlcXVlc3RIABIvCgVsZXZlbBgGIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZUZyb250aWVySAASEgoKc3RhcnRfb25seRgHIAEoCBIQCgh1cHN0cmVhbRgIIAEoCRIdChVjcmVkZW50aWFsX2NhcGFiaWxpdHkYCSABKAlCCQoHcmVxdWVzdCLjAgoRUGVlclN0cmVhbVJlY2VpcHQSKgoEcGFjaxgBIAEoCzIaLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVBhY2tIABIPCgVsZXZlbBgCIAEoCUgAEjYKB3JlZnVzYWwYAyABKAsyIy5ub21vcy5ydW50aW1lLnYyLkxpdmVTdHJlYW1SZWZ1c2FsSAASLwoIb3V0Y29tZXMYBCADKAsyHS5ub21vcy5ydW50aW1lLnYyLlJldGFpbmVkUmVmEhYKDnJlY2VpdmVkX2J5dGVzGAUgASgEEhMKBnNlYWxlZBgGIAEoCUgBiAEBEh0KEHN0YWdlZF9wYWNrX2ZpbGUYByABKAlIAogBARIRCgRtYWluGAggASgJSAOIAQESFQoNb21pdHRlZF90cmVlcxgJIAMoCUIJCgdvdXRjb21lQgkKB19zZWFsZWRCEwoRX3N0YWdlZF9wYWNrX2ZpbGVCBwoFX21haW4iawoQUGVlclNvY2tldEVmZmVjdBIVCg1jb25uZWN0aW9uX2lkGAEgASgJEhIKCG9wZW5fdXJsGAIgASgJSAASDgoEc2VuZBgDIAEoDEgAEg8KBWNsb3NlGAQgASgISABCCwoJb3BlcmF0aW9uIqkBChFQZWVyU29ja2V0UmVjZWlwdBIVCg1jb25uZWN0aW9uX2lkGAEgASgJEhAKBm9wZW5lZBgCIAEoCEgAEhIKCHJlY2VpdmVkGAMgASgMSAASEAoGY2xvc2VkGAQgASgISAASNgoHY2xvc3VyZRgFIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuUGVlclNvY2tldENsb3N1cmVIAEINCgtvYnNlcnZhdGlvbiKNAQoRUGVlclNvY2tldENsb3N1cmUSEQoEY29kZRgBIAEoDUgAiAEBEg4KBnJlYXNvbhgCIAEoCRINCgVjbGVhbhgDIAEoCBI9Cglpbml0aWF0b3IYBCABKA4yKi5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRDbG9zZUluaXRpYXRvckIHCgVfY29kZSLiAwoPTGl2ZUxpbmtDbG9zdXJlEhUKDWNvbm5lY3Rpb25faWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJEiwKBHJvbGUYAyABKA4yHi5ub21vcy5ydW50aW1lLnYyLkxpdmVMaW5rUm9sZRIzCgZzb2NrZXQYBCABKAsyIy5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRDbG9zdXJlEh0KFWNsb3NlZF9hdF91bml4X21pbGxpcxgFIAEoBBITCgtvcGVuX21pbGxpcxgGIAEoBBISCgphZG1pc3Npb25zGAcgASgNEiYKGWxhc3RfYWRtaXNzaW9uX3JlcXVlc3RfaWQYCCABKAlIAIgBARIfChJsYXN0X2FkbWl0dGVkX21haW4YCSABKAlIAYgBARIdChBsYXN0X3NlYWxlZF9tYWluGAogASgJSAKIAQESGgoNbGFzdF9mcm9udGllchgLIAEoCUgDiAEBEhoKEnVuYW5zd2VyZWRfYmF0Y2hlcxgMIAEoDUIcChpfbGFzdF9hZG1pc3Npb25fcmVxdWVzdF9pZEIVChNfbGFzdF9hZG1pdHRlZF9tYWluQhMKEV9sYXN0X3NlYWxlZF9tYWluQhAKDl9sYXN0X2Zyb250aWVyIi0KElBlZXJTb2NrZXRPYnNlcnZlZBIXCg9ydW5nX3dvcmtzcGFjZXMYASADKAkiPQoXRXhwb3J0TGl2ZU9mZmVyc1JlcXVlc3QSDwoHc2Vzc2lvbhgBIAEoCRIRCgliYXNlX2hlYWQYAiABKAkiTgoSQ3VzdG9keUludGVudE9mZmVyEg8KB3Nlc3Npb24YASABKAkSEgoKY29tbWl0X29pZBgCIAEoCRITCgtjaGFuZ2VfdXNkYRgDIAEoDCJLChNDdXN0b2R5SW5saW5lT2ZmZXJzEjQKBm9mZmVycxgBIAMoCzIkLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudE9mZmVyIiwKF0N1c3RvZHlTZXNzaW9uQ2FuZGlkYXRlEhEKCXJlZmVyZW5jZRgBIAEoCSKCBAoQQ3VzdG9keUFkbWlzc2lvbhIMCgRtYWluGAEgASgJEhgKC3NlYWxlZF9tYWluGAIgASgJSACIAQESOwoIc2Vzc2lvbnMYAyADKAsyKS5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlTZXNzaW9uQWRtaXNzaW9uEjUKDmJpcnRoX291dGNvbWVzGAQgAygLMh0ubm9tb3Mua2VybmVsLnYxLkJpcnRoT3V0Y29tZRIzCgxib3JuX2N1c3RvZHkYBSADKAsyHS5ub21vcy5ydW50aW1lLnYyLkJvcm5DdXN0b2R5EhMKC3Jlc3VsdF9wYWNrGAYgASgMEhgKC3Jlc3VsdF9iYXNlGAcgASgJSAGIAQESOgoHdGltaW5ncxgIIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUFkbWlzc2lvblRpbWluZ3MSHgoRcmVjb3ZlcnlfcmVxdWlyZWQYCSABKAhIAogBARJGChFsb2NhbF9tYWludGVuYW5jZRgKIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuTWFpbnRlbmFuY2VTY2hlZHVsZWRIA4gBAUIOCgxfc2VhbGVkX21haW5CDgoMX3Jlc3VsdF9iYXNlQhQKEl9yZWNvdmVyeV9yZXF1aXJlZEIUChJfbG9jYWxfbWFpbnRlbmFuY2UiZQoXQ3VzdG9keVNlc3Npb25BZG1pc3Npb24SDwoHc2Vzc2lvbhgBIAEoCRI5CgdpbnRlbnRzGAIgAygLMigubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50QWRtaXNzaW9uItQDChZDdXN0b2R5SW50ZW50QWRtaXNzaW9uEhIKCmNvbW1pdF9vaWQYASABKAkSFgoJaW50ZW50X2lkGAIgASgJSAGIAQESOwoIYWRtaXR0ZWQYCiABKAsyJy5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRBZG1pdHRlZEgAEjkKB3NraXBwZWQYCyABKAsyJi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlJbnRlbnRTa2lwcGVkSAASOQoHcmVmdXNlZBgMIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudFJlZnVzZWRIABJECg1kZWFkX2xldHRlcmVkGA0gASgLMisubm9tb3MucnVudGltZS52Mi5DdXN0b2R5SW50ZW50RGVhZExldHRlcmVkSAASOQoHYmxvY2tlZBgOIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudEJsb2NrZWRIABJBCgtxdWFyYW50aW5lZBgPIAEoCzIqLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUludGVudFF1YXJhbnRpbmVkSABCCQoHb3V0Y29tZUIMCgpfaW50ZW50X2lkIpABChVDdXN0b2R5SW50ZW50QWRtaXR0ZWQSDAoEaGVhZBgBIAEoCRIzCgdjcmVhdGVkGAIgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmEjQKCGFmZmVjdGVkGAMgAygLMiIubm9tb3Mua2VybmVsLnYxLk9mZmVyQWdncmVnYXRlUmVmIi8KFEN1c3RvZHlJbnRlbnRTa2lwcGVkEhcKD2FscmVhZHlfb25fbWFpbhgBIAEoCCKaAQoUQ3VzdG9keUludGVudFJlZnVzZWQSDwoHbWVzc2FnZRgBIAEoCRIRCgRoaW50GAMgASgJSACIAQESNAoHcmVmdXNhbBgEIAEoCzIeLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZWZ1c2FsSAGIAQFCBwoFX2hpbnRCCgoIX3JlZnVzYWxKBAgCEANSDWRlYWRfbGV0dGVyZWQifgoZQ3VzdG9keUludGVudERlYWRMZXR0ZXJlZBIPCgdtZXNzYWdlGAEgASgJEhEKBGhpbnQYAiABKAlIAIgBARIeChFjdXN0b2R5X3JlZmVyZW5jZRgDIAEoCUgBiAEBQgcKBV9oaW50QhQKEl9jdXN0b2R5X3JlZmVyZW5jZSImChRDdXN0b2R5SW50ZW50QmxvY2tlZBIOCgZkZXRhaWwYASABKAkilQEKGEN1c3RvZHlJbnRlbnRRdWFyYW50aW5lZBIOCgZyZWFzb24YASABKAkSGQoRYXV0aG9yZWRfbGF3X2hhc2gYAiABKAkSGAoQY3VycmVudF9sYXdfaGFzaBgDIAEoCRIeChFjdXN0b2R5X3JlZmVyZW5jZRgEIAEoCUgAiAEBQhQKEl9jdXN0b2R5X3JlZmVyZW5jZSLtAQoXQ3VzdG9keUFkbWlzc2lvblRpbWluZ3MSFAoMdG90YWxfbWlsbGlzGAEgASgBEhMKC3NjYW5fbWlsbGlzGAIgASgBEhQKDGZldGNoX21pbGxpcxgDIAEoARITCgtzZWFsX21pbGxpcxgEIAEoARIYChBnYXRlX2ZvbGRfbWlsbGlzGAUgASgBEhQKDGludGVudF9jb3VudBgGIAEoDRIVCg1zZXNzaW9uX2NvdW50GAcgASgNEjUKBXNwYW5zGAggAygLMiYubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uU3BhbiKXAQoUQ3VzdG9keUFkbWlzc2lvblNwYW4SCgoCaWQYASABKAkSDQoFdHJhY2sYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgRraW5kGAQgASgJEg0KBWRlcHRoGAUgASgNEhsKE3N0YXJ0ZWRfdW5peF9taWxsaXMYBiABKAESHAoUZmluaXNoZWRfdW5peF9taWxsaXMYByABKAEiXQoXV29ya3NwYWNlRWZmZWN0RGVmZXJyZWQSGAoQdGFyZ2V0X3dvcmtzcGFjZRgBIAEoCRIaChJyZXRyeV9hZnRlcl9taWxsaXMYAiABKAQSDAoEaGVsZBgDIAEoBCL6AQoNT3V0Ym94U3VtbWFyeRIRCgl3b3Jrc3BhY2UYASABKAkSDwoHZW50cmllcxgCIAEoBBI0Cgd0YXJnZXRzGAMgAygLMiMubm9tb3MucnVudGltZS52Mi5PdXRib3hUYXJnZXRDb3VudBIfChJuZXh0X2R1ZV9hdF9taWxsaXMYBCABKARIAIgBARIUCgx3b3JrX3BlbmRpbmcYBSABKAgSEAoIcmVzaWRlbnQYBiABKAgSFQoNZW50cmllc190b3RhbBgHIAEoDRIYChBlbnRyaWVzX3ByZXBhcmVkGAggASgNQhUKE19uZXh0X2R1ZV9hdF9taWxsaXMiPgoRT3V0Ym94VGFyZ2V0Q291bnQSGAoQdGFyZ2V0X3dvcmtzcGFjZRgBIAEoCRIPCgdlbnRyaWVzGAIgASgEIkMKFFBlZXJHaXRSZWZzQWxvbmdzaWRlEg4KBnByZWZpeBgBIAEoCRIMCgRoZWxkGAIgAygJEg0KBWxpbWl0GAMgASgNImEKElBlZXJHaXRSZWZzRmV0Y2hlZBIrCgRyZWZzGAEgAygLMh0ubm9tb3MucnVudGltZS52Mi5SZXRhaW5lZFJlZhIMCgRwYWNrGAIgASgMEhAKCGRlZmVycmVkGAMgASgNIhgKFk5ldHdvcmtSZXN0b3JlZFJlcXVlc3QiKAoPTmV0d29ya1Jlc3RvcmVkEhUKDWxpbmtzX3JldHJpZWQYASABKA0qvAEKFVNoYXJlV29ya3NwYWNlT3V0Y29tZRInCiNTSEFSRV9XT1JLU1BBQ0VfT1VUQ09NRV9VTlNQRUNJRklFRBAAEiUKIVNIQVJFX1dPUktTUEFDRV9PVVRDT01FX0RFTElWRVJFRBABEi4KKlNIQVJFX1dPUktTUEFDRV9PVVRDT01FX0FXQUlUSU5HX1JFQ0lQSUVOVBACEiMKH1NIQVJFX1dPUktTUEFDRV9PVVRDT01FX1JFRlVTRUQQAypnCg5QZWVySHR0cE1ldGhvZBIgChxQRUVSX0hUVFBfTUVUSE9EX1VOU1BFQ0lGSUVEEAASGAoUUEVFUl9IVFRQX01FVEhPRF9HRVQQARIZChVQRUVSX0hUVFBfTUVUSE9EX1BPU1QQAiq/AQoXUGVlckVmZmVjdEZhaWx1cmVSZWFzb24SKgomUEVFUl9FRkZFQ1RfRkFJTFVSRV9SRUFTT05fVU5TUEVDSUZJRUQQABImCiJQRUVSX0VGRkVDVF9GQUlMVVJFX1JFQVNPTl9PRkZMSU5FEAESJgoiUEVFUl9FRkZFQ1RfRkFJTFVSRV9SRUFTT05fVElNRU9VVBACEigKJFBFRVJfRUZGRUNUX0ZBSUxVUkVfUkVBU09OX1RSQU5TUE9SVBADKq0BChxEZXZpY2VSZWNvdmVyeUFkbWlzc2lvblN0YWdlEi8KK0RFVklDRV9SRUNPVkVSWV9BRE1JU1NJT05fU1RBR0VfVU5TUEVDSUZJRUQQABIuCipERVZJQ0VfUkVDT1ZFUllfQURNSVNTSU9OX1NUQUdFX0VOUk9MTE1FTlQQARIsCihERVZJQ0VfUkVDT1ZFUllfQURNSVNTSU9OX1NUQUdFX1JFQ09WRVJZEAIqvwEKGFBlZXJTb2NrZXRDbG9zZUluaXRpYXRvchIrCidQRUVSX1NPQ0tFVF9DTE9TRV9JTklUSUFUT1JfVU5TUEVDSUZJRUQQABInCiNQRUVSX1NPQ0tFVF9DTE9TRV9JTklUSUFUT1JfUlVOVElNRRABEiUKIVBFRVJfU09DS0VUX0NMT1NFX0lOSVRJQVRPUl9TSEVMTBACEiYKIlBFRVJfU09DS0VUX0NMT1NFX0lOSVRJQVRPUl9SRU1PVEUQAyphCgxMaXZlTGlua1JvbGUSHgoaTElWRV9MSU5LX1JPTEVfVU5TUEVDSUZJRUQQABIXChNMSVZFX0xJTktfUk9MRV9QRUVSEAESGAoUTElWRV9MSU5LX1JPTEVfUkVMQVkQAmIGcHJvdG8z", [file_nomos_kernel_v1_kernel, file_nomos_runtime_v2_placement_desk, file_nomos_discovery_v1_workspace_placement, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_maintenance_desk]);
8028
8028
  var VerifyWorkspaceChainResultSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_correspondence_desk, 7);
8029
8029
  var VerifyChainHistorySchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_correspondence_desk, 8);
8030
8030
  var SyncWorkspaceRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_correspondence_desk, 9);
@@ -8105,6 +8105,7 @@
8105
8105
  var WorkspaceEffectDeferredSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_correspondence_desk, 106);
8106
8106
  var PeerGitRefsAlongsideSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_correspondence_desk, 109);
8107
8107
  var PeerGitRefsFetchedSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_correspondence_desk, 110);
8108
+ var NetworkRestoredSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_correspondence_desk, 112);
8108
8109
  var PeerHttpMethodSchema = /* @__PURE__ */ enumDesc(file_nomos_runtime_v2_correspondence_desk, 1);
8109
8110
  var PeerHttpMethod = /* @__PURE__ */ tsEnum(PeerHttpMethodSchema);
8110
8111
  var PeerEffectFailureReasonSchema = /* @__PURE__ */ enumDesc(file_nomos_runtime_v2_correspondence_desk, 2);
@@ -8393,7 +8394,7 @@
8393
8394
  // ../../adapter/proto/nomos/runtime/v2/residency_desk_pb.js
8394
8395
  init_define_NOMOS_KERNEL_RELEASE();
8395
8396
  init_shims();
8396
- var file_nomos_runtime_v2_residency_desk = /* @__PURE__ */ fileDesc("CiVub21vcy9ydW50aW1lL3YyL3Jlc2lkZW5jeV9kZXNrLnByb3RvEhBub21vcy5ydW50aW1lLnYyIhoKGFJlc2lkZW5jeVByZXNzdXJlUmVxdWVzdCJIChVSZXRhaW5Gcm9udGllclJlcXVlc3QSEQoJd29ya3NwYWNlGAEgASgJEg4KBmJyYW5jaBgCIAEoCRIMCgRoZWFkGAMgASgJIm8KGVJlc2lkZW5jeVByZXNzdXJlUmVsaWV2ZWQSGgoSZXZpY3RlZF93b3Jrc3BhY2VzGAEgAygJEhcKD3dhcm1fd29ya3NwYWNlcxgCIAMoCRIdChV3YXJtX3Jlc2lkZW5jeV9taWxsaXMYAyABKAQi6gcKF1Jlc2lkZW50V29ya3NwYWNlRGV0YWlsEhEKCXdvcmtzcGFjZRgBIAEoCRITCgtpZGxlX21pbGxpcxgCIAEoBBIdChByZXBvc2l0b3J5X2J5dGVzGAMgASgESACIAQESKAobbWF0ZXJpYWxpemVkX2Zyb250aWVyX2J5dGVzGAQgASgESAGIAQESPwoJcmVhZGluZXNzGAUgASgOMiwubm9tb3MucnVudGltZS52Mi5SZXNpZGVudFdvcmtzcGFjZVJlYWRpbmVzcxIYCgtzcWxpdGVfaGVhZBgGIAEoCUgCiAEBEhUKCGdpdF9oZWFkGAcgASgJSAOIAQESPgoPaGlzdG9yeV9wb3N0dXJlGAggASgOMiUubm9tb3MucnVudGltZS52Mi5Mb2NhbEhpc3RvcnlQb3N0dXJlEhoKEnNoYWxsb3dfYm91bmRhcmllcxgJIAEoDRIvCiJyZXBvc2l0b3J5X21lYXN1cmVkX2F0X3VuaXhfbWlsbGlzGAogASgESASIAQESLQogZnJvbnRpZXJfbWVhc3VyZWRfYXRfdW5peF9taWxsaXMYCyABKARIBYgBARI7CglwbGFjZW1lbnQYDCABKAsyIy5ub21vcy5ydW50aW1lLnYyLlJlc2lkZW50UGxhY2VtZW50SAaIAQESNQoGb3V0Ym94GA0gASgLMiAubm9tb3MucnVudGltZS52Mi5SZXNpZGVudE91dGJveEgHiAEBEj4KBmNlbnN1cxgOIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUmVzaWRlbnRBZ2dyZWdhdGVDZW5zdXNICIgBARIdChBmdWxsX3JlcGxheV9oZWFkGA8gASgJSAmIAQESIgoVbG9jYWxfaGlzdG9yeV9jb21taXRzGBAgASgESAqIAQESKAobcGxhY2VtZW50X3Vub2JzZXJ2ZWRfcmVhc29uGBEgASgJSAuIAQFCEwoRX3JlcG9zaXRvcnlfYnl0ZXNCHgocX21hdGVyaWFsaXplZF9mcm9udGllcl9ieXRlc0IOCgxfc3FsaXRlX2hlYWRCCwoJX2dpdF9oZWFkQiUKI19yZXBvc2l0b3J5X21lYXN1cmVkX2F0X3VuaXhfbWlsbGlzQiMKIV9mcm9udGllcl9tZWFzdXJlZF9hdF91bml4X21pbGxpc0IMCgpfcGxhY2VtZW50QgkKB19vdXRib3hCCQoHX2NlbnN1c0ITChFfZnVsbF9yZXBsYXlfaGVhZEIYChZfbG9jYWxfaGlzdG9yeV9jb21taXRzQh4KHF9wbGFjZW1lbnRfdW5vYnNlcnZlZF9yZWFzb24iiwIKF1Jlc2lkZW50QWdncmVnYXRlQ2Vuc3VzEgwKBGhlYWQYASABKAkSHAoPYWdncmVnYXRlX2NvdW50GAIgASgESACIAQESFwoKc3RhdGVfcm9vdBgDIAEoCUgBiAEBEjYKCXRvcF90eXBlcxgEIAMoCzIjLm5vbW9zLmtlcm5lbC52MS5BZ2dyZWdhdGVUeXBlQ291bnQSHQoQdHlwZXNfc3RhdGVfcm9vdBgFIAEoCUgCiAEBEhwKFG9ic2VydmVkX3VuaXhfbWlsbGlzGAYgASgEQhIKEF9hZ2dyZWdhdGVfY291bnRCDQoLX3N0YXRlX3Jvb3RCEwoRX3R5cGVzX3N0YXRlX3Jvb3QisQEKFVJlc2lkZW50UGxhY2VtZW50UnVsZRISCgpwZWVyX2NsYXNzGAEgASgJEkAKEGtlcm5lbF9yZXNpZGVuY3kYAiABKA4yJi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVzaWRlbmN5SW50ZW50EkIKEWN1c3RvZHlfcmV0ZW50aW9uGAMgASgOMicubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlSZXRlbnRpb25JbnRlbnQiqgMKEVJlc2lkZW50UGxhY2VtZW50EhUKCGZyb250aWVyGAEgASgJSACIAQESEwoLZGVjbGFyYXRpb24YAiABKAkSEgoKYWRvcHRlZF9ieRgDIAEoCRI2CgVydWxlcxgEIAMoCzInLm5vbW9zLnJ1bnRpbWUudjIuUmVzaWRlbnRQbGFjZW1lbnRSdWxlEhQKDHJlbW90ZV9uYW1lcxgFIAMoCRIiChpyZWNpcGllbnRfbWFpbGJveF9kZWNsYXJlZBgGIAEoCBJKChplZmZlY3RpdmVfa2VybmVsX3Jlc2lkZW5jeRgHIAEoDjImLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZXNpZGVuY3lJbnRlbnQSTAobZWZmZWN0aXZlX2N1c3RvZHlfcmV0ZW50aW9uGAggASgOMicubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlSZXRlbnRpb25JbnRlbnQSHgoWZWZmZWN0aXZlX3JlbW90ZV9uYW1lcxgJIAMoCRIcChRvYnNlcnZlZF91bml4X21pbGxpcxgKIAEoBEILCglfZnJvbnRpZXIikQEKDlJlc2lkZW50T3V0Ym94Eg8KB2VudHJpZXMYASABKA0SFAoMd29ya19wZW5kaW5nGAIgASgIEiEKFG5leHRfZHVlX3VuaXhfbWlsbGlzGAMgASgESACIAQESHAoUb2JzZXJ2ZWRfdW5peF9taWxsaXMYBCABKARCFwoVX25leHRfZHVlX3VuaXhfbWlsbGlzIuABChFLZXJuZWxXb3JrQ291bnRlchIOCgZmYW1pbHkYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEg0KBWNhbGxzGAMgASgEEhAKCGZhaWx1cmVzGAQgASgEEhIKCmNwdV9taWNyb3MYBSABKAQSEwoLd2FsbF9taWNyb3MYBiABKAQSOgoLY3B1X2J1Y2tldHMYByADKAsyJS5ub21vcy5ydW50aW1lLnYyLktlcm5lbFdvcmtDcHVCdWNrZXQSIgoabGFzdF9jb21wbGV0ZWRfdW5peF9taWxsaXMYCCABKAQiNwoTS2VybmVsV29ya0NwdUJ1Y2tldBIRCglsZV9taWNyb3MYASABKAQSDQoFY2FsbHMYAiABKAQiUgoQQWN0aXZlS2VybmVsV29yaxIOCgZmYW1pbHkYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEhsKE3N0YXJ0ZWRfdW5peF9taWxsaXMYAyABKAQiygEKEktlcm5lbFdvcmtTbmFwc2hvdBIbChNzdGFydGVkX3VuaXhfbWlsbGlzGAEgASgEEhwKFG9ic2VydmVkX3VuaXhfbWlsbGlzGAIgASgEEjUKCGNvdW50ZXJzGAMgAygLMiMubm9tb3MucnVudGltZS52Mi5LZXJuZWxXb3JrQ291bnRlchI3CgZhY3RpdmUYBCABKAsyIi5ub21vcy5ydW50aW1lLnYyLkFjdGl2ZUtlcm5lbFdvcmtIAIgBAUIJCgdfYWN0aXZlIrYECgpIb3N0SGVhbHRoEg8KB3JlcGxpY2EYASABKAQSFQoNa2VybmVsX3NoYTI1NhgCIAEoCRIbChNyZXNpZGVudF93b3Jrc3BhY2VzGAMgAygJEhoKEndhc21fbGluZWFyX21lbV9tYhgEIAEoARIWCg5wcm9jZXNzX3Jzc19tYhgFIAEoARIXCg9yc3NfY3JpdGljYWxfbWIYBiABKA0SPAoJcmVzaWRlbnRzGAcgAygLMikubm9tb3MucnVudGltZS52Mi5SZXNpZGVudFdvcmtzcGFjZURldGFpbBI+CgtrZXJuZWxfd29yaxgIIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuS2VybmVsV29ya1NuYXBzaG90SACIAQESMgoIb3BlbmluZ3MYCSADKAsyIC5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlPcGVuaW5nEkQKCWFydGlmYWN0cxgKIAEoCzIsLm5vbW9zLnJ1bnRpbWUudjIuQXJ0aWZhY3RzVHJhbnNwb3J0U25hcHNob3RIAYgBARI8CglyZXRlbnRpb24YCyADKAsyKS5ub21vcy5ydW50aW1lLnYyLlJldGVudGlvbk91dGNvbWVDb3VudGVyEkIKFGNvcnJlc3BvbmRlbmNlX2hvbGRzGAwgAygLMiQubm9tb3MucnVudGltZS52Mi5Db3JyZXNwb25kZW5jZUhvbGRCDgoMX2tlcm5lbF93b3JrQgwKCl9hcnRpZmFjdHMivwEKF0FydGlmYWN0c1JlcXVlc3RDb3VudGVyEhEKCW9wZXJhdGlvbhgBIAEoCRIPCgdvdXRjb21lGAIgASgJEhAKCHJlcXVlc3RzGAMgASgEEhMKC3dhbGxfbWljcm9zGAQgASgEEhYKDnJlc3BvbnNlX2J5dGVzGAUgASgEEkEKD2xhdGVuY3lfYnVja2V0cxgGIAMoCzIoLm5vbW9zLnJ1bnRpbWUudjIuQXJ0aWZhY3RzTGF0ZW5jeUJ1Y2tldCI9ChZBcnRpZmFjdHNMYXRlbmN5QnVja2V0EhEKCWxlX21pY3JvcxgBIAEoBBIQCghyZXF1ZXN0cxgCIAEoBCK3AQoaQXJ0aWZhY3RzVHJhbnNwb3J0U25hcHNob3QSGwoTc3RhcnRlZF91bml4X21pbGxpcxgBIAEoBBI7Cghjb3VudGVycxgCIAMoCzIpLm5vbW9zLnJ1bnRpbWUudjIuQXJ0aWZhY3RzUmVxdWVzdENvdW50ZXISEQoJaW5fZmxpZ2h0GAMgASgNEiwKJG9sZGVzdF9pbl9mbGlnaHRfc3RhcnRlZF91bml4X21pbGxpcxgEIAEoBCJSChdSZXRlbnRpb25PdXRjb21lQ291bnRlchIPCgdvdXRjb21lGAEgASgJEhQKDHB1YmxpY2F0aW9ucxgCIAEoBBIQCghhdHRlbXB0cxgDIAEoBCJ8ChRLZXJuZWxSZWZyZXNoT3V0Y29tZRIqCgRob3N0GAEgASgLMhwubm9tb3MucnVudGltZS52Mi5Ib3N0SGVhbHRoEg8KB2NoYW5nZWQYAiABKAgSFwoPcHJldmlvdXNfc2hhMjU2GAMgASgJEg4KBnNoYTI1NhgEIAEoCSLJAQoSQ29ycmVzcG9uZGVuY2VIb2xkEhgKEHNvdXJjZV93b3Jrc3BhY2UYASABKAkSGAoQdGFyZ2V0X3dvcmtzcGFjZRgCIAEoCRIZChFzb3VyY2Vfb2ZmZXJfcGF0aBgDIAEoCRIOCgZyZWFzb24YBCABKAkSDgoGZGV0YWlsGAUgASgJEhAKCGZhaWx1cmVzGAYgASgNEhcKD3JldHJ5X2F0X21pbGxpcxgHIAEoBBIZChFoZWxkX3NpbmNlX21pbGxpcxgIIAEoBCL8AQoNUmVzaWRlbmN5SG9zdBIPCgdob3N0X2lkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIMCgRsaXZlGAMgASgIEhoKEmxhc3RfY2hhbmdlX21pbGxpcxgEIAEoBBIvCgRob3N0GAUgASgLMhwubm9tb3MucnVudGltZS52Mi5Ib3N0SGVhbHRoSACIAQESPAoHcmVmcmVzaBgGIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuS2VybmVsUmVmcmVzaE91dGNvbWVIAYgBARISCgVlcnJvchgHIAEoCUgCiAEBQgcKBV9ob3N0QgoKCF9yZWZyZXNoQggKBl9lcnJvciKpAQoPUmVzaWRlbmN5UmVwb3J0EgoKAm9rGAEgASgIEhIKCm5vd19taWxsaXMYAiABKAQSFQoNaG9zdF9jYXBhY2l0eRgDIAEoDRISCgpsaXZlX2hvc3RzGAQgASgNEhsKE3Jlc2lkZW50X3dvcmtzcGFjZXMYBSABKA0SLgoFaG9zdHMYBiADKAsyHy5ub21vcy5ydW50aW1lLnYyLlJlc2lkZW5jeUhvc3QimQEKEFBlZXJTdGF0dXNSZXBvcnQSCgoCb2sYASABKAgSEQoJd29ya3NwYWNlGAIgASgJEjYKC3BlZXJfb2ZmaWNlGAMgASgLMiEubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VTdGF0dXMSLgoIcGh5c2ljYWwYBCABKAsyHC5ub21vcy5ydW50aW1lLnYyLkhvc3RIZWFsdGgiRQoNUmVzdGFydGVkSG9zdBIPCgdob3N0X2lkGAEgASgJEgwKBGxpdmUYAiABKAgSFQoNa2VybmVsX3NoYTI1NhgDIAEoCSIuCgxSZXN0YXJ0RXJyb3ISDwoHaG9zdF9pZBgBIAEoCRINCgVlcnJvchgCIAEoCSKRAQoNUmVzdGFydFJlcG9ydBIKCgJvaxgBIAEoCBIQCghob3N0X2lkcxgCIAMoCRIyCglyZXN0YXJ0ZWQYAyADKAsyHy5ub21vcy5ydW50aW1lLnYyLlJlc3RhcnRlZEhvc3QSLgoGZXJyb3JzGAQgAygLMh4ubm9tb3MucnVudGltZS52Mi5SZXN0YXJ0RXJyb3IqzwIKGlJlc2lkZW50V29ya3NwYWNlUmVhZGluZXNzEiwKKFJFU0lERU5UX1dPUktTUEFDRV9SRUFESU5FU1NfVU5TUEVDSUZJRUQQABIsCihSRVNJREVOVF9XT1JLU1BBQ0VfUkVBRElORVNTX1NRTElURV9PTkxZEAESMQotUkVTSURFTlRfV09SS1NQQUNFX1JFQURJTkVTU19HSVRfQ1VTVE9EWV9PTkxZEAISNwozUkVTSURFTlRfV09SS1NQQUNFX1JFQURJTkVTU19TUUxJVEVfQU5EX0dJVF9BTElHTkVEEAMSOAo0UkVTSURFTlRfV09SS1NQQUNFX1JFQURJTkVTU19TUUxJVEVfR0lUX0ZVTExfSElTVE9SWRAEEi8KK1JFU0lERU5UX1dPUktTUEFDRV9SRUFESU5FU1NfSEVBRFNfRElWRVJHRUQQBSqDAQoTTG9jYWxIaXN0b3J5UG9zdHVyZRIlCiFMT0NBTF9ISVNUT1JZX1BPU1RVUkVfVU5TUEVDSUZJRUQQABIhCh1MT0NBTF9ISVNUT1JZX1BPU1RVUkVfUEFSVElBTBABEiIKHkxPQ0FMX0hJU1RPUllfUE9TVFVSRV9DT01QTEVURRACYgZwcm90bzM", [file_nomos_runtime_v2_custody_desk, file_nomos_kernel_v1_kernel]);
8397
+ var file_nomos_runtime_v2_residency_desk = /* @__PURE__ */ fileDesc("CiVub21vcy9ydW50aW1lL3YyL3Jlc2lkZW5jeV9kZXNrLnByb3RvEhBub21vcy5ydW50aW1lLnYyIhoKGFJlc2lkZW5jeVByZXNzdXJlUmVxdWVzdCJIChVSZXRhaW5Gcm9udGllclJlcXVlc3QSEQoJd29ya3NwYWNlGAEgASgJEg4KBmJyYW5jaBgCIAEoCRIMCgRoZWFkGAMgASgJIm8KGVJlc2lkZW5jeVByZXNzdXJlUmVsaWV2ZWQSGgoSZXZpY3RlZF93b3Jrc3BhY2VzGAEgAygJEhcKD3dhcm1fd29ya3NwYWNlcxgCIAMoCRIdChV3YXJtX3Jlc2lkZW5jeV9taWxsaXMYAyABKAQi6gcKF1Jlc2lkZW50V29ya3NwYWNlRGV0YWlsEhEKCXdvcmtzcGFjZRgBIAEoCRITCgtpZGxlX21pbGxpcxgCIAEoBBIdChByZXBvc2l0b3J5X2J5dGVzGAMgASgESACIAQESKAobbWF0ZXJpYWxpemVkX2Zyb250aWVyX2J5dGVzGAQgASgESAGIAQESPwoJcmVhZGluZXNzGAUgASgOMiwubm9tb3MucnVudGltZS52Mi5SZXNpZGVudFdvcmtzcGFjZVJlYWRpbmVzcxIYCgtzcWxpdGVfaGVhZBgGIAEoCUgCiAEBEhUKCGdpdF9oZWFkGAcgASgJSAOIAQESPgoPaGlzdG9yeV9wb3N0dXJlGAggASgOMiUubm9tb3MucnVudGltZS52Mi5Mb2NhbEhpc3RvcnlQb3N0dXJlEhoKEnNoYWxsb3dfYm91bmRhcmllcxgJIAEoDRIvCiJyZXBvc2l0b3J5X21lYXN1cmVkX2F0X3VuaXhfbWlsbGlzGAogASgESASIAQESLQogZnJvbnRpZXJfbWVhc3VyZWRfYXRfdW5peF9taWxsaXMYCyABKARIBYgBARI7CglwbGFjZW1lbnQYDCABKAsyIy5ub21vcy5ydW50aW1lLnYyLlJlc2lkZW50UGxhY2VtZW50SAaIAQESNQoGb3V0Ym94GA0gASgLMiAubm9tb3MucnVudGltZS52Mi5SZXNpZGVudE91dGJveEgHiAEBEj4KBmNlbnN1cxgOIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuUmVzaWRlbnRBZ2dyZWdhdGVDZW5zdXNICIgBARIdChBmdWxsX3JlcGxheV9oZWFkGA8gASgJSAmIAQESIgoVbG9jYWxfaGlzdG9yeV9jb21taXRzGBAgASgESAqIAQESKAobcGxhY2VtZW50X3Vub2JzZXJ2ZWRfcmVhc29uGBEgASgJSAuIAQFCEwoRX3JlcG9zaXRvcnlfYnl0ZXNCHgocX21hdGVyaWFsaXplZF9mcm9udGllcl9ieXRlc0IOCgxfc3FsaXRlX2hlYWRCCwoJX2dpdF9oZWFkQiUKI19yZXBvc2l0b3J5X21lYXN1cmVkX2F0X3VuaXhfbWlsbGlzQiMKIV9mcm9udGllcl9tZWFzdXJlZF9hdF91bml4X21pbGxpc0IMCgpfcGxhY2VtZW50QgkKB19vdXRib3hCCQoHX2NlbnN1c0ITChFfZnVsbF9yZXBsYXlfaGVhZEIYChZfbG9jYWxfaGlzdG9yeV9jb21taXRzQh4KHF9wbGFjZW1lbnRfdW5vYnNlcnZlZF9yZWFzb24iiwIKF1Jlc2lkZW50QWdncmVnYXRlQ2Vuc3VzEgwKBGhlYWQYASABKAkSHAoPYWdncmVnYXRlX2NvdW50GAIgASgESACIAQESFwoKc3RhdGVfcm9vdBgDIAEoCUgBiAEBEjYKCXRvcF90eXBlcxgEIAMoCzIjLm5vbW9zLmtlcm5lbC52MS5BZ2dyZWdhdGVUeXBlQ291bnQSHQoQdHlwZXNfc3RhdGVfcm9vdBgFIAEoCUgCiAEBEhwKFG9ic2VydmVkX3VuaXhfbWlsbGlzGAYgASgEQhIKEF9hZ2dyZWdhdGVfY291bnRCDQoLX3N0YXRlX3Jvb3RCEwoRX3R5cGVzX3N0YXRlX3Jvb3QisQEKFVJlc2lkZW50UGxhY2VtZW50UnVsZRISCgpwZWVyX2NsYXNzGAEgASgJEkAKEGtlcm5lbF9yZXNpZGVuY3kYAiABKA4yJi5ub21vcy5rZXJuZWwudjEuS2VybmVsUmVzaWRlbmN5SW50ZW50EkIKEWN1c3RvZHlfcmV0ZW50aW9uGAMgASgOMicubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlSZXRlbnRpb25JbnRlbnQiqgMKEVJlc2lkZW50UGxhY2VtZW50EhUKCGZyb250aWVyGAEgASgJSACIAQESEwoLZGVjbGFyYXRpb24YAiABKAkSEgoKYWRvcHRlZF9ieRgDIAEoCRI2CgVydWxlcxgEIAMoCzInLm5vbW9zLnJ1bnRpbWUudjIuUmVzaWRlbnRQbGFjZW1lbnRSdWxlEhQKDHJlbW90ZV9uYW1lcxgFIAMoCRIiChpyZWNpcGllbnRfbWFpbGJveF9kZWNsYXJlZBgGIAEoCBJKChplZmZlY3RpdmVfa2VybmVsX3Jlc2lkZW5jeRgHIAEoDjImLm5vbW9zLmtlcm5lbC52MS5LZXJuZWxSZXNpZGVuY3lJbnRlbnQSTAobZWZmZWN0aXZlX2N1c3RvZHlfcmV0ZW50aW9uGAggASgOMicubm9tb3Mua2VybmVsLnYxLkN1c3RvZHlSZXRlbnRpb25JbnRlbnQSHgoWZWZmZWN0aXZlX3JlbW90ZV9uYW1lcxgJIAMoCRIcChRvYnNlcnZlZF91bml4X21pbGxpcxgKIAEoBEILCglfZnJvbnRpZXIikQEKDlJlc2lkZW50T3V0Ym94Eg8KB2VudHJpZXMYASABKA0SFAoMd29ya19wZW5kaW5nGAIgASgIEiEKFG5leHRfZHVlX3VuaXhfbWlsbGlzGAMgASgESACIAQESHAoUb2JzZXJ2ZWRfdW5peF9taWxsaXMYBCABKARCFwoVX25leHRfZHVlX3VuaXhfbWlsbGlzIuABChFLZXJuZWxXb3JrQ291bnRlchIOCgZmYW1pbHkYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEg0KBWNhbGxzGAMgASgEEhAKCGZhaWx1cmVzGAQgASgEEhIKCmNwdV9taWNyb3MYBSABKAQSEwoLd2FsbF9taWNyb3MYBiABKAQSOgoLY3B1X2J1Y2tldHMYByADKAsyJS5ub21vcy5ydW50aW1lLnYyLktlcm5lbFdvcmtDcHVCdWNrZXQSIgoabGFzdF9jb21wbGV0ZWRfdW5peF9taWxsaXMYCCABKAQiNwoTS2VybmVsV29ya0NwdUJ1Y2tldBIRCglsZV9taWNyb3MYASABKAQSDQoFY2FsbHMYAiABKAQiUgoQQWN0aXZlS2VybmVsV29yaxIOCgZmYW1pbHkYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEhsKE3N0YXJ0ZWRfdW5peF9taWxsaXMYAyABKAQiygEKEktlcm5lbFdvcmtTbmFwc2hvdBIbChNzdGFydGVkX3VuaXhfbWlsbGlzGAEgASgEEhwKFG9ic2VydmVkX3VuaXhfbWlsbGlzGAIgASgEEjUKCGNvdW50ZXJzGAMgAygLMiMubm9tb3MucnVudGltZS52Mi5LZXJuZWxXb3JrQ291bnRlchI3CgZhY3RpdmUYBCABKAsyIi5ub21vcy5ydW50aW1lLnYyLkFjdGl2ZUtlcm5lbFdvcmtIAIgBAUIJCgdfYWN0aXZlIoEFCgpIb3N0SGVhbHRoEg8KB3JlcGxpY2EYASABKAQSFQoNa2VybmVsX3NoYTI1NhgCIAEoCRIbChNyZXNpZGVudF93b3Jrc3BhY2VzGAMgAygJEhoKEndhc21fbGluZWFyX21lbV9tYhgEIAEoARIWCg5wcm9jZXNzX3Jzc19tYhgFIAEoARIXCg9yc3NfY3JpdGljYWxfbWIYBiABKA0SPAoJcmVzaWRlbnRzGAcgAygLMikubm9tb3MucnVudGltZS52Mi5SZXNpZGVudFdvcmtzcGFjZURldGFpbBI+CgtrZXJuZWxfd29yaxgIIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuS2VybmVsV29ya1NuYXBzaG90SACIAQESMgoIb3BlbmluZ3MYCSADKAsyIC5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlPcGVuaW5nEkQKCWFydGlmYWN0cxgKIAEoCzIsLm5vbW9zLnJ1bnRpbWUudjIuQXJ0aWZhY3RzVHJhbnNwb3J0U25hcHNob3RIAYgBARI8CglyZXRlbnRpb24YCyADKAsyKS5ub21vcy5ydW50aW1lLnYyLlJldGVudGlvbk91dGNvbWVDb3VudGVyEkIKFGNvcnJlc3BvbmRlbmNlX2hvbGRzGAwgAygLMiQubm9tb3MucnVudGltZS52Mi5Db3JyZXNwb25kZW5jZUhvbGQSPQoHaW5ncmVzcxgNIAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuS2VybmVsSW5ncmVzc1NuYXBzaG90SAKIAQFCDgoMX2tlcm5lbF93b3JrQgwKCl9hcnRpZmFjdHNCCgoIX2luZ3Jlc3MiuQIKFUtlcm5lbEluZ3Jlc3NTbmFwc2hvdBIPCgdwZW5kaW5nGAEgASgNEg0KBWJ5dGVzGAIgASgEEhMKC21heF9wZW5kaW5nGAMgASgNEhEKCW1heF9ieXRlcxgEIAEoBBIUCgxmaWxsX3BlcmNlbnQYBSABKAESGQoRcGVha19maWxsX3BlcmNlbnQYBiABKAESEAoIcmVmdXNhbHMYByABKAQSDgoGcG9zdGVkGAggASgNEhoKEndhaXRpbmdfZm9yZWdyb3VuZBgJIAEoDRIaChJ3YWl0aW5nX2JhY2tncm91bmQYCiABKA0SGAoQaW5fZmxpZ2h0X3dpbmRvdxgLIAEoDRIRCglhYmFuZG9uZWQYDCABKAQSIAoYbGF3X2ltcG9ydHNfZGVkdXBsaWNhdGVkGA0gASgEIr8BChdBcnRpZmFjdHNSZXF1ZXN0Q291bnRlchIRCglvcGVyYXRpb24YASABKAkSDwoHb3V0Y29tZRgCIAEoCRIQCghyZXF1ZXN0cxgDIAEoBBITCgt3YWxsX21pY3JvcxgEIAEoBBIWCg5yZXNwb25zZV9ieXRlcxgFIAEoBBJBCg9sYXRlbmN5X2J1Y2tldHMYBiADKAsyKC5ub21vcy5ydW50aW1lLnYyLkFydGlmYWN0c0xhdGVuY3lCdWNrZXQiPQoWQXJ0aWZhY3RzTGF0ZW5jeUJ1Y2tldBIRCglsZV9taWNyb3MYASABKAQSEAoIcmVxdWVzdHMYAiABKAQitwEKGkFydGlmYWN0c1RyYW5zcG9ydFNuYXBzaG90EhsKE3N0YXJ0ZWRfdW5peF9taWxsaXMYASABKAQSOwoIY291bnRlcnMYAiADKAsyKS5ub21vcy5ydW50aW1lLnYyLkFydGlmYWN0c1JlcXVlc3RDb3VudGVyEhEKCWluX2ZsaWdodBgDIAEoDRIsCiRvbGRlc3RfaW5fZmxpZ2h0X3N0YXJ0ZWRfdW5peF9taWxsaXMYBCABKAQiUgoXUmV0ZW50aW9uT3V0Y29tZUNvdW50ZXISDwoHb3V0Y29tZRgBIAEoCRIUCgxwdWJsaWNhdGlvbnMYAiABKAQSEAoIYXR0ZW1wdHMYAyABKAQifAoUS2VybmVsUmVmcmVzaE91dGNvbWUSKgoEaG9zdBgBIAEoCzIcLm5vbW9zLnJ1bnRpbWUudjIuSG9zdEhlYWx0aBIPCgdjaGFuZ2VkGAIgASgIEhcKD3ByZXZpb3VzX3NoYTI1NhgDIAEoCRIOCgZzaGEyNTYYBCABKAkiyQEKEkNvcnJlc3BvbmRlbmNlSG9sZBIYChBzb3VyY2Vfd29ya3NwYWNlGAEgASgJEhgKEHRhcmdldF93b3Jrc3BhY2UYAiABKAkSGQoRc291cmNlX29mZmVyX3BhdGgYAyABKAkSDgoGcmVhc29uGAQgASgJEg4KBmRldGFpbBgFIAEoCRIQCghmYWlsdXJlcxgGIAEoDRIXCg9yZXRyeV9hdF9taWxsaXMYByABKAQSGQoRaGVsZF9zaW5jZV9taWxsaXMYCCABKAQi/AEKDVJlc2lkZW5jeUhvc3QSDwoHaG9zdF9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDAoEbGl2ZRgDIAEoCBIaChJsYXN0X2NoYW5nZV9taWxsaXMYBCABKAQSLwoEaG9zdBgFIAEoCzIcLm5vbW9zLnJ1bnRpbWUudjIuSG9zdEhlYWx0aEgAiAEBEjwKB3JlZnJlc2gYBiABKAsyJi5ub21vcy5ydW50aW1lLnYyLktlcm5lbFJlZnJlc2hPdXRjb21lSAGIAQESEgoFZXJyb3IYByABKAlIAogBAUIHCgVfaG9zdEIKCghfcmVmcmVzaEIICgZfZXJyb3IiqQEKD1Jlc2lkZW5jeVJlcG9ydBIKCgJvaxgBIAEoCBISCgpub3dfbWlsbGlzGAIgASgEEhUKDWhvc3RfY2FwYWNpdHkYAyABKA0SEgoKbGl2ZV9ob3N0cxgEIAEoDRIbChNyZXNpZGVudF93b3Jrc3BhY2VzGAUgASgNEi4KBWhvc3RzGAYgAygLMh8ubm9tb3MucnVudGltZS52Mi5SZXNpZGVuY3lIb3N0IpkBChBQZWVyU3RhdHVzUmVwb3J0EgoKAm9rGAEgASgIEhEKCXdvcmtzcGFjZRgCIAEoCRI2CgtwZWVyX29mZmljZRgDIAEoCzIhLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlU3RhdHVzEi4KCHBoeXNpY2FsGAQgASgLMhwubm9tb3MucnVudGltZS52Mi5Ib3N0SGVhbHRoIkUKDVJlc3RhcnRlZEhvc3QSDwoHaG9zdF9pZBgBIAEoCRIMCgRsaXZlGAIgASgIEhUKDWtlcm5lbF9zaGEyNTYYAyABKAkiLgoMUmVzdGFydEVycm9yEg8KB2hvc3RfaWQYASABKAkSDQoFZXJyb3IYAiABKAkikQEKDVJlc3RhcnRSZXBvcnQSCgoCb2sYASABKAgSEAoIaG9zdF9pZHMYAiADKAkSMgoJcmVzdGFydGVkGAMgAygLMh8ubm9tb3MucnVudGltZS52Mi5SZXN0YXJ0ZWRIb3N0Ei4KBmVycm9ycxgEIAMoCzIeLm5vbW9zLnJ1bnRpbWUudjIuUmVzdGFydEVycm9yKs8CChpSZXNpZGVudFdvcmtzcGFjZVJlYWRpbmVzcxIsCihSRVNJREVOVF9XT1JLU1BBQ0VfUkVBRElORVNTX1VOU1BFQ0lGSUVEEAASLAooUkVTSURFTlRfV09SS1NQQUNFX1JFQURJTkVTU19TUUxJVEVfT05MWRABEjEKLVJFU0lERU5UX1dPUktTUEFDRV9SRUFESU5FU1NfR0lUX0NVU1RPRFlfT05MWRACEjcKM1JFU0lERU5UX1dPUktTUEFDRV9SRUFESU5FU1NfU1FMSVRFX0FORF9HSVRfQUxJR05FRBADEjgKNFJFU0lERU5UX1dPUktTUEFDRV9SRUFESU5FU1NfU1FMSVRFX0dJVF9GVUxMX0hJU1RPUlkQBBIvCitSRVNJREVOVF9XT1JLU1BBQ0VfUkVBRElORVNTX0hFQURTX0RJVkVSR0VEEAUqgwEKE0xvY2FsSGlzdG9yeVBvc3R1cmUSJQohTE9DQUxfSElTVE9SWV9QT1NUVVJFX1VOU1BFQ0lGSUVEEAASIQodTE9DQUxfSElTVE9SWV9QT1NUVVJFX1BBUlRJQUwQARIiCh5MT0NBTF9ISVNUT1JZX1BPU1RVUkVfQ09NUExFVEUQAmIGcHJvdG8z", [file_nomos_runtime_v2_custody_desk, file_nomos_kernel_v1_kernel]);
8397
8398
  var RetainFrontierRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 1);
8398
8399
  var ResidencyPressureRelievedSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 2);
8399
8400
  var ResidentPlacementSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 6);
@@ -8402,12 +8403,12 @@
8402
8403
  var KernelWorkCpuBucketSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 9);
8403
8404
  var ActiveKernelWorkSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 10);
8404
8405
  var KernelWorkSnapshotSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 11);
8405
- var CorrespondenceHoldSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 18);
8406
+ var CorrespondenceHoldSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 19);
8406
8407
  var LocalHistoryPostureSchema = /* @__PURE__ */ enumDesc(file_nomos_runtime_v2_residency_desk, 1);
8407
8408
  var LocalHistoryPosture = /* @__PURE__ */ tsEnum(LocalHistoryPostureSchema);
8408
8409
 
8409
8410
  // ../../adapter/proto/nomos/runtime/v2/runtime_pb.js
8410
- var file_nomos_runtime_v2_runtime = /* @__PURE__ */ fileDesc("Ch5ub21vcy9ydW50aW1lL3YyL3J1bnRpbWUucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIi7x4KDlJ1bnRpbWVSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoBBIyCgV0cmFjZRgDIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuVHJhY2VDb250ZXh0SAGIAQESNwoGdGFyZ2V0GAQgASgLMiIubm9tb3MucnVudGltZS52Mi5JbnZvY2F0aW9uVGFyZ2V0SAKIAQESOgoLa2VybmVsX2NhbGwYCiABKAsyIy5ub21vcy5ydW50aW1lLnYyLktlcm5lbENhbGxSZXF1ZXN0SAASQgoPbGlzdF93b3Jrc3BhY2VzGAwgASgLMicubm9tb3MucnVudGltZS52Mi5MaXN0V29ya3NwYWNlc1JlcXVlc3RIABJACg5zeW5jX3dvcmtzcGFjZRgOIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuU3luY1dvcmtzcGFjZVJlcXVlc3RIABIvCgV3YXRjaBgRIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuV2F0Y2hSZXF1ZXN0SAASMwoHdW53YXRjaBgSIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuVW53YXRjaFJlcXVlc3RIABJACg5wcmVwYXJlX2RvbWFpbhgTIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUHJlcGFyZURvbWFpblJlcXVlc3RIABI6CgtjbG9zZV9yZWFsbRgVIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuQ2xvc2VSZWFsbVJlcXVlc3RIABI6CgtkZWFkX2xldHRlchgWIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuRGVhZExldHRlclJlcXVlc3RIABJACg5oaXN0b3JpY19xdWVyeRgXIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuSGlzdG9yaWNRdWVyeVJlcXVlc3RIABJEChB3b3Jrc3BhY2Vfc3RhdHVzGBogASgLMigubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VTdGF0dXNSZXF1ZXN0SAASTwoWcmVtb3RlX2dlbmVyYXRlZF9vZmZlchgbIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuUmVtb3RlR2VuZXJhdGVkT2ZmZXJSZXF1ZXN0SAASSgoTd29ya3NwYWNlX3BsYWNlbWVudBgcIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlUGxhY2VtZW50UmVxdWVzdEgAEkoKE3JlZnJlc2hfY3JlZGVudGlhbHMYHSABKAsyKy5ub21vcy5ydW50aW1lLnYyLlJlZnJlc2hDcmVkZW50aWFsc1JlcXVlc3RIABJVChlkZWxpdmVyX3dvcmtzcGFjZV9lZmZlY3RzGB4gASgLMjAubm9tb3MucnVudGltZS52Mi5EZWxpdmVyV29ya3NwYWNlRWZmZWN0c1JlcXVlc3RIABJKChNhdXRob3JpbmdfcHJlZmxpZ2h0GCAgASgLMisubm9tb3MucnVudGltZS52Mi5BdXRob3JpbmdQcmVmbGlnaHRSZXF1ZXN0SAASTwoWbGlzdF93b3Jrc3BhY2VfbW9tZW50cxghIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuTGlzdFdvcmtzcGFjZU1vbWVudHNSZXF1ZXN0SAASWQobZXN0aW1hdGVfd29ya3NwYWNlX3RyYW5zZmVyGCIgASgLMjIubm9tb3MucnVudGltZS52Mi5Fc3RpbWF0ZVdvcmtzcGFjZVRyYW5zZmVyUmVxdWVzdEgAEk8KFnJlYWRfd29ya3NwYWNlX2dlbmVzaXMYIyABKAsyLS5ub21vcy5ydW50aW1lLnYyLlJlYWRXb3Jrc3BhY2VHZW5lc2lzUmVxdWVzdEgAEk0KFWxpc3RfY2hpbGRfd29ya3NwYWNlcxgkIAEoCzIsLm5vbW9zLnJ1bnRpbWUudjIuTGlzdENoaWxkV29ya3NwYWNlc1JlcXVlc3RIABI3CglmcmFtZXdvcmsYJSABKAsyIi5ub21vcy5ydW50aW1lLnYyLkZyYW1ld29ya1JlcXVlc3RIABJSChdjb250aW51ZV9jb3JyZXNwb25kZW5jZRgmIAEoCzIvLm5vbW9zLnJ1bnRpbWUudjIuQ29udGludWVDb3JyZXNwb25kZW5jZVJlcXVlc3RIABJVChlpZGVudGl0eV9wcm92aWRlcl93aXRuZXNzGCcgASgLMjAubm9tb3MucnVudGltZS52Mi5JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1JlcXVlc3RIABJEChBtYWludGVuYW5jZV90aWNrGCggASgLMigubm9tb3MucnVudGltZS52Mi5NYWludGVuYW5jZVRpY2tSZXF1ZXN0SAASSAoScmVzaWRlbmN5X3ByZXNzdXJlGCkgASgLMioubm9tb3MucnVudGltZS52Mi5SZXNpZGVuY3lQcmVzc3VyZVJlcXVlc3RIABJEChBjdXN0b2R5X2FkdmFuY2VkGCogASgLMigubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWR2YW5jZWRSZXF1ZXN0SAASSgoUYWRtaXRfY3VzdG9keV9vZmZlcnMYKyABKAsyKi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlPZmZlckJhdGNoUmVxdWVzdEgAEkkKE2luc3BlY3RfbGF3X3BhY2thZ2UYLCABKAsyKi5ub21vcy5ydW50aW1lLnYyLkluc3BlY3RMYXdQYWNrYWdlUmVxdWVzdEgAEkkKE2NvbnRpbnVlX2xvY2FsX3JlYWQYLSABKAsyKi5ub21vcy5ydW50aW1lLnYyLkNvbnRpbnVlTG9jYWxSZWFkUmVxdWVzdEgAEkIKD3JldGFpbl9mcm9udGllchguIAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluRnJvbnRpZXJSZXF1ZXN0SAASPQoOc29ja2V0X3JlY2VpcHQYLyABKAsyIy5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRSZWNlaXB0SAASRwoSZXhwb3J0X2xpdmVfb2ZmZXJzGDAgASgLMikubm9tb3MucnVudGltZS52Mi5FeHBvcnRMaXZlT2ZmZXJzUmVxdWVzdEgAEkoKE3ByZXBhcmVfYXBwbGljYXRpb24YMSABKAsyKy5ub21vcy5ydW50aW1lLnYyLlByZXBhcmVBcHBsaWNhdGlvblJlcXVlc3RIABJMChRhd2FpdF9hdXRoZW50aWNhdGlvbhgyIAEoCzIsLm5vbW9zLnJ1bnRpbWUudjIuQXdhaXRBdXRoZW50aWNhdGlvblJlcXVlc3RIABJQChZyZWNvdmVyX2NvcnJlc3BvbmRlbmNlGDMgASgLMi4ubm9tb3MucnVudGltZS52Mi5SZWNvdmVyQ29ycmVzcG9uZGVuY2VSZXF1ZXN0SAASSwoUb3Blbl9yZWNlaXZpbmdfZ3JvdXAYNCABKAsyKy5ub21vcy5ydW50aW1lLnYyLk9wZW5SZWNlaXZpbmdHcm91cFJlcXVlc3RIABJTChhjb252ZXJnZV9yZWNlaXZpbmdfZ3JvdXAYNSABKAsyLy5ub21vcy5ydW50aW1lLnYyLkNvbnZlcmdlUmVjZWl2aW5nR3JvdXBSZXF1ZXN0SAASUQoXYWRvcHRfYXBwbGljYXRpb25fbW9kZWwYNiABKAsyLi5ub21vcy5ydW50aW1lLnYyLkFkb3B0QXBwbGljYXRpb25Nb2RlbFJlcXVlc3RIABJPChZyZXNvbHZlX3dvcmtzcGFjZV9uYW1lGDcgASgLMi0ubm9tb3MucnVudGltZS52Mi5SZXNvbHZlV29ya3NwYWNlTmFtZVJlcXVlc3RIABJTChhjaGVja19yZWZlcmVuY2VfdmVyc2lvbnMYOCABKAsyLy5ub21vcy5ydW50aW1lLnYyLkNoZWNrUmVmZXJlbmNlVmVyc2lvbnNSZXF1ZXN0SAASUQoXZGVsaXZlcl9odHRwX29ibGlnYXRpb24YOSABKAsyLi5ub21vcy5ydW50aW1lLnYyLkRlbGl2ZXJIdHRwT2JsaWdhdGlvblJlcXVlc3RIABJXChpyZWZyZXNoX3JlcGxpY2FfY3JlZGVudGlhbBg6IAEoCzIxLm5vbW9zLnJ1bnRpbWUudjIuUmVmcmVzaFJlcGxpY2FDcmVkZW50aWFsUmVxdWVzdEgAEjwKDGJpbmRfc2Vzc2lvbhg7IAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuQmluZFNlc3Npb25SZXF1ZXN0SAASUAoXcHJldmlld19sb2NhbF9jb3B5X2Ryb3AYPCABKAsyLS5ub21vcy5ydW50aW1lLnYyLlByZXZpZXdMb2NhbENvcHlEcm9wUmVxdWVzdEgAEkEKD2Ryb3BfbG9jYWxfY29weRg9IAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuRHJvcExvY2FsQ29weVJlcXVlc3RIABJXChpjb25maWd1cmVfcHJvdmlkZXJfb3JpZ2lucxg+IAEoCzIxLm5vbW9zLnJ1bnRpbWUudjIuQ29uZmlndXJlUHJvdmlkZXJPcmlnaW5zUmVxdWVzdEgAEkIKD2ZldGNoX3dvcmtzcGFjZRg/IAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuRmV0Y2hXb3Jrc3BhY2VSZXF1ZXN0SAASSwoUcHJvdmlkZV9sYXdfcHJvZHVjdHMYQCABKAsyKy5ub21vcy5ydW50aW1lLnYyLlByb3ZpZGVMYXdQcm9kdWN0c1JlcXVlc3RIABJAChFzZXJ2ZV9saXZlX3N0cmVhbRhBIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVN0cmVhbVJlcXVlc3RIAEIJCgdjb21tYW5kQggKBl90cmFjZUIJCgdfdGFyZ2V0SgQICxAMSgQIDRAOSgQIDxAQSgQIEBARSgQIFBAVSgQIGBAZSgQIGRAaSgQIHxAgUgdjb25uZWN0Ug9zdGFydF9hdXRvX3N5bmNSDnN0b3BfYXV0b19zeW5jUhJzbmFwc2hvdF93b3Jrc3BhY2VSFXJlc29sdmVfY3VzdG9keV9icmVha1IPbW9kZWxfbGlmZWN5Y2xlUh1lc3RhYmxpc2hfYXBwbGljYXRpb25fY3VzdG9keVIRYWNxdWlyZV93b3Jrc3BhY2UiNgoQSW52b2NhdGlvblRhcmdldBIRCgl3b3Jrc3BhY2UYASABKAkSDwoHc2Vzc2lvbhgCIAEoCSLRHgoPUnVudGltZVJlc3BvbnNlEhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoBBIzCgdmYWlsdXJlGAogASgLMiAubm9tb3MucnVudGltZS52Mi5SdW50aW1lRmFpbHVyZUgAEjQKC2tlcm5lbF9jYWxsGAsgASgLMh0ubm9tb3Mua2VybmVsLnYxLkNhbGxSZXNwb25zZUgAEjkKDndvcmtzcGFjZV9saXN0GA0gASgLMh8ubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VMaXN0SAASQQoOc3luY193b3Jrc3BhY2UYDyABKAsyJy5ub21vcy5ydW50aW1lLnYyLlN5bmNXb3Jrc3BhY2VSZXNwb25zZUgAEjcKDXdhdGNoX3N0YXJ0ZWQYEiABKAsyHi5ub21vcy5ydW50aW1lLnYyLldhdGNoU3RhcnRlZEgAEjcKDXdhdGNoX3N0b3BwZWQYEyABKAsyHi5ub21vcy5ydW50aW1lLnYyLldhdGNoU3RvcHBlZEgAEjsKD2RvbWFpbl9wcmVwYXJlZBgUIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuRG9tYWluUHJlcGFyZWRIABI1CgxyZWFsbV9jbG9zZWQYFiABKAsyHS5ub21vcy5ydW50aW1lLnYyLlJlYWxtQ2xvc2VkSAASMwoHYmxvY2tlZBgXIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUJsb2NrZWRIABJIChZyZW1vdGVfb2ZmZXJfYWRtaXNzaW9uGBggASgLMiYubm9tb3MucnVudGltZS52Mi5SZW1vdGVPZmZlckFkbWlzc2lvbkgAEjsKC2RlYWRfbGV0dGVyGBkgASgLMiQubm9tb3MucnVudGltZS52Mi5EZWFkTGV0dGVyUmVzcG9uc2VIABI9ChB3b3Jrc3BhY2Vfc3RhdHVzGBwgASgLMiEubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VTdGF0dXNIABJQChZyZW1vdGVfZ2VuZXJhdGVkX29mZmVyGB0gASgLMi4ubm9tb3MucnVudGltZS52Mi5SZW1vdGVHZW5lcmF0ZWRPZmZlckFjY2VwdGVkSAASSAoTd29ya3NwYWNlX3BsYWNlbWVudBgeIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlUGxhY2VtZW50U3RhdGVIABJHChVjcmVkZW50aWFsc19yZWZyZXNoZWQYHyABKAsyJi5ub21vcy5ydW50aW1lLnYyLkNyZWRlbnRpYWxzUmVmcmVzaGVkSAASUgobd29ya3NwYWNlX2VmZmVjdHNfZGVsaXZlcmVkGCAgASgLMisubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VFZmZlY3RzRGVsaXZlcmVkSAASSQoTYXV0aG9yaW5nX3ByZWZsaWdodBghIAEoCzIqLm5vbW9zLnJ1bnRpbWUudjIuQXV0aG9yaW5nUHJlZmxpZ2h0UmVzdWx0SAASQgoRd29ya3NwYWNlX21vbWVudHMYIiABKAsyJS5ub21vcy5ydW50aW1lLnYyLldvcmtzcGFjZU1vbWVudExpc3RIABJSCht3b3Jrc3BhY2VfdHJhbnNmZXJfZXN0aW1hdGUYIyABKAsyKy5ub21vcy5ydW50aW1lLnYyLldvcmtzcGFjZVRyYW5zZmVyRXN0aW1hdGVIABI/ChF3b3Jrc3BhY2VfZ2VuZXNpcxgkIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlR2VuZXNpc0gAEkAKEGNoaWxkX3dvcmtzcGFjZXMYJSABKAsyJC5ub21vcy5ydW50aW1lLnYyLkNoaWxkV29ya3NwYWNlTGlzdEgAEjgKCWZyYW1ld29yaxgmIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuRnJhbWV3b3JrUmVzcG9uc2VIABJJChZjb3JyZXNwb25kZW5jZV9wZW5kaW5nGCcgASgLMicubm9tb3MucnVudGltZS52Mi5Db3JyZXNwb25kZW5jZVBlbmRpbmdIABJTChlpZGVudGl0eV9wcm92aWRlcl93aXRuZXNzGCggASgLMi4ubm9tb3MucnVudGltZS52Mi5JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1JlYWR5SAASQQoSbWFpbnRlbmFuY2VfdGlja2VkGCkgASgLMiMubm9tb3MucnVudGltZS52Mi5NYWludGVuYW5jZVRpY2tlZEgAElIKG3Jlc2lkZW5jeV9wcmVzc3VyZV9yZWxpZXZlZBgqIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuUmVzaWRlbmN5UHJlc3N1cmVSZWxpZXZlZEgAEkcKFW1haW50ZW5hbmNlX3NjaGVkdWxlZBgrIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuTWFpbnRlbmFuY2VTY2hlZHVsZWRIABJFChdjdXN0b2R5X29mZmVyc19hZG1pdHRlZBgsIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUFkbWlzc2lvbkgAEkgKFmxhd19wYWNrYWdlX2luc3BlY3Rpb24YLSABKAsyJi5ub21vcy5ydW50aW1lLnYyLkxhd1BhY2thZ2VJbnNwZWN0aW9uSAASQAoSbG9jYWxfcmVhZF9wZW5kaW5nGC4gASgLMiIubm9tb3MucnVudGltZS52Mi5Mb2NhbFJlYWRQZW5kaW5nSAASPwoRZnJvbnRpZXJfcmV0YWluZWQYLyABKAsyIi5ub21vcy5ydW50aW1lLnYyLkZyb250aWVyUmV0YWluZWRIABJFChRhcHBsaWNhdGlvbl9wcmVwYXJlZBgzIAEoCzIlLm5vbW9zLnJ1bnRpbWUudjIuQXBwbGljYXRpb25QcmVwYXJlZEgAEk0KGGF1dGhlbnRpY2F0aW9uX3JlYWRpbmVzcxgyIAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuQXV0aGVudGljYXRpb25SZWFkaW5lc3NIABI/Cg9zb2NrZXRfb2JzZXJ2ZWQYMCABKAsyJC5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRPYnNlcnZlZEgAEkEKC2xpdmVfb2ZmZXJzGDEgASgLMioubm9tb3MucnVudGltZS52Mi5DdXN0b2R5T2ZmZXJCYXRjaFJlcXVlc3RIABJNChhjb3JyZXNwb25kZW5jZV9yZWNvdmVyZWQYNCABKAsyKS5ub21vcy5ydW50aW1lLnYyLkNvcnJlc3BvbmRlbmNlUmVjb3ZlcmVkSAASSAoWcmVjZWl2aW5nX2dyb3VwX29wZW5lZBg1IAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUmVjZWl2aW5nR3JvdXBPcGVuZWRIABJSChtyZWNlaXZpbmdfZ3JvdXBfY29udmVyZ2VuY2UYNiABKAsyKy5ub21vcy5ydW50aW1lLnYyLlJlY2VpdmluZ0dyb3VwQ29udmVyZ2VuY2VIABJOChlhcHBsaWNhdGlvbl9tb2RlbF9hZG9wdGVkGDcgASgLMikubm9tb3MucnVudGltZS52Mi5BcHBsaWNhdGlvbk1vZGVsQWRvcHRlZEgAEkoKF3Jlc29sdmVkX3dvcmtzcGFjZV9uYW1lGDggASgLMicubm9tb3MucnVudGltZS52Mi5SZXNvbHZlZFdvcmtzcGFjZU5hbWVIABJGChJyZWZlcmVuY2VfdmVyc2lvbnMYOSABKAsyKC5ub21vcy5ydW50aW1lLnYyLlJlZmVyZW5jZVZlcnNpb25SZXBvcnRIABI/ChF3b3Jrc3BhY2Vfb3BlbmluZxg6IAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlT3BlbmluZ0gAEk4KGWh0dHBfb2JsaWdhdGlvbl9kZWxpdmVyZWQYOyABKAsyKS5ub21vcy5ydW50aW1lLnYyLkh0dHBPYmxpZ2F0aW9uRGVsaXZlcmVkSAASNwoNc2Vzc2lvbl9ib3VuZBg8IAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuU2Vzc2lvbkJvdW5kSAASOwoLdW5hdmFpbGFibGUYPSABKAsyJC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVVbmF2YWlsYWJsZUgAEjMKB3JlZnVzZWQYPiABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVSZWZ1c2FsSAASPQoQaGlzdG9yeV9hY3F1aXJlZBg/IAEoCzIhLm5vbW9zLnJ1bnRpbWUudjIuSGlzdG9yeUFjcXVpcmVkSAASSQoXbG9jYWxfY29weV9kcm9wX3ByZXZpZXcYQCABKAsyJi5ub21vcy5ydW50aW1lLnYyLkxvY2FsQ29weURyb3BQcmV2aWV3SAASTQoZbG9jYWxfY29weV9kcm9wX3NjaGVkdWxlZBhBIAEoCzIoLm5vbW9zLnJ1bnRpbWUudjIuTG9jYWxDb3B5RHJvcFNjaGVkdWxlZEgAElIKG3Byb3ZpZGVyX29yaWdpbnNfY29uZmlndXJlZBhCIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuUHJvdmlkZXJPcmlnaW5zQ29uZmlndXJlZEgAEjsKD3dvcmtzcGFjZV9mZXRjaBhDIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlRmV0Y2hIABJCCgxsYXdfcHJvZHVjdHMYRCABKAsyKi5ub21vcy5rZXJuZWwudjEuRXhwb3J0TGF3UHJvZHVjdHNSZXNwb25zZUgAEkAKEmxpdmVfc3RyZWFtX3NlcnZlZBhFIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVN0cmVhbUFuc3dlckgAQgkKB291dGNvbWVKBAgMEA1KBAgOEA9KBAgQEBFKBAgREBJKBAgVEBZKBAgaEBtKBAgbEBxSCWNvbm5lY3RlZFIRYXV0b19zeW5jX3N0YXJ0ZWRSEWF1dG9fc3luY19zdG9wcGVkUhJ3b3Jrc3BhY2Vfc25hcHNob3RSFmN1c3RvZHlfYnJlYWtfcmVzb2x2ZWRSD21vZGVsX2xpZmVjeWNsZVIfYXBwbGljYXRpb25fY3VzdG9keV9lc3RhYmxpc2hlZCL3AQoZQ3VzdG9keU9mZmVyQmF0Y2hSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAkSNwoJYWRtaXNzaW9uGAogASgLMiIubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWRtaXNzaW9uSAASMwoHZmFpbHVyZRgLIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUZhaWx1cmVIABIzCgdibG9ja2VkGAwgASgLMiAubm9tb3MucnVudGltZS52Mi5SdW50aW1lQmxvY2tlZEgAQgkKB291dGNvbWUiEwoRQ2xvc2VSZWFsbVJlcXVlc3QiDQoLUmVhbG1DbG9zZWRiBnByb3RvMw", [file_nomos_kernel_v1_kernel, file_nomos_runtime_v2_application_desk, file_nomos_runtime_v2_application_readiness_desk, file_nomos_runtime_v2_authentication_desk, file_nomos_runtime_v2_correspondence_desk, file_nomos_runtime_v2_credentials_desk, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_framework, file_nomos_runtime_v2_identity_desk, file_nomos_runtime_v2_interaction_desk, file_nomos_runtime_v2_law_desk, file_nomos_runtime_v2_maintenance_desk, file_nomos_runtime_v2_model_adoption_desk, file_nomos_runtime_v2_observability_desk, file_nomos_runtime_v2_placement_desk, file_nomos_runtime_v2_receiving_group_desk, file_nomos_runtime_v2_recovery_desk, file_nomos_runtime_v2_records_desk, file_nomos_runtime_v2_residency_desk]);
8411
+ var file_nomos_runtime_v2_runtime = /* @__PURE__ */ fileDesc("Ch5ub21vcy9ydW50aW1lL3YyL3J1bnRpbWUucHJvdG8SEG5vbW9zLnJ1bnRpbWUudjIitR8KDlJ1bnRpbWVSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SEgoKcmVxdWVzdF9pZBgCIAEoBBIyCgV0cmFjZRgDIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuVHJhY2VDb250ZXh0SAGIAQESNwoGdGFyZ2V0GAQgASgLMiIubm9tb3MucnVudGltZS52Mi5JbnZvY2F0aW9uVGFyZ2V0SAKIAQESOgoLa2VybmVsX2NhbGwYCiABKAsyIy5ub21vcy5ydW50aW1lLnYyLktlcm5lbENhbGxSZXF1ZXN0SAASQgoPbGlzdF93b3Jrc3BhY2VzGAwgASgLMicubm9tb3MucnVudGltZS52Mi5MaXN0V29ya3NwYWNlc1JlcXVlc3RIABJACg5zeW5jX3dvcmtzcGFjZRgOIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuU3luY1dvcmtzcGFjZVJlcXVlc3RIABIvCgV3YXRjaBgRIAEoCzIeLm5vbW9zLnJ1bnRpbWUudjIuV2F0Y2hSZXF1ZXN0SAASMwoHdW53YXRjaBgSIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuVW53YXRjaFJlcXVlc3RIABJACg5wcmVwYXJlX2RvbWFpbhgTIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUHJlcGFyZURvbWFpblJlcXVlc3RIABI6CgtjbG9zZV9yZWFsbRgVIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuQ2xvc2VSZWFsbVJlcXVlc3RIABI6CgtkZWFkX2xldHRlchgWIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuRGVhZExldHRlclJlcXVlc3RIABJACg5oaXN0b3JpY19xdWVyeRgXIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuSGlzdG9yaWNRdWVyeVJlcXVlc3RIABJEChB3b3Jrc3BhY2Vfc3RhdHVzGBogASgLMigubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VTdGF0dXNSZXF1ZXN0SAASTwoWcmVtb3RlX2dlbmVyYXRlZF9vZmZlchgbIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuUmVtb3RlR2VuZXJhdGVkT2ZmZXJSZXF1ZXN0SAASSgoTd29ya3NwYWNlX3BsYWNlbWVudBgcIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlUGxhY2VtZW50UmVxdWVzdEgAEkoKE3JlZnJlc2hfY3JlZGVudGlhbHMYHSABKAsyKy5ub21vcy5ydW50aW1lLnYyLlJlZnJlc2hDcmVkZW50aWFsc1JlcXVlc3RIABJVChlkZWxpdmVyX3dvcmtzcGFjZV9lZmZlY3RzGB4gASgLMjAubm9tb3MucnVudGltZS52Mi5EZWxpdmVyV29ya3NwYWNlRWZmZWN0c1JlcXVlc3RIABJKChNhdXRob3JpbmdfcHJlZmxpZ2h0GCAgASgLMisubm9tb3MucnVudGltZS52Mi5BdXRob3JpbmdQcmVmbGlnaHRSZXF1ZXN0SAASTwoWbGlzdF93b3Jrc3BhY2VfbW9tZW50cxghIAEoCzItLm5vbW9zLnJ1bnRpbWUudjIuTGlzdFdvcmtzcGFjZU1vbWVudHNSZXF1ZXN0SAASWQobZXN0aW1hdGVfd29ya3NwYWNlX3RyYW5zZmVyGCIgASgLMjIubm9tb3MucnVudGltZS52Mi5Fc3RpbWF0ZVdvcmtzcGFjZVRyYW5zZmVyUmVxdWVzdEgAEk8KFnJlYWRfd29ya3NwYWNlX2dlbmVzaXMYIyABKAsyLS5ub21vcy5ydW50aW1lLnYyLlJlYWRXb3Jrc3BhY2VHZW5lc2lzUmVxdWVzdEgAEk0KFWxpc3RfY2hpbGRfd29ya3NwYWNlcxgkIAEoCzIsLm5vbW9zLnJ1bnRpbWUudjIuTGlzdENoaWxkV29ya3NwYWNlc1JlcXVlc3RIABI3CglmcmFtZXdvcmsYJSABKAsyIi5ub21vcy5ydW50aW1lLnYyLkZyYW1ld29ya1JlcXVlc3RIABJSChdjb250aW51ZV9jb3JyZXNwb25kZW5jZRgmIAEoCzIvLm5vbW9zLnJ1bnRpbWUudjIuQ29udGludWVDb3JyZXNwb25kZW5jZVJlcXVlc3RIABJVChlpZGVudGl0eV9wcm92aWRlcl93aXRuZXNzGCcgASgLMjAubm9tb3MucnVudGltZS52Mi5JZGVudGl0eVByb3ZpZGVyV2l0bmVzc1JlcXVlc3RIABJEChBtYWludGVuYW5jZV90aWNrGCggASgLMigubm9tb3MucnVudGltZS52Mi5NYWludGVuYW5jZVRpY2tSZXF1ZXN0SAASSAoScmVzaWRlbmN5X3ByZXNzdXJlGCkgASgLMioubm9tb3MucnVudGltZS52Mi5SZXNpZGVuY3lQcmVzc3VyZVJlcXVlc3RIABJEChBjdXN0b2R5X2FkdmFuY2VkGCogASgLMigubm9tb3MucnVudGltZS52Mi5DdXN0b2R5QWR2YW5jZWRSZXF1ZXN0SAASSgoUYWRtaXRfY3VzdG9keV9vZmZlcnMYKyABKAsyKi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlPZmZlckJhdGNoUmVxdWVzdEgAEkkKE2luc3BlY3RfbGF3X3BhY2thZ2UYLCABKAsyKi5ub21vcy5ydW50aW1lLnYyLkluc3BlY3RMYXdQYWNrYWdlUmVxdWVzdEgAEkkKE2NvbnRpbnVlX2xvY2FsX3JlYWQYLSABKAsyKi5ub21vcy5ydW50aW1lLnYyLkNvbnRpbnVlTG9jYWxSZWFkUmVxdWVzdEgAEkIKD3JldGFpbl9mcm9udGllchguIAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuUmV0YWluRnJvbnRpZXJSZXF1ZXN0SAASPQoOc29ja2V0X3JlY2VpcHQYLyABKAsyIy5ub21vcy5ydW50aW1lLnYyLlBlZXJTb2NrZXRSZWNlaXB0SAASRwoSZXhwb3J0X2xpdmVfb2ZmZXJzGDAgASgLMikubm9tb3MucnVudGltZS52Mi5FeHBvcnRMaXZlT2ZmZXJzUmVxdWVzdEgAEkoKE3ByZXBhcmVfYXBwbGljYXRpb24YMSABKAsyKy5ub21vcy5ydW50aW1lLnYyLlByZXBhcmVBcHBsaWNhdGlvblJlcXVlc3RIABJMChRhd2FpdF9hdXRoZW50aWNhdGlvbhgyIAEoCzIsLm5vbW9zLnJ1bnRpbWUudjIuQXdhaXRBdXRoZW50aWNhdGlvblJlcXVlc3RIABJQChZyZWNvdmVyX2NvcnJlc3BvbmRlbmNlGDMgASgLMi4ubm9tb3MucnVudGltZS52Mi5SZWNvdmVyQ29ycmVzcG9uZGVuY2VSZXF1ZXN0SAASSwoUb3Blbl9yZWNlaXZpbmdfZ3JvdXAYNCABKAsyKy5ub21vcy5ydW50aW1lLnYyLk9wZW5SZWNlaXZpbmdHcm91cFJlcXVlc3RIABJTChhjb252ZXJnZV9yZWNlaXZpbmdfZ3JvdXAYNSABKAsyLy5ub21vcy5ydW50aW1lLnYyLkNvbnZlcmdlUmVjZWl2aW5nR3JvdXBSZXF1ZXN0SAASUQoXYWRvcHRfYXBwbGljYXRpb25fbW9kZWwYNiABKAsyLi5ub21vcy5ydW50aW1lLnYyLkFkb3B0QXBwbGljYXRpb25Nb2RlbFJlcXVlc3RIABJPChZyZXNvbHZlX3dvcmtzcGFjZV9uYW1lGDcgASgLMi0ubm9tb3MucnVudGltZS52Mi5SZXNvbHZlV29ya3NwYWNlTmFtZVJlcXVlc3RIABJTChhjaGVja19yZWZlcmVuY2VfdmVyc2lvbnMYOCABKAsyLy5ub21vcy5ydW50aW1lLnYyLkNoZWNrUmVmZXJlbmNlVmVyc2lvbnNSZXF1ZXN0SAASUQoXZGVsaXZlcl9odHRwX29ibGlnYXRpb24YOSABKAsyLi5ub21vcy5ydW50aW1lLnYyLkRlbGl2ZXJIdHRwT2JsaWdhdGlvblJlcXVlc3RIABJXChpyZWZyZXNoX3JlcGxpY2FfY3JlZGVudGlhbBg6IAEoCzIxLm5vbW9zLnJ1bnRpbWUudjIuUmVmcmVzaFJlcGxpY2FDcmVkZW50aWFsUmVxdWVzdEgAEjwKDGJpbmRfc2Vzc2lvbhg7IAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuQmluZFNlc3Npb25SZXF1ZXN0SAASUAoXcHJldmlld19sb2NhbF9jb3B5X2Ryb3AYPCABKAsyLS5ub21vcy5ydW50aW1lLnYyLlByZXZpZXdMb2NhbENvcHlEcm9wUmVxdWVzdEgAEkEKD2Ryb3BfbG9jYWxfY29weRg9IAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuRHJvcExvY2FsQ29weVJlcXVlc3RIABJXChpjb25maWd1cmVfcHJvdmlkZXJfb3JpZ2lucxg+IAEoCzIxLm5vbW9zLnJ1bnRpbWUudjIuQ29uZmlndXJlUHJvdmlkZXJPcmlnaW5zUmVxdWVzdEgAEkIKD2ZldGNoX3dvcmtzcGFjZRg/IAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuRmV0Y2hXb3Jrc3BhY2VSZXF1ZXN0SAASSwoUcHJvdmlkZV9sYXdfcHJvZHVjdHMYQCABKAsyKy5ub21vcy5ydW50aW1lLnYyLlByb3ZpZGVMYXdQcm9kdWN0c1JlcXVlc3RIABJAChFzZXJ2ZV9saXZlX3N0cmVhbRhBIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuTGl2ZVN0cmVhbVJlcXVlc3RIABJEChBuZXR3b3JrX3Jlc3RvcmVkGEIgASgLMigubm9tb3MucnVudGltZS52Mi5OZXR3b3JrUmVzdG9yZWRSZXF1ZXN0SABCCQoHY29tbWFuZEIICgZfdHJhY2VCCQoHX3RhcmdldEoECAsQDEoECA0QDkoECA8QEEoECBAQEUoECBQQFUoECBgQGUoECBkQGkoECB8QIFIHY29ubmVjdFIPc3RhcnRfYXV0b19zeW5jUg5zdG9wX2F1dG9fc3luY1ISc25hcHNob3Rfd29ya3NwYWNlUhVyZXNvbHZlX2N1c3RvZHlfYnJlYWtSD21vZGVsX2xpZmVjeWNsZVIdZXN0YWJsaXNoX2FwcGxpY2F0aW9uX2N1c3RvZHlSEWFjcXVpcmVfd29ya3NwYWNlIjYKEEludm9jYXRpb25UYXJnZXQSEQoJd29ya3NwYWNlGAEgASgJEg8KB3Nlc3Npb24YAiABKAkikB8KD1J1bnRpbWVSZXNwb25zZRIYChBwcm90b2NvbF92ZXJzaW9uGAEgASgNEhIKCnJlcXVlc3RfaWQYAiABKAQSMwoHZmFpbHVyZRgKIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUZhaWx1cmVIABI0CgtrZXJuZWxfY2FsbBgLIAEoCzIdLm5vbW9zLmtlcm5lbC52MS5DYWxsUmVzcG9uc2VIABI5Cg53b3Jrc3BhY2VfbGlzdBgNIAEoCzIfLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlTGlzdEgAEkEKDnN5bmNfd29ya3NwYWNlGA8gASgLMicubm9tb3MucnVudGltZS52Mi5TeW5jV29ya3NwYWNlUmVzcG9uc2VIABI3Cg13YXRjaF9zdGFydGVkGBIgASgLMh4ubm9tb3MucnVudGltZS52Mi5XYXRjaFN0YXJ0ZWRIABI3Cg13YXRjaF9zdG9wcGVkGBMgASgLMh4ubm9tb3MucnVudGltZS52Mi5XYXRjaFN0b3BwZWRIABI7Cg9kb21haW5fcHJlcGFyZWQYFCABKAsyIC5ub21vcy5ydW50aW1lLnYyLkRvbWFpblByZXBhcmVkSAASNQoMcmVhbG1fY2xvc2VkGBYgASgLMh0ubm9tb3MucnVudGltZS52Mi5SZWFsbUNsb3NlZEgAEjMKB2Jsb2NrZWQYFyABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVCbG9ja2VkSAASSAoWcmVtb3RlX29mZmVyX2FkbWlzc2lvbhgYIAEoCzImLm5vbW9zLnJ1bnRpbWUudjIuUmVtb3RlT2ZmZXJBZG1pc3Npb25IABI7CgtkZWFkX2xldHRlchgZIAEoCzIkLm5vbW9zLnJ1bnRpbWUudjIuRGVhZExldHRlclJlc3BvbnNlSAASPQoQd29ya3NwYWNlX3N0YXR1cxgcIAEoCzIhLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlU3RhdHVzSAASUAoWcmVtb3RlX2dlbmVyYXRlZF9vZmZlchgdIAEoCzIuLm5vbW9zLnJ1bnRpbWUudjIuUmVtb3RlR2VuZXJhdGVkT2ZmZXJBY2NlcHRlZEgAEkgKE3dvcmtzcGFjZV9wbGFjZW1lbnQYHiABKAsyKS5ub21vcy5ydW50aW1lLnYyLldvcmtzcGFjZVBsYWNlbWVudFN0YXRlSAASRwoVY3JlZGVudGlhbHNfcmVmcmVzaGVkGB8gASgLMiYubm9tb3MucnVudGltZS52Mi5DcmVkZW50aWFsc1JlZnJlc2hlZEgAElIKG3dvcmtzcGFjZV9lZmZlY3RzX2RlbGl2ZXJlZBggIAEoCzIrLm5vbW9zLnJ1bnRpbWUudjIuV29ya3NwYWNlRWZmZWN0c0RlbGl2ZXJlZEgAEkkKE2F1dGhvcmluZ19wcmVmbGlnaHQYISABKAsyKi5ub21vcy5ydW50aW1lLnYyLkF1dGhvcmluZ1ByZWZsaWdodFJlc3VsdEgAEkIKEXdvcmtzcGFjZV9tb21lbnRzGCIgASgLMiUubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VNb21lbnRMaXN0SAASUgobd29ya3NwYWNlX3RyYW5zZmVyX2VzdGltYXRlGCMgASgLMisubm9tb3MucnVudGltZS52Mi5Xb3Jrc3BhY2VUcmFuc2ZlckVzdGltYXRlSAASPwoRd29ya3NwYWNlX2dlbmVzaXMYJCABKAsyIi5ub21vcy5ydW50aW1lLnYyLldvcmtzcGFjZUdlbmVzaXNIABJAChBjaGlsZF93b3Jrc3BhY2VzGCUgASgLMiQubm9tb3MucnVudGltZS52Mi5DaGlsZFdvcmtzcGFjZUxpc3RIABI4CglmcmFtZXdvcmsYJiABKAsyIy5ub21vcy5ydW50aW1lLnYyLkZyYW1ld29ya1Jlc3BvbnNlSAASSQoWY29ycmVzcG9uZGVuY2VfcGVuZGluZxgnIAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuQ29ycmVzcG9uZGVuY2VQZW5kaW5nSAASUwoZaWRlbnRpdHlfcHJvdmlkZXJfd2l0bmVzcxgoIAEoCzIuLm5vbW9zLnJ1bnRpbWUudjIuSWRlbnRpdHlQcm92aWRlcldpdG5lc3NSZWFkeUgAEkEKEm1haW50ZW5hbmNlX3RpY2tlZBgpIAEoCzIjLm5vbW9zLnJ1bnRpbWUudjIuTWFpbnRlbmFuY2VUaWNrZWRIABJSChtyZXNpZGVuY3lfcHJlc3N1cmVfcmVsaWV2ZWQYKiABKAsyKy5ub21vcy5ydW50aW1lLnYyLlJlc2lkZW5jeVByZXNzdXJlUmVsaWV2ZWRIABJHChVtYWludGVuYW5jZV9zY2hlZHVsZWQYKyABKAsyJi5ub21vcy5ydW50aW1lLnYyLk1haW50ZW5hbmNlU2NoZWR1bGVkSAASRQoXY3VzdG9keV9vZmZlcnNfYWRtaXR0ZWQYLCABKAsyIi5ub21vcy5ydW50aW1lLnYyLkN1c3RvZHlBZG1pc3Npb25IABJIChZsYXdfcGFja2FnZV9pbnNwZWN0aW9uGC0gASgLMiYubm9tb3MucnVudGltZS52Mi5MYXdQYWNrYWdlSW5zcGVjdGlvbkgAEkAKEmxvY2FsX3JlYWRfcGVuZGluZxguIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuTG9jYWxSZWFkUGVuZGluZ0gAEj8KEWZyb250aWVyX3JldGFpbmVkGC8gASgLMiIubm9tb3MucnVudGltZS52Mi5Gcm9udGllclJldGFpbmVkSAASRQoUYXBwbGljYXRpb25fcHJlcGFyZWQYMyABKAsyJS5ub21vcy5ydW50aW1lLnYyLkFwcGxpY2F0aW9uUHJlcGFyZWRIABJNChhhdXRoZW50aWNhdGlvbl9yZWFkaW5lc3MYMiABKAsyKS5ub21vcy5ydW50aW1lLnYyLkF1dGhlbnRpY2F0aW9uUmVhZGluZXNzSAASPwoPc29ja2V0X29ic2VydmVkGDAgASgLMiQubm9tb3MucnVudGltZS52Mi5QZWVyU29ja2V0T2JzZXJ2ZWRIABJBCgtsaXZlX29mZmVycxgxIAEoCzIqLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keU9mZmVyQmF0Y2hSZXF1ZXN0SAASTQoYY29ycmVzcG9uZGVuY2VfcmVjb3ZlcmVkGDQgASgLMikubm9tb3MucnVudGltZS52Mi5Db3JyZXNwb25kZW5jZVJlY292ZXJlZEgAEkgKFnJlY2VpdmluZ19ncm91cF9vcGVuZWQYNSABKAsyJi5ub21vcy5ydW50aW1lLnYyLlJlY2VpdmluZ0dyb3VwT3BlbmVkSAASUgobcmVjZWl2aW5nX2dyb3VwX2NvbnZlcmdlbmNlGDYgASgLMisubm9tb3MucnVudGltZS52Mi5SZWNlaXZpbmdHcm91cENvbnZlcmdlbmNlSAASTgoZYXBwbGljYXRpb25fbW9kZWxfYWRvcHRlZBg3IAEoCzIpLm5vbW9zLnJ1bnRpbWUudjIuQXBwbGljYXRpb25Nb2RlbEFkb3B0ZWRIABJKChdyZXNvbHZlZF93b3Jrc3BhY2VfbmFtZRg4IAEoCzInLm5vbW9zLnJ1bnRpbWUudjIuUmVzb2x2ZWRXb3Jrc3BhY2VOYW1lSAASRgoScmVmZXJlbmNlX3ZlcnNpb25zGDkgASgLMigubm9tb3MucnVudGltZS52Mi5SZWZlcmVuY2VWZXJzaW9uUmVwb3J0SAASPwoRd29ya3NwYWNlX29wZW5pbmcYOiABKAsyIi5ub21vcy5ydW50aW1lLnYyLldvcmtzcGFjZU9wZW5pbmdIABJOChlodHRwX29ibGlnYXRpb25fZGVsaXZlcmVkGDsgASgLMikubm9tb3MucnVudGltZS52Mi5IdHRwT2JsaWdhdGlvbkRlbGl2ZXJlZEgAEjcKDXNlc3Npb25fYm91bmQYPCABKAsyHi5ub21vcy5ydW50aW1lLnYyLlNlc3Npb25Cb3VuZEgAEjsKC3VuYXZhaWxhYmxlGD0gASgLMiQubm9tb3MucnVudGltZS52Mi5SdW50aW1lVW5hdmFpbGFibGVIABIzCgdyZWZ1c2VkGD4gASgLMiAubm9tb3MucnVudGltZS52Mi5SdW50aW1lUmVmdXNhbEgAEj0KEGhpc3RvcnlfYWNxdWlyZWQYPyABKAsyIS5ub21vcy5ydW50aW1lLnYyLkhpc3RvcnlBY3F1aXJlZEgAEkkKF2xvY2FsX2NvcHlfZHJvcF9wcmV2aWV3GEAgASgLMiYubm9tb3MucnVudGltZS52Mi5Mb2NhbENvcHlEcm9wUHJldmlld0gAEk0KGWxvY2FsX2NvcHlfZHJvcF9zY2hlZHVsZWQYQSABKAsyKC5ub21vcy5ydW50aW1lLnYyLkxvY2FsQ29weURyb3BTY2hlZHVsZWRIABJSChtwcm92aWRlcl9vcmlnaW5zX2NvbmZpZ3VyZWQYQiABKAsyKy5ub21vcy5ydW50aW1lLnYyLlByb3ZpZGVyT3JpZ2luc0NvbmZpZ3VyZWRIABI7Cg93b3Jrc3BhY2VfZmV0Y2gYQyABKAsyIC5ub21vcy5ydW50aW1lLnYyLldvcmtzcGFjZUZldGNoSAASQgoMbGF3X3Byb2R1Y3RzGEQgASgLMioubm9tb3Mua2VybmVsLnYxLkV4cG9ydExhd1Byb2R1Y3RzUmVzcG9uc2VIABJAChJsaXZlX3N0cmVhbV9zZXJ2ZWQYRSABKAsyIi5ub21vcy5ydW50aW1lLnYyLkxpdmVTdHJlYW1BbnN3ZXJIABI9ChBuZXR3b3JrX3Jlc3RvcmVkGEYgASgLMiEubm9tb3MucnVudGltZS52Mi5OZXR3b3JrUmVzdG9yZWRIAEIJCgdvdXRjb21lSgQIDBANSgQIDhAPSgQIEBARSgQIERASSgQIFRAWSgQIGhAbSgQIGxAcUgljb25uZWN0ZWRSEWF1dG9fc3luY19zdGFydGVkUhFhdXRvX3N5bmNfc3RvcHBlZFISd29ya3NwYWNlX3NuYXBzaG90UhZjdXN0b2R5X2JyZWFrX3Jlc29sdmVkUg9tb2RlbF9saWZlY3ljbGVSH2FwcGxpY2F0aW9uX2N1c3RvZHlfZXN0YWJsaXNoZWQi9wEKGUN1c3RvZHlPZmZlckJhdGNoUmVzcG9uc2USGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoDRISCgpyZXF1ZXN0X2lkGAIgASgJEjcKCWFkbWlzc2lvbhgKIAEoCzIiLm5vbW9zLnJ1bnRpbWUudjIuQ3VzdG9keUFkbWlzc2lvbkgAEjMKB2ZhaWx1cmUYCyABKAsyIC5ub21vcy5ydW50aW1lLnYyLlJ1bnRpbWVGYWlsdXJlSAASMwoHYmxvY2tlZBgMIAEoCzIgLm5vbW9zLnJ1bnRpbWUudjIuUnVudGltZUJsb2NrZWRIAEIJCgdvdXRjb21lIhMKEUNsb3NlUmVhbG1SZXF1ZXN0Ig0KC1JlYWxtQ2xvc2VkYgZwcm90bzM", [file_nomos_kernel_v1_kernel, file_nomos_runtime_v2_application_desk, file_nomos_runtime_v2_application_readiness_desk, file_nomos_runtime_v2_authentication_desk, file_nomos_runtime_v2_correspondence_desk, file_nomos_runtime_v2_credentials_desk, file_nomos_runtime_v2_custody_desk, file_nomos_runtime_v2_framework, file_nomos_runtime_v2_identity_desk, file_nomos_runtime_v2_interaction_desk, file_nomos_runtime_v2_law_desk, file_nomos_runtime_v2_maintenance_desk, file_nomos_runtime_v2_model_adoption_desk, file_nomos_runtime_v2_observability_desk, file_nomos_runtime_v2_placement_desk, file_nomos_runtime_v2_receiving_group_desk, file_nomos_runtime_v2_recovery_desk, file_nomos_runtime_v2_records_desk, file_nomos_runtime_v2_residency_desk]);
8411
8412
  var RuntimeRequestSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_runtime, 0);
8412
8413
  var InvocationTargetSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_runtime, 1);
8413
8414
  var RuntimeResponseSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_runtime, 2);
@@ -11851,6 +11852,37 @@
11851
11852
  return { ok: true };
11852
11853
  }
11853
11854
 
11855
+ // ../../adapter/custody_fetch_pool.ts
11856
+ init_define_NOMOS_KERNEL_RELEASE();
11857
+ init_shims();
11858
+ var CUSTODY_STAGED_BYTES_BUDGET = 256 * 1024 * 1024;
11859
+ function memoryStagedPack(fetched) {
11860
+ let bytes = fetched.pack;
11861
+ return {
11862
+ bytes: fetched.pack.byteLength,
11863
+ shallow: fetched.shallow,
11864
+ unshallow: fetched.unshallow,
11865
+ pack: () => {
11866
+ if (bytes === void 0) throw new Error("staged pack was discarded before it was applied");
11867
+ return bytes;
11868
+ },
11869
+ discard: () => {
11870
+ bytes = void 0;
11871
+ }
11872
+ };
11873
+ }
11874
+ async function fetchStagedInMemory(remote, headers, request, fetchImpl) {
11875
+ const fetched = await fetchPackWithBoundaries(remote, headers, {
11876
+ wants: request.wants,
11877
+ haves: request.haves,
11878
+ advertisement: request.advertisement,
11879
+ depth: request.depth,
11880
+ shallow: request.shallow ?? [],
11881
+ observe: request.observe
11882
+ }, fetchImpl);
11883
+ return fetched ? memoryStagedPack(fetched) : null;
11884
+ }
11885
+
11854
11886
  // ../../adapter/pack_import_steps.ts
11855
11887
  init_define_NOMOS_KERNEL_RELEASE();
11856
11888
  init_shims();
@@ -12328,17 +12360,27 @@
12328
12360
  throw error;
12329
12361
  }
12330
12362
  };
12331
- const acquireReference = async (workspace, ledger, remoteReference, localReference, have, acquisition) => {
12332
- const refs = acquisition?.advertisement.refs ?? await lsRefs(
12363
+ const applyTurn = (lanes) => lanes ? (work) => lanes.apply(work) : (work) => {
12364
+ try {
12365
+ return Promise.resolve(work());
12366
+ } catch (error) {
12367
+ return Promise.reject(error);
12368
+ }
12369
+ };
12370
+ const stagePack = (lanes, ledger, request) => lanes ? lanes.fetches.fetchPack(ledger.remote, ledger.headers ?? {}, request, fetchImpl) : fetchStagedInMemory(ledger.remote, ledger.headers ?? {}, request, fetchImpl);
12371
+ const listed = (lanes, work) => lanes ? lanes.fetches.run(work) : work();
12372
+ const acquireReference = async (workspace, ledger, remoteReference, localReference, have, acquisition, lanes) => {
12373
+ const refs = acquisition?.advertisement.refs ?? await listed(lanes, () => lsRefs(
12333
12374
  ledger.remote,
12334
12375
  ledger.headers ?? {},
12335
12376
  { service: "git-upload-pack", prefix: remoteReference },
12336
12377
  fetchImpl
12337
- );
12378
+ ));
12338
12379
  const head = refs[remoteReference];
12339
12380
  if (!head) return void 0;
12381
+ const turn = applyTurn(lanes);
12340
12382
  const isMain = localReference === branchRef("main");
12341
- const liveHave = () => isMain ? resolveRef(workspace, localReference) : have;
12383
+ const liveHave = () => isMain ? resolveRef(workspace, localReference) : have();
12342
12384
  const durableBaseOf = (live) => {
12343
12385
  const remoteTrackingReference = receiptRef(ledger);
12344
12386
  const trackedHead = resolveRef(workspace, remoteTrackingReference);
@@ -12349,42 +12391,43 @@
12349
12391
  }
12350
12392
  return true;
12351
12393
  };
12352
- let local = liveHave();
12353
- if (isMain && local !== void 0 && head !== local && durableBaseOf(local)) return head;
12354
- const haves = knownHeads(workspace);
12355
- if (head !== local && !haves.includes(head) && !acquisition?.imported.has(head)) {
12356
- const pack = await fetchPack(
12357
- ledger.remote,
12358
- ledger.headers ?? {},
12359
- { wants: [head], haves, advertisement: acquisition?.advertisement },
12360
- fetchImpl
12361
- );
12362
- if (pack) {
12363
- await importFetchedPack(
12364
- workspace,
12365
- pack,
12366
- ledger.operatorCustody === true ? void 0 : head
12367
- );
12368
- }
12369
- }
12370
- local = liveHave();
12371
- if (isMain && local === void 0) {
12372
- await measured(workspace, "restore", () => restoreMain(workspace, head, ledger.operatorCustody === true));
12373
- writeRef(workspace, receiptRef(ledger), head);
12374
- } else if (isMain && head === local) {
12375
- if (ledger.operatorCustody === true) {
12376
- await measured(workspace, "restore", () => restoreMain(workspace, head, true));
12377
- }
12378
- if (resolveRef(workspace, receiptRef(ledger)) !== head) {
12394
+ const settle = async () => {
12395
+ const local = liveHave();
12396
+ if (isMain && local === void 0) {
12397
+ await measured(workspace, "restore", () => restoreMain(workspace, head, ledger.operatorCustody === true));
12379
12398
  writeRef(workspace, receiptRef(ledger), head);
12399
+ } else if (isMain && head === local) {
12400
+ if (ledger.operatorCustody === true) {
12401
+ await measured(workspace, "restore", () => restoreMain(workspace, head, true));
12402
+ }
12403
+ if (resolveRef(workspace, receiptRef(ledger)) !== head) {
12404
+ writeRef(workspace, receiptRef(ledger), head);
12405
+ }
12406
+ } else if (isMain) {
12407
+ if (durableBaseOf(local)) return head;
12408
+ throw new Error(`custody remote advanced for '${workspace}': local ${local}, observed ${head}; peer convergence is required before changing main`);
12409
+ } else {
12410
+ writeRef(workspace, localReference, head);
12380
12411
  }
12381
- } else if (isMain) {
12382
- if (durableBaseOf(local)) return head;
12383
- throw new Error(`custody remote advanced for '${workspace}': local ${local}, observed ${head}; peer convergence is required before changing main`);
12384
- } else {
12385
- writeRef(workspace, localReference, head);
12412
+ return head;
12413
+ };
12414
+ const decided = await turn(async () => {
12415
+ const local = liveHave();
12416
+ if (isMain && local !== void 0 && head !== local && durableBaseOf(local)) return { head };
12417
+ const haves = knownHeads(workspace);
12418
+ if (head !== local && !haves.includes(head) && !acquisition?.imported.has(head)) return { haves };
12419
+ return { head: await settle() };
12420
+ });
12421
+ if ("head" in decided) return decided.head;
12422
+ const staged = await stagePack(lanes, ledger, { wants: [head], haves: decided.haves, advertisement: acquisition?.advertisement });
12423
+ try {
12424
+ return await turn(async () => {
12425
+ if (staged) await importFetchedPack(workspace, staged.pack(), ledger.operatorCustody === true ? void 0 : head);
12426
+ return settle();
12427
+ });
12428
+ } finally {
12429
+ staged?.discard();
12386
12430
  }
12387
- return head;
12388
12431
  };
12389
12432
  const packDeltaOrFull = (workspace, head, base) => {
12390
12433
  try {
@@ -12404,13 +12447,16 @@
12404
12447
  importPack: applyPack,
12405
12448
  pack: packDelta
12406
12449
  }, fetchImpl);
12407
- const acquireMain = (workspace, ledger) => acquiring(workspace, ledger, "main", () => measured(workspace, "acquire", async () => {
12450
+ const acquireMain = (workspace, ledger, lanes) => acquiring(workspace, ledger, "main", () => measured(workspace, "acquire", async () => {
12408
12451
  const reference = branchRef("main");
12409
- await kernel.writeSkeleton(workspace, "main");
12410
- const local = resolveRef(workspace, reference);
12411
- const advertisement = await measured(workspace, "advertise", () => discoverRefs(ledger.remote, ledger.headers ?? {}, {
12452
+ const turn = applyTurn(lanes);
12453
+ const local = await turn(async () => {
12454
+ await kernel.writeSkeleton(workspace, "main");
12455
+ return resolveRef(workspace, reference);
12456
+ });
12457
+ const advertisement = await listed(lanes, () => measured(workspace, "advertise", () => discoverRefs(ledger.remote, ledger.headers ?? {}, {
12412
12458
  signal: ledger.signal ?? AbortSignal.timeout(COLD_OPEN_LISTING_MILLIS)
12413
- }, fetchImpl));
12459
+ }, fetchImpl)));
12414
12460
  observedRemoteRefs.set(custodyKey(workspace, ledger), new Map(Object.entries(advertisement.refs)));
12415
12461
  const delivered = new Map(Object.entries(advertisement.refs).filter(([ref]) => isCorrespondenceRef(ref)));
12416
12462
  const imported = /* @__PURE__ */ new Set();
@@ -12426,62 +12472,74 @@
12426
12472
  const wants2 = [...new Set(references.map((ref) => advertisement.refs[ref]))].filter((oid) => !haves2.includes(oid));
12427
12473
  if (wants2.length) {
12428
12474
  const detail = { references, wants: wants2, haves: haves2 };
12429
- const fetched = await measured(workspace, "fetch", () => fetchPackWithBoundaries(ledger.remote, ledger.headers ?? {}, {
12475
+ const staged = await measured(workspace, "fetch", () => stagePack(lanes, ledger, {
12430
12476
  wants: wants2,
12431
12477
  haves: haves2,
12432
12478
  advertisement,
12433
12479
  ...ledger.operatorCustody && workspace !== ANCHOR_WORKSPACE ? { depth: 1 } : {},
12434
12480
  ...observe ? { observe: (timing) => Object.assign(detail, timing) } : {}
12435
- }, fetchImpl), detail);
12436
- if (fetched) {
12437
- await measured(
12438
- workspace,
12439
- "import",
12440
- () => importFetchedPack(workspace, fetched.pack, void 0, fetched),
12441
- { references, wants: wants2, haves: haves2, bytes: fetched.pack.byteLength }
12442
- );
12443
- for (const oid of wants2) imported.add(oid);
12481
+ }), detail);
12482
+ try {
12483
+ if (staged) {
12484
+ await turn(() => measured(
12485
+ workspace,
12486
+ "import",
12487
+ () => importFetchedPack(workspace, staged.pack(), void 0, staged),
12488
+ { references, wants: wants2, haves: haves2, bytes: staged.bytes }
12489
+ ));
12490
+ for (const oid of wants2) imported.add(oid);
12491
+ }
12492
+ } finally {
12493
+ staged?.discard();
12444
12494
  }
12445
12495
  }
12446
12496
  for (const oid of haves2) imported.add(oid);
12447
12497
  }
12448
- const head = await acquireReference(workspace, ledger, reference, reference, local, acquisition);
12498
+ const head = await acquireReference(workspace, ledger, reference, reference, () => local, acquisition, lanes);
12449
12499
  if (head) sealedMain.set(custodyKey(workspace, ledger), head);
12450
12500
  const haves = knownHeads(workspace);
12451
12501
  const wants = [...new Set([...delivered.values()].filter((oid) => !haves.includes(oid) && !imported.has(oid)))];
12452
12502
  if (wants.length > 0) {
12453
- const pack = await fetchPack(ledger.remote, ledger.headers ?? {}, { wants, haves, advertisement }, fetchImpl);
12454
- if (pack) await importFetchedPack(workspace, pack);
12455
- }
12456
- for (const [reference2, oid] of delivered) {
12457
- if (resolveRef(workspace, reference2) === void 0) writeRef(workspace, reference2, oid);
12503
+ const staged = await stagePack(lanes, ledger, { wants, haves, advertisement });
12504
+ try {
12505
+ if (staged) await turn(() => importFetchedPack(workspace, staged.pack()));
12506
+ } finally {
12507
+ staged?.discard();
12508
+ }
12458
12509
  }
12510
+ await turn(() => {
12511
+ for (const [reference2, oid] of delivered) {
12512
+ if (resolveRef(workspace, reference2) === void 0) writeRef(workspace, reference2, oid);
12513
+ }
12514
+ });
12459
12515
  if (ledger.localCustody) {
12460
12516
  await acquireReference(
12461
12517
  workspace,
12462
12518
  ledger,
12463
12519
  "refs/remotes/nomos/main",
12464
12520
  "refs/remotes/nomos/main",
12465
- resolveRef(workspace, "refs/remotes/nomos/main"),
12466
- acquisition
12521
+ () => resolveRef(workspace, "refs/remotes/nomos/main"),
12522
+ acquisition,
12523
+ lanes
12467
12524
  );
12468
12525
  }
12469
- await placement.acquire(workspace, ledger, acquisition);
12526
+ await turn(() => placement.acquire(workspace, ledger, acquisition));
12470
12527
  if (ledger.localCustody) {
12471
12528
  await acquireReference(
12472
12529
  workspace,
12473
12530
  ledger,
12474
12531
  "refs/remotes/nomos/placement",
12475
12532
  "refs/remotes/nomos/placement",
12476
- resolveRef(workspace, "refs/remotes/nomos/placement"),
12477
- acquisition
12533
+ () => resolveRef(workspace, "refs/remotes/nomos/placement"),
12534
+ acquisition,
12535
+ lanes
12478
12536
  );
12479
12537
  }
12480
12538
  return head ? { head } : {};
12481
12539
  }));
12482
12540
  const desk = {
12483
- async acquireMain(workspace, ledger) {
12484
- const acquired = await acquireMain(workspace, ledger);
12541
+ async acquireMain(workspace, ledger, lanes) {
12542
+ const acquired = await acquireMain(workspace, ledger, lanes);
12485
12543
  if (workspace === ANCHOR_WORKSPACE && ledger.operatorCustody === true) {
12486
12544
  for (let slice = 0; slice < ANCHOR_DEEPEN_SLICES; slice += 1) {
12487
12545
  if (!knownShallowBoundary(workspace)?.size) break;
@@ -12579,8 +12637,7 @@
12579
12637
  const fullReference = branchRef(reference);
12580
12638
  return acquiring(workspace, ledger, fullReference, async () => {
12581
12639
  await kernel.writeSkeleton(workspace, "main");
12582
- const local = resolveRef(workspace, fullReference);
12583
- await acquireReference(workspace, ledger, fullReference, fullReference, local);
12640
+ await acquireReference(workspace, ledger, fullReference, fullReference, () => resolveRef(workspace, fullReference));
12584
12641
  });
12585
12642
  },
12586
12643
  seal(workspace, ledger, retention) {
@@ -16628,10 +16685,11 @@
16628
16685
  // ../src/runtime/kernel_residency.ts
16629
16686
  init_define_NOMOS_KERNEL_RELEASE();
16630
16687
  init_shims();
16631
- var _open;
16688
+ var _open, _trap;
16632
16689
  var KernelResidency = class {
16633
16690
  constructor() {
16634
16691
  __privateAdd(this, _open, /* @__PURE__ */ new Set());
16692
+ __privateAdd(this, _trap);
16635
16693
  }
16636
16694
  workspaces() {
16637
16695
  return [...__privateGet(this, _open)];
@@ -16647,9 +16705,16 @@
16647
16705
  released(workspace) {
16648
16706
  __privateGet(this, _open).delete(workspace.trim());
16649
16707
  }
16650
- /** The machine trapped: it is discarded with every workspace it held. */
16651
- trapped() {
16708
+ /** The machine trapped: it is discarded with every workspace it held. `reason` is the bounded
16709
+ * trap text the host reports when it discards the machine; the first trap is the one kept. */
16710
+ trapped(reason) {
16652
16711
  __privateGet(this, _open).clear();
16712
+ __privateGet(this, _trap) ?? __privateSet(this, _trap, reason.slice(0, 2e3));
16713
+ }
16714
+ /** Why this machine trapped, once it has; undefined while it has not. Never cleared: nothing
16715
+ * revives a trapped machine, the host replaces it (and this record with it). */
16716
+ get trap() {
16717
+ return __privateGet(this, _trap);
16653
16718
  }
16654
16719
  /** Before the kernel sees a request: a release leaves first, so a failed release cannot keep it. */
16655
16720
  before(request) {
@@ -16660,7 +16725,7 @@
16660
16725
  }
16661
16726
  after(request, response) {
16662
16727
  if (response.outcome.case === "failure" && response.outcome.value.code === "NMS-KERNEL-TRAP") {
16663
- this.trapped();
16728
+ this.trapped(`${response.outcome.value.code}: ${response.outcome.value.message}`);
16664
16729
  return;
16665
16730
  }
16666
16731
  const operation = request.operation;
@@ -16679,6 +16744,7 @@
16679
16744
  }
16680
16745
  };
16681
16746
  _open = new WeakMap();
16747
+ _trap = new WeakMap();
16682
16748
 
16683
16749
  // ../src/runtime/main_moves.ts
16684
16750
  init_define_NOMOS_KERNEL_RELEASE();
@@ -17462,6 +17528,15 @@
17462
17528
  residentWorkspaces() {
17463
17529
  return __privateGet(this, _residency).workspaces();
17464
17530
  }
17531
+ /**
17532
+ * Why the kernel behind this port trapped, once it has (CAP-965); undefined while it has not.
17533
+ * Every kernel call passes [#call], which records a trap however it surfaced: thrown, answered
17534
+ * as an NMS-KERNEL-TRAP failure, or caught and answered as typed paper by a desk above. The host
17535
+ * reads this after every request and discards the machine; reading it never enters the kernel.
17536
+ */
17537
+ kernelTrap() {
17538
+ return __privateGet(this, _residency).trap;
17539
+ }
17465
17540
  /**
17466
17541
  * Answer only the peer-local inventory question.
17467
17542
  *
@@ -18560,14 +18635,13 @@
18560
18635
  response = __privateMethod(this, _KernelPort_instances, exclusive_fn).call(this, operation, () => timelineTraceEnabled() ? __privateMethod(this, _KernelPort_instances, timedCall_fn).call(this, operation, request) : fromBinary(CallResponseSchema, __privateGet(this, _kernel2).call(toBinary(CallRequestSchema, request))));
18561
18636
  } catch (error) {
18562
18637
  __privateGet(this, _attached)?.lost();
18563
- if (error instanceof Error && /NMS-KERNEL-TRAP|\btrap\b|unreachable|out of bounds/i.test(error.message)) {
18564
- __privateGet(this, _residency).trapped();
18565
- }
18638
+ const trapped = error instanceof Error && /NMS-KERNEL-TRAP|\btrap\b|unreachable|out of bounds/i.test(error.message);
18566
18639
  if (error instanceof Error && /\btrap\b|unreachable|out of bounds/i.test(error.message)) {
18567
18640
  const top = request.operation.case ?? "empty";
18568
18641
  const nested = request.operation.case === "custody" ? request.operation.value.operation.case ?? "empty" : request.operation.case === "query" ? request.operation.value.query.case === "named" ? `named:${request.operation.value.query.value.operation}` : request.operation.value.query.case ?? "empty" : "";
18569
18642
  error.message = `kernel-operation=${top}/${nested}: ${error.message}`;
18570
18643
  }
18644
+ if (trapped) __privateGet(this, _residency).trapped(error.message);
18571
18645
  const pending = readIndexPendingAnswer(request, error instanceof Error ? error.message : String(error));
18572
18646
  if (pending !== void 0) return pending;
18573
18647
  rethrowTypedKernelFailure(error);
@@ -25240,7 +25314,7 @@
25240
25314
  const failures = demand.failures + 1;
25241
25315
  __privateGet(this, _pending).delete(workspace);
25242
25316
  const retryMillis = Math.min(30 * 60 * 1e3, 1e3 * 2 ** Math.min(failures - 1, 10));
25243
- slowQuantumObserver?.(`[nomos-kernel-perf] ${JSON.stringify({
25317
+ (slowQuantumObserver ?? ((line) => console.warn(line)))(`[nomos-kernel-perf] ${JSON.stringify({
25244
25318
  op: "peer_maintenance_failure",
25245
25319
  failed: true,
25246
25320
  workspace,
@@ -26517,6 +26591,7 @@
26517
26591
  CredentialReplaced: "credential_replaced",
26518
26592
  Failed: "failed",
26519
26593
  Reconnected: "reconnected",
26594
+ NetworkRestored: "network_restored",
26520
26595
  DependencyAdvanced: "dependency_advanced",
26521
26596
  RebornRemotely: "reborn_remotely",
26522
26597
  LocalCopyDropAuthorized: "local_copy_drop_authorized",
@@ -26604,6 +26679,8 @@
26604
26679
  };
26605
26680
  }
26606
26681
  return due(event.nowUnixMillis);
26682
+ case ReplicaFollowEventKind.NetworkRestored:
26683
+ return state.case === ReplicaFollowPhase.Offline || state.case === ReplicaFollowPhase.Backoff && !state.refusal ? due(event.nowUnixMillis) : { state, effects: [] };
26607
26684
  case ReplicaFollowEventKind.Reconnected:
26608
26685
  if (state.case === ReplicaFollowPhase.Backoff && state.refusal?.blocked) {
26609
26686
  return refusedEvent(state, state.refusal, event.nowUnixMillis);
@@ -27062,6 +27139,20 @@
27062
27139
  reconnected(workspace, remoteAdvanced = false) {
27063
27140
  return __privateMethod(this, _ReplicaFollowController_instances, event_fn).call(this, workspace, ReplicaFollowEventKind.Reconnected, remoteAdvanced);
27064
27141
  }
27142
+ networkRestored() {
27143
+ if (!__privateGet(this, _recovered)) return [];
27144
+ const woken = [];
27145
+ for (const follow of __privateGet(this, _desk).all()) {
27146
+ __privateGet(this, _desk).transition(follow.spec.workspace, {
27147
+ case: ReplicaFollowEventKind.NetworkRestored,
27148
+ nowUnixMillis: __privateMethod(this, _ReplicaFollowController_instances, now_fn5).call(this)
27149
+ });
27150
+ if (__privateGet(this, _desk).get(follow.spec.workspace)?.state.case === ReplicaFollowPhase.Due) {
27151
+ woken.push(follow.spec.workspace);
27152
+ }
27153
+ }
27154
+ return woken;
27155
+ }
27065
27156
  /** Another workspace advanced or settled; every held dependency gets one retry. */
27066
27157
  dependencyAdvanced(except) {
27067
27158
  if (!__privateGet(this, _recovered)) return [];
@@ -27319,7 +27410,7 @@
27319
27410
  // ../src/runtime/runtime_identity.ts
27320
27411
  init_define_NOMOS_KERNEL_RELEASE();
27321
27412
  init_shims();
27322
- var PEER_RUNTIME_IDENTITY = "0.119.9" ? `@githolon/runtime@${"0.119.9"}` : "@githolon/runtime@unbundled";
27413
+ var PEER_RUNTIME_IDENTITY = "0.119.12" ? `@githolon/runtime@${"0.119.12"}` : "@githolon/runtime@unbundled";
27323
27414
 
27324
27415
  // ../src/runtime/replica_follow_desk.ts
27325
27416
  init_define_NOMOS_KERNEL_RELEASE();
@@ -28304,6 +28395,7 @@
28304
28395
  var MAX_CHECKPOINT_WINDOW_CHUNKS = 32;
28305
28396
  var CHECKPOINT_STALE_OFFERS = 64;
28306
28397
  var MAX_STREAM_BATCH_OFFERS = 256;
28398
+ var LEVEL_PACK_BYTES = 4 * 1024 * 1024 - 16 * 1024;
28307
28399
  var MAX_HISTORY_SLICE = 256;
28308
28400
  var MAX_HELD_SLICES = 4;
28309
28401
  var CHECKPOINT_CACHE_BYTES = 1024 * 1024 * 1024;
@@ -28327,7 +28419,7 @@
28327
28419
  }) });
28328
28420
  var OFF_MAIN_AFTER_MILLIS = 6e4;
28329
28421
  var MAX_UNFOUND_HEADS = 1024;
28330
- var _kernel12, _now, _historyWanted, _sealed, _codec, _checkpoints3, _slices, _cachedBytes, _unfound, _LiveStreamServer_instances, frontier_fn, shallow_fn, batch_fn, checkpoint_fn, current_fn, sealedOnMain_fn, outcomes_fn, build_fn, evict_fn, sharedTrees_fn, thin_fn, history_fn, buildSlice_fn, ref_fn;
28422
+ var _kernel12, _now, _historyWanted, _sealed, _codec, _checkpoints3, _slices, _cachedBytes, _unfound, _LiveStreamServer_instances, frontier_fn, shallow_fn, batch_fn, reaches_fn, checkpoint_fn, current_fn, sealedOnMain_fn, outcomes_fn, build_fn, evict_fn, sharedTrees_fn, thin_fn, history_fn, buildSlice_fn, ref_fn;
28331
28423
  var LiveStreamServer = class {
28332
28424
  constructor(kernel, now2 = Date.now, historyWanted = () => {
28333
28425
  }, sealed = () => void 0, codec) {
@@ -28448,7 +28540,7 @@
28448
28540
  )];
28449
28541
  }
28450
28542
  const maxOffers = Math.min(Math.max(1, frontier.maxOffers || MAX_STREAM_BATCH_OFFERS), MAX_STREAM_BATCH_OFFERS);
28451
- return [...answer, __privateMethod(this, _LiveStreamServer_instances, batch_fn).call(this, workspace, requestId, head, main, maxOffers)];
28543
+ return [...answer, ...__privateMethod(this, _LiveStreamServer_instances, batch_fn).call(this, workspace, requestId, head, main, maxOffers, remountAsk(), behind ?? 0n)];
28452
28544
  };
28453
28545
  /** Whether this peer's custody of the workspace is shallow. Unknown counts as shallow: it keeps the
28454
28546
  * existing wait for history rather than calling a head off main. */
@@ -28466,21 +28558,44 @@
28466
28558
  * bounded walk and one bounded pack (O(batch)). The copy's kernel adopts exactly these commits on
28467
28559
  * the same parent, judging each offer, so its next head is one this peer holds.
28468
28560
  */
28469
- batch_fn = function(workspace, requestId, base, main, maxOffers) {
28561
+ batch_fn = function(workspace, requestId, base, main, maxOffers, remountAsk, behind) {
28470
28562
  const mount = workspaceMount(workspace);
28471
- const intents = __privateGet(this, _kernel12).transportIntentsAbove(mount, requestId, BigInt(maxOffers), base, main, true).intents;
28472
- const batchHead = intents.at(-1)?.oid ?? main;
28473
- return frame({ case: "pack", value: create(LivePackSchema, {
28474
- requestId: `${LEVEL_BATCH2}${base}`,
28475
- reference: "refs/heads/main",
28476
- head: batchHead,
28477
- base,
28478
- pack: __privateGet(this, _kernel12).packDelta(mount, requestId, batchHead, base),
28479
- offers: intents.length,
28480
- ...__privateGet(this, _sealed).call(this, workspace) ? { sealed: __privateGet(this, _sealed).call(this, workspace) } : {}
28481
- }) });
28563
+ let limit = maxOffers;
28564
+ for (; ; ) {
28565
+ const intents = __privateGet(this, _kernel12).transportIntentsAbove(mount, requestId, BigInt(limit), base, main, true).intents;
28566
+ const batchHead = intents.at(-1)?.oid ?? main;
28567
+ const pack = __privateGet(this, _kernel12).packDelta(mount, requestId, batchHead, base);
28568
+ if (pack.byteLength <= LEVEL_PACK_BYTES) {
28569
+ return [frame({ case: "pack", value: create(LivePackSchema, {
28570
+ requestId: `${LEVEL_BATCH2}${base}`,
28571
+ reference: "refs/heads/main",
28572
+ head: batchHead,
28573
+ base,
28574
+ pack,
28575
+ offers: intents.length,
28576
+ ...__privateGet(this, _sealed).call(this, workspace) ? { sealed: __privateGet(this, _sealed).call(this, workspace) } : {}
28577
+ }) })];
28578
+ }
28579
+ if (intents.length > 1) {
28580
+ limit = Math.floor(intents.length / 2);
28581
+ continue;
28582
+ }
28583
+ const sealed = __privateMethod(this, _LiveStreamServer_instances, sealedOnMain_fn).call(this, workspace, requestId, main);
28584
+ const above = sealed !== void 0 && sealed !== batchHead && __privateMethod(this, _LiveStreamServer_instances, reaches_fn).call(this, mount, requestId, batchHead, sealed);
28585
+ return __privateMethod(this, _LiveStreamServer_instances, checkpoint_fn).call(this, workspace, requestId, remountAsk, behind, above ? sealed : main);
28586
+ }
28482
28587
  };
28483
- checkpoint_fn = function(workspace, requestId, request, remountBehind) {
28588
+ /** Whether `head` is on the walk from `above` down this peer's main, i.e. `above` is at or past it. */
28589
+ reaches_fn = function(mount, requestId, head, above) {
28590
+ try {
28591
+ return __privateGet(this, _kernel12).historySummary(mount, requestId, head, above).reachedBase;
28592
+ } catch {
28593
+ return false;
28594
+ }
28595
+ };
28596
+ /** `atHead`: the checkpoint is taken at exactly that head (a level batch's fallback, above an offer
28597
+ * no frame can carry), never the newest held one below it. */
28598
+ checkpoint_fn = function(workspace, requestId, request, remountBehind, atHead) {
28484
28599
  const mount = workspaceMount(workspace);
28485
28600
  const main = __privateGet(this, _kernel12).head(mount, requestId);
28486
28601
  if (!main) return [refusal("", "nomos.stream.opening", "the workspace has no main on this peer yet", 250)];
@@ -28495,7 +28610,11 @@
28495
28610
  }
28496
28611
  }
28497
28612
  const resumed = checkpoint !== void 0;
28498
- if (!checkpoint) checkpoint = __privateMethod(this, _LiveStreamServer_instances, thin_fn).call(this, __privateMethod(this, _LiveStreamServer_instances, current_fn).call(this, workspace, requestId, main), trees);
28613
+ if (!checkpoint) {
28614
+ const newest = __privateGet(this, _checkpoints3).get(workspace)?.at(-1);
28615
+ const whole = atHead === void 0 ? __privateMethod(this, _LiveStreamServer_instances, current_fn).call(this, workspace, requestId, main) : newest?.head === atHead ? newest : __privateMethod(this, _LiveStreamServer_instances, build_fn).call(this, workspace, requestId, atHead);
28616
+ checkpoint = __privateMethod(this, _LiveStreamServer_instances, thin_fn).call(this, whole, trees);
28617
+ }
28499
28618
  checkpoint.servedAt = __privateGet(this, _now).call(this);
28500
28619
  const sealed = __privateGet(this, _sealed).call(this, workspace);
28501
28620
  const offset = resumed ? Number(request.offset) : 0;
@@ -29047,15 +29166,15 @@
29047
29166
  if (this.writeBurst && !link.publisher) link.owedSince ?? (link.owedSince = this.clock.monotonicNanoseconds());
29048
29167
  }
29049
29168
  /** Local commits the custodian has not yet admitted: those not yet offered, and those offered
29050
- * whose admission has not come back. Undefined when the link carries no follower stream or
29051
- * local history cannot be counted from the custodian's base.
29169
+ * whose admission has not come back. Offline copies are counted from their durable tracked
29170
+ * base, including new offline edits. Undefined when custody/history cannot be counted.
29052
29171
  *
29053
29172
  * Counting asks the kernel to walk history twice. Every follow report asks, and a save reports
29054
29173
  * on its own turn, so during a local-write burst the last count is served instead and one fresh
29055
29174
  * report follows when the burst lets it (writes quiet, or the staleness cap). */
29056
29175
  progress(workspace) {
29057
29176
  const link = __privateGet(this, _links).get(workspace);
29058
- if (!link || link.publisher || link.state !== "open" || !link.stream && !link.dirty) {
29177
+ if (link?.publisher) {
29059
29178
  __privateGet(this, _progress).delete(workspace);
29060
29179
  return void 0;
29061
29180
  }
@@ -29075,6 +29194,18 @@
29075
29194
  return void 0;
29076
29195
  }
29077
29196
  }
29197
+ /** A physical offline-to-online edge invalidates transport retry deadlines,
29198
+ * not custody evidence. Open links and their unacknowledged work stay intact. */
29199
+ networkRestored() {
29200
+ let retried = 0;
29201
+ for (const link of __privateGet(this, _links).values()) {
29202
+ if (link.state === "open") continue;
29203
+ if (link.state === "opening") __privateMethod(this, _LiveCorrespondenceDesk_instances, closeByRuntime_fn).call(this, link, "network restored during open");
29204
+ __privateMethod(this, _LiveCorrespondenceDesk_instances, open_fn2).call(this, link);
29205
+ retried++;
29206
+ }
29207
+ return retried;
29208
+ }
29078
29209
  export(binding, base, requestId, options = {}) {
29079
29210
  if (this.kernel.isResident(binding.workspace) === false) {
29080
29211
  return create(CustodyOfferBatchRequestSchema, { protocolVersion: 2 });
@@ -29379,14 +29510,14 @@
29379
29510
  };
29380
29511
  count_fn = function(link, mount) {
29381
29512
  const head = this.kernel.head(mount, ++__privateWrapper(this, _requestId3)._);
29382
- const acknowledged = __privateMethod(this, _LiveCorrespondenceDesk_instances, currentCursor_fn).call(this, link, mount, head)?.local ?? __privateMethod(this, _LiveCorrespondenceDesk_instances, heldPeerMain_fn).call(this, link, mount, head) ?? this.kernel.resolveRef(mount, ++__privateWrapper(this, _requestId3)._, TRACKED_MAIN2);
29513
+ const acknowledged = (link ? __privateMethod(this, _LiveCorrespondenceDesk_instances, currentCursor_fn).call(this, link, mount, head)?.local ?? __privateMethod(this, _LiveCorrespondenceDesk_instances, heldPeerMain_fn).call(this, link, mount, head) : void 0) ?? this.kernel.resolveRef(mount, ++__privateWrapper(this, _requestId3)._, TRACKED_MAIN2);
29383
29514
  if (!head || !acknowledged) return void 0;
29384
29515
  const count = (base, tip) => {
29385
29516
  if (base === tip) return 0;
29386
29517
  const summary = __privateMethod(this, _LiveCorrespondenceDesk_instances, chain_fn).call(this, mount, base, tip);
29387
29518
  return summary?.reachedBase ? Number(summary.commitCount) : void 0;
29388
29519
  };
29389
- const sent = link.stream?.unanswered.length ? link.stream.sent : void 0;
29520
+ const sent = link?.state === "open" && link.stream?.unanswered.length ? link.stream.sent : void 0;
29390
29521
  const unacknowledged = sent ? count(acknowledged, sent) : 0;
29391
29522
  const unsent = count(sent ?? acknowledged, head);
29392
29523
  return unacknowledged === void 0 || unsent === void 0 ? void 0 : { unsent, unacknowledged };
@@ -33828,6 +33959,9 @@
33828
33959
  const delay = __privateGet(this, _controller).reconnected(workspace);
33829
33960
  if (delay !== void 0) __privateMethod(this, _ReplicaFollowLane_instances, scheduleAt_fn).call(this, workspace, __privateMethod(this, _ReplicaFollowLane_instances, now_fn8).call(this) + delay);
33830
33961
  }
33962
+ networkRestored() {
33963
+ for (const workspace of __privateGet(this, _controller).networkRestored()) this.schedule(workspace);
33964
+ }
33831
33965
  /** The upstream announced a new frontier: news even to a follow the kernel refused. */
33832
33966
  remoteAdvanced(workspace) {
33833
33967
  const delay = __privateGet(this, _controller).reconnected(workspace, true);
@@ -34135,7 +34269,7 @@
34135
34269
  var REFETCH_AWAITS_PROVIDER = "nomos.runtime.refetch_awaits_provider";
34136
34270
  var LOCAL_COPY_REFETCHING = "nomos.runtime.local_copy_refetching";
34137
34271
  var LIVE_ADMISSION_GRACE_MILLIS = 1e4;
34138
- var _kernel23, _retention3, _custodyStorage, _custody3, _sessions11, _credentials5, _placement3, _clock20, _outboxClock, _follows2, _followLane, _readability2, _origins3, _preserved, _dropReasons, _lawProductsImported2, _lawProductsInFlight2, _replacing, _providerServesSameCopy, _events4, _onSyncFrontier, _onSyncCompleted, _onPlacementFetched, _onShallowMount, _onOffered, _liveAdmitted2, _onOutboxHistoryRequired, _backgroundHistory, _receiveStep2, _lawTrees2, _remoteOffers, _recoveries, _deliveries, _httpDeliveries, _syncs, _syncWorkspaces, _retries, _remoteDeliveryKeys, _outboxDueAt, _settledFollowReported, _openLinks, _liveAdmissionDue, _linkReported, _lastClosure, _followsReported, _warming, _recoveredOutboxes, _outboxObservations, _outboxCursor, _httpDeliveryPaths, _executesCustodianObligations, _CorrespondenceDesk_instances, dropRoundsOf_fn, observeWarming_fn, eligibleOutboxEntry_fn, settleDelivery_fn, nowMillis_fn2, liveAdmissionOverdue_fn, warmingPosture_fn, activeSyncEffect_fn, dropReason_fn, roundInFlight_fn, observeSyncResult_fn, syncFailed_fn, scheduleFromResult_fn, syncCompleted_fn, recordPreserved_fn, scheduleOutbox_fn;
34272
+ var _kernel23, _retention3, _custodyStorage, _custody3, _sessions11, _credentials5, _placement3, _clock20, _outboxClock, _follows2, _followLane, _readability2, _origins3, _preserved, _dropReasons, _lawProductsImported2, _lawProductsInFlight2, _replacing, _providerServesSameCopy, _events4, _onSyncFrontier, _onSyncCompleted, _onPlacementFetched, _onShallowMount, _onOffered, _liveAdmitted2, _onOutboxHistoryRequired, _backgroundHistory, _receiveStep2, _lawTrees2, _remoteOffers, _recoveries, _deliveries, _httpDeliveries, _syncs, _syncWorkspaces, _retries, _remoteDeliveryKeys, _outboxDueAt, _settledFollowReported, _openLinks, _liveAdmissionDue, _linkReported, _lastClosure, _followsReported, _reportedStreamProgress, _warming, _recoveredOutboxes, _outboxObservations, _outboxCursor, _httpDeliveryPaths, _executesCustodianObligations, _CorrespondenceDesk_instances, dropRoundsOf_fn, observeWarming_fn, eligibleOutboxEntry_fn, settleDelivery_fn, nowMillis_fn2, liveAdmissionOverdue_fn, warmingPosture_fn, activeSyncEffect_fn, dropReason_fn, roundInFlight_fn, observeSyncResult_fn, syncFailed_fn, scheduleFromResult_fn, syncCompleted_fn, recordPreserved_fn, scheduleOutbox_fn;
34139
34273
  var CorrespondenceDesk = class {
34140
34274
  constructor(args) {
34141
34275
  __privateAdd(this, _CorrespondenceDesk_instances);
@@ -34195,6 +34329,9 @@
34195
34329
  __privateAdd(this, _lastClosure, /* @__PURE__ */ new Map());
34196
34330
  /** The last follow summary published, so an unchanged summary is not re-sent. */
34197
34331
  __privateAdd(this, _followsReported, "");
34332
+ // Scheduler probes may report phase/time changes, but are not new custody
34333
+ // evidence. Reuse counts from the last actual observation on those probes.
34334
+ __privateAdd(this, _reportedStreamProgress, /* @__PURE__ */ new Map());
34198
34335
  /** Workspaces whose custodian is opening them from verified custody, and since when (CAP-769). */
34199
34336
  __privateAdd(this, _warming, new CustodianWarmingLedger());
34200
34337
  /** One-use handoff from recovery to its scheduled selector, never a durable inventory cache. */
@@ -34480,6 +34617,10 @@
34480
34617
  (_a = __privateGet(this, _onSyncCompleted)) == null ? void 0 : _a.call(this, binding.session, event);
34481
34618
  }
34482
34619
  }
34620
+ networkRestored() {
34621
+ __privateGet(this, _followLane).networkRestored();
34622
+ this.reportFollows();
34623
+ }
34483
34624
  /** The live link to a followed workspace's upstream opened or reopened. */
34484
34625
  replicaLinkOpened(workspace) {
34485
34626
  __privateGet(this, _followLane).reconnected(workspace);
@@ -34511,13 +34652,17 @@
34511
34652
  this.reportFollows();
34512
34653
  }
34513
34654
  /** Publish, application-wide, how many follows this peer keeps up with and how many are in sync. */
34514
- reportFollows(force = false) {
34655
+ reportFollows(force = false, refreshStreamProgress = true) {
34515
34656
  let workspaces;
34516
34657
  try {
34517
34658
  workspaces = __privateGet(this, _follows2).knownWorkspaces();
34518
34659
  } catch {
34519
34660
  return;
34520
34661
  }
34662
+ const followed = new Set(workspaces);
34663
+ for (const workspace of __privateGet(this, _reportedStreamProgress).keys()) {
34664
+ if (!followed.has(workspace)) __privateGet(this, _reportedStreamProgress).delete(workspace);
34665
+ }
34521
34666
  let settled = 0;
34522
34667
  let live = 0;
34523
34668
  const now2 = __privateMethod(this, _CorrespondenceDesk_instances, nowMillis_fn2).call(this);
@@ -34547,7 +34692,10 @@
34547
34692
  const dueAt2 = state.case === ReplicaFollowPhase.Due || state.case === ReplicaFollowPhase.ReplacingLocal ? state.dueAtUnixMillis : void 0;
34548
34693
  const attempt = state.case === ReplicaFollowPhase.Running || state.case === ReplicaFollowPhase.Offline || state.case === ReplicaFollowPhase.InvalidCredential || state.case === ReplicaFollowPhase.Backoff || state.case === ReplicaFollowPhase.ReplacingLocal ? state.attempt : void 0;
34549
34694
  const activeEffect = state.case === ReplicaFollowPhase.Running ? __privateMethod(this, _CorrespondenceDesk_instances, activeSyncEffect_fn).call(this, workspace) : void 0;
34550
- const stream = this.streamProgress?.(workspace);
34695
+ if (refreshStreamProgress || force || !__privateGet(this, _reportedStreamProgress).has(workspace)) {
34696
+ __privateGet(this, _reportedStreamProgress).set(workspace, this.streamProgress?.(workspace));
34697
+ }
34698
+ const stream = __privateGet(this, _reportedStreamProgress).get(workspace);
34551
34699
  const custodianWarming = __privateMethod(this, _CorrespondenceDesk_instances, warmingPosture_fn).call(this, workspace, state, now2);
34552
34700
  return [create(FollowObservationSchema, {
34553
34701
  workspace,
@@ -34651,7 +34799,7 @@
34651
34799
  [...__privateGet(this, _syncWorkspaces).values()].flatMap((active) => [...active.workspaces])
34652
34800
  );
34653
34801
  const followCandidates = __privateGet(this, _followLane).candidates(activeSyncWorkspaces, excludedWorkspaces);
34654
- this.reportFollows();
34802
+ this.reportFollows(false, false);
34655
34803
  const due2 = [
34656
34804
  ...followCandidates,
34657
34805
  ...[...__privateGet(this, _outboxDueAt).entries()].map(([workspace2, at]) => ({
@@ -35235,6 +35383,7 @@
35235
35383
  _linkReported = new WeakMap();
35236
35384
  _lastClosure = new WeakMap();
35237
35385
  _followsReported = new WeakMap();
35386
+ _reportedStreamProgress = new WeakMap();
35238
35387
  _warming = new WeakMap();
35239
35388
  _recoveredOutboxes = new WeakMap();
35240
35389
  _outboxObservations = new WeakMap();
@@ -37947,6 +38096,11 @@
37947
38096
  residentWorkspaces() {
37948
38097
  return __privateGet(this, _residency5).residentWorkspaces();
37949
38098
  }
38099
+ /** Why this office's kernel trapped, once it has (CAP-965): the kernel port's record, which a desk
38100
+ * that answered the trap as typed paper cannot hide. The host discards the machine on it. */
38101
+ kernelTrap() {
38102
+ return __privateGet(this, _kernel28).kernelTrap();
38103
+ }
37950
38104
  retentionOutstandingDetails() {
37951
38105
  return __privateGet(this, _residency5).retentionOutstandingDetails();
37952
38106
  }
@@ -38225,7 +38379,7 @@
38225
38379
  const yieldedRequest = resumed ?? request;
38226
38380
  const continued = yieldedRequest.command.case === "continueCorrespondence" ? yieldedRequest.command.value.workId : void 0;
38227
38381
  const background = continued === void 0 ? __privateGet(this, _backgroundPapers).has(yieldedRequest.requestId) : __privateGet(this, _backgroundWork).has(continued);
38228
- const foreground = !background && (continued === void 0 ? yieldedRequest.command.case !== "socketReceipt" : __privateGet(this, _foregroundWork).delete(continued));
38382
+ const foreground = !background && (continued === void 0 ? !["socketReceipt", "networkRestored", "listWorkspaces"].includes(yieldedRequest.command.case ?? "") : __privateGet(this, _foregroundWork).delete(continued));
38229
38383
  if (background) {
38230
38384
  const held = __privateMethod(this, _PeerOffice_instances, yieldBackground_fn).call(this, yieldedRequest, continued);
38231
38385
  if (held) return { responseProtobuf: toBinary(RuntimeResponseSchema, held) };
@@ -38410,6 +38564,14 @@
38410
38564
  let pendingWorkId;
38411
38565
  let pendingEffectId;
38412
38566
  try {
38567
+ if (request.command.case === "networkRestored") {
38568
+ const linksRetried = __privateGet(this, _live3).networkRestored();
38569
+ __privateGet(this, _correspondence3).networkRestored();
38570
+ return __privateMethod(this, _PeerOffice_instances, response_fn).call(this, request, {
38571
+ case: "networkRestored",
38572
+ value: create(NetworkRestoredSchema, { linksRetried })
38573
+ });
38574
+ }
38413
38575
  if (request.command.case === "socketReceipt") {
38414
38576
  const rung = /* @__PURE__ */ new Set();
38415
38577
  __privateSet(this, _rungThisReceipt, rung);
@@ -38519,6 +38681,7 @@
38519
38681
  }
38520
38682
  }
38521
38683
  switch (request.command.case) {
38684
+ case "networkRestored":
38522
38685
  case "socketReceipt":
38523
38686
  throw new Error("socket receipts must enter through the peer lifecycle");
38524
38687
  case "bindSession": {
@@ -39546,6 +39709,7 @@
39546
39709
  correspondenceHolds: () => peer2.correspondenceHolds(),
39547
39710
  residentObservation: (workspace) => peer2.residentObservation(workspace),
39548
39711
  residentWorkspaces: () => peer2.residentWorkspaces(),
39712
+ kernelTrap: () => peer2.kernelTrap(),
39549
39713
  drainEvents,
39550
39714
  runBackground,
39551
39715
  close() {