@cobotar/protocol 0.21.7 → 0.21.9

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.
@@ -20,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf";
20
20
  * Describes the file common/v1/property.proto.
21
21
  */
22
22
  export const file_common_v1_property: GenFile = /*@__PURE__*/
23
- fileDesc("Chhjb21tb24vdjEvcHJvcGVydHkucHJvdG8SCWNvbW1vbi52MSKkCAoSUHJvcGVydHlEZWZpbml0aW9uEhUKAmlkGAEgASgJQgm6SAZyBJjxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSMgoEdHlwZRgFIAEoDjIXLmNvbW1vbi52MS5Qcm9wZXJ0eVR5cGVCC7pICMgBAYIBAhABEhEKCXBhcmVudF9pZBgGIAEoCRIcChRhdXRob3JpbmdfY29udGV4dF9pZBgHIAEoCRIxCgVzY29wZRgIIAEoDjIYLmNvbW1vbi52MS5Qcm9wZXJ0eVNjb3BlQgi6SAWCAQIQARJMChttaW5pbXVtX3JlcXVpcmVkX3Blcm1pc3Npb24YCSABKA4yHS5jb21tb24udjEuUHJvcGVydHlQZXJtaXNzaW9uQgi6SAWCAQIQARJBCg9hbGxvd2VkX29yaWdpbnMYCiADKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CDbpICpIBByIFggECEAESMQoFZ3JvdXAYCyABKA4yGC5jb21tb24udjEuUHJvcGVydHlHcm91cEIIukgFggECEAESEAoIb3JkZXJpbmcYDCABKAUSEgoKaGlkZV9ncm91cBgNIAEoCBIQCghhZHZhbmNlZBgOIAEoCBIZChFkaXNhYmxlX21pcnJvcmluZxgPIAEoCBIuCg1udW1iZXJfZXh0cmFzGCkgASgLMhcuY29tbW9uLnYxLk51bWJlckV4dHJhcxIqCgtlbnVtX2V4dHJhcxgqIAEoCzIVLmNvbW1vbi52MS5FbnVtRXh0cmFzEjAKDnZlY3RvcjNfZXh0cmFzGCsgASgLMhguY29tbW9uLnYxLlZlY3RvcjNFeHRyYXMSLAoMY29sb3JfZXh0cmFzGCwgASgLMhYuY29tbW9uLnYxLkNvbG9yRXh0cmFzEioKC3Bvc2VfZXh0cmFzGC0gASgLMhUuY29tbW9uLnYxLlBvc2VFeHRyYXMSLgoNYW5jaG9yX2V4dHJhcxguIAEoCzIXLmNvbW1vbi52MS5BbmNob3JFeHRyYXM68wG6SO8BGpQBChllbnVtX3JlcXVpcmVzX2VudW1fZXh0cmFzEjdlbnVtX2V4dHJhcyBtdXN0IGJlIHNldCB3aGVuIHR5cGUgaXMgRU5VTSBvciBFTlVNX01VTFRJGj4hKHRoaXMudHlwZSA9PSAxMSB8fCB0aGlzLnR5cGUgPT0gMTIpIHx8IGhhcyh0aGlzLmVudW1fZXh0cmFzKSJWCg1udW1iZXJfZXh0cmFzCgtlbnVtX2V4dHJhcwoOdmVjdG9yM19leHRyYXMKDGNvbG9yX2V4dHJhcwoLcG9zZV9leHRyYXMKDWFuY2hvcl9leHRyYXMiyQMKEFByb3BlcnR5SW5zdGFuY2USFQoCaWQYASABKAlCCbpIBnIEmPMEARIpChZwcm9wZXJ0eV9kZWZpbml0aW9uX2lkGAIgASgJQgm6SAZyBJjxBAESJwoFc2NvcGUYAyABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZRIQCghzY29wZV9pZBgEIAEoCRIzCgZvcmlnaW4YBSABKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CCLpIBYIBAhABEjAKHW1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkGAYgASgJQgm6SAZyBJjxBAESLwoFdmFsdWUYByABKAsyGC5jb21tb24udjEuUHJvcGVydHlWYWx1ZUIGukgDyAEBOp8BukibARqYAQoibWlycm9yX3JlcXVpcmVzX21pcnJvcl9wcm9wZXJ0eV9pZBI0bWlycm9yX3Byb3BlcnR5X2lkIG11c3QgYmUgc2V0IHdoZW4gb3JpZ2luIGlzIE1JUlJPUho8dGhpcy5vcmlnaW4gIT0gMiB8fCB0aGlzLm1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkICE9ICcnIr0NCg1Qcm9wZXJ0eVZhbHVlEjIKBHR5cGUYASABKA4yFy5jb21tb24udjEuUHJvcGVydHlUeXBlQgu6SAjIAQGCAQIQARIXCgpib29sX3ZhbHVlGBUgASgISACIAQESFgoJaW50X3ZhbHVlGBYgASgSSAGIAQESGAoLZmxvYXRfdmFsdWUYFyABKAJIAogBARIZCgxkb3VibGVfdmFsdWUYGCABKAFIA4gBARIZCgxzdHJpbmdfdmFsdWUYGSABKAlIBIgBARIrCg12ZWN0b3IzX3ZhbHVlGBogASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxIuCgpwb3NlX3ZhbHVlGBsgASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZRIpCgxhbmNob3JfdmFsdWUYHCABKAsyEy5nZW9tZXRyeS52MS5BbmNob3ISJQoLY29sb3JfdmFsdWUYHSABKAsyEC5jb21tb24udjEuQ29sb3ISGwoOcm9ib3RfaWRfdmFsdWUYHiABKAlIBYgBARIgCgplbnVtX3ZhbHVlGB8gASgJQge6SARyAhABSAaIAQESKAoQZW51bV9tdWx0aV92YWx1ZRggIAMoCUIOukgLkgEICAEiBHICEAESFwoKaWNvbl92YWx1ZRghIAEoCUgHiAEBEhsKDmFzc2V0X2lkX3ZhbHVlGCIgASgJSAiIAQESHAoPd29ya2VyX2lkX3ZhbHVlGCMgASgJSAmIAQE64we6SN8HGoYGCiBwcm9wZXJ0eV90eXBlX21hdGNoZXNfdmFsdWVfa2luZBIndHlwZSBtdXN0IG1hdGNoIHRoZSBraW5kIG9mIHZhbHVlIGZpZWxkGrgFKCh0aGlzLnR5cGUgPT0gMSAmJiBoYXModGhpcy5ib29sX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAyICYmIGhhcyh0aGlzLmludF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMyAmJiBoYXModGhpcy5mbG9hdF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gNCAmJiBoYXModGhpcy5kb3VibGVfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDUgJiYgaGFzKHRoaXMuc3RyaW5nX3ZhbHVlKSkgfHwodGhpcy50eXBlID09IDYgJiYgaGFzKHRoaXMudmVjdG9yM192YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gNyAmJiBoYXModGhpcy5wb3NlX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSA4ICYmIGhhcyh0aGlzLmFuY2hvcl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gOSAmJiBoYXModGhpcy5jb2xvcl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTAgJiYgaGFzKHRoaXMucm9ib3RfaWRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDExICYmIGhhcyh0aGlzLmVudW1fdmFsdWUpKSB8fCh0aGlzLnR5cGUgPT0gMTIgJiYgc2l6ZSh0aGlzLmVudW1fbXVsdGlfdmFsdWUpID4gMCkgfHwgKHRoaXMudHlwZSA9PSAxMyAmJiBoYXModGhpcy5pY29uX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAxNCAmJiBoYXModGhpcy5hc3NldF9pZF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTUgJiYgaGFzKHRoaXMud29ya2VyX2lkX3ZhbHVlKSkpItMBCgpib29sX3ZhbHVlCglpbnRfdmFsdWUKC2Zsb2F0X3ZhbHVlCgxkb3VibGVfdmFsdWUKDHN0cmluZ192YWx1ZQoNdmVjdG9yM192YWx1ZQoKcG9zZV92YWx1ZQoMYW5jaG9yX3ZhbHVlCgtjb2xvcl92YWx1ZQoOcm9ib3RfaWRfdmFsdWUKCmVudW1fdmFsdWUKEGVudW1fbXVsdGlfdmFsdWUKCmljb25fdmFsdWUKDmFzc2V0X2lkX3ZhbHVlCg93b3JrZXJfaWRfdmFsdWUQAUINCgtfYm9vbF92YWx1ZUIMCgpfaW50X3ZhbHVlQg4KDF9mbG9hdF92YWx1ZUIPCg1fZG91YmxlX3ZhbHVlQg8KDV9zdHJpbmdfdmFsdWVCEQoPX3JvYm90X2lkX3ZhbHVlQg0KC19lbnVtX3ZhbHVlQg0KC19pY29uX3ZhbHVlQhEKD19hc3NldF9pZF92YWx1ZUISChBfd29ya2VyX2lkX3ZhbHVlIucDChZQcm9wZXJ0eUluc3RhbmNlVXBkYXRlEicKFHByb3BlcnR5X2luc3RhbmNlX2lkGAEgASgJQgm6SAZyBJjzBAESMwoGb3JpZ2luGAIgASgOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQgi6SAWCAQIQARIwCh1taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgDIAEoCUIJukgGcgSY8QQBEi8KBXZhbHVlGAQgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBATqLArpIhwIaagobZml4ZWRfb3JpZ2luX3JlcXVpcmVzX3ZhbHVlEiZ2YWx1ZSBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBGSVhFRBojdGhpcy5vcmlnaW4gIT0gMSB8fCBoYXModGhpcy52YWx1ZSkamAEKIm1pcnJvcl9yZXF1aXJlc19taXJyb3JfcHJvcGVydHlfaWQSNG1pcnJvcl9wcm9wZXJ0eV9pZCBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBNSVJST1IaPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJyJDChNQcm9wZXJ0eURlZmluaXRpb25zEiwKBWl0ZW1zGAEgAygLMh0uY29tbW9uLnYxLlByb3BlcnR5RGVmaW5pdGlvbiI/ChFQcm9wZXJ0eUluc3RhbmNlcxIqCgVpdGVtcxgBIAMoCzIbLmNvbW1vbi52MS5Qcm9wZXJ0eUluc3RhbmNlIsYDCgxOdW1iZXJFeHRyYXMSEAoDbWluGAEgASgBSACIAQESEAoDbWF4GAIgASgBSAGIAQESIQoEc3RlcBgDIAEoAUIOukgLEgkhAAAAAAAAAABIAogBARIVCgR1bml0GAQgASgJQge6SARyAhgDEhoKCXByZWNpc2lvbhgFIAEoDUIHukgEKgIoADqiArpIngIamwIKGG51bWJlcl9leHRyYXNfY29uc2lzdGVudBJUSWYgYW55IG9mIG1pbi9tYXgvc3RlcCBpcyBzZXQsIGFsbCBtdXN0IGJlIHNldDsgYW5kIG1pbiA8IG1heDsgYW5kIHN0ZXAgPD0gKG1heC1taW4pGqgBKCFoYXModGhpcy5taW4pICYmICFoYXModGhpcy5tYXgpICYmICFoYXModGhpcy5zdGVwKSkgfHwgKGhhcyh0aGlzLm1pbikgJiYgaGFzKHRoaXMubWF4KSAmJiBoYXModGhpcy5zdGVwKSAmJiB0aGlzLm1pbiA8IHRoaXMubWF4ICYmIHRoaXMuc3RlcCA8PSAodGhpcy5tYXggLSB0aGlzLm1pbikpQgYKBF9taW5CBgoEX21heEIHCgVfc3RlcCJrCgpFbnVtT3B0aW9uEhYKBXZhbHVlGAEgASgJQge6SARyAhABEhYKBWxhYmVsGAIgASgJQge6SARyAhABEgwKBGljb24YAyABKAkSDQoFZ3JvdXAYBCABKAkSEAoIZGlzYWJsZWQYBSABKAgipQEKCkVudW1FeHRyYXMSEwoLcGxhY2Vob2xkZXIYASABKAkSDgoGZmlsdGVyGAIgASgIEg8KB2dyb3VwZWQYAyABKAgSEgoKc2hvd19pY29ucxgEIAEoCBIbChNtYXhfc2VsZWN0ZWRfbGFiZWxzGAUgASgNEjAKB29wdGlvbnMYBiADKAsyFS5jb21tb24udjEuRW51bU9wdGlvbkIIukgFkgECCAEi+QMKDVZlY3RvcjNFeHRyYXMSEAoDbWluGAEgASgBSACIAQESEAoDbWF4GAIgASgBSAGIAQESIQoEc3RlcBgDIAEoAUIOukgLEgkhAAAAAAAAAABIAogBARIYCgdsYWJlbF94GAQgASgJQge6SARyAhgFEhgKB2xhYmVsX3kYBSABKAlCB7pIBHICGAUSGAoHbGFiZWxfehgGIAEoCUIHukgEcgIYBRIVCgR1bml0GAcgASgJQge6SARyAhgDOqICukieAhqbAgoYbnVtYmVyX2V4dHJhc19jb25zaXN0ZW50ElRJZiBhbnkgb2YgbWluL21heC9zdGVwIGlzIHNldCwgYWxsIG11c3QgYmUgc2V0OyBhbmQgbWluIDwgbWF4OyBhbmQgc3RlcCA8PSAobWF4LW1pbikaqAEoIWhhcyh0aGlzLm1pbikgJiYgIWhhcyh0aGlzLm1heCkgJiYgIWhhcyh0aGlzLnN0ZXApKSB8fCAoaGFzKHRoaXMubWluKSAmJiBoYXModGhpcy5tYXgpICYmIGhhcyh0aGlzLnN0ZXApICYmIHRoaXMubWluIDwgdGhpcy5tYXggJiYgdGhpcy5zdGVwIDw9ICh0aGlzLm1heCAtIHRoaXMubWluKSlCBgoEX21pbkIGCgRfbWF4QgcKBV9zdGVwIk4KC0NvbG9yRXh0cmFzEhwKBHN0ZXAYASABKAFCDrpICxIJKQAAAAAAAAAAEiEKB2RlZmF1bHQYAiABKAsyEC5jb21tb24udjEuQ29sb3IiJAoMQW5jaG9yRXh0cmFzEhQKDG9ubHlfbWFya2VycxgBIAEoCCI8CgpQb3NlRXh0cmFzEhcKD2FuY2hvcl9lZGl0YWJsZRgBIAEoCBIVCg1wb3NlX2VkaXRhYmxlGAIgASgIIskJChVDcmVhdGVQcm9wZXJ0eU1lc3NhZ2USEQoJcGFyZW50X2lkGAEgASgJEhwKFGF1dGhvcmluZ19jb250ZXh0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDAoEaWNvbhgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIyCgR0eXBlGAYgASgOMhcuY29tbW9uLnYxLlByb3BlcnR5VHlwZUILukgIyAEBggECEAESNAoFc2NvcGUYByABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZUILukgIyAEBggECEAESQgobbWluaW11bV9yZXF1aXJlZF9wZXJtaXNzaW9uGAggASgOMh0uY29tbW9uLnYxLlByb3BlcnR5UGVybWlzc2lvbhIyCg9hbGxvd2VkX29yaWdpbnMYCSADKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW4SJwoFZ3JvdXAYCiABKA4yGC5jb21tb24udjEuUHJvcGVydHlHcm91cBIQCghvcmRlcmluZxgLIAEoBRISCgpoaWRlX2dyb3VwGAwgASgIEhAKCGFkdmFuY2VkGA0gASgIEhkKEWRpc2FibGVfbWlycm9yaW5nGA4gASgIEjYKBm9yaWdpbhgUIAEoDjIZLmNvbW1vbi52MS5Qcm9wZXJ0eU9yaWdpbkILukgIyAEBggECEAESEAoIc2NvcGVfaWQYFSABKAkSMAodbWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQYFiABKAlCCbpIBnIEmPEEARI3Cg1pbml0aWFsX3ZhbHVlGBcgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBARIwCg1udW1iZXJfZXh0cmFzGCkgASgLMhcuY29tbW9uLnYxLk51bWJlckV4dHJhc0gAEiwKC2VudW1fZXh0cmFzGCogASgLMhUuY29tbW9uLnYxLkVudW1FeHRyYXNIABIyCg52ZWN0b3IzX2V4dHJhcxgrIAEoCzIYLmNvbW1vbi52MS5WZWN0b3IzRXh0cmFzSAASLgoMY29sb3JfZXh0cmFzGCwgASgLMhYuY29tbW9uLnYxLkNvbG9yRXh0cmFzSAASLAoLcG9zZV9leHRyYXMYLSABKAsyFS5jb21tb24udjEuUG9zZUV4dHJhc0gAEjAKDWFuY2hvcl9leHRyYXMYLiABKAsyFy5jb21tb24udjEuQW5jaG9yRXh0cmFzSAA6jAK6SIgCGmwKIGRlZmluaXRpb25fYW5kX3ZhbHVlX3R5cGVzX21hdGNoEiJ0eXBlIG11c3QgbWF0Y2ggaW5pdGlhbF92YWx1ZS50eXBlGiR0aGlzLnR5cGUgPT0gdGhpcy5pbml0aWFsX3ZhbHVlLnR5cGUalwEKGm1pcnJvcl9yZXF1aXJlc19kZWZpbml0aW9uEjttaXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCBpcyByZXF1aXJlZCBmb3IgTUlSUk9SIG9yaWdpbho8dGhpcy5vcmlnaW4gIT0gMiB8fCB0aGlzLm1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkICE9ICcnQggKBmV4dHJhcyqpAwoMUHJvcGVydHlUeXBlEh0KGVBST1BFUlRZX1RZUEVfVU5TUEVDSUZJRUQQABIWChJQUk9QRVJUWV9UWVBFX0JPT0wQARIVChFQUk9QRVJUWV9UWVBFX0lOVBACEhcKE1BST1BFUlRZX1RZUEVfRkxPQVQQAxIYChRQUk9QRVJUWV9UWVBFX0RPVUJMRRAEEhgKFFBST1BFUlRZX1RZUEVfU1RSSU5HEAUSGQoVUFJPUEVSVFlfVFlQRV9WRUNUT1IzEAYSFgoSUFJPUEVSVFlfVFlQRV9QT1NFEAcSGAoUUFJPUEVSVFlfVFlQRV9BTkNIT1IQCBIXChNQUk9QRVJUWV9UWVBFX0NPTE9SEAkSFwoTUFJPUEVSVFlfVFlQRV9ST0JPVBAKEhYKElBST1BFUlRZX1RZUEVfRU5VTRALEhwKGFBST1BFUlRZX1RZUEVfRU5VTV9NVUxUSRAMEhYKElBST1BFUlRZX1RZUEVfSUNPThANEhcKE1BST1BFUlRZX1RZUEVfQVNTRVQQDhIYChRQUk9QRVJUWV9UWVBFX1dPUktFUhAPKmgKDlByb3BlcnR5T3JpZ2luEh8KG1BST1BFUlRZX09SSUdJTl9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX09SSUdJTl9GSVhFRBABEhoKFlBST1BFUlRZX09SSUdJTl9NSVJST1IQAiqZAgoNUHJvcGVydHlHcm91cBIeChpQUk9QRVJUWV9HUk9VUF9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX0dST1VQX09VVFBVVBABEh8KG1BST1BFUlRZX0dST1VQX05PTl9FRElUQUJMRRACEhoKFlBST1BFUlRZX0dST1VQX1NUWUxJTkcQAxIbChdQUk9QRVJUWV9HUk9VUF9MT0NBVElPThAEEhcKE1BST1BFUlRZX0dST1VQX0lDT04QBRIgChxQUk9QRVJUWV9HUk9VUF9DT05GSUdVUkFUSU9OEAYSGQoVUFJPUEVSVFlfR1JPVVBfSElEREVOEAcSHQoZUFJPUEVSVFlfR1JPVVBfSU5QVVRfU0xPVBAIKrYBChJQcm9wZXJ0eVBlcm1pc3Npb24SIwofUFJPUEVSVFlfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEh0KGVBST1BFUlRZX1BFUk1JU1NJT05fQkFTSUMQChIgChxQUk9QRVJUWV9QRVJNSVNTSU9OX0NPU01FVElDEBQSHAoYUFJPUEVSVFlfUEVSTUlTU0lPTl9GVUxMEB4SHAoYUFJPUEVSVFlfUEVSTUlTU0lPTl9OT05FECgqZgoNUHJvcGVydHlTY29wZRIeChpQUk9QRVJUWV9TQ09QRV9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX1NDT1BFX0VOVElUWRABEhoKFlBST1BFUlRZX1NDT1BFX1JVTlRJTUUQAkKlAQoNY29tLmNvbW1vbi52MUINUHJvcGVydHlQcm90b1ABWjdnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvY29tbW9uL3YxO2NvbW1vbnYxogIDQ1hYqgISTWVzc2FnZXMuQ29tbW9uLlYxygIJQ29tbW9uXFYx4gIVQ29tbW9uXFYxXEdQQk1ldGFkYXRh6gIKQ29tbW9uOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_color, file_geometry_v1_anchor, file_geometry_v1_pose, file_geometry_v1_vector3, file_validation_v1_predefined_string_rules]);
23
+ fileDesc("Chhjb21tb24vdjEvcHJvcGVydHkucHJvdG8SCWNvbW1vbi52MSLpCAoSUHJvcGVydHlEZWZpbml0aW9uEhUKAmlkGAEgASgJQgm6SAZyBJjxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSMgoEdHlwZRgFIAEoDjIXLmNvbW1vbi52MS5Qcm9wZXJ0eVR5cGVCC7pICMgBAYIBAhABEhEKCXBhcmVudF9pZBgGIAEoCRIcChRhdXRob3JpbmdfY29udGV4dF9pZBgHIAEoCRIxCgVzY29wZRgIIAEoDjIYLmNvbW1vbi52MS5Qcm9wZXJ0eVNjb3BlQgi6SAWCAQIQARJMChttaW5pbXVtX3JlcXVpcmVkX3Blcm1pc3Npb24YCSABKA4yHS5jb21tb24udjEuUHJvcGVydHlQZXJtaXNzaW9uQgi6SAWCAQIQARJBCg9hbGxvd2VkX29yaWdpbnMYCiADKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CDbpICpIBByIFggECEAESMQoFZ3JvdXAYCyABKA4yGC5jb21tb24udjEuUHJvcGVydHlHcm91cEIIukgFggECEAESEAoIb3JkZXJpbmcYDCABKAUSEgoKaGlkZV9ncm91cBgNIAEoCBIQCghhZHZhbmNlZBgOIAEoCBIcChRhbGxvd190b19iZV9taXJyb3JlZBgPIAEoCBJACg1zZW1hbnRpY19yb2xlGBAgASgOMh8uY29tbW9uLnYxLlByb3BlcnR5U2VtYW50aWNSb2xlQgi6SAWCAQIQARIuCg1udW1iZXJfZXh0cmFzGCkgASgLMhcuY29tbW9uLnYxLk51bWJlckV4dHJhcxIqCgtlbnVtX2V4dHJhcxgqIAEoCzIVLmNvbW1vbi52MS5FbnVtRXh0cmFzEjAKDnZlY3RvcjNfZXh0cmFzGCsgASgLMhguY29tbW9uLnYxLlZlY3RvcjNFeHRyYXMSLAoMY29sb3JfZXh0cmFzGCwgASgLMhYuY29tbW9uLnYxLkNvbG9yRXh0cmFzEioKC3Bvc2VfZXh0cmFzGC0gASgLMhUuY29tbW9uLnYxLlBvc2VFeHRyYXMSLgoNYW5jaG9yX2V4dHJhcxguIAEoCzIXLmNvbW1vbi52MS5BbmNob3JFeHRyYXM68wG6SO8BGpQBChllbnVtX3JlcXVpcmVzX2VudW1fZXh0cmFzEjdlbnVtX2V4dHJhcyBtdXN0IGJlIHNldCB3aGVuIHR5cGUgaXMgRU5VTSBvciBFTlVNX01VTFRJGj4hKHRoaXMudHlwZSA9PSAxMSB8fCB0aGlzLnR5cGUgPT0gMTIpIHx8IGhhcyh0aGlzLmVudW1fZXh0cmFzKSJWCg1udW1iZXJfZXh0cmFzCgtlbnVtX2V4dHJhcwoOdmVjdG9yM19leHRyYXMKDGNvbG9yX2V4dHJhcwoLcG9zZV9leHRyYXMKDWFuY2hvcl9leHRyYXMiyQMKEFByb3BlcnR5SW5zdGFuY2USFQoCaWQYASABKAlCCbpIBnIEmPMEARIpChZwcm9wZXJ0eV9kZWZpbml0aW9uX2lkGAIgASgJQgm6SAZyBJjxBAESJwoFc2NvcGUYAyABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZRIQCghzY29wZV9pZBgEIAEoCRIzCgZvcmlnaW4YBSABKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CCLpIBYIBAhABEjAKHW1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkGAYgASgJQgm6SAZyBJjxBAESLwoFdmFsdWUYByABKAsyGC5jb21tb24udjEuUHJvcGVydHlWYWx1ZUIGukgDyAEBOp8BukibARqYAQoibWlycm9yX3JlcXVpcmVzX21pcnJvcl9wcm9wZXJ0eV9pZBI0bWlycm9yX3Byb3BlcnR5X2lkIG11c3QgYmUgc2V0IHdoZW4gb3JpZ2luIGlzIE1JUlJPUho8dGhpcy5vcmlnaW4gIT0gMiB8fCB0aGlzLm1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkICE9ICcnIr0NCg1Qcm9wZXJ0eVZhbHVlEjIKBHR5cGUYASABKA4yFy5jb21tb24udjEuUHJvcGVydHlUeXBlQgu6SAjIAQGCAQIQARIXCgpib29sX3ZhbHVlGBUgASgISACIAQESFgoJaW50X3ZhbHVlGBYgASgSSAGIAQESGAoLZmxvYXRfdmFsdWUYFyABKAJIAogBARIZCgxkb3VibGVfdmFsdWUYGCABKAFIA4gBARIZCgxzdHJpbmdfdmFsdWUYGSABKAlIBIgBARIrCg12ZWN0b3IzX3ZhbHVlGBogASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxIuCgpwb3NlX3ZhbHVlGBsgASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZRIpCgxhbmNob3JfdmFsdWUYHCABKAsyEy5nZW9tZXRyeS52MS5BbmNob3ISJQoLY29sb3JfdmFsdWUYHSABKAsyEC5jb21tb24udjEuQ29sb3ISGwoOcm9ib3RfaWRfdmFsdWUYHiABKAlIBYgBARIgCgplbnVtX3ZhbHVlGB8gASgJQge6SARyAhABSAaIAQESKAoQZW51bV9tdWx0aV92YWx1ZRggIAMoCUIOukgLkgEICAEiBHICEAESFwoKaWNvbl92YWx1ZRghIAEoCUgHiAEBEhsKDmFzc2V0X2lkX3ZhbHVlGCIgASgJSAiIAQESHAoPd29ya2VyX2lkX3ZhbHVlGCMgASgJSAmIAQE64we6SN8HGoYGCiBwcm9wZXJ0eV90eXBlX21hdGNoZXNfdmFsdWVfa2luZBIndHlwZSBtdXN0IG1hdGNoIHRoZSBraW5kIG9mIHZhbHVlIGZpZWxkGrgFKCh0aGlzLnR5cGUgPT0gMSAmJiBoYXModGhpcy5ib29sX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAyICYmIGhhcyh0aGlzLmludF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMyAmJiBoYXModGhpcy5mbG9hdF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gNCAmJiBoYXModGhpcy5kb3VibGVfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDUgJiYgaGFzKHRoaXMuc3RyaW5nX3ZhbHVlKSkgfHwodGhpcy50eXBlID09IDYgJiYgaGFzKHRoaXMudmVjdG9yM192YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gNyAmJiBoYXModGhpcy5wb3NlX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSA4ICYmIGhhcyh0aGlzLmFuY2hvcl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gOSAmJiBoYXModGhpcy5jb2xvcl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTAgJiYgaGFzKHRoaXMucm9ib3RfaWRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDExICYmIGhhcyh0aGlzLmVudW1fdmFsdWUpKSB8fCh0aGlzLnR5cGUgPT0gMTIgJiYgc2l6ZSh0aGlzLmVudW1fbXVsdGlfdmFsdWUpID4gMCkgfHwgKHRoaXMudHlwZSA9PSAxMyAmJiBoYXModGhpcy5pY29uX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAxNCAmJiBoYXModGhpcy5hc3NldF9pZF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTUgJiYgaGFzKHRoaXMud29ya2VyX2lkX3ZhbHVlKSkpItMBCgpib29sX3ZhbHVlCglpbnRfdmFsdWUKC2Zsb2F0X3ZhbHVlCgxkb3VibGVfdmFsdWUKDHN0cmluZ192YWx1ZQoNdmVjdG9yM192YWx1ZQoKcG9zZV92YWx1ZQoMYW5jaG9yX3ZhbHVlCgtjb2xvcl92YWx1ZQoOcm9ib3RfaWRfdmFsdWUKCmVudW1fdmFsdWUKEGVudW1fbXVsdGlfdmFsdWUKCmljb25fdmFsdWUKDmFzc2V0X2lkX3ZhbHVlCg93b3JrZXJfaWRfdmFsdWUQAUINCgtfYm9vbF92YWx1ZUIMCgpfaW50X3ZhbHVlQg4KDF9mbG9hdF92YWx1ZUIPCg1fZG91YmxlX3ZhbHVlQg8KDV9zdHJpbmdfdmFsdWVCEQoPX3JvYm90X2lkX3ZhbHVlQg0KC19lbnVtX3ZhbHVlQg0KC19pY29uX3ZhbHVlQhEKD19hc3NldF9pZF92YWx1ZUISChBfd29ya2VyX2lkX3ZhbHVlIucDChZQcm9wZXJ0eUluc3RhbmNlVXBkYXRlEicKFHByb3BlcnR5X2luc3RhbmNlX2lkGAEgASgJQgm6SAZyBJjzBAESMwoGb3JpZ2luGAIgASgOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQgi6SAWCAQIQARIwCh1taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgDIAEoCUIJukgGcgSY8QQBEi8KBXZhbHVlGAQgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBATqLArpIhwIaagobZml4ZWRfb3JpZ2luX3JlcXVpcmVzX3ZhbHVlEiZ2YWx1ZSBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBGSVhFRBojdGhpcy5vcmlnaW4gIT0gMSB8fCBoYXModGhpcy52YWx1ZSkamAEKIm1pcnJvcl9yZXF1aXJlc19taXJyb3JfcHJvcGVydHlfaWQSNG1pcnJvcl9wcm9wZXJ0eV9pZCBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBNSVJST1IaPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJyJDChNQcm9wZXJ0eURlZmluaXRpb25zEiwKBWl0ZW1zGAEgAygLMh0uY29tbW9uLnYxLlByb3BlcnR5RGVmaW5pdGlvbiI/ChFQcm9wZXJ0eUluc3RhbmNlcxIqCgVpdGVtcxgBIAMoCzIbLmNvbW1vbi52MS5Qcm9wZXJ0eUluc3RhbmNlIsYDCgxOdW1iZXJFeHRyYXMSEAoDbWluGAEgASgBSACIAQESEAoDbWF4GAIgASgBSAGIAQESIQoEc3RlcBgDIAEoAUIOukgLEgkhAAAAAAAAAABIAogBARIVCgR1bml0GAQgASgJQge6SARyAhgDEhoKCXByZWNpc2lvbhgFIAEoDUIHukgEKgIoADqiArpIngIamwIKGG51bWJlcl9leHRyYXNfY29uc2lzdGVudBJUSWYgYW55IG9mIG1pbi9tYXgvc3RlcCBpcyBzZXQsIGFsbCBtdXN0IGJlIHNldDsgYW5kIG1pbiA8IG1heDsgYW5kIHN0ZXAgPD0gKG1heC1taW4pGqgBKCFoYXModGhpcy5taW4pICYmICFoYXModGhpcy5tYXgpICYmICFoYXModGhpcy5zdGVwKSkgfHwgKGhhcyh0aGlzLm1pbikgJiYgaGFzKHRoaXMubWF4KSAmJiBoYXModGhpcy5zdGVwKSAmJiB0aGlzLm1pbiA8IHRoaXMubWF4ICYmIHRoaXMuc3RlcCA8PSAodGhpcy5tYXggLSB0aGlzLm1pbikpQgYKBF9taW5CBgoEX21heEIHCgVfc3RlcCJrCgpFbnVtT3B0aW9uEhYKBXZhbHVlGAEgASgJQge6SARyAhABEhYKBWxhYmVsGAIgASgJQge6SARyAhABEgwKBGljb24YAyABKAkSDQoFZ3JvdXAYBCABKAkSEAoIZGlzYWJsZWQYBSABKAgipQEKCkVudW1FeHRyYXMSEwoLcGxhY2Vob2xkZXIYASABKAkSDgoGZmlsdGVyGAIgASgIEg8KB2dyb3VwZWQYAyABKAgSEgoKc2hvd19pY29ucxgEIAEoCBIbChNtYXhfc2VsZWN0ZWRfbGFiZWxzGAUgASgNEjAKB29wdGlvbnMYBiADKAsyFS5jb21tb24udjEuRW51bU9wdGlvbkIIukgFkgECCAEi+QMKDVZlY3RvcjNFeHRyYXMSEAoDbWluGAEgASgBSACIAQESEAoDbWF4GAIgASgBSAGIAQESIQoEc3RlcBgDIAEoAUIOukgLEgkhAAAAAAAAAABIAogBARIYCgdsYWJlbF94GAQgASgJQge6SARyAhgFEhgKB2xhYmVsX3kYBSABKAlCB7pIBHICGAUSGAoHbGFiZWxfehgGIAEoCUIHukgEcgIYBRIVCgR1bml0GAcgASgJQge6SARyAhgDOqICukieAhqbAgoYbnVtYmVyX2V4dHJhc19jb25zaXN0ZW50ElRJZiBhbnkgb2YgbWluL21heC9zdGVwIGlzIHNldCwgYWxsIG11c3QgYmUgc2V0OyBhbmQgbWluIDwgbWF4OyBhbmQgc3RlcCA8PSAobWF4LW1pbikaqAEoIWhhcyh0aGlzLm1pbikgJiYgIWhhcyh0aGlzLm1heCkgJiYgIWhhcyh0aGlzLnN0ZXApKSB8fCAoaGFzKHRoaXMubWluKSAmJiBoYXModGhpcy5tYXgpICYmIGhhcyh0aGlzLnN0ZXApICYmIHRoaXMubWluIDwgdGhpcy5tYXggJiYgdGhpcy5zdGVwIDw9ICh0aGlzLm1heCAtIHRoaXMubWluKSlCBgoEX21pbkIGCgRfbWF4QgcKBV9zdGVwIk4KC0NvbG9yRXh0cmFzEhwKBHN0ZXAYASABKAFCDrpICxIJKQAAAAAAAAAAEiEKB2RlZmF1bHQYAiABKAsyEC5jb21tb24udjEuQ29sb3IiJAoMQW5jaG9yRXh0cmFzEhQKDG9ubHlfbWFya2VycxgBIAEoCCI8CgpQb3NlRXh0cmFzEhcKD2FuY2hvcl9lZGl0YWJsZRgBIAEoCBIVCg1wb3NlX2VkaXRhYmxlGAIgASgIIo4KChVDcmVhdGVQcm9wZXJ0eU1lc3NhZ2USEQoJcGFyZW50X2lkGAEgASgJEhwKFGF1dGhvcmluZ19jb250ZXh0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDAoEaWNvbhgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIyCgR0eXBlGAYgASgOMhcuY29tbW9uLnYxLlByb3BlcnR5VHlwZUILukgIyAEBggECEAESNAoFc2NvcGUYByABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZUILukgIyAEBggECEAESQgobbWluaW11bV9yZXF1aXJlZF9wZXJtaXNzaW9uGAggASgOMh0uY29tbW9uLnYxLlByb3BlcnR5UGVybWlzc2lvbhIyCg9hbGxvd2VkX29yaWdpbnMYCSADKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW4SJwoFZ3JvdXAYCiABKA4yGC5jb21tb24udjEuUHJvcGVydHlHcm91cBIQCghvcmRlcmluZxgLIAEoBRISCgpoaWRlX2dyb3VwGAwgASgIEhAKCGFkdmFuY2VkGA0gASgIEhwKFGFsbG93X3RvX2JlX21pcnJvcmVkGA4gASgIEkAKDXNlbWFudGljX3JvbGUYECABKA4yHy5jb21tb24udjEuUHJvcGVydHlTZW1hbnRpY1JvbGVCCLpIBYIBAhABEjYKBm9yaWdpbhgUIAEoDjIZLmNvbW1vbi52MS5Qcm9wZXJ0eU9yaWdpbkILukgIyAEBggECEAESEAoIc2NvcGVfaWQYFSABKAkSMAodbWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQYFiABKAlCCbpIBnIEmPEEARI3Cg1pbml0aWFsX3ZhbHVlGBcgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBARIwCg1udW1iZXJfZXh0cmFzGCkgASgLMhcuY29tbW9uLnYxLk51bWJlckV4dHJhc0gAEiwKC2VudW1fZXh0cmFzGCogASgLMhUuY29tbW9uLnYxLkVudW1FeHRyYXNIABIyCg52ZWN0b3IzX2V4dHJhcxgrIAEoCzIYLmNvbW1vbi52MS5WZWN0b3IzRXh0cmFzSAASLgoMY29sb3JfZXh0cmFzGCwgASgLMhYuY29tbW9uLnYxLkNvbG9yRXh0cmFzSAASLAoLcG9zZV9leHRyYXMYLSABKAsyFS5jb21tb24udjEuUG9zZUV4dHJhc0gAEjAKDWFuY2hvcl9leHRyYXMYLiABKAsyFy5jb21tb24udjEuQW5jaG9yRXh0cmFzSAA6jAK6SIgCGmwKIGRlZmluaXRpb25fYW5kX3ZhbHVlX3R5cGVzX21hdGNoEiJ0eXBlIG11c3QgbWF0Y2ggaW5pdGlhbF92YWx1ZS50eXBlGiR0aGlzLnR5cGUgPT0gdGhpcy5pbml0aWFsX3ZhbHVlLnR5cGUalwEKGm1pcnJvcl9yZXF1aXJlc19kZWZpbml0aW9uEjttaXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCBpcyByZXF1aXJlZCBmb3IgTUlSUk9SIG9yaWdpbho8dGhpcy5vcmlnaW4gIT0gMiB8fCB0aGlzLm1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkICE9ICcnQggKBmV4dHJhcyqpAwoMUHJvcGVydHlUeXBlEh0KGVBST1BFUlRZX1RZUEVfVU5TUEVDSUZJRUQQABIWChJQUk9QRVJUWV9UWVBFX0JPT0wQARIVChFQUk9QRVJUWV9UWVBFX0lOVBACEhcKE1BST1BFUlRZX1RZUEVfRkxPQVQQAxIYChRQUk9QRVJUWV9UWVBFX0RPVUJMRRAEEhgKFFBST1BFUlRZX1RZUEVfU1RSSU5HEAUSGQoVUFJPUEVSVFlfVFlQRV9WRUNUT1IzEAYSFgoSUFJPUEVSVFlfVFlQRV9QT1NFEAcSGAoUUFJPUEVSVFlfVFlQRV9BTkNIT1IQCBIXChNQUk9QRVJUWV9UWVBFX0NPTE9SEAkSFwoTUFJPUEVSVFlfVFlQRV9ST0JPVBAKEhYKElBST1BFUlRZX1RZUEVfRU5VTRALEhwKGFBST1BFUlRZX1RZUEVfRU5VTV9NVUxUSRAMEhYKElBST1BFUlRZX1RZUEVfSUNPThANEhcKE1BST1BFUlRZX1RZUEVfQVNTRVQQDhIYChRQUk9QRVJUWV9UWVBFX1dPUktFUhAPKmgKDlByb3BlcnR5T3JpZ2luEh8KG1BST1BFUlRZX09SSUdJTl9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX09SSUdJTl9GSVhFRBABEhoKFlBST1BFUlRZX09SSUdJTl9NSVJST1IQAiqZAgoNUHJvcGVydHlHcm91cBIeChpQUk9QRVJUWV9HUk9VUF9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX0dST1VQX09VVFBVVBABEh8KG1BST1BFUlRZX0dST1VQX05PTl9FRElUQUJMRRACEhoKFlBST1BFUlRZX0dST1VQX1NUWUxJTkcQAxIbChdQUk9QRVJUWV9HUk9VUF9MT0NBVElPThAEEhcKE1BST1BFUlRZX0dST1VQX0lDT04QBRIgChxQUk9QRVJUWV9HUk9VUF9DT05GSUdVUkFUSU9OEAYSGQoVUFJPUEVSVFlfR1JPVVBfSElEREVOEAcSHQoZUFJPUEVSVFlfR1JPVVBfSU5QVVRfU0xPVBAIKrYBChJQcm9wZXJ0eVBlcm1pc3Npb24SIwofUFJPUEVSVFlfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEh0KGVBST1BFUlRZX1BFUk1JU1NJT05fQkFTSUMQChIgChxQUk9QRVJUWV9QRVJNSVNTSU9OX0NPU01FVElDEBQSHAoYUFJPUEVSVFlfUEVSTUlTU0lPTl9GVUxMEB4SHAoYUFJPUEVSVFlfUEVSTUlTU0lPTl9OT05FECgq6Q8KFFByb3BlcnR5U2VtYW50aWNSb2xlEiYKIlBST1BFUlRZX1NFTUFOVElDX1JPTEVfVU5TUEVDSUZJRUQQABIxCi1QUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BBTkVMX0JBQ0tHUk9VTkRfQ09MT1IQARIrCidQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BBTkVMX1RFWFRfQ09MT1IQAhItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BBTkVMX0JPUkRFUl9DT0xPUhADEigKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfT1BBQ0lUWRAEEi4KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfQ09STkVSX1JBRElVUxAFEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUFJJTUFSWV9URVhUX0NPTE9SEBQSLworUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TRUNPTkRBUllfVEVYVF9DT0xPUhAVEiQKIFBST1BFUlRZX1NFTUFOVElDX1JPTEVfVEVYVF9TSVpFEBYSKgomUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9USVRMRV9URVhUX1NJWkUQFxInCiNQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0FDQ0VOVF9DT0xPUhAoEigKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfU1VDQ0VTU19DT0xPUhApEigKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfV0FSTklOR19DT0xPUhAqEiYKIlBST1BFUlRZX1NFTUFOVElDX1JPTEVfRVJST1JfQ09MT1IQKxIpCiVQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0RJU0FCTEVEX0NPTE9SECwSLQopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9DVVJSRU5UX1RBU0tfQ09MT1IQPBIuCipQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1VQQ09NSU5HX1RBU0tfQ09MT1IQPRIvCitQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0NPTVBMRVRFRF9UQVNLX0NPTE9SED4SLQopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9CTE9DS0VEX1RBU0tfQ09MT1IQPxIuCipQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX09QVElPTkFMX1RBU0tfQ09MT1IQQBIpCiVQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX09QRVJBVE9SX0NPTE9SEFASJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ST0JPVF9DT0xPUhBREiwKKFBST1BFUlRZX1NFTUFOVElDX1JPTEVfU0hBUkVEX1RBU0tfQ09MT1IQUhIrCidQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1NVUEVSVklTT1JfQ09MT1IQUxIlCiFQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BBUlRfQ09MT1IQZBIlCiFQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1RPT0xfQ09MT1IQZRImCiJQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0FTU0VUX0NPTE9SEGYSKgomUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9DT05UQUlORVJfQ09MT1IQZxItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1RBUkdFVF9HSE9TVF9DT0xPUhB4EjEKLVBST1BFUlRZX1NFTUFOVElDX1JPTEVfVEFSR0VUX0hJR0hMSUdIVF9DT0xPUhB5EiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFUSF9DT0xPUhB6EiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfWk9ORV9DT0xPUhB7EicKI1BST1BFUlRZX1NFTUFOVElDX1JPTEVfQU5DSE9SX0NPTE9SEHwSLAonUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ST0JPVF9QQVRIX0NPTE9SEIwBEjIKLVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfU0lMSE9VRVRURV9DT0xPUhCNARIuCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX0lOVEVOVF9DT0xPUhCOARIxCixQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX09DQ1VQQU5DWV9DT0xPUhCPARIpCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1NVQ0NFU1NfU09VTkQQoAESKQokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9XQVJOSU5HX1NPVU5EEKEBEicKIlBST1BFUlRZX1NFTUFOVElDX1JPTEVfRVJST1JfU09VTkQQogESLQooUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9OT1RJRklDQVRJT05fSUNPThCjARIqCiVQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BVTFNFX0RVUkFUSU9OELQBEikKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfRkFERV9EVVJBVElPThC1ARIrCiZQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0FOSU1BVElPTl9TUEVFRBC2ARIvCipQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0hJR0hMSUdIVF9USElDS05FU1MQtwEqZgoNUHJvcGVydHlTY29wZRIeChpQUk9QRVJUWV9TQ09QRV9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX1NDT1BFX0VOVElUWRABEhoKFlBST1BFUlRZX1NDT1BFX1JVTlRJTUUQAkKlAQoNY29tLmNvbW1vbi52MUINUHJvcGVydHlQcm90b1ABWjdnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvY29tbW9uL3YxO2NvbW1vbnYxogIDQ1hYqgISTWVzc2FnZXMuQ29tbW9uLlYxygIJQ29tbW9uXFYx4gIVQ29tbW9uXFYxXEdQQk1ldGFkYXRh6gIKQ29tbW9uOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_color, file_geometry_v1_anchor, file_geometry_v1_pose, file_geometry_v1_vector3, file_validation_v1_predefined_string_rules]);
24
24
 
25
25
  /**
26
26
  * PropertyDefinition
@@ -132,11 +132,14 @@ export type PropertyDefinition = Message<"common.v1.PropertyDefinition"> & {
132
132
  advanced: boolean;
133
133
 
134
134
  /**
135
- * TODO: is this parameter really needed? allowed_origins should already cover this
136
- *
137
- * @generated from field: bool disable_mirroring = 15;
135
+ * @generated from field: bool allow_to_be_mirrored = 15;
136
+ */
137
+ allowToBeMirrored: boolean;
138
+
139
+ /**
140
+ * @generated from field: common.v1.PropertySemanticRole semantic_role = 16;
138
141
  */
139
- disableMirroring: boolean;
142
+ semanticRole: PropertySemanticRole;
140
143
 
141
144
  /**
142
145
  * @generated from field: common.v1.NumberExtras number_extras = 41;
@@ -717,9 +720,14 @@ export type CreatePropertyMessage = Message<"common.v1.CreatePropertyMessage"> &
717
720
  advanced: boolean;
718
721
 
719
722
  /**
720
- * @generated from field: bool disable_mirroring = 14;
723
+ * @generated from field: bool allow_to_be_mirrored = 14;
721
724
  */
722
- disableMirroring: boolean;
725
+ allowToBeMirrored: boolean;
726
+
727
+ /**
728
+ * @generated from field: common.v1.PropertySemanticRole semantic_role = 16;
729
+ */
730
+ semanticRole: PropertySemanticRole;
723
731
 
724
732
  /**
725
733
  * Template instance
@@ -1055,6 +1063,262 @@ export enum PropertyPermission {
1055
1063
  export const PropertyPermissionSchema: GenEnum<PropertyPermission> = /*@__PURE__*/
1056
1064
  enumDesc(file_common_v1_property, 3);
1057
1065
 
1066
+ /**
1067
+ * @generated from enum common.v1.PropertySemanticRole
1068
+ */
1069
+ export enum PropertySemanticRole {
1070
+ /**
1071
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_UNSPECIFIED = 0;
1072
+ */
1073
+ UNSPECIFIED = 0,
1074
+
1075
+ /**
1076
+ * Layout / panels
1077
+ *
1078
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PANEL_BACKGROUND_COLOR = 1;
1079
+ */
1080
+ PANEL_BACKGROUND_COLOR = 1,
1081
+
1082
+ /**
1083
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PANEL_TEXT_COLOR = 2;
1084
+ */
1085
+ PANEL_TEXT_COLOR = 2,
1086
+
1087
+ /**
1088
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PANEL_BORDER_COLOR = 3;
1089
+ */
1090
+ PANEL_BORDER_COLOR = 3,
1091
+
1092
+ /**
1093
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PANEL_OPACITY = 4;
1094
+ */
1095
+ PANEL_OPACITY = 4,
1096
+
1097
+ /**
1098
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PANEL_CORNER_RADIUS = 5;
1099
+ */
1100
+ PANEL_CORNER_RADIUS = 5,
1101
+
1102
+ /**
1103
+ * Typography
1104
+ *
1105
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PRIMARY_TEXT_COLOR = 20;
1106
+ */
1107
+ PRIMARY_TEXT_COLOR = 20,
1108
+
1109
+ /**
1110
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_SECONDARY_TEXT_COLOR = 21;
1111
+ */
1112
+ SECONDARY_TEXT_COLOR = 21,
1113
+
1114
+ /**
1115
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_TEXT_SIZE = 22;
1116
+ */
1117
+ TEXT_SIZE = 22,
1118
+
1119
+ /**
1120
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_TITLE_TEXT_SIZE = 23;
1121
+ */
1122
+ TITLE_TEXT_SIZE = 23,
1123
+
1124
+ /**
1125
+ * General state colors
1126
+ *
1127
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ACCENT_COLOR = 40;
1128
+ */
1129
+ ACCENT_COLOR = 40,
1130
+
1131
+ /**
1132
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_SUCCESS_COLOR = 41;
1133
+ */
1134
+ SUCCESS_COLOR = 41,
1135
+
1136
+ /**
1137
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_WARNING_COLOR = 42;
1138
+ */
1139
+ WARNING_COLOR = 42,
1140
+
1141
+ /**
1142
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ERROR_COLOR = 43;
1143
+ */
1144
+ ERROR_COLOR = 43,
1145
+
1146
+ /**
1147
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_DISABLED_COLOR = 44;
1148
+ */
1149
+ DISABLED_COLOR = 44,
1150
+
1151
+ /**
1152
+ * Task state
1153
+ *
1154
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_CURRENT_TASK_COLOR = 60;
1155
+ */
1156
+ CURRENT_TASK_COLOR = 60,
1157
+
1158
+ /**
1159
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_UPCOMING_TASK_COLOR = 61;
1160
+ */
1161
+ UPCOMING_TASK_COLOR = 61,
1162
+
1163
+ /**
1164
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_COMPLETED_TASK_COLOR = 62;
1165
+ */
1166
+ COMPLETED_TASK_COLOR = 62,
1167
+
1168
+ /**
1169
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_BLOCKED_TASK_COLOR = 63;
1170
+ */
1171
+ BLOCKED_TASK_COLOR = 63,
1172
+
1173
+ /**
1174
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_OPTIONAL_TASK_COLOR = 64;
1175
+ */
1176
+ OPTIONAL_TASK_COLOR = 64,
1177
+
1178
+ /**
1179
+ * Actors
1180
+ *
1181
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_OPERATOR_COLOR = 80;
1182
+ */
1183
+ OPERATOR_COLOR = 80,
1184
+
1185
+ /**
1186
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ROBOT_COLOR = 81;
1187
+ */
1188
+ ROBOT_COLOR = 81,
1189
+
1190
+ /**
1191
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_SHARED_TASK_COLOR = 82;
1192
+ */
1193
+ SHARED_TASK_COLOR = 82,
1194
+
1195
+ /**
1196
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_SUPERVISOR_COLOR = 83;
1197
+ */
1198
+ SUPERVISOR_COLOR = 83,
1199
+
1200
+ /**
1201
+ * Resources
1202
+ *
1203
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PART_COLOR = 100;
1204
+ */
1205
+ PART_COLOR = 100,
1206
+
1207
+ /**
1208
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_TOOL_COLOR = 101;
1209
+ */
1210
+ TOOL_COLOR = 101,
1211
+
1212
+ /**
1213
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ASSET_COLOR = 102;
1214
+ */
1215
+ ASSET_COLOR = 102,
1216
+
1217
+ /**
1218
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_CONTAINER_COLOR = 103;
1219
+ */
1220
+ CONTAINER_COLOR = 103,
1221
+
1222
+ /**
1223
+ * Spatial AR visuals
1224
+ *
1225
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_TARGET_GHOST_COLOR = 120;
1226
+ */
1227
+ TARGET_GHOST_COLOR = 120,
1228
+
1229
+ /**
1230
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_TARGET_HIGHLIGHT_COLOR = 121;
1231
+ */
1232
+ TARGET_HIGHLIGHT_COLOR = 121,
1233
+
1234
+ /**
1235
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PATH_COLOR = 122;
1236
+ */
1237
+ PATH_COLOR = 122,
1238
+
1239
+ /**
1240
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ZONE_COLOR = 123;
1241
+ */
1242
+ ZONE_COLOR = 123,
1243
+
1244
+ /**
1245
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ANCHOR_COLOR = 124;
1246
+ */
1247
+ ANCHOR_COLOR = 124,
1248
+
1249
+ /**
1250
+ * Robot intent
1251
+ *
1252
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ROBOT_PATH_COLOR = 140;
1253
+ */
1254
+ ROBOT_PATH_COLOR = 140,
1255
+
1256
+ /**
1257
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ROBOT_SILHOUETTE_COLOR = 141;
1258
+ */
1259
+ ROBOT_SILHOUETTE_COLOR = 141,
1260
+
1261
+ /**
1262
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ROBOT_INTENT_COLOR = 142;
1263
+ */
1264
+ ROBOT_INTENT_COLOR = 142,
1265
+
1266
+ /**
1267
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ROBOT_OCCUPANCY_COLOR = 143;
1268
+ */
1269
+ ROBOT_OCCUPANCY_COLOR = 143,
1270
+
1271
+ /**
1272
+ * Audio / haptics / notification defaults
1273
+ *
1274
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_SUCCESS_SOUND = 160;
1275
+ */
1276
+ SUCCESS_SOUND = 160,
1277
+
1278
+ /**
1279
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_WARNING_SOUND = 161;
1280
+ */
1281
+ WARNING_SOUND = 161,
1282
+
1283
+ /**
1284
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ERROR_SOUND = 162;
1285
+ */
1286
+ ERROR_SOUND = 162,
1287
+
1288
+ /**
1289
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_NOTIFICATION_ICON = 163;
1290
+ */
1291
+ NOTIFICATION_ICON = 163,
1292
+
1293
+ /**
1294
+ * Timing / animation
1295
+ *
1296
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_PULSE_DURATION = 180;
1297
+ */
1298
+ PULSE_DURATION = 180,
1299
+
1300
+ /**
1301
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_FADE_DURATION = 181;
1302
+ */
1303
+ FADE_DURATION = 181,
1304
+
1305
+ /**
1306
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_ANIMATION_SPEED = 182;
1307
+ */
1308
+ ANIMATION_SPEED = 182,
1309
+
1310
+ /**
1311
+ * @generated from enum value: PROPERTY_SEMANTIC_ROLE_HIGHLIGHT_THICKNESS = 183;
1312
+ */
1313
+ HIGHLIGHT_THICKNESS = 183,
1314
+ }
1315
+
1316
+ /**
1317
+ * Describes the enum common.v1.PropertySemanticRole.
1318
+ */
1319
+ export const PropertySemanticRoleSchema: GenEnum<PropertySemanticRole> = /*@__PURE__*/
1320
+ enumDesc(file_common_v1_property, 4);
1321
+
1058
1322
  /**
1059
1323
  * PropertyScope
1060
1324
  *
@@ -1097,5 +1361,5 @@ export enum PropertyScope {
1097
1361
  * Describes the enum common.v1.PropertyScope.
1098
1362
  */
1099
1363
  export const PropertyScopeSchema: GenEnum<PropertyScope> = /*@__PURE__*/
1100
- enumDesc(file_common_v1_property, 4);
1364
+ enumDesc(file_common_v1_property, 5);
1101
1365
 
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file resources/v1/worker_definition.proto.
15
15
  */
16
16
  export const file_resources_v1_worker_definition: GenFile = /*@__PURE__*/
17
- fileDesc("CiRyZXNvdXJjZXMvdjEvd29ya2VyX2RlZmluaXRpb24ucHJvdG8SDHJlc291cmNlcy52MSJnCg5Xb3JrZXJMb2NhdGlvbhIaCgdsaW5lX2lkGAEgASgJQgm6SAZyBMDyBAESGgoHY2VsbF9pZBgCIAEoCUIJukgGcgS48gQBEh0KCnN0YXRpb25faWQYAyABKAlCCbpIBnIE+PEEASKxAgoQV29ya2VyRGVmaW5pdGlvbhIVCgJpZBgBIAEoCUIJukgGcgTY6zABEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEhAKCGRpc2FibGVkGAUgASgIEhMKC2VtcGxveWVlX2lkGAYgASgJEjgKEmFyX2VkaXRfcGVybWlzc2lvbhgHIAEoDjIcLnJlc291cmNlcy52MS5FZGl0UGVybWlzc2lvbhI5ChNleHRlcm5hbF9yZWZlcmVuY2VzGAggAygLMhwuY29tbW9uLnYxLkV4dGVybmFsUmVmZXJlbmNlEi4KCGxvY2F0aW9uGAkgASgLMhwucmVzb3VyY2VzLnYxLldvcmtlckxvY2F0aW9uIkIKEVdvcmtlckRlZmluaXRpb25zEi0KBWl0ZW1zGAEgAygLMh4ucmVzb3VyY2VzLnYxLldvcmtlckRlZmluaXRpb24qhAEKDkVkaXRQZXJtaXNzaW9uEh8KG0VESVRfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEhkKFUVESVRfUEVSTUlTU0lPTl9CQVNJQxABEhwKGEVESVRfUEVSTUlTU0lPTl9DT1NNRVRJQxACEhgKFEVESVRfUEVSTUlTU0lPTl9GVUxMEANCwgEKEGNvbS5yZXNvdXJjZXMudjFCFVdvcmtlckRlZmluaXRpb25Qcm90b1ABWj1naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcmVzb3VyY2VzL3YxO3Jlc291cmNlc3YxogIDUlhYqgIVTWVzc2FnZXMuUmVzb3VyY2VzLlYxygIMUmVzb3VyY2VzXFYx4gIYUmVzb3VyY2VzXFYxXEdQQk1ldGFkYXRh6gINUmVzb3VyY2VzOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_external_references, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("CiRyZXNvdXJjZXMvdjEvd29ya2VyX2RlZmluaXRpb24ucHJvdG8SDHJlc291cmNlcy52MSJnCg5Xb3JrZXJMb2NhdGlvbhIaCgdsaW5lX2lkGAEgASgJQgm6SAZyBMDyBAESGgoHY2VsbF9pZBgCIAEoCUIJukgGcgS48gQBEh0KCnN0YXRpb25faWQYAyABKAlCCbpIBnIE+PEEASKHBgoQV29ya2VyRGVmaW5pdGlvbhIVCgJpZBgBIAEoCUIJukgGcgTY6zABEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEhAKCGRpc2FibGVkGAUgASgIEhMKC2VtcGxveWVlX2lkGAYgASgJEjgKEmFyX2VkaXRfcGVybWlzc2lvbhgHIAEoDjIcLnJlc291cmNlcy52MS5FZGl0UGVybWlzc2lvbhI5ChNleHRlcm5hbF9yZWZlcmVuY2VzGAggAygLMhwuY29tbW9uLnYxLkV4dGVybmFsUmVmZXJlbmNlEi4KCGxvY2F0aW9uGAkgASgLMhwucmVzb3VyY2VzLnYxLldvcmtlckxvY2F0aW9uEhcKBmhlaWdodBgKIAEoBUIHukgEGgIoABIcCgthcm1zX2xlbmd0aBgLIAEoBUIHukgEGgIoABI2CgpoYW5kZWRuZXNzGAwgASgOMhgucmVzb3VyY2VzLnYxLkhhbmRlZG5lc3NCCLpIBYIBAhABEjAKBHJvbGUYDSABKA4yGC5yZXNvdXJjZXMudjEuV29ya2VyUm9sZUIIukgFggECEAESSwoacHJlZmVycmVkX2ludGVyYWN0aW9uX3NpZGUYDiABKA4yHS5yZXNvdXJjZXMudjEuSW50ZXJhY3Rpb25TaWRlQgi6SAWCAQIQARJIChR0ZXh0X3NpemVfcHJlZmVyZW5jZRgPIAEoDjIgLnJlc291cmNlcy52MS5UZXh0U2l6ZVByZWZlcmVuY2VCCLpIBYIBAhABEiYKFXBlcnNvbmFsX3NwYWNlX3JhZGl1cxgQIAEoBUIHukgEGgIoABIqChloYW5kb2ZmX2hlaWdodF9wcmVmZXJlbmNlGBEgASgFQge6SAQaAigAEkgKF2hhbmRvZmZfc2lkZV9wcmVmZXJlbmNlGBIgASgOMh0ucmVzb3VyY2VzLnYxLkludGVyYWN0aW9uU2lkZUIIukgFggECEAEiQgoRV29ya2VyRGVmaW5pdGlvbnMSLQoFaXRlbXMYASADKAsyHi5yZXNvdXJjZXMudjEuV29ya2VyRGVmaW5pdGlvbiqEAQoORWRpdFBlcm1pc3Npb24SHwobRURJVF9QRVJNSVNTSU9OX1VOU1BFQ0lGSUVEEAASGQoVRURJVF9QRVJNSVNTSU9OX0JBU0lDEAESHAoYRURJVF9QRVJNSVNTSU9OX0NPU01FVElDEAISGAoURURJVF9QRVJNSVNTSU9OX0ZVTEwQAypdCgpIYW5kZWRuZXNzEhoKFkhBTkRFRE5FU1NfVU5TUEVDSUZJRUQQABIYChRIQU5ERURORVNTX0xFRlRfSEFORBABEhkKFUhBTkRFRE5FU1NfUklHSFRfSEFORBACKqwBCgpXb3JrZXJSb2xlEhsKF1dPUktFUl9ST0xFX1VOU1BFQ0lGSUVEEAASGAoUV09SS0VSX1JPTEVfT1BFUkFUT1IQARIaChZXT1JLRVJfUk9MRV9TVVBFUlZJU09SEAISGgoWV09SS0VSX1JPTEVfVEVDSE5JQ0lBThADEhgKFFdPUktFUl9ST0xFX0VOR0lORUVSEAQSFQoRV09SS0VSX1JPTEVfQURNSU4QBSqqAQoPSW50ZXJhY3Rpb25TaWRlEiAKHElOVEVSQUNUSU9OX1NJREVfVU5TUEVDSUZJRUQQABIZChVJTlRFUkFDVElPTl9TSURFX0xFRlQQARIaChZJTlRFUkFDVElPTl9TSURFX1JJR0hUEAISGgoWSU5URVJBQ1RJT05fU0lERV9GUk9OVBADEiIKHklOVEVSQUNUSU9OX1NJREVfTk9fUFJFRkVSRU5DRRAEKnsKElRleHRTaXplUHJlZmVyZW5jZRIkCiBURVhUX1NJWkVfUFJFRkVSRU5DRV9VTlNQRUNJRklFRBAAEh8KG1RFWFRfU0laRV9QUkVGRVJFTkNFX05PUk1BTBABEh4KGlRFWFRfU0laRV9QUkVGRVJFTkNFX0xBUkdFEAJCwgEKEGNvbS5yZXNvdXJjZXMudjFCFVdvcmtlckRlZmluaXRpb25Qcm90b1ABWj1naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcmVzb3VyY2VzL3YxO3Jlc291cmNlc3YxogIDUlhYqgIVTWVzc2FnZXMuUmVzb3VyY2VzLlYxygIMUmVzb3VyY2VzXFYx4gIYUmVzb3VyY2VzXFYxXEdQQk1ldGFkYXRh6gINUmVzb3VyY2VzOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_external_references, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  * WorkerLocation describes the current operating area of a worker.
@@ -85,6 +85,8 @@ export type WorkerDefinition = Message<"resources.v1.WorkerDefinition"> & {
85
85
  employeeId: string;
86
86
 
87
87
  /**
88
+ * Authorization level for editing authored AR/property settings.
89
+ *
88
90
  * @generated from field: resources.v1.EditPermission ar_edit_permission = 7;
89
91
  */
90
92
  arEditPermission: EditPermission;
@@ -100,6 +102,69 @@ export type WorkerDefinition = Message<"resources.v1.WorkerDefinition"> & {
100
102
  * @generated from field: resources.v1.WorkerLocation location = 9;
101
103
  */
102
104
  location?: WorkerLocation;
105
+
106
+ /**
107
+ * Approximate worker height in centimeters. 0 if not defined.
108
+ *
109
+ * @generated from field: int32 height = 10;
110
+ */
111
+ height: number;
112
+
113
+ /**
114
+ * Approximate comfortable arm reach in centimeters. 0 if not defined.
115
+ *
116
+ * @generated from field: int32 arms_length = 11;
117
+ */
118
+ armsLength: number;
119
+
120
+ /**
121
+ * Physical handedness; use preferred_interaction_side first for layout decisions.
122
+ *
123
+ * @generated from field: resources.v1.Handedness handedness = 12;
124
+ */
125
+ handedness: Handedness;
126
+
127
+ /**
128
+ * Operational role used to select relevant views, workflows, and defaults.
129
+ *
130
+ * @generated from field: resources.v1.WorkerRole role = 13;
131
+ */
132
+ role: WorkerRole;
133
+
134
+ /**
135
+ * Preferred side for AR controls, prompts, and robot approach.
136
+ *
137
+ * @generated from field: resources.v1.InteractionSide preferred_interaction_side = 14;
138
+ */
139
+ preferredInteractionSide: InteractionSide;
140
+
141
+ /**
142
+ * Preferred AR text scale bucket.
143
+ *
144
+ * @generated from field: resources.v1.TextSizePreference text_size_preference = 15;
145
+ */
146
+ textSizePreference: TextSizePreference;
147
+
148
+ /**
149
+ * Preferred minimum robot distance from the worker in centimeters. 0 if not defined.
150
+ *
151
+ * @generated from field: int32 personal_space_radius = 16;
152
+ */
153
+ personalSpaceRadius: number;
154
+
155
+ /**
156
+ * Preferred object handoff height in centimeters from the floor. 0 if not defined.
157
+ *
158
+ * @generated from field: int32 handoff_height_preference = 17;
159
+ */
160
+ handoffHeightPreference: number;
161
+
162
+ /**
163
+ * Preferred side for robot-to-worker object handoffs.
164
+ *
165
+ * @generated from field: resources.v1.InteractionSide handoff_side_preference = 18;
166
+ */
167
+ handoffSidePreference: InteractionSide;
103
168
  };
104
169
 
105
170
  /**
@@ -131,6 +196,9 @@ export const WorkerDefinitionsSchema: GenMessage<WorkerDefinitions> = /*@__PURE_
131
196
  */
132
197
  export enum EditPermission {
133
198
  /**
199
+ * Edit permissions intentionally mirror common.v1.PropertyPermission levels.
200
+ * They describe which authored AR/property settings a worker may edit.
201
+ *
134
202
  * Unspecified: can't edit any properties
135
203
  *
136
204
  * @generated from enum value: EDIT_PERMISSION_UNSPECIFIED = 0;
@@ -165,3 +233,152 @@ export enum EditPermission {
165
233
  export const EditPermissionSchema: GenEnum<EditPermission> = /*@__PURE__*/
166
234
  enumDesc(file_resources_v1_worker_definition, 0);
167
235
 
236
+ /**
237
+ * Handedness is a physical/operator trait and should only be used as a
238
+ * fallback when no explicit interaction-side preference is available.
239
+ *
240
+ * @generated from enum resources.v1.Handedness
241
+ */
242
+ export enum Handedness {
243
+ /**
244
+ * @generated from enum value: HANDEDNESS_UNSPECIFIED = 0;
245
+ */
246
+ UNSPECIFIED = 0,
247
+
248
+ /**
249
+ * @generated from enum value: HANDEDNESS_LEFT_HAND = 1;
250
+ */
251
+ LEFT_HAND = 1,
252
+
253
+ /**
254
+ * @generated from enum value: HANDEDNESS_RIGHT_HAND = 2;
255
+ */
256
+ RIGHT_HAND = 2,
257
+ }
258
+
259
+ /**
260
+ * Describes the enum resources.v1.Handedness.
261
+ */
262
+ export const HandednessSchema: GenEnum<Handedness> = /*@__PURE__*/
263
+ enumDesc(file_resources_v1_worker_definition, 1);
264
+
265
+ /**
266
+ * WorkerRole describes the worker's operational role.
267
+ *
268
+ * Role should be used to select relevant views, workflows, and default
269
+ * capabilities. Authorization for editing properties is still controlled by
270
+ * ar_edit_permission.
271
+ *
272
+ * @generated from enum resources.v1.WorkerRole
273
+ */
274
+ export enum WorkerRole {
275
+ /**
276
+ * @generated from enum value: WORKER_ROLE_UNSPECIFIED = 0;
277
+ */
278
+ UNSPECIFIED = 0,
279
+
280
+ /**
281
+ * @generated from enum value: WORKER_ROLE_OPERATOR = 1;
282
+ */
283
+ OPERATOR = 1,
284
+
285
+ /**
286
+ * @generated from enum value: WORKER_ROLE_SUPERVISOR = 2;
287
+ */
288
+ SUPERVISOR = 2,
289
+
290
+ /**
291
+ * @generated from enum value: WORKER_ROLE_TECHNICIAN = 3;
292
+ */
293
+ TECHNICIAN = 3,
294
+
295
+ /**
296
+ * @generated from enum value: WORKER_ROLE_ENGINEER = 4;
297
+ */
298
+ ENGINEER = 4,
299
+
300
+ /**
301
+ * @generated from enum value: WORKER_ROLE_ADMIN = 5;
302
+ */
303
+ ADMIN = 5,
304
+ }
305
+
306
+ /**
307
+ * Describes the enum resources.v1.WorkerRole.
308
+ */
309
+ export const WorkerRoleSchema: GenEnum<WorkerRole> = /*@__PURE__*/
310
+ enumDesc(file_resources_v1_worker_definition, 2);
311
+
312
+ /**
313
+ * InteractionSide describes the side from which the worker prefers interaction.
314
+ *
315
+ * This is a preference for UI placement, robot approach, and handoff planning.
316
+ * It may differ from handedness because of station layout, task constraints,
317
+ * temporary injury, or personal preference.
318
+ *
319
+ * @generated from enum resources.v1.InteractionSide
320
+ */
321
+ export enum InteractionSide {
322
+ /**
323
+ * @generated from enum value: INTERACTION_SIDE_UNSPECIFIED = 0;
324
+ */
325
+ UNSPECIFIED = 0,
326
+
327
+ /**
328
+ * @generated from enum value: INTERACTION_SIDE_LEFT = 1;
329
+ */
330
+ LEFT = 1,
331
+
332
+ /**
333
+ * @generated from enum value: INTERACTION_SIDE_RIGHT = 2;
334
+ */
335
+ RIGHT = 2,
336
+
337
+ /**
338
+ * @generated from enum value: INTERACTION_SIDE_FRONT = 3;
339
+ */
340
+ FRONT = 3,
341
+
342
+ /**
343
+ * @generated from enum value: INTERACTION_SIDE_NO_PREFERENCE = 4;
344
+ */
345
+ NO_PREFERENCE = 4,
346
+ }
347
+
348
+ /**
349
+ * Describes the enum resources.v1.InteractionSide.
350
+ */
351
+ export const InteractionSideSchema: GenEnum<InteractionSide> = /*@__PURE__*/
352
+ enumDesc(file_resources_v1_worker_definition, 3);
353
+
354
+ /**
355
+ * TextSizePreference is intentionally coarse.
356
+ *
357
+ * AR clients should map these values to device- and application-specific font
358
+ * scales instead of treating them as raw pixel sizes.
359
+ *
360
+ * @generated from enum resources.v1.TextSizePreference
361
+ */
362
+ export enum TextSizePreference {
363
+ /**
364
+ * @generated from enum value: TEXT_SIZE_PREFERENCE_UNSPECIFIED = 0;
365
+ */
366
+ UNSPECIFIED = 0,
367
+
368
+ /**
369
+ * @generated from enum value: TEXT_SIZE_PREFERENCE_NORMAL = 1;
370
+ */
371
+ NORMAL = 1,
372
+
373
+ /**
374
+ * @generated from enum value: TEXT_SIZE_PREFERENCE_LARGE = 2;
375
+ */
376
+ LARGE = 2,
377
+ }
378
+
379
+ /**
380
+ * Describes the enum resources.v1.TextSizePreference.
381
+ */
382
+ export const TextSizePreferenceSchema: GenEnum<TextSizePreference> = /*@__PURE__*/
383
+ enumDesc(file_resources_v1_worker_definition, 4);
384
+