@cobotar/protocol 0.20.2 → 0.20.4

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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # CobotAR-Protocol
2
2
  A collection of protobuf messages for the CobotAR-project
3
3
 
4
- Current version: 0.20.2
4
+ Current version: 0.20.4
5
5
 
6
6
  ## Documentation
7
7
  Find it here: [documentation/README.md](documentation/README.md)
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file resources/v1/model.proto.
15
15
  */
16
16
  export const file_resources_v1_model: GenFile = /*@__PURE__*/
17
- fileDesc("ChhyZXNvdXJjZXMvdjEvbW9kZWwucHJvdG8SDHJlc291cmNlcy52MSLbAQoOU3RvcmVkQXNzZXRSZWYSPwoHYmFja2VuZBgBIAEoDjIhLnJlc291cmNlcy52MS5Nb2RlbFN0b3JhZ2VCYWNrZW5kQgu6SAjIAQGCAQIQARIOCgZidWNrZXQYAiABKAkSEgoKb2JqZWN0X2tleRgDIAEoCRIYCgN1cmkYBCABKAlCC7pICNgBAXIDiAEBEhAKCGZpbGVuYW1lGAUgASgJEhQKDGNvbnRlbnRfdHlwZRgGIAEoCRISCgpzaXplX2J5dGVzGAcgASgEEg4KBnNoYTI1NhgIIAEoCSLTBAoNTW9kZWxBcnRpZmFjdBIKCgJpZBgBIAEoCRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEaWNvbhgEIAEoCRIxCgVncm91cBgFIAEoDjIYLnJlc291cmNlcy52MS5Nb2RlbEdyb3VwQgi6SAWCAQIQARI2CgZvcmlnaW4YBiABKA4yGS5yZXNvdXJjZXMudjEuTW9kZWxPcmlnaW5CC7pICMgBAYIBAhABEjYKBmZvcm1hdBgHIAEoDjIZLnJlc291cmNlcy52MS5Nb2RlbEZvcm1hdEILukgIyAEBggECEAESMwoFYXNzZXQYCCABKAsyHC5yZXNvdXJjZXMudjEuU3RvcmVkQXNzZXRSZWZCBrpIA8gBARIvCgl0aHVtYm5haWwYCSABKAsyHC5yZXNvdXJjZXMudjEuU3RvcmVkQXNzZXRSZWYSDwoHdmVyc2lvbhgKIAEoCRIyCgR1bml0GAsgASgOMhcucmVzb3VyY2VzLnYxLk1vZGVsVW5pdEILukgIyAEBggECEAESNQoHdXBfYXhpcxgMIAEoDjIXLnJlc291cmNlcy52MS5Nb2RlbEF4aXNCC7pICMgBAYIBAhABEjoKDGZvcndhcmRfYXhpcxgNIAEoDjIXLnJlc291cmNlcy52MS5Nb2RlbEF4aXNCC7pICMgBAYIBAhABEjkKE2V4dGVybmFsX3JlZmVyZW5jZXMYDiADKAsyHC5jb21tb24udjEuRXh0ZXJuYWxSZWZlcmVuY2UiPAoOTW9kZWxBcnRpZmFjdHMSKgoFaXRlbXMYASADKAsyGy5yZXNvdXJjZXMudjEuTW9kZWxBcnRpZmFjdCq3AQoKTW9kZWxHcm91cBIbChdNT0RFTF9HUk9VUF9VTlNQRUNJRklFRBAAEhQKEE1PREVMX0dST1VQX1BBUlQQARIXChNNT0RFTF9HUk9VUF9QUk9EVUNUEAISFAoQTU9ERUxfR1JPVVBfVE9PTBADEhUKEU1PREVMX0dST1VQX1JPQk9UEAQSGQoVTU9ERUxfR1JPVVBfQ09OVEFJTkVSEAUSFQoRTU9ERUxfR1JPVVBfQVNTRVQQBip8CgtNb2RlbE9yaWdpbhIcChhNT0RFTF9PUklHSU5fVU5TUEVDSUZJRUQQABIZChVNT0RFTF9PUklHSU5fQlVJTFRfSU4QARIZChVNT0RFTF9PUklHSU5fVVBMT0FERUQQAhIZChVNT0RFTF9PUklHSU5fRVhURVJOQUwQAyqyAQoLTW9kZWxGb3JtYXQSHAoYTU9ERUxfRk9STUFUX1VOU1BFQ0lGSUVEEAASFAoQTU9ERUxfRk9STUFUX0dMQhABEhUKEU1PREVMX0ZPUk1BVF9HTFRGEAISFAoQTU9ERUxfRk9STUFUX09CShADEhUKEU1PREVMX0ZPUk1BVF9TVEVQEAQSFAoQTU9ERUxfRk9STUFUX1NUTBAFEhUKEU1PREVMX0ZPUk1BVF9VU0RaEAYq5wEKCU1vZGVsVW5pdBIaChZNT0RFTF9VTklUX1VOU1BFQ0lGSUVEEAASGQoVTU9ERUxfVU5JVF9NSUxMSU1FVEVSEAESGQoVTU9ERUxfVU5JVF9DRU5USU1FVEVSEAISFAoQTU9ERUxfVU5JVF9NRVRFUhADEhgKFE1PREVMX1VOSVRfS0lMT01FVEVSEAQSEwoPTU9ERUxfVU5JVF9JTkNIEAoSEwoPTU9ERUxfVU5JVF9GT09UEAsSEwoPTU9ERUxfVU5JVF9ZQVJEEAwSGQoVTU9ERUxfVU5JVF9NSUNST01FVEVSEBQqyQEKCU1vZGVsQXhpcxIaChZNT0RFTF9BWElTX1VOU1BFQ0lGSUVEEAASGQoVTU9ERUxfQVhJU19QT1NJVElWRV9YEAESGQoVTU9ERUxfQVhJU19ORUdBVElWRV9YEAISGQoVTU9ERUxfQVhJU19QT1NJVElWRV9ZEAMSGQoVTU9ERUxfQVhJU19ORUdBVElWRV9ZEAQSGQoVTU9ERUxfQVhJU19QT1NJVElWRV9aEAUSGQoVTU9ERUxfQVhJU19ORUdBVElWRV9aEAYqmgIKE01vZGVsU3RvcmFnZUJhY2tlbmQSJQohTU9ERUxfU1RPUkFHRV9CQUNLRU5EX1VOU1BFQ0lGSUVEEAASIgoeTU9ERUxfU1RPUkFHRV9CQUNLRU5EX0JVSUxUX0lOEAESKwonTU9ERUxfU1RPUkFHRV9CQUNLRU5EX05BVFNfT0JKRUNUX1NUT1JFEAISHAoYTU9ERUxfU1RPUkFHRV9CQUNLRU5EX1MzEAMSHwobTU9ERUxfU1RPUkFHRV9CQUNLRU5EX01JTklPEAQSJAogTU9ERUxfU1RPUkFHRV9CQUNLRU5EX0xPQ0FMX0ZJTEUQBRImCiJNT0RFTF9TVE9SQUdFX0JBQ0tFTkRfRVhURVJOQUxfVVJMEAZCtwEKEGNvbS5yZXNvdXJjZXMudjFCCk1vZGVsUHJvdG9QAVo9Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Jlc291cmNlcy92MTtyZXNvdXJjZXN2MaICA1JYWKoCFU1lc3NhZ2VzLlJlc291cmNlcy5WMcoCDFJlc291cmNlc1xWMeICGFJlc291cmNlc1xWMVxHUEJNZXRhZGF0YeoCDVJlc291cmNlczo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_external_references, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("ChhyZXNvdXJjZXMvdjEvbW9kZWwucHJvdG8SDHJlc291cmNlcy52MSKeBAoNQXNzZXRMb2NhdGlvbhI/CgdiYWNrZW5kGAEgASgOMiEucmVzb3VyY2VzLnYxLk1vZGVsU3RvcmFnZUJhY2tlbmRCC7pICMgBAYIBAhABEg4KBmJ1Y2tldBgCIAEoCRISCgpvYmplY3Rfa2V5GAMgASgJEhgKA3VyaRgEIAEoCUILukgI2AEBcgOIAQESEAoIZmlsZW5hbWUYBSABKAkSFAoMY29udGVudF90eXBlGAYgASgJEhIKCnNpemVfYnl0ZXMYByABKAQSKwoGc2hhMjU2GAggASgJQhu6SBjYAQFyEzIRXlthLWZBLUYwLTldezY0fSQ6pAK6SKACGp0CCh9hc3NldF9sb2NhdGlvbi5iYWNrZW5kX2xvY2F0aW9uEilhc3NldCBsb2NhdGlvbiBtdXN0IG1hdGNoIHN0b3JhZ2UgYmFja2VuZBrOASh0aGlzLmJhY2tlbmQgPT0gMSAmJiB0aGlzLmZpbGVuYW1lICE9ICcnKSB8fCAodGhpcy5iYWNrZW5kIGluIFsyLCAzLCA0XSAmJiB0aGlzLmJ1Y2tldCAhPSAnJyAmJiB0aGlzLm9iamVjdF9rZXkgIT0gJycpIHx8ICh0aGlzLmJhY2tlbmQgPT0gNSAmJiB0aGlzLmZpbGVuYW1lICE9ICcnKSB8fCAodGhpcy5iYWNrZW5kID09IDYgJiYgdGhpcy51cmkgIT0gJycpIt8GCg1Nb2RlbEFzc2V0UmVmEhgKAmlkGAEgASgJQgy6SAnIAQFyBIDsMAESNQoIbG9jYXRpb24YAiABKAsyGy5yZXNvdXJjZXMudjEuQXNzZXRMb2NhdGlvbkIGukgDyAEBEjsKBmZvcm1hdBgDIAEoDjIeLnJlc291cmNlcy52MS5Nb2RlbEFzc2V0Rm9ybWF0Qgu6SAjIAQGCAQIQARIyCgR1bml0GAQgASgOMhcucmVzb3VyY2VzLnYxLk1vZGVsVW5pdEILukgIyAEBggECEAESNQoHdXBfYXhpcxgFIAEoDjIXLnJlc291cmNlcy52MS5Nb2RlbEF4aXNCC7pICMgBAYIBAhABEjoKDGZvcndhcmRfYXhpcxgGIAEoDjIXLnJlc291cmNlcy52MS5Nb2RlbEF4aXNCC7pICMgBAYIBAhABEjcKBHJvbGUYByABKA4yHC5yZXNvdXJjZXMudjEuTW9kZWxBc3NldFJvbGVCC7pICMgBAYIBAhABEigKFWRlcml2ZWRfZnJvbV9hc3NldF9pZBgIIAEoCUIJukgGcgSA7DABOrUDukixAxpvCh5tb2RlbF9hc3NldF9yZWYuYXhlc19kaWZmZXJlbnQSKnVwX2F4aXMgYW5kIGZvcndhcmRfYXhpcyBtdXN0IGJlIGRpZmZlcmVudBohdGhpcy51cF9heGlzICE9IHRoaXMuZm9yd2FyZF9heGlzGpABCiJtb2RlbF9hc3NldF9yZWYuZGVyaXZlZF9oYXNfc291cmNlEjZkZXJpdmVkIG1vZGVsIGFzc2V0cyBtdXN0IGRlZmluZSBkZXJpdmVkX2Zyb21fYXNzZXRfaWQaMnRoaXMucm9sZSAhPSAzIHx8IHRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkICE9ICcnGqoBCiJtb2RlbF9hc3NldF9yZWYubm9fc2VsZl9kZXJpdmF0aW9uEjlkZXJpdmVkX2Zyb21fYXNzZXRfaWQgbXVzdCBub3QgcmVmZXJlbmNlIHRoZSBhc3NldCBpdHNlbGYaSXRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkID09ICcnIHx8IHRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkICE9IHRoaXMuaWQi+gIKDUltYWdlQXNzZXRSZWYSGAoCaWQYASABKAlCDLpICcgBAXIEgOwwARI1Cghsb2NhdGlvbhgCIAEoCzIbLnJlc291cmNlcy52MS5Bc3NldExvY2F0aW9uQga6SAPIAQESOwoGZm9ybWF0GAMgASgOMh4ucmVzb3VyY2VzLnYxLkltYWdlQXNzZXRGb3JtYXRCC7pICMgBAYIBAhABEigKFWRlcml2ZWRfZnJvbV9hc3NldF9pZBgEIAEoCUIJukgGcgSA7DABOrABukisARqpAQohaW1hZ2VfYXNzZXRfcmVmLm5vX3NlbGZfcmVmZXJlbmNlEjlkZXJpdmVkX2Zyb21fYXNzZXRfaWQgbXVzdCBub3QgcmVmZXJlbmNlIHRoZSBhc3NldCBpdHNlbGYaSXRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkID09ICcnIHx8IHRoaXMuZGVyaXZlZF9mcm9tX2Fzc2V0X2lkICE9IHRoaXMuaWQi+QIKD1NpZGVjYXJBc3NldFJlZhIYCgJpZBgBIAEoCUIMukgJyAEBcgSA7DABEjUKCGxvY2F0aW9uGAIgASgLMhsucmVzb3VyY2VzLnYxLkFzc2V0TG9jYXRpb25CBrpIA8gBARI9CgZmb3JtYXQYAyABKA4yIC5yZXNvdXJjZXMudjEuU2lkZWNhckFzc2V0Rm9ybWF0Qgu6SAjIAQGCAQIQARImChNhc3NvY2lhdGVkX2Fzc2V0X2lkGAQgASgJQgm6SAZyBIDsMAE6rQG6SKkBGqYBCiRzaWRlY2FyX2Fzc2V0X3JlZi5ub19zZWxmX2Rlcml2YXRpb24SN2Fzc29jaWF0ZWRfYXNzZXRfaWQgbXVzdCBub3QgcmVmZXJlbmNlIHRoZSBhc3NldCBpdHNlbGYaRXRoaXMuYXNzb2NpYXRlZF9hc3NldF9pZCA9PSAnJyB8fCB0aGlzLmFzc29jaWF0ZWRfYXNzZXRfaWQgIT0gdGhpcy5pZCKXBAoNTW9kZWxBcnRpZmFjdBIVCgJpZBgBIAEoCUIJukgGcgSI8QQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjQKBWdyb3VwGAUgASgOMhgucmVzb3VyY2VzLnYxLk1vZGVsR3JvdXBCC7pICMgBAYIBAhABEjIKBWFzc2V0GAYgASgLMhsucmVzb3VyY2VzLnYxLk1vZGVsQXNzZXRSZWZCBrpIA8gBARIuCgl0aHVtYm5haWwYByABKAsyGy5yZXNvdXJjZXMudjEuSW1hZ2VBc3NldFJlZhIxCgxhbHRlcm5hdGl2ZXMYCCADKAsyGy5yZXNvdXJjZXMudjEuTW9kZWxBc3NldFJlZhIvCghzaWRlY2FycxgJIAMoCzIdLnJlc291cmNlcy52MS5TaWRlY2FyQXNzZXRSZWYSDwoHdmVyc2lvbhgKIAEoCRI5ChNleHRlcm5hbF9yZWZlcmVuY2VzGAsgAygLMhwuY29tbW9uLnYxLkV4dGVybmFsUmVmZXJlbmNlOmm6SGYaZAohbW9kZWxfYXJ0aWZhY3QucHJpbWFyeV9hc3NldF9yb2xlEiRwcmltYXJ5IGFzc2V0IG11c3QgaGF2ZSBydW50aW1lIHJvbGUaGXRoaXMuYXNzZXQucm9sZSBpbiBbMSwgMl0iPAoOTW9kZWxBcnRpZmFjdHMSKgoFaXRlbXMYASADKAsyGy5yZXNvdXJjZXMudjEuTW9kZWxBcnRpZmFjdCrVAQoKTW9kZWxHcm91cBIbChdNT0RFTF9HUk9VUF9VTlNQRUNJRklFRBAAEhcKE01PREVMX0dST1VQX1BST0RVQ1QQChIcChhNT0RFTF9HUk9VUF9TVUJfQVNTRU1CTFkQCxIUChBNT0RFTF9HUk9VUF9QQVJUEAwSFAoQTU9ERUxfR1JPVVBfVE9PTBAUEhUKEU1PREVMX0dST1VQX1JPQk9UEB4SGQoVTU9ERUxfR1JPVVBfQ09OVEFJTkVSECgSFQoRTU9ERUxfR1JPVVBfQVNTRVQQMirJAQoOTW9kZWxBc3NldFJvbGUSIAocTU9ERUxfQVNTRVRfUk9MRV9VTlNQRUNJRklFRBAAEhwKGE1PREVMX0FTU0VUX1JPTEVfUlVOVElNRRABEhsKF01PREVMX0FTU0VUX1JPTEVfU09VUkNFEAISHAoYTU9ERUxfQVNTRVRfUk9MRV9ERVJJVkVEEAMSHAoYTU9ERUxfQVNTRVRfUk9MRV9QUkVWSUVXEAQSHgoaTU9ERUxfQVNTRVRfUk9MRV9DT0xMSVNJT04QBSq2AgoQTW9kZWxBc3NldEZvcm1hdBIiCh5NT0RFTF9BU1NFVF9GT1JNQVRfVU5TUEVDSUZJRUQQABIaChZNT0RFTF9BU1NFVF9GT1JNQVRfR0xCEAESGwoXTU9ERUxfQVNTRVRfRk9STUFUX0dMVEYQAhIaChZNT0RFTF9BU1NFVF9GT1JNQVRfT0JKEAMSGgoWTU9ERUxfQVNTRVRfRk9STUFUX0ZCWBAEEhoKFk1PREVMX0FTU0VUX0ZPUk1BVF9TVEwQBRIbChdNT0RFTF9BU1NFVF9GT1JNQVRfU1RFUBAGEhsKF01PREVMX0FTU0VUX0ZPUk1BVF9JR0VTEAcSGgoWTU9ERUxfQVNTRVRfRk9STUFUX1VTRBAIEhsKF01PREVMX0FTU0VUX0ZPUk1BVF9VU0RaEAkqtQEKElNpZGVjYXJBc3NldEZvcm1hdBIkCiBTSURFQ0FSX0FTU0VUX0ZPUk1BVF9VTlNQRUNJRklFRBAAEhwKGFNJREVDQVJfQVNTRVRfRk9STUFUX01UTBBREh4KGlNJREVDQVJfQVNTRVRfRk9STUFUX0JBU0lTEFISHQoZU0lERUNBUl9BU1NFVF9GT1JNQVRfS1RYMhBTEhwKGFNJREVDQVJfQVNTRVRfRk9STUFUX1pJUBBUKqgBChBJbWFnZUFzc2V0Rm9ybWF0EiIKHklNQUdFX0FTU0VUX0ZPUk1BVF9VTlNQRUNJRklFRBAAEhoKFklNQUdFX0FTU0VUX0ZPUk1BVF9QTkcQZBIbChdJTUFHRV9BU1NFVF9GT1JNQVRfSlBFRxBlEhsKF0lNQUdFX0FTU0VUX0ZPUk1BVF9XRUJQEGYSGgoWSU1BR0VfQVNTRVRfRk9STUFUX1NWRxBnKucBCglNb2RlbFVuaXQSGgoWTU9ERUxfVU5JVF9VTlNQRUNJRklFRBAAEhkKFU1PREVMX1VOSVRfTUlMTElNRVRFUhABEhkKFU1PREVMX1VOSVRfQ0VOVElNRVRFUhACEhQKEE1PREVMX1VOSVRfTUVURVIQAxIYChRNT0RFTF9VTklUX0tJTE9NRVRFUhAEEhMKD01PREVMX1VOSVRfSU5DSBAKEhMKD01PREVMX1VOSVRfRk9PVBALEhMKD01PREVMX1VOSVRfWUFSRBAMEhkKFU1PREVMX1VOSVRfTUlDUk9NRVRFUhAUKskBCglNb2RlbEF4aXMSGgoWTU9ERUxfQVhJU19VTlNQRUNJRklFRBAAEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWBABEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWBACEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWRADEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWRAEEhkKFU1PREVMX0FYSVNfUE9TSVRJVkVfWhAFEhkKFU1PREVMX0FYSVNfTkVHQVRJVkVfWhAGKpoCChNNb2RlbFN0b3JhZ2VCYWNrZW5kEiUKIU1PREVMX1NUT1JBR0VfQkFDS0VORF9VTlNQRUNJRklFRBAAEiIKHk1PREVMX1NUT1JBR0VfQkFDS0VORF9CVUlMVF9JThABEisKJ01PREVMX1NUT1JBR0VfQkFDS0VORF9OQVRTX09CSkVDVF9TVE9SRRACEhwKGE1PREVMX1NUT1JBR0VfQkFDS0VORF9TMxADEh8KG01PREVMX1NUT1JBR0VfQkFDS0VORF9NSU5JTxAEEiQKIE1PREVMX1NUT1JBR0VfQkFDS0VORF9MT0NBTF9GSUxFEAUSJgoiTU9ERUxfU1RPUkFHRV9CQUNLRU5EX0VYVEVSTkFMX1VSTBAGQrcBChBjb20ucmVzb3VyY2VzLnYxQgpNb2RlbFByb3RvUAFaPWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9yZXNvdXJjZXMvdjE7cmVzb3VyY2VzdjGiAgNSWFiqAhVNZXNzYWdlcy5SZXNvdXJjZXMuVjHKAgxSZXNvdXJjZXNcVjHiAhhSZXNvdXJjZXNcVjFcR1BCTWV0YWRhdGHqAg1SZXNvdXJjZXM6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_external_references, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  *
@@ -42,9 +42,9 @@ export const file_resources_v1_model: GenFile = /*@__PURE__*/
42
42
  * content_type: "model/gltf-binary"
43
43
  * }
44
44
  *
45
- * @generated from message resources.v1.StoredAssetRef
45
+ * @generated from message resources.v1.AssetLocation
46
46
  */
47
- export type StoredAssetRef = Message<"resources.v1.StoredAssetRef"> & {
47
+ export type AssetLocation = Message<"resources.v1.AssetLocation"> & {
48
48
  /**
49
49
  * @generated from field: resources.v1.ModelStorageBackend backend = 1;
50
50
  */
@@ -56,6 +56,8 @@ export type StoredAssetRef = Message<"resources.v1.StoredAssetRef"> & {
56
56
  bucket: string;
57
57
 
58
58
  /**
59
+ * storage identifier
60
+ *
59
61
  * @generated from field: string object_key = 3;
60
62
  */
61
63
  objectKey: string;
@@ -66,11 +68,15 @@ export type StoredAssetRef = Message<"resources.v1.StoredAssetRef"> & {
66
68
  uri: string;
67
69
 
68
70
  /**
71
+ * original/display/download filename
72
+ *
69
73
  * @generated from field: string filename = 5;
70
74
  */
71
75
  filename: string;
72
76
 
73
77
  /**
78
+ * Examples: MODEL_ASSET_FORMAT_GLB → model/gltf-binary, MODEL_ASSET_FORMAT_GLTF → model/gltf+json, MODEL_ASSET_FORMAT_OBJ → model/obj or text/plain, MODEL_ASSET_FORMAT_STL → model/stl, MODEL_ASSET_FORMAT_STEP → model/step, IMAGE_ASSET_FORMAT_PNG → image/png, IMAGE_ASSET_FORMAT_JPEG → image/jpeg, IMAGE_ASSET_FORMAT_WEBP → image/webp, ASSET_FORMAT_ZIP → application/zip,
79
+ *
74
80
  * @generated from field: string content_type = 6;
75
81
  */
76
82
  contentType: string;
@@ -87,97 +93,209 @@ export type StoredAssetRef = Message<"resources.v1.StoredAssetRef"> & {
87
93
  };
88
94
 
89
95
  /**
90
- * Describes the message resources.v1.StoredAssetRef.
91
- * Use `create(StoredAssetRefSchema)` to create a new message.
96
+ * Describes the message resources.v1.AssetLocation.
97
+ * Use `create(AssetLocationSchema)` to create a new message.
92
98
  */
93
- export const StoredAssetRefSchema: GenMessage<StoredAssetRef> = /*@__PURE__*/
99
+ export const AssetLocationSchema: GenMessage<AssetLocation> = /*@__PURE__*/
94
100
  messageDesc(file_resources_v1_model, 0);
95
101
 
96
102
  /**
97
- * @generated from message resources.v1.ModelArtifact
103
+ * @generated from message resources.v1.ModelAssetRef
98
104
  */
99
- export type ModelArtifact = Message<"resources.v1.ModelArtifact"> & {
105
+ export type ModelAssetRef = Message<"resources.v1.ModelAssetRef"> & {
100
106
  /**
101
107
  * @generated from field: string id = 1;
102
108
  */
103
109
  id: string;
104
110
 
105
111
  /**
106
- * @generated from field: string name = 2;
112
+ * @generated from field: resources.v1.AssetLocation location = 2;
107
113
  */
108
- name: string;
114
+ location?: AssetLocation;
109
115
 
110
116
  /**
111
- * @generated from field: string description = 3;
117
+ * @generated from field: resources.v1.ModelAssetFormat format = 3;
112
118
  */
113
- description: string;
119
+ format: ModelAssetFormat;
114
120
 
115
121
  /**
116
- * @generated from field: string icon = 4;
122
+ * Unit used for the model geometry coordinates.
123
+ * Typically "mm", "cm", "m", "in", etc.
124
+ * Used to scale the model correctly when loading.
125
+ *
126
+ * @generated from field: resources.v1.ModelUnit unit = 4;
117
127
  */
118
- icon: string;
128
+ unit: ModelUnit;
119
129
 
120
130
  /**
121
- * @generated from field: resources.v1.ModelGroup group = 5;
131
+ * Defines which axis is "up" in the source asset coordinate system.
132
+ * Examples: Unity: Y, Blender: Z, many CAD systems: Z
133
+ *
134
+ * @generated from field: resources.v1.ModelAxis up_axis = 5;
122
135
  */
123
- group: ModelGroup;
136
+ upAxis: ModelAxis;
124
137
 
125
138
  /**
126
- * @generated from field: resources.v1.ModelOrigin origin = 6;
139
+ * Defines which axis is "forward" in the source asset coordinate system.
140
+ * Examples: Unity: Z, Blender: -Y, many CAD systems: X/Y
141
+ *
142
+ * @generated from field: resources.v1.ModelAxis forward_axis = 6;
127
143
  */
128
- origin: ModelOrigin;
144
+ forwardAxis: ModelAxis;
129
145
 
130
146
  /**
131
- * @generated from field: resources.v1.ModelFormat format = 7;
147
+ * @generated from field: resources.v1.ModelAssetRole role = 7;
132
148
  */
133
- format: ModelFormat;
149
+ role: ModelAssetRole;
134
150
 
135
151
  /**
136
- * Primary loadable model asset.
152
+ * Optional link to the source asset this asset was generated from.
153
+ * Example: a runtime GLB can point to the original imported OBJ/STEP asset.
137
154
  *
138
- * @generated from field: resources.v1.StoredAssetRef asset = 8;
155
+ * @generated from field: string derived_from_asset_id = 8;
139
156
  */
140
- asset?: StoredAssetRef;
157
+ derivedFromAssetId: string;
158
+ };
159
+
160
+ /**
161
+ * Describes the message resources.v1.ModelAssetRef.
162
+ * Use `create(ModelAssetRefSchema)` to create a new message.
163
+ */
164
+ export const ModelAssetRefSchema: GenMessage<ModelAssetRef> = /*@__PURE__*/
165
+ messageDesc(file_resources_v1_model, 1);
141
166
 
167
+ /**
168
+ * @generated from message resources.v1.ImageAssetRef
169
+ */
170
+ export type ImageAssetRef = Message<"resources.v1.ImageAssetRef"> & {
142
171
  /**
143
- * Optional preview image.
172
+ * @generated from field: string id = 1;
173
+ */
174
+ id: string;
175
+
176
+ /**
177
+ * @generated from field: resources.v1.AssetLocation location = 2;
178
+ */
179
+ location?: AssetLocation;
180
+
181
+ /**
182
+ * @generated from field: resources.v1.ImageAssetFormat format = 3;
183
+ */
184
+ format: ImageAssetFormat;
185
+
186
+ /**
187
+ * Optional link to the model asset this image was generated from.
188
+ * Example: a PNG thumbnail can point to the GLB/OBJ it previews.
144
189
  *
145
- * @generated from field: resources.v1.StoredAssetRef thumbnail = 9;
190
+ * @generated from field: string derived_from_asset_id = 4;
146
191
  */
147
- thumbnail?: StoredAssetRef;
192
+ derivedFromAssetId: string;
193
+ };
194
+
195
+ /**
196
+ * Describes the message resources.v1.ImageAssetRef.
197
+ * Use `create(ImageAssetRefSchema)` to create a new message.
198
+ */
199
+ export const ImageAssetRefSchema: GenMessage<ImageAssetRef> = /*@__PURE__*/
200
+ messageDesc(file_resources_v1_model, 2);
148
201
 
202
+ /**
203
+ * @generated from message resources.v1.SidecarAssetRef
204
+ */
205
+ export type SidecarAssetRef = Message<"resources.v1.SidecarAssetRef"> & {
149
206
  /**
150
- * @generated from field: string version = 10;
207
+ * @generated from field: string id = 1;
151
208
  */
152
- version: string;
209
+ id: string;
153
210
 
154
211
  /**
155
- * Unit used for the model geometry coordinates.
156
- * Typically "mm", "cm", "m", "in", etc.
157
- * Used to scale the model correctly when loading.
212
+ * @generated from field: resources.v1.AssetLocation location = 2;
213
+ */
214
+ location?: AssetLocation;
215
+
216
+ /**
217
+ * @generated from field: resources.v1.SidecarAssetFormat format = 3;
218
+ */
219
+ format: SidecarAssetFormat;
220
+
221
+ /**
222
+ * Optional link to the model asset this sidecar belongs to or was generated from.
223
+ * Example: an MTL can point to the OBJ it describes; a KTX2 texture can point to a GLB.
158
224
  *
159
- * @generated from field: resources.v1.ModelUnit unit = 11;
225
+ * @generated from field: string associated_asset_id = 4;
160
226
  */
161
- unit: ModelUnit;
227
+ associatedAssetId: string;
228
+ };
229
+
230
+ /**
231
+ * Describes the message resources.v1.SidecarAssetRef.
232
+ * Use `create(SidecarAssetRefSchema)` to create a new message.
233
+ */
234
+ export const SidecarAssetRefSchema: GenMessage<SidecarAssetRef> = /*@__PURE__*/
235
+ messageDesc(file_resources_v1_model, 3);
162
236
 
237
+ /**
238
+ * @generated from message resources.v1.ModelArtifact
239
+ */
240
+ export type ModelArtifact = Message<"resources.v1.ModelArtifact"> & {
163
241
  /**
164
- * Defines which axis is "up" in the source asset coordinate system.
165
- * Examples: Unity: Y, Blender: Y, many CAD systems: Z
242
+ * @generated from field: string id = 1;
243
+ */
244
+ id: string;
245
+
246
+ /**
247
+ * @generated from field: string name = 2;
248
+ */
249
+ name: string;
250
+
251
+ /**
252
+ * @generated from field: string icon = 3;
253
+ */
254
+ icon: string;
255
+
256
+ /**
257
+ * @generated from field: string description = 4;
258
+ */
259
+ description: string;
260
+
261
+ /**
262
+ * @generated from field: resources.v1.ModelGroup group = 5;
263
+ */
264
+ group: ModelGroup;
265
+
266
+ /**
267
+ * Primary loadable model asset.
166
268
  *
167
- * @generated from field: resources.v1.ModelAxis up_axis = 12;
269
+ * @generated from field: resources.v1.ModelAssetRef asset = 6;
168
270
  */
169
- upAxis: ModelAxis;
271
+ asset?: ModelAssetRef;
170
272
 
171
273
  /**
172
- * Defines which axis is "forward" in the source asset coordinate system.
173
- * Examples: Unity: Z, Blender: -Y, many CAD systems: X/Y
274
+ * Optional preview image.
174
275
  *
175
- * @generated from field: resources.v1.ModelAxis forward_axis = 13;
276
+ * @generated from field: resources.v1.ImageAssetRef thumbnail = 7;
176
277
  */
177
- forwardAxis: ModelAxis;
278
+ thumbnail?: ImageAssetRef;
279
+
280
+ /**
281
+ * Source, derived, preview, or collision model assets.
282
+ *
283
+ * @generated from field: repeated resources.v1.ModelAssetRef alternatives = 8;
284
+ */
285
+ alternatives: ModelAssetRef[];
286
+
287
+ /**
288
+ * @generated from field: repeated resources.v1.SidecarAssetRef sidecars = 9;
289
+ */
290
+ sidecars: SidecarAssetRef[];
291
+
292
+ /**
293
+ * @generated from field: string version = 10;
294
+ */
295
+ version: string;
178
296
 
179
297
  /**
180
- * @generated from field: repeated common.v1.ExternalReference external_references = 14;
298
+ * @generated from field: repeated common.v1.ExternalReference external_references = 11;
181
299
  */
182
300
  externalReferences: ExternalReference[];
183
301
  };
@@ -187,7 +305,7 @@ export type ModelArtifact = Message<"resources.v1.ModelArtifact"> & {
187
305
  * Use `create(ModelArtifactSchema)` to create a new message.
188
306
  */
189
307
  export const ModelArtifactSchema: GenMessage<ModelArtifact> = /*@__PURE__*/
190
- messageDesc(file_resources_v1_model, 1);
308
+ messageDesc(file_resources_v1_model, 4);
191
309
 
192
310
  /**
193
311
  * @generated from message resources.v1.ModelArtifacts
@@ -204,7 +322,7 @@ export type ModelArtifacts = Message<"resources.v1.ModelArtifacts"> & {
204
322
  * Use `create(ModelArtifactsSchema)` to create a new message.
205
323
  */
206
324
  export const ModelArtifactsSchema: GenMessage<ModelArtifacts> = /*@__PURE__*/
207
- messageDesc(file_resources_v1_model, 2);
325
+ messageDesc(file_resources_v1_model, 5);
208
326
 
209
327
  /**
210
328
  * @generated from enum resources.v1.ModelGroup
@@ -216,34 +334,39 @@ export enum ModelGroup {
216
334
  UNSPECIFIED = 0,
217
335
 
218
336
  /**
219
- * @generated from enum value: MODEL_GROUP_PART = 1;
337
+ * @generated from enum value: MODEL_GROUP_PRODUCT = 10;
338
+ */
339
+ PRODUCT = 10,
340
+
341
+ /**
342
+ * @generated from enum value: MODEL_GROUP_SUB_ASSEMBLY = 11;
220
343
  */
221
- PART = 1,
344
+ SUB_ASSEMBLY = 11,
222
345
 
223
346
  /**
224
- * @generated from enum value: MODEL_GROUP_PRODUCT = 2;
347
+ * @generated from enum value: MODEL_GROUP_PART = 12;
225
348
  */
226
- PRODUCT = 2,
349
+ PART = 12,
227
350
 
228
351
  /**
229
- * @generated from enum value: MODEL_GROUP_TOOL = 3;
352
+ * @generated from enum value: MODEL_GROUP_TOOL = 20;
230
353
  */
231
- TOOL = 3,
354
+ TOOL = 20,
232
355
 
233
356
  /**
234
- * @generated from enum value: MODEL_GROUP_ROBOT = 4;
357
+ * @generated from enum value: MODEL_GROUP_ROBOT = 30;
235
358
  */
236
- ROBOT = 4,
359
+ ROBOT = 30,
237
360
 
238
361
  /**
239
- * @generated from enum value: MODEL_GROUP_CONTAINER = 5;
362
+ * @generated from enum value: MODEL_GROUP_CONTAINER = 40;
240
363
  */
241
- CONTAINER = 5,
364
+ CONTAINER = 40,
242
365
 
243
366
  /**
244
- * @generated from enum value: MODEL_GROUP_ASSET = 6;
367
+ * @generated from enum value: MODEL_GROUP_ASSET = 50;
245
368
  */
246
- ASSET = 6,
369
+ ASSET = 50,
247
370
  }
248
371
 
249
372
  /**
@@ -253,82 +376,189 @@ export const ModelGroupSchema: GenEnum<ModelGroup> = /*@__PURE__*/
253
376
  enumDesc(file_resources_v1_model, 0);
254
377
 
255
378
  /**
256
- * @generated from enum resources.v1.ModelOrigin
379
+ * @generated from enum resources.v1.ModelAssetRole
257
380
  */
258
- export enum ModelOrigin {
381
+ export enum ModelAssetRole {
259
382
  /**
260
- * @generated from enum value: MODEL_ORIGIN_UNSPECIFIED = 0;
383
+ * @generated from enum value: MODEL_ASSET_ROLE_UNSPECIFIED = 0;
261
384
  */
262
385
  UNSPECIFIED = 0,
263
386
 
264
387
  /**
265
- * @generated from enum value: MODEL_ORIGIN_BUILT_IN = 1;
388
+ * Preferred asset for runtime loading in clients such as Unity.
389
+ *
390
+ * @generated from enum value: MODEL_ASSET_ROLE_RUNTIME = 1;
266
391
  */
267
- BUILT_IN = 1,
392
+ RUNTIME = 1,
393
+
394
+ /**
395
+ * Original/source CAD or mesh asset imported into the system.
396
+ *
397
+ * @generated from enum value: MODEL_ASSET_ROLE_SOURCE = 2;
398
+ */
399
+ SOURCE = 2,
268
400
 
269
401
  /**
270
- * @generated from enum value: MODEL_ORIGIN_UPLOADED = 2;
402
+ * Converted representation derived from another asset.
403
+ *
404
+ * @generated from enum value: MODEL_ASSET_ROLE_DERIVED = 3;
405
+ */
406
+ DERIVED = 3,
407
+
408
+ /**
409
+ * Lower-detail representation used for preview, web viewers, or performance.
410
+ *
411
+ * @generated from enum value: MODEL_ASSET_ROLE_PREVIEW = 4;
271
412
  */
272
- UPLOADED = 2,
413
+ PREVIEW = 4,
273
414
 
274
415
  /**
275
- * @generated from enum value: MODEL_ORIGIN_EXTERNAL = 3;
416
+ * Collision/physics proxy representation.
417
+ *
418
+ * @generated from enum value: MODEL_ASSET_ROLE_COLLISION = 5;
276
419
  */
277
- EXTERNAL = 3,
420
+ COLLISION = 5,
278
421
  }
279
422
 
280
423
  /**
281
- * Describes the enum resources.v1.ModelOrigin.
424
+ * Describes the enum resources.v1.ModelAssetRole.
282
425
  */
283
- export const ModelOriginSchema: GenEnum<ModelOrigin> = /*@__PURE__*/
426
+ export const ModelAssetRoleSchema: GenEnum<ModelAssetRole> = /*@__PURE__*/
284
427
  enumDesc(file_resources_v1_model, 1);
285
428
 
286
429
  /**
287
- * @generated from enum resources.v1.ModelFormat
430
+ * @generated from enum resources.v1.ModelAssetFormat
288
431
  */
289
- export enum ModelFormat {
432
+ export enum ModelAssetFormat {
290
433
  /**
291
- * @generated from enum value: MODEL_FORMAT_UNSPECIFIED = 0;
434
+ * @generated from enum value: MODEL_ASSET_FORMAT_UNSPECIFIED = 0;
292
435
  */
293
436
  UNSPECIFIED = 0,
294
437
 
295
438
  /**
296
- * @generated from enum value: MODEL_FORMAT_GLB = 1;
439
+ * @generated from enum value: MODEL_ASSET_FORMAT_GLB = 1;
297
440
  */
298
441
  GLB = 1,
299
442
 
300
443
  /**
301
- * @generated from enum value: MODEL_FORMAT_GLTF = 2;
444
+ * @generated from enum value: MODEL_ASSET_FORMAT_GLTF = 2;
302
445
  */
303
446
  GLTF = 2,
304
447
 
305
448
  /**
306
- * @generated from enum value: MODEL_FORMAT_OBJ = 3;
449
+ * @generated from enum value: MODEL_ASSET_FORMAT_OBJ = 3;
307
450
  */
308
451
  OBJ = 3,
309
452
 
310
453
  /**
311
- * @generated from enum value: MODEL_FORMAT_STEP = 4;
454
+ * @generated from enum value: MODEL_ASSET_FORMAT_FBX = 4;
312
455
  */
313
- STEP = 4,
456
+ FBX = 4,
314
457
 
315
458
  /**
316
- * @generated from enum value: MODEL_FORMAT_STL = 5;
459
+ * @generated from enum value: MODEL_ASSET_FORMAT_STL = 5;
317
460
  */
318
461
  STL = 5,
319
462
 
320
463
  /**
321
- * @generated from enum value: MODEL_FORMAT_USDZ = 6;
464
+ * @generated from enum value: MODEL_ASSET_FORMAT_STEP = 6;
322
465
  */
323
- USDZ = 6,
466
+ STEP = 6,
467
+
468
+ /**
469
+ * @generated from enum value: MODEL_ASSET_FORMAT_IGES = 7;
470
+ */
471
+ IGES = 7,
472
+
473
+ /**
474
+ * @generated from enum value: MODEL_ASSET_FORMAT_USD = 8;
475
+ */
476
+ USD = 8,
477
+
478
+ /**
479
+ * @generated from enum value: MODEL_ASSET_FORMAT_USDZ = 9;
480
+ */
481
+ USDZ = 9,
324
482
  }
325
483
 
326
484
  /**
327
- * Describes the enum resources.v1.ModelFormat.
485
+ * Describes the enum resources.v1.ModelAssetFormat.
328
486
  */
329
- export const ModelFormatSchema: GenEnum<ModelFormat> = /*@__PURE__*/
487
+ export const ModelAssetFormatSchema: GenEnum<ModelAssetFormat> = /*@__PURE__*/
330
488
  enumDesc(file_resources_v1_model, 2);
331
489
 
490
+ /**
491
+ * @generated from enum resources.v1.SidecarAssetFormat
492
+ */
493
+ export enum SidecarAssetFormat {
494
+ /**
495
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_UNSPECIFIED = 0;
496
+ */
497
+ UNSPECIFIED = 0,
498
+
499
+ /**
500
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_MTL = 81;
501
+ */
502
+ MTL = 81,
503
+
504
+ /**
505
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_BASIS = 82;
506
+ */
507
+ BASIS = 82,
508
+
509
+ /**
510
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_KTX2 = 83;
511
+ */
512
+ KTX2 = 83,
513
+
514
+ /**
515
+ * @generated from enum value: SIDECAR_ASSET_FORMAT_ZIP = 84;
516
+ */
517
+ ZIP = 84,
518
+ }
519
+
520
+ /**
521
+ * Describes the enum resources.v1.SidecarAssetFormat.
522
+ */
523
+ export const SidecarAssetFormatSchema: GenEnum<SidecarAssetFormat> = /*@__PURE__*/
524
+ enumDesc(file_resources_v1_model, 3);
525
+
526
+ /**
527
+ * @generated from enum resources.v1.ImageAssetFormat
528
+ */
529
+ export enum ImageAssetFormat {
530
+ /**
531
+ * @generated from enum value: IMAGE_ASSET_FORMAT_UNSPECIFIED = 0;
532
+ */
533
+ UNSPECIFIED = 0,
534
+
535
+ /**
536
+ * @generated from enum value: IMAGE_ASSET_FORMAT_PNG = 100;
537
+ */
538
+ PNG = 100,
539
+
540
+ /**
541
+ * @generated from enum value: IMAGE_ASSET_FORMAT_JPEG = 101;
542
+ */
543
+ JPEG = 101,
544
+
545
+ /**
546
+ * @generated from enum value: IMAGE_ASSET_FORMAT_WEBP = 102;
547
+ */
548
+ WEBP = 102,
549
+
550
+ /**
551
+ * @generated from enum value: IMAGE_ASSET_FORMAT_SVG = 103;
552
+ */
553
+ SVG = 103,
554
+ }
555
+
556
+ /**
557
+ * Describes the enum resources.v1.ImageAssetFormat.
558
+ */
559
+ export const ImageAssetFormatSchema: GenEnum<ImageAssetFormat> = /*@__PURE__*/
560
+ enumDesc(file_resources_v1_model, 4);
561
+
332
562
  /**
333
563
  * @generated from enum resources.v1.ModelUnit
334
564
  */
@@ -389,7 +619,7 @@ export enum ModelUnit {
389
619
  * Describes the enum resources.v1.ModelUnit.
390
620
  */
391
621
  export const ModelUnitSchema: GenEnum<ModelUnit> = /*@__PURE__*/
392
- enumDesc(file_resources_v1_model, 3);
622
+ enumDesc(file_resources_v1_model, 5);
393
623
 
394
624
  /**
395
625
  * @generated from enum resources.v1.ModelAxis
@@ -435,7 +665,7 @@ export enum ModelAxis {
435
665
  * Describes the enum resources.v1.ModelAxis.
436
666
  */
437
667
  export const ModelAxisSchema: GenEnum<ModelAxis> = /*@__PURE__*/
438
- enumDesc(file_resources_v1_model, 4);
668
+ enumDesc(file_resources_v1_model, 6);
439
669
 
440
670
  /**
441
671
  * @generated from enum resources.v1.ModelStorageBackend
@@ -481,5 +711,5 @@ export enum ModelStorageBackend {
481
711
  * Describes the enum resources.v1.ModelStorageBackend.
482
712
  */
483
713
  export const ModelStorageBackendSchema: GenEnum<ModelStorageBackend> = /*@__PURE__*/
484
- enumDesc(file_resources_v1_model, 5);
714
+ enumDesc(file_resources_v1_model, 7);
485
715
 
@@ -11,7 +11,7 @@ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
11
11
  * Describes the file validation/v1/predefined_string_rules.proto.
12
12
  */
13
13
  export const file_validation_v1_predefined_string_rules: GenFile = /*@__PURE__*/
14
- fileDesc("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OskBChVwcm9wZXJ0eV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYk04gASgIQnnCSHYKdAocc3RyaW5nLnByb3BlcnR5X2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHktJykpUhNwcm9wZXJ0eUlkQ29tcG9uZW50OvMBCh1yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiUTiABKAhCkwHCSI8BCowBCiRzdHJpbmcucm9ib3RfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHJvYm90IGRlZmluaXRpb24gaWQaNCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfZGVmaW5pdGlvbi0nKSlSGnJvYm90RGVmaW5pdGlvbklkQ29tcG9uZW50OukBChtyb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlU4gASgIQo0BwkiJAQqGAQoic3RyaW5nLnJvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIsdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgaW5zdGFuY2UgaWQaMih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfaW5zdGFuY2UtJykpUhhyb2JvdEluc3RhbmNlSWRDb21wb25lbnQ68wEKHWFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJZOIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5hc3NldF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgYXNzZXQgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9kZWZpbml0aW9uLScpKVIaYXNzZXREZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG2Fzc2V0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiXTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcuYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9pbnN0YW5jZS0nKSlSGGFzc2V0SW5zdGFuY2VJZENvbXBvbmVudDrZAQoYZW52aXJvbm1lbnRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJhOIAEoCEKCAcJIfwp9Ch9zdHJpbmcuZW52aXJvbm1lbnRfaWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBlbnZpcm9ubWVudCBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdlbnZpcm9ubWVudC0nKSlSFmVudmlyb25tZW50SWRDb21wb25lbnQ67gEKHHBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmU4gASgIQpABwkiMAQqJAQojc3RyaW5nLnBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2RlZmluaXRpb24tJykpUhlwYXJ0RGVmaW5pdGlvbklkQ29tcG9uZW50OuQBChpwYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiaTiABKAhCigHCSIYBCoMBCiFzdHJpbmcucGFydF9pbnN0YW5jZV9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgaW5zdGFuY2UgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncGFydF9pbnN0YW5jZS0nKSlSF3BhcnRJbnN0YW5jZUlkQ29tcG9uZW50Ou4BChx0b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJtOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9kZWZpbml0aW9uLScpKVIZdG9vbERlZmluaXRpb25JZENvbXBvbmVudDrPAQoadG9vbF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYnE4gASgIQnbCSHMKcQoYc3RyaW5nLnRvb2xfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rvb2xfaW5zdGFuY2UtJykpUhd0b29sSW5zdGFuY2VJZENvbXBvbmVudDq/AQoTbWFya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxidTiABKAhCc8JIcApuChpzdHJpbmcubWFya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbWFya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21hcmtlci0nKSlSEW1hcmtlcklkQ29tcG9uZW50OsQBChRmaXh0dXJlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxieTiABKAhCdsJIcwpxChtzdHJpbmcuZml4dHVyZV9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZpeHR1cmUgaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZml4dHVyZS0nKSlSEmZpeHR1cmVJZENvbXBvbmVudDrEAQoUc3RhdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYn04gASgIQnbCSHMKcQobc3RyaW5nLnN0YXRpb25faWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzdGF0aW9uIGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3N0YXRpb24tJykpUhJzdGF0aW9uSWRDb21wb25lbnQ6ugEKEnNraWxsX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxigTiABKAhCcMJIbQprChlzdHJpbmcuc2tpbGxfaWRfY29tcG9uZW50EiN0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBza2lsbCBpZBopKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdza2lsbC0nKSlSEHNraWxsSWRDb21wb25lbnQ62AEKGHByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxihTiABKAhCggHCSH8KfQofc3RyaW5nLnByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvY2VzcyBydW4gaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvY2Vzc19ydW4tJykpUhVwcm9jZXNzUnVuSWRDb21wb25lbnQ63wEKGXNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYok4gASgIQocBwkiDAQqAAQogc3RyaW5nLnNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSKnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIHJ1biBpZBowKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdzZXF1ZW5jZV9ydW4tJykpUhZzZXF1ZW5jZVJ1bklkQ29tcG9uZW50OsgBChV0YXNrX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYo04gASgIQnnCSHYKdAocc3RyaW5nLnRhc2tfcnVuX2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBydW4gaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19ydW4tJykpUhJ0YXNrUnVuSWRDb21wb25lbnQ66QEKG3Byb2Nlc3NfcmVjaXBlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxikTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJlY2lwZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3JlY2lwZS0nKSlSGHByb2Nlc3NSZWNpcGVJZENvbXBvbmVudDqCAgogc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYpU4gASgIQpwBwkiYAQqVAQonc3RyaW5nLnNlcXVlbmNlX2RlZmluaXRpb25faWRfY29tcG9uZW50EjF0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzZXF1ZW5jZSBkZWZpbml0aW9uIGlkGjcodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX2RlZmluaXRpb24tJykpUh1zZXF1ZW5jZURlZmluaXRpb25JZENvbXBvbmVudDruAQocdGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcximTiABKAhCkAHCSIwBCokBCiNzdHJpbmcudGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rhc2tfZGVmaW5pdGlvbi0nKSlSGXRhc2tEZWZpbml0aW9uSWRDb21wb25lbnQ6tQEKEWNlbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKdOIAEoCEJtwkhqCmgKGHN0cmluZy5jZWxsX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY2VsbCBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjZWxsLScpKVIPY2VsbElkQ29tcG9uZW50OrUBChFsaW5lX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxioTiABKAhCbcJIagpoChhzdHJpbmcubGluZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGxpbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbGluZS0nKSlSD2xpbmVJZENvbXBvbmVudDqHAgohY29udGFpbmVyX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKlOIAEoCEKfAcJImwEKmAEKKHN0cmluZy5jb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBkZWZpbml0aW9uIGlkGjgodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NvbnRhaW5lcl9kZWZpbml0aW9uLScpKVIeY29udGFpbmVyRGVmaW5pdGlvbklkQ29tcG9uZW50OvoBCh9jb250YWluZXJfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLqNBiABKAhClQHCSJEBCo4BCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjb250YWluZXIgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2luc3RhbmNlLScpKVIcY29udGFpbmVySW5zdGFuY2VJZENvbXBvbmVudDrAAQoTd29ya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi7jQYgASgIQnPCSHAKbgoac3RyaW5nLndvcmtlcl9pZF9jb21wb25lbnQSJHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHdvcmtlciBpZBoqKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd3b3JrZXItJykpUhF3b3JrZXJJZENvbXBvbmVudDrFAQoUcHJvZHVjdF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvI0GIAEoCEJ2wkhzCnEKG3N0cmluZy5wcm9kdWN0X2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvZHVjdCBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9kdWN0LScpKVIScHJvZHVjdElkQ29tcG9uZW50OvgBCh5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvY0GIAEoCEKWAcJIkgEKjwEKJXN0cmluZy5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSL3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBiaW5kaW5nIGlkGjUodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2NvbmZpZ19iaW5kaW5nLScpKVIaYXJDb25maWdCaW5kaW5nSWRDb21wb25lbnQ6/QEKH2FyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvo0GIAEoCEKZAcJIlQEKkgEKJnN0cmluZy5hcl9jb25maWdfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBjb25maWcgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2luc3RhbmNlLScpKVIbYXJDb25maWdJbnN0YW5jZUlkQ29tcG9uZW50OuQBChphcl9pbnB1dF9zbG90X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/jQYgASgIQooBwkiGAQqDAQohc3RyaW5nLmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBpbnB1dCBzbG90IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2lucHV0X3Nsb3QtJykpUhZhcklucHV0U2xvdElkQ29tcG9uZW50QrUBChFjb20udmFsaWRhdGlvbi52MUIaUHJlZGVmaW5lZFN0cmluZ1J1bGVzUHJvdG9QAVo/Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3ZhbGlkYXRpb24vdjE7dmFsaWRhdGlvbnYxogIDVlhYygINVmFsaWRhdGlvblxWMeICGVZhbGlkYXRpb25cVjFcR1BCTWV0YWRhdGHqAg5WYWxpZGF0aW9uOjpWMQ", [file_buf_validate_validate]);
14
+ fileDesc("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OskBChVwcm9wZXJ0eV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYk04gASgIQnnCSHYKdAocc3RyaW5nLnByb3BlcnR5X2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHktJykpUhNwcm9wZXJ0eUlkQ29tcG9uZW50OvMBCh1yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiUTiABKAhCkwHCSI8BCowBCiRzdHJpbmcucm9ib3RfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHJvYm90IGRlZmluaXRpb24gaWQaNCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfZGVmaW5pdGlvbi0nKSlSGnJvYm90RGVmaW5pdGlvbklkQ29tcG9uZW50OukBChtyb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlU4gASgIQo0BwkiJAQqGAQoic3RyaW5nLnJvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIsdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgaW5zdGFuY2UgaWQaMih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncm9ib3RfaW5zdGFuY2UtJykpUhhyb2JvdEluc3RhbmNlSWRDb21wb25lbnQ68wEKHWFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJZOIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5hc3NldF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgYXNzZXQgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9kZWZpbml0aW9uLScpKVIaYXNzZXREZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG2Fzc2V0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiXTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcuYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhc3NldF9pbnN0YW5jZS0nKSlSGGFzc2V0SW5zdGFuY2VJZENvbXBvbmVudDrZAQoYZW52aXJvbm1lbnRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJhOIAEoCEKCAcJIfwp9Ch9zdHJpbmcuZW52aXJvbm1lbnRfaWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBlbnZpcm9ubWVudCBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdlbnZpcm9ubWVudC0nKSlSFmVudmlyb25tZW50SWRDb21wb25lbnQ67gEKHHBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmU4gASgIQpABwkiMAQqJAQojc3RyaW5nLnBhcnRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2RlZmluaXRpb24tJykpUhlwYXJ0RGVmaW5pdGlvbklkQ29tcG9uZW50OuQBChpwYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiaTiABKAhCigHCSIYBCoMBCiFzdHJpbmcucGFydF9pbnN0YW5jZV9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHBhcnQgaW5zdGFuY2UgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncGFydF9pbnN0YW5jZS0nKSlSF3BhcnRJbnN0YW5jZUlkQ29tcG9uZW50Ou4BChx0b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJtOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50b29sX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9kZWZpbml0aW9uLScpKVIZdG9vbERlZmluaXRpb25JZENvbXBvbmVudDrPAQoadG9vbF9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYnE4gASgIQnbCSHMKcQoYc3RyaW5nLnRvb2xfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0b29sIGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rvb2xfaW5zdGFuY2UtJykpUhd0b29sSW5zdGFuY2VJZENvbXBvbmVudDq/AQoTbWFya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxidTiABKAhCc8JIcApuChpzdHJpbmcubWFya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbWFya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21hcmtlci0nKSlSEW1hcmtlcklkQ29tcG9uZW50OsQBChRmaXh0dXJlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxieTiABKAhCdsJIcwpxChtzdHJpbmcuZml4dHVyZV9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZpeHR1cmUgaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZml4dHVyZS0nKSlSEmZpeHR1cmVJZENvbXBvbmVudDrEAQoUc3RhdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYn04gASgIQnbCSHMKcQobc3RyaW5nLnN0YXRpb25faWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzdGF0aW9uIGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3N0YXRpb24tJykpUhJzdGF0aW9uSWRDb21wb25lbnQ6ugEKEnNraWxsX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxigTiABKAhCcMJIbQprChlzdHJpbmcuc2tpbGxfaWRfY29tcG9uZW50EiN0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBza2lsbCBpZBopKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdza2lsbC0nKSlSEHNraWxsSWRDb21wb25lbnQ62AEKGHByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxihTiABKAhCggHCSH8KfQofc3RyaW5nLnByb2Nlc3NfcnVuX2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvY2VzcyBydW4gaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvY2Vzc19ydW4tJykpUhVwcm9jZXNzUnVuSWRDb21wb25lbnQ63wEKGXNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYok4gASgIQocBwkiDAQqAAQogc3RyaW5nLnNlcXVlbmNlX3J1bl9pZF9jb21wb25lbnQSKnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIHJ1biBpZBowKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdzZXF1ZW5jZV9ydW4tJykpUhZzZXF1ZW5jZVJ1bklkQ29tcG9uZW50OsgBChV0YXNrX3J1bl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYo04gASgIQnnCSHYKdAocc3RyaW5nLnRhc2tfcnVuX2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBydW4gaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19ydW4tJykpUhJ0YXNrUnVuSWRDb21wb25lbnQ66QEKG3Byb2Nlc3NfcmVjaXBlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxikTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJlY2lwZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3JlY2lwZS0nKSlSGHByb2Nlc3NSZWNpcGVJZENvbXBvbmVudDqCAgogc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYpU4gASgIQpwBwkiYAQqVAQonc3RyaW5nLnNlcXVlbmNlX2RlZmluaXRpb25faWRfY29tcG9uZW50EjF0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzZXF1ZW5jZSBkZWZpbml0aW9uIGlkGjcodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX2RlZmluaXRpb24tJykpUh1zZXF1ZW5jZURlZmluaXRpb25JZENvbXBvbmVudDruAQocdGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcximTiABKAhCkAHCSIwBCokBCiNzdHJpbmcudGFza19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdGFzayBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Rhc2tfZGVmaW5pdGlvbi0nKSlSGXRhc2tEZWZpbml0aW9uSWRDb21wb25lbnQ6tQEKEWNlbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKdOIAEoCEJtwkhqCmgKGHN0cmluZy5jZWxsX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY2VsbCBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjZWxsLScpKVIPY2VsbElkQ29tcG9uZW50OrUBChFsaW5lX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxioTiABKAhCbcJIagpoChhzdHJpbmcubGluZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGxpbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbGluZS0nKSlSD2xpbmVJZENvbXBvbmVudDqHAgohY29udGFpbmVyX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKlOIAEoCEKfAcJImwEKmAEKKHN0cmluZy5jb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBkZWZpbml0aW9uIGlkGjgodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NvbnRhaW5lcl9kZWZpbml0aW9uLScpKVIeY29udGFpbmVyRGVmaW5pdGlvbklkQ29tcG9uZW50OvoBCh9jb250YWluZXJfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLqNBiABKAhClQHCSJEBCo4BCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjb250YWluZXIgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2luc3RhbmNlLScpKVIcY29udGFpbmVySW5zdGFuY2VJZENvbXBvbmVudDrAAQoTd29ya2VyX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi7jQYgASgIQnPCSHAKbgoac3RyaW5nLndvcmtlcl9pZF9jb21wb25lbnQSJHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHdvcmtlciBpZBoqKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd3b3JrZXItJykpUhF3b3JrZXJJZENvbXBvbmVudDrFAQoUcHJvZHVjdF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvI0GIAEoCEJ2wkhzCnEKG3N0cmluZy5wcm9kdWN0X2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvZHVjdCBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9kdWN0LScpKVIScHJvZHVjdElkQ29tcG9uZW50OvgBCh5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvY0GIAEoCEKWAcJIkgEKjwEKJXN0cmluZy5hcl9jb25maWdfYmluZGluZ19pZF9jb21wb25lbnQSL3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBiaW5kaW5nIGlkGjUodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2NvbmZpZ19iaW5kaW5nLScpKVIaYXJDb25maWdCaW5kaW5nSWRDb21wb25lbnQ6/QEKH2FyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvo0GIAEoCEKZAcJIlQEKkgEKJnN0cmluZy5hcl9jb25maWdfaW5zdGFuY2VfaWRfY29tcG9uZW50EjB0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBjb25maWcgaW5zdGFuY2UgaWQaNih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2luc3RhbmNlLScpKVIbYXJDb25maWdJbnN0YW5jZUlkQ29tcG9uZW50OuQBChphcl9pbnB1dF9zbG90X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/jQYgASgIQooBwkiGAQqDAQohc3RyaW5nLmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUiBpbnB1dCBzbG90IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FyX2lucHV0X3Nsb3QtJykpUhZhcklucHV0U2xvdElkQ29tcG9uZW50OtkBChhtb2RlbF9hc3NldF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYwI0GIAEoCEKCAcJIfwp9Ch9zdHJpbmcubW9kZWxfYXNzZXRfaWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBtb2RlbCBhc3NldCBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdtb2RlbF9hc3NldC0nKSlSFW1vZGVsQXNzZXRJZENvbXBvbmVudEK1AQoRY29tLnZhbGlkYXRpb24udjFCGlByZWRlZmluZWRTdHJpbmdSdWxlc1Byb3RvUAFaP2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy92YWxpZGF0aW9uL3YxO3ZhbGlkYXRpb252MaICA1ZYWMoCDVZhbGlkYXRpb25cVjHiAhlWYWxpZGF0aW9uXFYxXEdQQk1ldGFkYXRh6gIOVmFsaWRhdGlvbjo6VjE", [file_buf_validate_validate]);
15
15
 
16
16
  /**
17
17
  * @generated from extension: optional bool name_component = 10000;
@@ -205,3 +205,9 @@ export const ar_config_instance_id_component: GenExtension<StringRules, boolean>
205
205
  export const ar_input_slot_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
206
206
  extDesc(file_validation_v1_predefined_string_rules, 31);
207
207
 
208
+ /**
209
+ * @generated from extension: optional bool model_asset_id_component = 100032;
210
+ */
211
+ export const model_asset_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
212
+ extDesc(file_validation_v1_predefined_string_rules, 32);
213
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobotar/protocol",
3
- "version": "0.20.2",
3
+ "version": "0.20.4",
4
4
  "description": "A collection of protobuf messages for the CobotAR-project",
5
5
  "homepage": "https://github.com/cobotar/protocol#readme",
6
6
  "files": [