@cobotar/protocol 1.0.10 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: 1.0.10
4
+ Current version: 1.1.0
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 ar/v1/action.proto.
15
15
  */
16
16
  export const file_ar_v1_action: GenFile = /*@__PURE__*/
17
- fileDesc("ChJhci92MS9hY3Rpb24ucHJvdG8SBWFyLnYxIuYBCg1BY3Rpb25NZXNzYWdlEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiwKBHR5cGUYBSABKA4yES5hci52MS5BY3Rpb25UeXBlQgu6SAjIAQGCAQIQARJBChhlbGlnaWJpbGl0eV9yZXF1aXJlbWVudHMYByADKAsyHy5jYXBhYmlsaXR5LnYxLlNraWxsUmVxdWlyZW1lbnQSHAoJY29uZmlnX2lkGAggASgJQgm6SAZyBJDxBAEiNQoOQWN0aW9uTWVzc2FnZXMSIwoFaXRlbXMYASADKAsyFC5hci52MS5BY3Rpb25NZXNzYWdlIqMCChBBY3Rpb25BZGRNZXNzYWdlEhwKCWNvbmZpZ19pZBgBIAEoCUIJukgGcgSQ8QQBEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIsCgR0eXBlGAUgASgOMhEuYXIudjEuQWN0aW9uVHlwZUILukgIyAEBggECEAESJAoRcm9ib3RfcHJvcGVydHlfaWQYBiABKAlCCbpIBnIEmPEEARIpChZhY3RpdmF0aW5nX3Byb3BlcnR5X2lkGAcgASgJQgm6SAZyBJjxBAESQQoYZWxpZ2liaWxpdHlfcmVxdWlyZW1lbnRzGAggAygLMh8uY2FwYWJpbGl0eS52MS5Ta2lsbFJlcXVpcmVtZW50IqABChNBY3Rpb25VcGRhdGVNZXNzYWdlEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEkEKGGVsaWdpYmlsaXR5X3JlcXVpcmVtZW50cxgFIAMoCzIfLmNhcGFiaWxpdHkudjEuU2tpbGxSZXF1aXJlbWVudCJaChJBY3Rpb25DbG9uZU1lc3NhZ2USEwoLb3JpZ2luYWxfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJKsUCCgpBY3Rpb25UeXBlEhsKF0FDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASHQoZQUNUSU9OX1RZUEVfVEFTS19DT01QTEVURRAKEhkKFUFDVElPTl9UWVBFX1RBU0tfVU5ETxALEhsKF0FDVElPTl9UWVBFX1RBU0tfQVNTSUdOEAwSHgoaQUNUSU9OX1RZUEVfVEFTS19ISUdITElHSFQQDRIZChVBQ1RJT05fVFlQRV9UQVNLX0hFTFAQDhIgChxBQ1RJT05fVFlQRV9ST0JPVF9QTEFZX1BBVVNFEDISIQodQUNUSU9OX1RZUEVfUk9CT1RfQUNLTk9XTEVER0UQMxIgChxBQ1RJT05fVFlQRV9ST0JPVF9GUkVFX0RSSVZFEDQSIQodQUNUSU9OX1RZUEVfUk9CT1RfQ09MTEFCT1JBVEUQNUKHAQoJY29tLmFyLnYxQgtBY3Rpb25Qcm90b1ABWi9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXIvdjE7YXJ2MaICA0FYWKoCDk1lc3NhZ2VzLkFSLlYxygIFQXJcVjHiAhFBclxWMVxHUEJNZXRhZGF0YeoCBkFyOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_capability_v1_skill_requirement, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("ChJhci92MS9hY3Rpb24ucHJvdG8SBWFyLnYxIvEBCg1BY3Rpb25NZXNzYWdlEhUKAmlkGAEgASgJQgm6SAZyBMjzBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSLAoEdHlwZRgFIAEoDjIRLmFyLnYxLkFjdGlvblR5cGVCC7pICMgBAYIBAhABEkEKGGVsaWdpYmlsaXR5X3JlcXVpcmVtZW50cxgHIAMoCzIfLmNhcGFiaWxpdHkudjEuU2tpbGxSZXF1aXJlbWVudBIcCgljb25maWdfaWQYCCABKAlCCbpIBnIEkPEEASI1Cg5BY3Rpb25NZXNzYWdlcxIjCgVpdGVtcxgBIAMoCzIULmFyLnYxLkFjdGlvbk1lc3NhZ2UirgIKEEFjdGlvbkFkZE1lc3NhZ2USHAoJY29uZmlnX2lkGAEgASgJQgm6SAZyBJDxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSLAoEdHlwZRgFIAEoDjIRLmFyLnYxLkFjdGlvblR5cGVCC7pICMgBAYIBAhABEiQKEXJvYm90X3Byb3BlcnR5X2lkGAYgASgJQgm6SAZyBJjxBAESKQoWYWN0aXZhdGluZ19wcm9wZXJ0eV9pZBgHIAEoCUIJukgGcgSY8QQBEkEKGGVsaWdpYmlsaXR5X3JlcXVpcmVtZW50cxgIIAMoCzIfLmNhcGFiaWxpdHkudjEuU2tpbGxSZXF1aXJlbWVudCKrAQoTQWN0aW9uVXBkYXRlTWVzc2FnZRIVCgJpZBgBIAEoCUIJukgGcgTI8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEkEKGGVsaWdpYmlsaXR5X3JlcXVpcmVtZW50cxgFIAMoCzIfLmNhcGFiaWxpdHkudjEuU2tpbGxSZXF1aXJlbWVudCrgAwoKQWN0aW9uVHlwZRIbChdBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEh0KGUFDVElPTl9UWVBFX1RBU0tfQ09NUExFVEUQChIZChVBQ1RJT05fVFlQRV9UQVNLX1VORE8QCxIbChdBQ1RJT05fVFlQRV9UQVNLX0FTU0lHThAMEiAKHEFDVElPTl9UWVBFX1RBU0tfQVNTSUdOX05FWFQQDRIeChpBQ1RJT05fVFlQRV9UQVNLX0hJR0hMSUdIVBAOEhkKFUFDVElPTl9UWVBFX1RBU0tfSEVMUBAPEiAKHEFDVElPTl9UWVBFX1RBU0tfSU5fUFJPR1JFU1MQEBIgChxBQ1RJT05fVFlQRV9ST0JPVF9QTEFZX1BBVVNFEDISIQodQUNUSU9OX1RZUEVfUk9CT1RfQUNLTk9XTEVER0UQMxIgChxBQ1RJT05fVFlQRV9ST0JPVF9GUkVFX0RSSVZFEDQSJwojQUNUSU9OX1RZUEVfUk9CT1RfQkVHSU5fQ09MTEFCT1JBVEUQNRIlCiFBQ1RJT05fVFlQRV9ST0JPVF9FTkRfQ09MTEFCT1JBVEUQNhIoCiRBQ1RJT05fVFlQRV9ST0JPVF9DT05GSUdVUkFCTEVfSU5QVVQQN0KHAQoJY29tLmFyLnYxQgtBY3Rpb25Qcm90b1ABWi9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXIvdjE7YXJ2MaICA0FYWKoCDk1lc3NhZ2VzLkFSLlYxygIFQXJcVjHiAhFBclxWMVxHUEJNZXRhZGF0YeoCBkFyOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_capability_v1_skill_requirement, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  * @generated from message ar.v1.ActionMessage
@@ -173,38 +173,6 @@ export type ActionUpdateMessage = Message<"ar.v1.ActionUpdateMessage"> & {
173
173
  export const ActionUpdateMessageSchema: GenMessage<ActionUpdateMessage> = /*@__PURE__*/
174
174
  messageDesc(file_ar_v1_action, 3);
175
175
 
176
- /**
177
- * @generated from message ar.v1.ActionCloneMessage
178
- */
179
- export type ActionCloneMessage = Message<"ar.v1.ActionCloneMessage"> & {
180
- /**
181
- * @generated from field: string original_id = 1;
182
- */
183
- originalId: string;
184
-
185
- /**
186
- * @generated from field: string name = 2;
187
- */
188
- name: string;
189
-
190
- /**
191
- * @generated from field: string icon = 3;
192
- */
193
- icon: string;
194
-
195
- /**
196
- * @generated from field: string description = 4;
197
- */
198
- description: string;
199
- };
200
-
201
- /**
202
- * Describes the message ar.v1.ActionCloneMessage.
203
- * Use `create(ActionCloneMessageSchema)` to create a new message.
204
- */
205
- export const ActionCloneMessageSchema: GenMessage<ActionCloneMessage> = /*@__PURE__*/
206
- messageDesc(file_ar_v1_action, 4);
207
-
208
176
  /**
209
177
  * @generated from enum ar.v1.ActionType
210
178
  */
@@ -215,49 +183,95 @@ export enum ActionType {
215
183
  UNSPECIFIED = 0,
216
184
 
217
185
  /**
186
+ * Marks a task as complete.
187
+ *
218
188
  * @generated from enum value: ACTION_TYPE_TASK_COMPLETE = 10;
219
189
  */
220
190
  TASK_COMPLETE = 10,
221
191
 
222
192
  /**
193
+ * Reverts the most recent state-changing operation on a task.
194
+ *
223
195
  * @generated from enum value: ACTION_TYPE_TASK_UNDO = 11;
224
196
  */
225
197
  TASK_UNDO = 11,
226
198
 
227
199
  /**
200
+ * Assigns a task to an actor.
201
+ *
228
202
  * @generated from enum value: ACTION_TYPE_TASK_ASSIGN = 12;
229
203
  */
230
204
  TASK_ASSIGN = 12,
231
205
 
232
206
  /**
233
- * @generated from enum value: ACTION_TYPE_TASK_HIGHLIGHT = 13;
207
+ * Assigns the next available actor to a task.
208
+ *
209
+ * @generated from enum value: ACTION_TYPE_TASK_ASSIGN_NEXT = 13;
210
+ */
211
+ TASK_ASSIGN_NEXT = 13,
212
+
213
+ /**
214
+ * Requests that a task be visually emphasized.
215
+ *
216
+ * @generated from enum value: ACTION_TYPE_TASK_HIGHLIGHT = 14;
217
+ */
218
+ TASK_HIGHLIGHT = 14,
219
+
220
+ /**
221
+ * Requests help for a task.
222
+ *
223
+ * @generated from enum value: ACTION_TYPE_TASK_HELP = 15;
234
224
  */
235
- TASK_HIGHLIGHT = 13,
225
+ TASK_HELP = 15,
236
226
 
237
227
  /**
238
- * @generated from enum value: ACTION_TYPE_TASK_HELP = 14;
228
+ * Marks a task as being in progress.
229
+ *
230
+ * @generated from enum value: ACTION_TYPE_TASK_IN_PROGRESS = 16;
239
231
  */
240
- TASK_HELP = 14,
232
+ TASK_IN_PROGRESS = 16,
241
233
 
242
234
  /**
235
+ * Toggles robot execution between playing and paused.
236
+ *
243
237
  * @generated from enum value: ACTION_TYPE_ROBOT_PLAY_PAUSE = 50;
244
238
  */
245
239
  ROBOT_PLAY_PAUSE = 50,
246
240
 
247
241
  /**
242
+ * Acknowledges a robot notification or request.
243
+ *
248
244
  * @generated from enum value: ACTION_TYPE_ROBOT_ACKNOWLEDGE = 51;
249
245
  */
250
246
  ROBOT_ACKNOWLEDGE = 51,
251
247
 
252
248
  /**
249
+ * Enables or disables the robot's free-drive mode.
250
+ *
253
251
  * @generated from enum value: ACTION_TYPE_ROBOT_FREE_DRIVE = 52;
254
252
  */
255
253
  ROBOT_FREE_DRIVE = 52,
256
254
 
257
255
  /**
258
- * @generated from enum value: ACTION_TYPE_ROBOT_COLLABORATE = 53;
256
+ * Starts a collaborative robot operation.
257
+ *
258
+ * @generated from enum value: ACTION_TYPE_ROBOT_BEGIN_COLLABORATE = 53;
259
+ */
260
+ ROBOT_BEGIN_COLLABORATE = 53,
261
+
262
+ /**
263
+ * Ends a collaborative robot operation.
264
+ *
265
+ * @generated from enum value: ACTION_TYPE_ROBOT_END_COLLABORATE = 54;
266
+ */
267
+ ROBOT_END_COLLABORATE = 54,
268
+
269
+ /**
270
+ * Activates a configured robot input.
271
+ *
272
+ * @generated from enum value: ACTION_TYPE_ROBOT_CONFIGURABLE_INPUT = 55;
259
273
  */
260
- ROBOT_COLLABORATE = 53,
274
+ ROBOT_CONFIGURABLE_INPUT = 55,
261
275
  }
262
276
 
263
277
  /**
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file ar/v1/feedback.proto.
15
15
  */
16
16
  export const file_ar_v1_feedback: GenFile = /*@__PURE__*/
17
- fileDesc("ChRhci92MS9mZWVkYmFjay5wcm90bxIFYXIudjEi4wEKD0ZlZWRiYWNrTWVzc2FnZRIKCgJpZBgBIAEoCRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIuCgR0eXBlGAUgASgOMhMuYXIudjEuRmVlZGJhY2tUeXBlQgu6SAjIAQGCAQIQARI6ChB2aXNpYmlsaXR5X3Njb3BlGAYgASgOMhYuYXIudjEuVmlzaWJpbGl0eVNjb3BlQgi6SAWCAQIQARIcCgljb25maWdfaWQYCCABKAlCCbpIBnIEkPEEASI9ChBGZWVkYmFja01lc3NhZ2VzEikKCWZlZWRiYWNrcxgBIAMoCzIWLmFyLnYxLkZlZWRiYWNrTWVzc2FnZSK7AgoSRmVlZGJhY2tBZGRNZXNzYWdlEhwKCWNvbmZpZ19pZBgBIAEoCUIJukgGcgSQ8QQBEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIuCgR0eXBlGAUgASgOMhMuYXIudjEuRmVlZGJhY2tUeXBlQgu6SAjIAQGCAQIQARI6ChB2aXNpYmlsaXR5X3Njb3BlGAYgASgOMhYuYXIudjEuVmlzaWJpbGl0eVNjb3BlQgi6SAWCAQIQARIkChFyb2JvdF9wcm9wZXJ0eV9pZBgHIAEoCUIJukgGcgSY8QQBEiMKBmFuY2hvchgIIAEoCzITLmdlb21ldHJ5LnYxLkFuY2hvchIfChdsaW5rX2RlZmF1bHRfcHJvcGVydGllcxgJIAEoCCKbAQoVRmVlZGJhY2tVcGRhdGVNZXNzYWdlEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjoKEHZpc2liaWxpdHlfc2NvcGUYBSABKA4yFi5hci52MS5WaXNpYmlsaXR5U2NvcGVCCLpIBYIBAhABIpgBChRGZWVkYmFja0Nsb25lTWVzc2FnZRITCgtvcmlnaW5hbF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSOgoQdmlzaWJpbGl0eV9zY29wZRgFIAEoDjIWLmFyLnYxLlZpc2liaWxpdHlTY29wZUIIukgFggECEAEqrgkKDEZlZWRiYWNrVHlwZRIdChlGRUVEQkFDS19UWVBFX1VOU1BFQ0lGSUVEEAASHgoaRkVFREJBQ0tfVFlQRV9UQVJHRVRfR0hPU1QQChIiCh5GRUVEQkFDS19UWVBFX1RBUkdFVF9ISUdITElHSFQQCxIdChlGRUVEQkFDS19UWVBFX1NOQVBfR1VJREVTEAwSKwonRkVFREJBQ0tfVFlQRV9DT05UQUNUX1NVUkZBQ0VfSElHSExJR0hUEA0SIAocRkVFREJBQ0tfVFlQRV9UT0xFUkFOQ0VfWk9ORRAOEh8KG0ZFRURCQUNLX1RZUEVfRVhQTE9ERURfVklFVxAPEiAKHEZFRURCQUNLX1RZUEVfUEFSVF9ISUdITElHSFQQHhIgChxGRUVEQkFDS19UWVBFX1RPT0xfSElHSExJR0hUEB8SJgoiRkVFREJBQ0tfVFlQRV9DT05TVU1BQkxFX0lORElDQVRPUhAgEh0KGUZFRURCQUNLX1RZUEVfSU5TVFJVQ1RJT04QMhIbChdGRUVEQkFDS19UWVBFX0NIRUNLTElTVBAzEiAKHEZFRURCQUNLX1RZUEVfUFJPR1JFU1NfUEFORUwQNBIiCh5GRUVEQkFDS19UWVBFX0RFUEVOREVOQ1lfR1JBUEgQNRIfChtGRUVEQkFDS19UWVBFX1RJTUVfRVNUSU1BVEUQNhIXChNGRUVEQkFDS19UWVBFX1JVTEVSEEYSIAocRkVFREJBQ0tfVFlQRV9QT1NFX1ZBTElEQVRPUhBHEiUKIUZFRURCQUNLX1RZUEVfVklTSU9OX0NPTkZJUk1BVElPThBIEiUKIUZFRURCQUNLX1RZUEVfVE9SUVVFX0NPTkZJUk1BVElPThBJEhwKGEZFRURCQUNLX1RZUEVfUk9CT1RfUEFUSBBaEiEKHUZFRURCQUNLX1RZUEVfUk9CT1RfV0FZUE9JTlRTEFsSIgoeRkVFREJBQ0tfVFlQRV9ST0JPVF9TSUxIT1VFVFRFEFwSIwofRkVFREJBQ0tfVFlQRV9ST0JPVF9JTlRFTlRfQ09ORRBdEigKJEZFRURCQUNLX1RZUEVfUk9CT1RfT0NDVVBBTkNZX1ZPTFVNRRBeEh4KGkZFRURCQUNLX1RZUEVfUk9CT1RfU1RBVFVTEF8SHQoZRkVFREJBQ0tfVFlQRV9ST0JPVF9MSUdIVBBgEh8KG0ZFRURCQUNLX1RZUEVfSEFORE9WRVJfWk9ORRB4EikKJUZFRURCQUNLX1RZUEVfU1lOQ0hST05JWkFUSU9OX0JBUlJJRVIQeRInCiNGRUVEQkFDS19UWVBFX1NIQVJFRF9UQVNLX0lORElDQVRPUhB6EiEKHUZFRURCQUNLX1RZUEVfUk9CT1RfQVRURU5USU9OEHsSGgoVRkVFREJBQ0tfVFlQRV9NRVNTQUdFEMgBEhcKEkZFRURCQUNLX1RZUEVfSUNPThDJARIcChdGRUVEQkFDS19UWVBFX0hJR0hMSUdIVBDKARIXChJGRUVEQkFDS19UWVBFX1pPTkUQywESHQoYRkVFREJBQ0tfVFlQRV9QTEFZX1NPVU5EEMwBKr0BCg9WaXNpYmlsaXR5U2NvcGUSIAocVklTSUJJTElUWV9TQ09QRV9VTlNQRUNJRklFRBAAEhsKF1ZJU0lCSUxJVFlfU0NPUEVfQUxXQVlTEAESIQodVklTSUJJTElUWV9TQ09QRV9MT1dfR1VJREFOQ0UQAhIkCiBWSVNJQklMSVRZX1NDT1BFX01FRElVTV9HVUlEQU5DRRADEiIKHlZJU0lCSUxJVFlfU0NPUEVfRlVMTF9HVUlEQU5DRRAEQokBCgljb20uYXIudjFCDUZlZWRiYWNrUHJvdG9QAVovZ2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL2FyL3YxO2FydjGiAgNBWFiqAg5NZXNzYWdlcy5BUi5WMcoCBUFyXFYx4gIRQXJcVjFcR1BCTWV0YWRhdGHqAgZBcjo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_geometry_v1_anchor, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("ChRhci92MS9mZWVkYmFjay5wcm90bxIFYXIudjEi7gEKD0ZlZWRiYWNrTWVzc2FnZRIVCgJpZBgBIAEoCUIJukgGcgTA8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEi4KBHR5cGUYBSABKA4yEy5hci52MS5GZWVkYmFja1R5cGVCC7pICMgBAYIBAhABEjoKEHZpc2liaWxpdHlfc2NvcGUYBiABKA4yFi5hci52MS5WaXNpYmlsaXR5U2NvcGVCCLpIBYIBAhABEhwKCWNvbmZpZ19pZBgIIAEoCUIJukgGcgSQ8QQBIj0KEEZlZWRiYWNrTWVzc2FnZXMSKQoJZmVlZGJhY2tzGAEgAygLMhYuYXIudjEuRmVlZGJhY2tNZXNzYWdlIsYCChJGZWVkYmFja0FkZE1lc3NhZ2USHAoJY29uZmlnX2lkGAEgASgJQgm6SAZyBJDxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSLgoEdHlwZRgFIAEoDjITLmFyLnYxLkZlZWRiYWNrVHlwZUILukgIyAEBggECEAESOgoQdmlzaWJpbGl0eV9zY29wZRgGIAEoDjIWLmFyLnYxLlZpc2liaWxpdHlTY29wZUIIukgFggECEAESJAoRcm9ib3RfcHJvcGVydHlfaWQYByABKAlCCbpIBnIEmPEEARIjCgZhbmNob3IYCCABKAsyEy5nZW9tZXRyeS52MS5BbmNob3ISHwoXbGlua19kZWZhdWx0X3Byb3BlcnRpZXMYCSABKAgipgEKFUZlZWRiYWNrVXBkYXRlTWVzc2FnZRIVCgJpZBgBIAEoCUIJukgGcgTA8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjoKEHZpc2liaWxpdHlfc2NvcGUYBSABKA4yFi5hci52MS5WaXNpYmlsaXR5U2NvcGVCCLpIBYIBAhABKq4JCgxGZWVkYmFja1R5cGUSHQoZRkVFREJBQ0tfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkZFRURCQUNLX1RZUEVfVEFSR0VUX0dIT1NUEAoSIgoeRkVFREJBQ0tfVFlQRV9UQVJHRVRfSElHSExJR0hUEAsSHQoZRkVFREJBQ0tfVFlQRV9TTkFQX0dVSURFUxAMEisKJ0ZFRURCQUNLX1RZUEVfQ09OVEFDVF9TVVJGQUNFX0hJR0hMSUdIVBANEiAKHEZFRURCQUNLX1RZUEVfVE9MRVJBTkNFX1pPTkUQDhIfChtGRUVEQkFDS19UWVBFX0VYUExPREVEX1ZJRVcQDxIgChxGRUVEQkFDS19UWVBFX1BBUlRfSElHSExJR0hUEB4SIAocRkVFREJBQ0tfVFlQRV9UT09MX0hJR0hMSUdIVBAfEiYKIkZFRURCQUNLX1RZUEVfQ09OU1VNQUJMRV9JTkRJQ0FUT1IQIBIdChlGRUVEQkFDS19UWVBFX0lOU1RSVUNUSU9OEDISGwoXRkVFREJBQ0tfVFlQRV9DSEVDS0xJU1QQMxIgChxGRUVEQkFDS19UWVBFX1BST0dSRVNTX1BBTkVMEDQSIgoeRkVFREJBQ0tfVFlQRV9ERVBFTkRFTkNZX0dSQVBIEDUSHwobRkVFREJBQ0tfVFlQRV9USU1FX0VTVElNQVRFEDYSFwoTRkVFREJBQ0tfVFlQRV9SVUxFUhBGEiAKHEZFRURCQUNLX1RZUEVfUE9TRV9WQUxJREFUT1IQRxIlCiFGRUVEQkFDS19UWVBFX1ZJU0lPTl9DT05GSVJNQVRJT04QSBIlCiFGRUVEQkFDS19UWVBFX1RPUlFVRV9DT05GSVJNQVRJT04QSRIcChhGRUVEQkFDS19UWVBFX1JPQk9UX1BBVEgQWhIhCh1GRUVEQkFDS19UWVBFX1JPQk9UX1dBWVBPSU5UUxBbEiIKHkZFRURCQUNLX1RZUEVfUk9CT1RfU0lMSE9VRVRURRBcEiMKH0ZFRURCQUNLX1RZUEVfUk9CT1RfSU5URU5UX0NPTkUQXRIoCiRGRUVEQkFDS19UWVBFX1JPQk9UX09DQ1VQQU5DWV9WT0xVTUUQXhIeChpGRUVEQkFDS19UWVBFX1JPQk9UX1NUQVRVUxBfEh0KGUZFRURCQUNLX1RZUEVfUk9CT1RfTElHSFQQYBIfChtGRUVEQkFDS19UWVBFX0hBTkRPVkVSX1pPTkUQeBIpCiVGRUVEQkFDS19UWVBFX1NZTkNIUk9OSVpBVElPTl9CQVJSSUVSEHkSJwojRkVFREJBQ0tfVFlQRV9TSEFSRURfVEFTS19JTkRJQ0FUT1IQehIhCh1GRUVEQkFDS19UWVBFX1JPQk9UX0FUVEVOVElPThB7EhoKFUZFRURCQUNLX1RZUEVfTUVTU0FHRRDIARIXChJGRUVEQkFDS19UWVBFX0lDT04QyQESHAoXRkVFREJBQ0tfVFlQRV9ISUdITElHSFQQygESFwoSRkVFREJBQ0tfVFlQRV9aT05FEMsBEh0KGEZFRURCQUNLX1RZUEVfUExBWV9TT1VORBDMASq9AQoPVmlzaWJpbGl0eVNjb3BlEiAKHFZJU0lCSUxJVFlfU0NPUEVfVU5TUEVDSUZJRUQQABIbChdWSVNJQklMSVRZX1NDT1BFX0FMV0FZUxABEiEKHVZJU0lCSUxJVFlfU0NPUEVfTE9XX0dVSURBTkNFEAISJAogVklTSUJJTElUWV9TQ09QRV9NRURJVU1fR1VJREFOQ0UQAxIiCh5WSVNJQklMSVRZX1NDT1BFX0ZVTExfR1VJREFOQ0UQBEKJAQoJY29tLmFyLnYxQg1GZWVkYmFja1Byb3RvUAFaL2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hci92MTthcnYxogIDQVhYqgIOTWVzc2FnZXMuQVIuVjHKAgVBclxWMeICEUFyXFYxXEdQQk1ldGFkYXRh6gIGQXI6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_geometry_v1_anchor, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  * @generated from message ar.v1.FeedbackMessage
@@ -176,43 +176,6 @@ export type FeedbackUpdateMessage = Message<"ar.v1.FeedbackUpdateMessage"> & {
176
176
  export const FeedbackUpdateMessageSchema: GenMessage<FeedbackUpdateMessage> = /*@__PURE__*/
177
177
  messageDesc(file_ar_v1_feedback, 3);
178
178
 
179
- /**
180
- * @generated from message ar.v1.FeedbackCloneMessage
181
- */
182
- export type FeedbackCloneMessage = Message<"ar.v1.FeedbackCloneMessage"> & {
183
- /**
184
- * @generated from field: string original_id = 1;
185
- */
186
- originalId: string;
187
-
188
- /**
189
- * @generated from field: string name = 2;
190
- */
191
- name: string;
192
-
193
- /**
194
- * @generated from field: string icon = 3;
195
- */
196
- icon: string;
197
-
198
- /**
199
- * @generated from field: string description = 4;
200
- */
201
- description: string;
202
-
203
- /**
204
- * @generated from field: ar.v1.VisibilityScope visibility_scope = 5;
205
- */
206
- visibilityScope: VisibilityScope;
207
- };
208
-
209
- /**
210
- * Describes the message ar.v1.FeedbackCloneMessage.
211
- * Use `create(FeedbackCloneMessageSchema)` to create a new message.
212
- */
213
- export const FeedbackCloneMessageSchema: GenMessage<FeedbackCloneMessage> = /*@__PURE__*/
214
- messageDesc(file_ar_v1_feedback, 4);
215
-
216
179
  /**
217
180
  *
218
181
  * TODO:
@@ -507,26 +470,36 @@ export const FeedbackTypeSchema: GenEnum<FeedbackType> = /*@__PURE__*/
507
470
  */
508
471
  export enum VisibilityScope {
509
472
  /**
473
+ * No visibility scope has been specified.
474
+ *
510
475
  * @generated from enum value: VISIBILITY_SCOPE_UNSPECIFIED = 0;
511
476
  */
512
477
  UNSPECIFIED = 0,
513
478
 
514
479
  /**
480
+ * Shows the feedback regardless of the selected guidance level.
481
+ *
515
482
  * @generated from enum value: VISIBILITY_SCOPE_ALWAYS = 1;
516
483
  */
517
484
  ALWAYS = 1,
518
485
 
519
486
  /**
487
+ * Shows the feedback at the low guidance level.
488
+ *
520
489
  * @generated from enum value: VISIBILITY_SCOPE_LOW_GUIDANCE = 2;
521
490
  */
522
491
  LOW_GUIDANCE = 2,
523
492
 
524
493
  /**
494
+ * Shows the feedback at the medium guidance level.
495
+ *
525
496
  * @generated from enum value: VISIBILITY_SCOPE_MEDIUM_GUIDANCE = 3;
526
497
  */
527
498
  MEDIUM_GUIDANCE = 3,
528
499
 
529
500
  /**
501
+ * Shows the feedback at the full guidance level.
502
+ *
530
503
  * @generated from enum value: VISIBILITY_SCOPE_FULL_GUIDANCE = 4;
531
504
  */
532
505
  FULL_GUIDANCE = 4,
@@ -12,7 +12,7 @@ import type { Message } from "@bufbuild/protobuf";
12
12
  * Describes the file ar/v1/function.proto.
13
13
  */
14
14
  export const file_ar_v1_function: GenFile = /*@__PURE__*/
15
- fileDesc("ChRhci92MS9mdW5jdGlvbi5wcm90bxIFYXIudjEimgEKD0Z1bmN0aW9uTWVzc2FnZRIKCgJpZBgBIAEoCRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIhCgR0eXBlGAUgASgOMhMuYXIudjEuRnVuY3Rpb25UeXBlEhwKCWNvbmZpZ19pZBgGIAEoCUIJukgGcgSQ8QQBIjkKEEZ1bmN0aW9uTWVzc2FnZXMSJQoFaXRlbXMYASADKAsyFi5hci52MS5GdW5jdGlvbk1lc3NhZ2UikwEKEkZ1bmN0aW9uQWRkTWVzc2FnZRIcCgljb25maWdfaWQYASABKAlCCbpIBnIEkPEEARIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSLgoEdHlwZRgFIAEoDjITLmFyLnYxLkZ1bmN0aW9uVHlwZUILukgIyAEBggECEAEiXwoVRnVuY3Rpb25VcGRhdGVNZXNzYWdlEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJKs8CCgxGdW5jdGlvblR5cGUSHQoZRlVOQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEhsKF0ZVTkNUSU9OX1RZUEVfUFJPWElNSVRZEAoSHAoYRlVOQ1RJT05fVFlQRV9TVEFUSU9OQVJZEAsSFwoTRlVOQ1RJT05fVFlQRV9USU1FUhAVEh8KG0ZVTkNUSU9OX1RZUEVfUEFSVF9GT1JfVEFTSxAoEiEKHUZVTkNUSU9OX1RZUEVfSVNfUEFSVF9PRl9UWVBFEDISIQodRlVOQ1RJT05fVFlQRV9TVFJJTkdfRk9STUFUXzEQPBIhCh1GVU5DVElPTl9UWVBFX1NUUklOR19GT1JNQVRfMhA9EhUKEUZVTkNUSU9OX1RZUEVfQU5EEGQSFAoQRlVOQ1RJT05fVFlQRV9PUhBlEhUKEUZVTkNUSU9OX1RZUEVfTk9UEGZCiQEKCWNvbS5hci52MUINRnVuY3Rpb25Qcm90b1ABWi9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXIvdjE7YXJ2MaICA0FYWKoCDk1lc3NhZ2VzLkFSLlYxygIFQXJcVjHiAhFBclxWMVxHUEJNZXRhZGF0YeoCBkFyOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
15
+ fileDesc("ChRhci92MS9mdW5jdGlvbi5wcm90bxIFYXIudjEisgEKD0Z1bmN0aW9uTWVzc2FnZRIVCgJpZBgBIAEoCUIJukgGcgTQ8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEi4KBHR5cGUYBSABKA4yEy5hci52MS5GdW5jdGlvblR5cGVCC7pICMgBAYIBAhABEhwKCWNvbmZpZ19pZBgGIAEoCUIJukgGcgSQ8QQBIjkKEEZ1bmN0aW9uTWVzc2FnZXMSJQoFaXRlbXMYASADKAsyFi5hci52MS5GdW5jdGlvbk1lc3NhZ2UingEKEkZ1bmN0aW9uQWRkTWVzc2FnZRIcCgljb25maWdfaWQYASABKAlCCbpIBnIEkPEEARIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIuCgR0eXBlGAUgASgOMhMuYXIudjEuRnVuY3Rpb25UeXBlQgu6SAjIAQGCAQIQASJqChVGdW5jdGlvblVwZGF0ZU1lc3NhZ2USFQoCaWQYASABKAlCCbpIBnIE0PMEARIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCSqyBQoMRnVuY3Rpb25UeXBlEh0KGUZVTkNUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIbChdGVU5DVElPTl9UWVBFX1BST1hJTUlUWRAKEhwKGEZVTkNUSU9OX1RZUEVfU1RBVElPTkFSWRALEhcKE0ZVTkNUSU9OX1RZUEVfVElNRVIQFRIfChtGVU5DVElPTl9UWVBFX1BBUlRfRk9SX1RBU0sQKBIhCh1GVU5DVElPTl9UWVBFX0lTX1BBUlRfT0ZfVFlQRRAyEicKI0ZVTkNUSU9OX1RZUEVfQ0xPU0VTVF9XT1JLQUJMRV9UQVNLEDMSIQodRlVOQ1RJT05fVFlQRV9TVFJJTkdfRk9STUFUXzEQPBIhCh1GVU5DVElPTl9UWVBFX1NUUklOR19GT1JNQVRfMhA9Eh4KGkZVTkNUSU9OX1RZUEVfU1RSSU5HX0VNUFRZED4SHAoYRlVOQ1RJT05fVFlQRV9JTlRfRk9STUFUEEYSHQoZRlVOQ1RJT05fVFlQRV9JTlRfQ09NUEFSRRBHEh4KGkZVTkNUSU9OX1RZUEVfRkxPQVRfRk9STUFUEFASHwobRlVOQ1RJT05fVFlQRV9GTE9BVF9DT01QQVJFEFESHwobRlVOQ1RJT05fVFlQRV9ET1VCTEVfRk9STUFUEFoSIAocRlVOQ1RJT05fVFlQRV9ET1VCTEVfQ09NUEFSRRBbEhUKEUZVTkNUSU9OX1RZUEVfQU5EEGQSFAoQRlVOQ1RJT05fVFlQRV9PUhBlEhUKEUZVTkNUSU9OX1RZUEVfTk9UEGYSKgomRlVOQ1RJT05fVFlQRV9ST0JPVF9DT05GSUdVUkFCTEVfSU5QVVQQeBIrCidGVU5DVElPTl9UWVBFX1JPQk9UX0NPTkZJR1VSQUJMRV9PVVRQVVQQeUKJAQoJY29tLmFyLnYxQg1GdW5jdGlvblByb3RvUAFaL2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hci92MTthcnYxogIDQVhYqgIOTWVzc2FnZXMuQVIuVjHKAgVBclxWMeICEUFyXFYxXEdQQk1ldGFkYXRh6gIGQXI6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
16
16
 
17
17
  /**
18
18
  * @generated from message ar.v1.FunctionMessage
@@ -152,54 +152,144 @@ export enum FunctionType {
152
152
  UNSPECIFIED = 0,
153
153
 
154
154
  /**
155
+ * Evaluates whether two spatial entities are within a configured distance.
156
+ *
155
157
  * @generated from enum value: FUNCTION_TYPE_PROXIMITY = 10;
156
158
  */
157
159
  PROXIMITY = 10,
158
160
 
159
161
  /**
162
+ * Evaluates whether a spatial entity is stationary.
163
+ *
160
164
  * @generated from enum value: FUNCTION_TYPE_STATIONARY = 11;
161
165
  */
162
166
  STATIONARY = 11,
163
167
 
164
168
  /**
169
+ * Evaluates whether a configured duration has elapsed.
170
+ *
165
171
  * @generated from enum value: FUNCTION_TYPE_TIMER = 21;
166
172
  */
167
173
  TIMER = 21,
168
174
 
169
175
  /**
176
+ * Resolves the part associated with a task.
177
+ *
170
178
  * @generated from enum value: FUNCTION_TYPE_PART_FOR_TASK = 40;
171
179
  */
172
180
  PART_FOR_TASK = 40,
173
181
 
174
182
  /**
183
+ * Evaluates whether a part matches a specified part type.
184
+ *
175
185
  * @generated from enum value: FUNCTION_TYPE_IS_PART_OF_TYPE = 50;
176
186
  */
177
187
  IS_PART_OF_TYPE = 50,
178
188
 
179
189
  /**
190
+ * Resolves the closest task that is currently workable.
191
+ *
192
+ * @generated from enum value: FUNCTION_TYPE_CLOSEST_WORKABLE_TASK = 51;
193
+ */
194
+ CLOSEST_WORKABLE_TASK = 51,
195
+
196
+ /**
197
+ * Formats a string using one replacement value.
198
+ *
180
199
  * @generated from enum value: FUNCTION_TYPE_STRING_FORMAT_1 = 60;
181
200
  */
182
201
  STRING_FORMAT_1 = 60,
183
202
 
184
203
  /**
204
+ * Formats a string using two replacement values.
205
+ *
185
206
  * @generated from enum value: FUNCTION_TYPE_STRING_FORMAT_2 = 61;
186
207
  */
187
208
  STRING_FORMAT_2 = 61,
188
209
 
189
210
  /**
211
+ * Evaluates whether a string is empty.
212
+ *
213
+ * @generated from enum value: FUNCTION_TYPE_STRING_EMPTY = 62;
214
+ */
215
+ STRING_EMPTY = 62,
216
+
217
+ /**
218
+ * Formats an integer as a string.
219
+ *
220
+ * @generated from enum value: FUNCTION_TYPE_INT_FORMAT = 70;
221
+ */
222
+ INT_FORMAT = 70,
223
+
224
+ /**
225
+ * Compares two integer values.
226
+ *
227
+ * @generated from enum value: FUNCTION_TYPE_INT_COMPARE = 71;
228
+ */
229
+ INT_COMPARE = 71,
230
+
231
+ /**
232
+ * Formats a single-precision floating-point value as a string.
233
+ *
234
+ * @generated from enum value: FUNCTION_TYPE_FLOAT_FORMAT = 80;
235
+ */
236
+ FLOAT_FORMAT = 80,
237
+
238
+ /**
239
+ * Compares two single-precision floating-point values.
240
+ *
241
+ * @generated from enum value: FUNCTION_TYPE_FLOAT_COMPARE = 81;
242
+ */
243
+ FLOAT_COMPARE = 81,
244
+
245
+ /**
246
+ * Formats a double-precision floating-point value as a string.
247
+ *
248
+ * @generated from enum value: FUNCTION_TYPE_DOUBLE_FORMAT = 90;
249
+ */
250
+ DOUBLE_FORMAT = 90,
251
+
252
+ /**
253
+ * Compares two double-precision floating-point values.
254
+ *
255
+ * @generated from enum value: FUNCTION_TYPE_DOUBLE_COMPARE = 91;
256
+ */
257
+ DOUBLE_COMPARE = 91,
258
+
259
+ /**
260
+ * Evaluates the logical conjunction of two boolean values.
261
+ *
190
262
  * @generated from enum value: FUNCTION_TYPE_AND = 100;
191
263
  */
192
264
  AND = 100,
193
265
 
194
266
  /**
267
+ * Evaluates the logical disjunction of two boolean values.
268
+ *
195
269
  * @generated from enum value: FUNCTION_TYPE_OR = 101;
196
270
  */
197
271
  OR = 101,
198
272
 
199
273
  /**
274
+ * Negates a boolean value.
275
+ *
200
276
  * @generated from enum value: FUNCTION_TYPE_NOT = 102;
201
277
  */
202
278
  NOT = 102,
279
+
280
+ /**
281
+ * Reads a configured robot input.
282
+ *
283
+ * @generated from enum value: FUNCTION_TYPE_ROBOT_CONFIGURABLE_INPUT = 120;
284
+ */
285
+ ROBOT_CONFIGURABLE_INPUT = 120,
286
+
287
+ /**
288
+ * Reads a configured robot output.
289
+ *
290
+ * @generated from enum value: FUNCTION_TYPE_ROBOT_CONFIGURABLE_OUTPUT = 121;
291
+ */
292
+ ROBOT_CONFIGURABLE_OUTPUT = 121,
203
293
  }
204
294
 
205
295
  /**
@@ -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("Chhjb21tb24vdjEvcHJvcGVydHkucHJvdG8SCWNvbW1vbi52MSLpCAoSUHJvcGVydHlEZWZpbml0aW9uEhUKAmlkGAEgASgJQgm6SAZyBJjxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSMgoEdHlwZRgFIAEoDjIXLmNvbW1vbi52MS5Qcm9wZXJ0eVR5cGVCC7pICMgBAYIBAhABEhEKCXBhcmVudF9pZBgGIAEoCRIcChRhdXRob3JpbmdfY29udGV4dF9pZBgHIAEoCRIxCgVzY29wZRgIIAEoDjIYLmNvbW1vbi52MS5Qcm9wZXJ0eVNjb3BlQgi6SAWCAQIQARJMChttaW5pbXVtX3JlcXVpcmVkX3Blcm1pc3Npb24YCSABKA4yHS5jb21tb24udjEuUHJvcGVydHlQZXJtaXNzaW9uQgi6SAWCAQIQARJBCg9hbGxvd2VkX29yaWdpbnMYCiADKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CDbpICpIBByIFggECEAESMQoFZ3JvdXAYCyABKA4yGC5jb21tb24udjEuUHJvcGVydHlHcm91cEIIukgFggECEAESEAoIb3JkZXJpbmcYDCABKAUSEgoKaGlkZV9ncm91cBgNIAEoCBIQCghhZHZhbmNlZBgOIAEoCBIcChRhbGxvd190b19iZV9taXJyb3JlZBgPIAEoCBJACg1zZW1hbnRpY19yb2xlGBAgASgOMh8uY29tbW9uLnYxLlByb3BlcnR5U2VtYW50aWNSb2xlQgi6SAWCAQIQARIuCg1udW1iZXJfZXh0cmFzGCkgASgLMhcuY29tbW9uLnYxLk51bWJlckV4dHJhcxIqCgtlbnVtX2V4dHJhcxgqIAEoCzIVLmNvbW1vbi52MS5FbnVtRXh0cmFzEjAKDnZlY3RvcjNfZXh0cmFzGCsgASgLMhguY29tbW9uLnYxLlZlY3RvcjNFeHRyYXMSLAoMY29sb3JfZXh0cmFzGCwgASgLMhYuY29tbW9uLnYxLkNvbG9yRXh0cmFzEioKC3Bvc2VfZXh0cmFzGC0gASgLMhUuY29tbW9uLnYxLlBvc2VFeHRyYXMSLgoNYW5jaG9yX2V4dHJhcxguIAEoCzIXLmNvbW1vbi52MS5BbmNob3JFeHRyYXM68wG6SO8BGpQBChllbnVtX3JlcXVpcmVzX2VudW1fZXh0cmFzEjdlbnVtX2V4dHJhcyBtdXN0IGJlIHNldCB3aGVuIHR5cGUgaXMgRU5VTSBvciBFTlVNX01VTFRJGj4hKHRoaXMudHlwZSA9PSAxMSB8fCB0aGlzLnR5cGUgPT0gMTIpIHx8IGhhcyh0aGlzLmVudW1fZXh0cmFzKSJWCg1udW1iZXJfZXh0cmFzCgtlbnVtX2V4dHJhcwoOdmVjdG9yM19leHRyYXMKDGNvbG9yX2V4dHJhcwoLcG9zZV9leHRyYXMKDWFuY2hvcl9leHRyYXMiyQMKEFByb3BlcnR5SW5zdGFuY2USFQoCaWQYASABKAlCCbpIBnIEmPMEARIpChZwcm9wZXJ0eV9kZWZpbml0aW9uX2lkGAIgASgJQgm6SAZyBJjxBAESJwoFc2NvcGUYAyABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZRIQCghzY29wZV9pZBgEIAEoCRIzCgZvcmlnaW4YBSABKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CCLpIBYIBAhABEjAKHW1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkGAYgASgJQgm6SAZyBJjxBAESLwoFdmFsdWUYByABKAsyGC5jb21tb24udjEuUHJvcGVydHlWYWx1ZUIGukgDyAEBOp8BukibARqYAQoibWlycm9yX3JlcXVpcmVzX21pcnJvcl9wcm9wZXJ0eV9pZBI0bWlycm9yX3Byb3BlcnR5X2lkIG11c3QgYmUgc2V0IHdoZW4gb3JpZ2luIGlzIE1JUlJPUho8dGhpcy5vcmlnaW4gIT0gMiB8fCB0aGlzLm1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkICE9ICcnIr0NCg1Qcm9wZXJ0eVZhbHVlEjIKBHR5cGUYASABKA4yFy5jb21tb24udjEuUHJvcGVydHlUeXBlQgu6SAjIAQGCAQIQARIXCgpib29sX3ZhbHVlGBUgASgISACIAQESFgoJaW50X3ZhbHVlGBYgASgSSAGIAQESGAoLZmxvYXRfdmFsdWUYFyABKAJIAogBARIZCgxkb3VibGVfdmFsdWUYGCABKAFIA4gBARIZCgxzdHJpbmdfdmFsdWUYGSABKAlIBIgBARIrCg12ZWN0b3IzX3ZhbHVlGBogASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxIuCgpwb3NlX3ZhbHVlGBsgASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZRIpCgxhbmNob3JfdmFsdWUYHCABKAsyEy5nZW9tZXRyeS52MS5BbmNob3ISJQoLY29sb3JfdmFsdWUYHSABKAsyEC5jb21tb24udjEuQ29sb3ISGwoOcm9ib3RfaWRfdmFsdWUYHiABKAlIBYgBARIgCgplbnVtX3ZhbHVlGB8gASgJQge6SARyAhABSAaIAQESKAoQZW51bV9tdWx0aV92YWx1ZRggIAMoCUIOukgLkgEICAEiBHICEAESFwoKaWNvbl92YWx1ZRghIAEoCUgHiAEBEhsKDmFzc2V0X2lkX3ZhbHVlGCIgASgJSAiIAQESHAoPd29ya2VyX2lkX3ZhbHVlGCMgASgJSAmIAQE64we6SN8HGoYGCiBwcm9wZXJ0eV90eXBlX21hdGNoZXNfdmFsdWVfa2luZBIndHlwZSBtdXN0IG1hdGNoIHRoZSBraW5kIG9mIHZhbHVlIGZpZWxkGrgFKCh0aGlzLnR5cGUgPT0gMSAmJiBoYXModGhpcy5ib29sX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAyICYmIGhhcyh0aGlzLmludF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMyAmJiBoYXModGhpcy5mbG9hdF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gNCAmJiBoYXModGhpcy5kb3VibGVfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDUgJiYgaGFzKHRoaXMuc3RyaW5nX3ZhbHVlKSkgfHwodGhpcy50eXBlID09IDYgJiYgaGFzKHRoaXMudmVjdG9yM192YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gNyAmJiBoYXModGhpcy5wb3NlX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSA4ICYmIGhhcyh0aGlzLmFuY2hvcl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gOSAmJiBoYXModGhpcy5jb2xvcl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTAgJiYgaGFzKHRoaXMucm9ib3RfaWRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDExICYmIGhhcyh0aGlzLmVudW1fdmFsdWUpKSB8fCh0aGlzLnR5cGUgPT0gMTIgJiYgc2l6ZSh0aGlzLmVudW1fbXVsdGlfdmFsdWUpID4gMCkgfHwgKHRoaXMudHlwZSA9PSAxMyAmJiBoYXModGhpcy5pY29uX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAxNCAmJiBoYXModGhpcy5hc3NldF9pZF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTUgJiYgaGFzKHRoaXMud29ya2VyX2lkX3ZhbHVlKSkpItMBCgpib29sX3ZhbHVlCglpbnRfdmFsdWUKC2Zsb2F0X3ZhbHVlCgxkb3VibGVfdmFsdWUKDHN0cmluZ192YWx1ZQoNdmVjdG9yM192YWx1ZQoKcG9zZV92YWx1ZQoMYW5jaG9yX3ZhbHVlCgtjb2xvcl92YWx1ZQoOcm9ib3RfaWRfdmFsdWUKCmVudW1fdmFsdWUKEGVudW1fbXVsdGlfdmFsdWUKCmljb25fdmFsdWUKDmFzc2V0X2lkX3ZhbHVlCg93b3JrZXJfaWRfdmFsdWUQAUINCgtfYm9vbF92YWx1ZUIMCgpfaW50X3ZhbHVlQg4KDF9mbG9hdF92YWx1ZUIPCg1fZG91YmxlX3ZhbHVlQg8KDV9zdHJpbmdfdmFsdWVCEQoPX3JvYm90X2lkX3ZhbHVlQg0KC19lbnVtX3ZhbHVlQg0KC19pY29uX3ZhbHVlQhEKD19hc3NldF9pZF92YWx1ZUISChBfd29ya2VyX2lkX3ZhbHVlIucDChZQcm9wZXJ0eUluc3RhbmNlVXBkYXRlEicKFHByb3BlcnR5X2luc3RhbmNlX2lkGAEgASgJQgm6SAZyBJjzBAESMwoGb3JpZ2luGAIgASgOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQgi6SAWCAQIQARIwCh1taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgDIAEoCUIJukgGcgSY8QQBEi8KBXZhbHVlGAQgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBATqLArpIhwIaagobZml4ZWRfb3JpZ2luX3JlcXVpcmVzX3ZhbHVlEiZ2YWx1ZSBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBGSVhFRBojdGhpcy5vcmlnaW4gIT0gMSB8fCBoYXModGhpcy52YWx1ZSkamAEKIm1pcnJvcl9yZXF1aXJlc19taXJyb3JfcHJvcGVydHlfaWQSNG1pcnJvcl9wcm9wZXJ0eV9pZCBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBNSVJST1IaPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJyJDChNQcm9wZXJ0eURlZmluaXRpb25zEiwKBWl0ZW1zGAEgAygLMh0uY29tbW9uLnYxLlByb3BlcnR5RGVmaW5pdGlvbiI/ChFQcm9wZXJ0eUluc3RhbmNlcxIqCgVpdGVtcxgBIAMoCzIbLmNvbW1vbi52MS5Qcm9wZXJ0eUluc3RhbmNlIsYDCgxOdW1iZXJFeHRyYXMSEAoDbWluGAEgASgBSACIAQESEAoDbWF4GAIgASgBSAGIAQESIQoEc3RlcBgDIAEoAUIOukgLEgkhAAAAAAAAAABIAogBARIVCgR1bml0GAQgASgJQge6SARyAhgDEhoKCXByZWNpc2lvbhgFIAEoDUIHukgEKgIoADqiArpIngIamwIKGG51bWJlcl9leHRyYXNfY29uc2lzdGVudBJUSWYgYW55IG9mIG1pbi9tYXgvc3RlcCBpcyBzZXQsIGFsbCBtdXN0IGJlIHNldDsgYW5kIG1pbiA8IG1heDsgYW5kIHN0ZXAgPD0gKG1heC1taW4pGqgBKCFoYXModGhpcy5taW4pICYmICFoYXModGhpcy5tYXgpICYmICFoYXModGhpcy5zdGVwKSkgfHwgKGhhcyh0aGlzLm1pbikgJiYgaGFzKHRoaXMubWF4KSAmJiBoYXModGhpcy5zdGVwKSAmJiB0aGlzLm1pbiA8IHRoaXMubWF4ICYmIHRoaXMuc3RlcCA8PSAodGhpcy5tYXggLSB0aGlzLm1pbikpQgYKBF9taW5CBgoEX21heEIHCgVfc3RlcCJrCgpFbnVtT3B0aW9uEhYKBXZhbHVlGAEgASgJQge6SARyAhABEhYKBWxhYmVsGAIgASgJQge6SARyAhABEgwKBGljb24YAyABKAkSDQoFZ3JvdXAYBCABKAkSEAoIZGlzYWJsZWQYBSABKAgipQEKCkVudW1FeHRyYXMSEwoLcGxhY2Vob2xkZXIYASABKAkSDgoGZmlsdGVyGAIgASgIEg8KB2dyb3VwZWQYAyABKAgSEgoKc2hvd19pY29ucxgEIAEoCBIbChNtYXhfc2VsZWN0ZWRfbGFiZWxzGAUgASgNEjAKB29wdGlvbnMYBiADKAsyFS5jb21tb24udjEuRW51bU9wdGlvbkIIukgFkgECCAEi+QMKDVZlY3RvcjNFeHRyYXMSEAoDbWluGAEgASgBSACIAQESEAoDbWF4GAIgASgBSAGIAQESIQoEc3RlcBgDIAEoAUIOukgLEgkhAAAAAAAAAABIAogBARIYCgdsYWJlbF94GAQgASgJQge6SARyAhgFEhgKB2xhYmVsX3kYBSABKAlCB7pIBHICGAUSGAoHbGFiZWxfehgGIAEoCUIHukgEcgIYBRIVCgR1bml0GAcgASgJQge6SARyAhgDOqICukieAhqbAgoYbnVtYmVyX2V4dHJhc19jb25zaXN0ZW50ElRJZiBhbnkgb2YgbWluL21heC9zdGVwIGlzIHNldCwgYWxsIG11c3QgYmUgc2V0OyBhbmQgbWluIDwgbWF4OyBhbmQgc3RlcCA8PSAobWF4LW1pbikaqAEoIWhhcyh0aGlzLm1pbikgJiYgIWhhcyh0aGlzLm1heCkgJiYgIWhhcyh0aGlzLnN0ZXApKSB8fCAoaGFzKHRoaXMubWluKSAmJiBoYXModGhpcy5tYXgpICYmIGhhcyh0aGlzLnN0ZXApICYmIHRoaXMubWluIDwgdGhpcy5tYXggJiYgdGhpcy5zdGVwIDw9ICh0aGlzLm1heCAtIHRoaXMubWluKSlCBgoEX21pbkIGCgRfbWF4QgcKBV9zdGVwIk4KC0NvbG9yRXh0cmFzEhwKBHN0ZXAYASABKAFCDrpICxIJKQAAAAAAAAAAEiEKB2RlZmF1bHQYAiABKAsyEC5jb21tb24udjEuQ29sb3IiJAoMQW5jaG9yRXh0cmFzEhQKDG9ubHlfbWFya2VycxgBIAEoCCI8CgpQb3NlRXh0cmFzEhcKD2FuY2hvcl9lZGl0YWJsZRgBIAEoCBIVCg1wb3NlX2VkaXRhYmxlGAIgASgIIo4KChVDcmVhdGVQcm9wZXJ0eU1lc3NhZ2USEQoJcGFyZW50X2lkGAEgASgJEhwKFGF1dGhvcmluZ19jb250ZXh0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDAoEaWNvbhgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIyCgR0eXBlGAYgASgOMhcuY29tbW9uLnYxLlByb3BlcnR5VHlwZUILukgIyAEBggECEAESNAoFc2NvcGUYByABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZUILukgIyAEBggECEAESQgobbWluaW11bV9yZXF1aXJlZF9wZXJtaXNzaW9uGAggASgOMh0uY29tbW9uLnYxLlByb3BlcnR5UGVybWlzc2lvbhIyCg9hbGxvd2VkX29yaWdpbnMYCSADKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW4SJwoFZ3JvdXAYCiABKA4yGC5jb21tb24udjEuUHJvcGVydHlHcm91cBIQCghvcmRlcmluZxgLIAEoBRISCgpoaWRlX2dyb3VwGAwgASgIEhAKCGFkdmFuY2VkGA0gASgIEhwKFGFsbG93X3RvX2JlX21pcnJvcmVkGA4gASgIEkAKDXNlbWFudGljX3JvbGUYECABKA4yHy5jb21tb24udjEuUHJvcGVydHlTZW1hbnRpY1JvbGVCCLpIBYIBAhABEjYKBm9yaWdpbhgUIAEoDjIZLmNvbW1vbi52MS5Qcm9wZXJ0eU9yaWdpbkILukgIyAEBggECEAESEAoIc2NvcGVfaWQYFSABKAkSMAodbWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQYFiABKAlCCbpIBnIEmPEEARI3Cg1pbml0aWFsX3ZhbHVlGBcgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBARIwCg1udW1iZXJfZXh0cmFzGCkgASgLMhcuY29tbW9uLnYxLk51bWJlckV4dHJhc0gAEiwKC2VudW1fZXh0cmFzGCogASgLMhUuY29tbW9uLnYxLkVudW1FeHRyYXNIABIyCg52ZWN0b3IzX2V4dHJhcxgrIAEoCzIYLmNvbW1vbi52MS5WZWN0b3IzRXh0cmFzSAASLgoMY29sb3JfZXh0cmFzGCwgASgLMhYuY29tbW9uLnYxLkNvbG9yRXh0cmFzSAASLAoLcG9zZV9leHRyYXMYLSABKAsyFS5jb21tb24udjEuUG9zZUV4dHJhc0gAEjAKDWFuY2hvcl9leHRyYXMYLiABKAsyFy5jb21tb24udjEuQW5jaG9yRXh0cmFzSAA6jAK6SIgCGmwKIGRlZmluaXRpb25fYW5kX3ZhbHVlX3R5cGVzX21hdGNoEiJ0eXBlIG11c3QgbWF0Y2ggaW5pdGlhbF92YWx1ZS50eXBlGiR0aGlzLnR5cGUgPT0gdGhpcy5pbml0aWFsX3ZhbHVlLnR5cGUalwEKGm1pcnJvcl9yZXF1aXJlc19kZWZpbml0aW9uEjttaXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCBpcyByZXF1aXJlZCBmb3IgTUlSUk9SIG9yaWdpbho8dGhpcy5vcmlnaW4gIT0gMiB8fCB0aGlzLm1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkICE9ICcnQggKBmV4dHJhcyqpAwoMUHJvcGVydHlUeXBlEh0KGVBST1BFUlRZX1RZUEVfVU5TUEVDSUZJRUQQABIWChJQUk9QRVJUWV9UWVBFX0JPT0wQARIVChFQUk9QRVJUWV9UWVBFX0lOVBACEhcKE1BST1BFUlRZX1RZUEVfRkxPQVQQAxIYChRQUk9QRVJUWV9UWVBFX0RPVUJMRRAEEhgKFFBST1BFUlRZX1RZUEVfU1RSSU5HEAUSGQoVUFJPUEVSVFlfVFlQRV9WRUNUT1IzEAYSFgoSUFJPUEVSVFlfVFlQRV9QT1NFEAcSGAoUUFJPUEVSVFlfVFlQRV9BTkNIT1IQCBIXChNQUk9QRVJUWV9UWVBFX0NPTE9SEAkSFwoTUFJPUEVSVFlfVFlQRV9ST0JPVBAKEhYKElBST1BFUlRZX1RZUEVfRU5VTRALEhwKGFBST1BFUlRZX1RZUEVfRU5VTV9NVUxUSRAMEhYKElBST1BFUlRZX1RZUEVfSUNPThANEhcKE1BST1BFUlRZX1RZUEVfQVNTRVQQDhIYChRQUk9QRVJUWV9UWVBFX1dPUktFUhAPKmgKDlByb3BlcnR5T3JpZ2luEh8KG1BST1BFUlRZX09SSUdJTl9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX09SSUdJTl9GSVhFRBABEhoKFlBST1BFUlRZX09SSUdJTl9NSVJST1IQAircAgoNUHJvcGVydHlHcm91cBIeChpQUk9QRVJUWV9HUk9VUF9VTlNQRUNJRklFRBAAEhkKFVBST1BFUlRZX0dST1VQX09VVFBVVBABEh8KG1BST1BFUlRZX0dST1VQX05PTl9FRElUQUJMRRACEhoKFlBST1BFUlRZX0dST1VQX1NUWUxJTkcQAxIbChdQUk9QRVJUWV9HUk9VUF9MT0NBVElPThAEEhcKE1BST1BFUlRZX0dST1VQX0lDT04QBRIgChxQUk9QRVJUWV9HUk9VUF9DT05GSUdVUkFUSU9OEAYSGQoVUFJPUEVSVFlfR1JPVVBfSElEREVOEAcSHQoZUFJPUEVSVFlfR1JPVVBfSU5QVVRfU0xPVBAIEhwKGFBST1BFUlRZX0dST1VQX0FOSU1BVElPThAJEiMKH1BST1BFUlRZX0dST1VQX1RBUkdFVF9JTkRJQ0FUT1IQCiq2AQoSUHJvcGVydHlQZXJtaXNzaW9uEiMKH1BST1BFUlRZX1BFUk1JU1NJT05fVU5TUEVDSUZJRUQQABIdChlQUk9QRVJUWV9QRVJNSVNTSU9OX0JBU0lDEAoSIAocUFJPUEVSVFlfUEVSTUlTU0lPTl9DT1NNRVRJQxAUEhwKGFBST1BFUlRZX1BFUk1JU1NJT05fRlVMTBAeEhwKGFBST1BFUlRZX1BFUk1JU1NJT05fTk9ORRAoKukPChRQcm9wZXJ0eVNlbWFudGljUm9sZRImCiJQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1VOU1BFQ0lGSUVEEAASMQotUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9CQUNLR1JPVU5EX0NPTE9SEAESKwonUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9URVhUX0NPTE9SEAISLQopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9CT1JERVJfQ09MT1IQAxIoCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BBTkVMX09QQUNJVFkQBBIuCipQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BBTkVMX0NPUk5FUl9SQURJVVMQBRItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BSSU1BUllfVEVYVF9DT0xPUhAUEi8KK1BST1BFUlRZX1NFTUFOVElDX1JPTEVfU0VDT05EQVJZX1RFWFRfQ09MT1IQFRIkCiBQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1RFWFRfU0laRRAWEioKJlBST1BFUlRZX1NFTUFOVElDX1JPTEVfVElUTEVfVEVYVF9TSVpFEBcSJwojUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9BQ0NFTlRfQ09MT1IQKBIoCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1NVQ0NFU1NfQ09MT1IQKRIoCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1dBUk5JTkdfQ09MT1IQKhImCiJQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0VSUk9SX0NPTE9SECsSKQolUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ESVNBQkxFRF9DT0xPUhAsEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfQ1VSUkVOVF9UQVNLX0NPTE9SEDwSLgoqUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9VUENPTUlOR19UQVNLX0NPTE9SED0SLworUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9DT01QTEVURURfVEFTS19DT0xPUhA+Ei0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfQkxPQ0tFRF9UQVNLX0NPTE9SED8SLgoqUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9PUFRJT05BTF9UQVNLX0NPTE9SEEASKQolUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9PUEVSQVRPUl9DT0xPUhBQEiYKIlBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfQ09MT1IQURIsCihQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1NIQVJFRF9UQVNLX0NPTE9SEFISKwonUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TVVBFUlZJU09SX0NPTE9SEFMSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQVJUX0NPTE9SEGQSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9UT09MX0NPTE9SEGUSJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9BU1NFVF9DT0xPUhBmEioKJlBST1BFUlRZX1NFTUFOVElDX1JPTEVfQ09OVEFJTkVSX0NPTE9SEGcSLQopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9UQVJHRVRfR0hPU1RfQ09MT1IQeBIxCi1QUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1RBUkdFVF9ISUdITElHSFRfQ09MT1IQeRIlCiFQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1BBVEhfQ09MT1IQehIlCiFQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1pPTkVfQ09MT1IQexInCiNQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0FOQ0hPUl9DT0xPUhB8EiwKJ1BST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfUEFUSF9DT0xPUhCMARIyCi1QUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX1NJTEhPVUVUVEVfQ09MT1IQjQESLgopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ST0JPVF9JTlRFTlRfQ09MT1IQjgESMQosUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ST0JPVF9PQ0NVUEFOQ1lfQ09MT1IQjwESKQokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TVUNDRVNTX1NPVU5EEKABEikKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfV0FSTklOR19TT1VORBChARInCiJQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0VSUk9SX1NPVU5EEKIBEi0KKFBST1BFUlRZX1NFTUFOVElDX1JPTEVfTk9USUZJQ0FUSU9OX0lDT04QowESKgolUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QVUxTRV9EVVJBVElPThC0ARIpCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0ZBREVfRFVSQVRJT04QtQESKwomUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9BTklNQVRJT05fU1BFRUQQtgESLwoqUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ISUdITElHSFRfVEhJQ0tORVNTELcBKmYKDVByb3BlcnR5U2NvcGUSHgoaUFJPUEVSVFlfU0NPUEVfVU5TUEVDSUZJRUQQABIZChVQUk9QRVJUWV9TQ09QRV9FTlRJVFkQARIaChZQUk9QRVJUWV9TQ09QRV9SVU5USU1FEAJCpQEKDWNvbS5jb21tb24udjFCDVByb3BlcnR5UHJvdG9QAVo3Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL2NvbW1vbi92MTtjb21tb252MaICA0NYWKoCEk1lc3NhZ2VzLkNvbW1vbi5WMcoCCUNvbW1vblxWMeICFUNvbW1vblxWMVxHUEJNZXRhZGF0YeoCCkNvbW1vbjo6VjFiBnByb3RvMw", [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("Chhjb21tb24vdjEvcHJvcGVydHkucHJvdG8SCWNvbW1vbi52MSLeCAoSUHJvcGVydHlEZWZpbml0aW9uEhUKAmlkGAEgASgJQgm6SAZyBJjxBAESDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjIKBHR5cGUYBSABKA4yFy5jb21tb24udjEuUHJvcGVydHlUeXBlQgu6SAjIAQGCAQIQARIRCglwYXJlbnRfaWQYBiABKAkSHAoUYXV0aG9yaW5nX2NvbnRleHRfaWQYByABKAkSMQoFc2NvcGUYCCABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZUIIukgFggECEAESTAobbWluaW11bV9yZXF1aXJlZF9wZXJtaXNzaW9uGAkgASgOMh0uY29tbW9uLnYxLlByb3BlcnR5UGVybWlzc2lvbkIIukgFggECEAESQQoPYWxsb3dlZF9vcmlnaW5zGAogAygOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQg26SAqSAQciBYIBAhABEjEKBWdyb3VwGAsgASgOMhguY29tbW9uLnYxLlByb3BlcnR5R3JvdXBCCLpIBYIBAhABEhAKCG9yZGVyaW5nGAwgASgFEhIKCmhpZGVfZ3JvdXAYDSABKAgSEAoIYWR2YW5jZWQYDiABKAgSHAoUYWxsb3dfdG9fYmVfbWlycm9yZWQYDyABKAgSQAoNc2VtYW50aWNfcm9sZRgQIAEoDjIfLmNvbW1vbi52MS5Qcm9wZXJ0eVNlbWFudGljUm9sZUIIukgFggECEAESLgoNbnVtYmVyX2V4dHJhcxgpIAEoCzIXLmNvbW1vbi52MS5OdW1iZXJFeHRyYXMSKgoLZW51bV9leHRyYXMYKiABKAsyFS5jb21tb24udjEuRW51bUV4dHJhcxIwCg52ZWN0b3IzX2V4dHJhcxgrIAEoCzIYLmNvbW1vbi52MS5WZWN0b3IzRXh0cmFzEiwKDGNvbG9yX2V4dHJhcxgsIAEoCzIWLmNvbW1vbi52MS5Db2xvckV4dHJhcxIqCgtwb3NlX2V4dHJhcxgtIAEoCzIVLmNvbW1vbi52MS5Qb3NlRXh0cmFzEi4KDWFuY2hvcl9leHRyYXMYLiABKAsyFy5jb21tb24udjEuQW5jaG9yRXh0cmFzOvMBukjvARqUAQoZZW51bV9yZXF1aXJlc19lbnVtX2V4dHJhcxI3ZW51bV9leHRyYXMgbXVzdCBiZSBzZXQgd2hlbiB0eXBlIGlzIEVOVU0gb3IgRU5VTV9NVUxUSRo+ISh0aGlzLnR5cGUgPT0gMTEgfHwgdGhpcy50eXBlID09IDEyKSB8fCBoYXModGhpcy5lbnVtX2V4dHJhcykiVgoNbnVtYmVyX2V4dHJhcwoLZW51bV9leHRyYXMKDnZlY3RvcjNfZXh0cmFzCgxjb2xvcl9leHRyYXMKC3Bvc2VfZXh0cmFzCg1hbmNob3JfZXh0cmFzIskDChBQcm9wZXJ0eUluc3RhbmNlEhUKAmlkGAEgASgJQgm6SAZyBJjzBAESKQoWcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgCIAEoCUIJukgGcgSY8QQBEicKBXNjb3BlGAMgASgOMhguY29tbW9uLnYxLlByb3BlcnR5U2NvcGUSEAoIc2NvcGVfaWQYBCABKAkSMwoGb3JpZ2luGAUgASgOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQgi6SAWCAQIQARIwCh1taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgGIAEoCUIJukgGcgSY8QQBEi8KBXZhbHVlGAcgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBATqfAbpImwEamAEKIm1pcnJvcl9yZXF1aXJlc19taXJyb3JfcHJvcGVydHlfaWQSNG1pcnJvcl9wcm9wZXJ0eV9pZCBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBNSVJST1IaPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJyK9DQoNUHJvcGVydHlWYWx1ZRIyCgR0eXBlGAEgASgOMhcuY29tbW9uLnYxLlByb3BlcnR5VHlwZUILukgIyAEBggECEAESFwoKYm9vbF92YWx1ZRgVIAEoCEgAiAEBEhYKCWludF92YWx1ZRgWIAEoEkgBiAEBEhgKC2Zsb2F0X3ZhbHVlGBcgASgCSAKIAQESGQoMZG91YmxlX3ZhbHVlGBggASgBSAOIAQESGQoMc3RyaW5nX3ZhbHVlGBkgASgJSASIAQESKwoNdmVjdG9yM192YWx1ZRgaIAEoCzIULmdlb21ldHJ5LnYxLlZlY3RvcjMSLgoKcG9zZV92YWx1ZRgbIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USKQoMYW5jaG9yX3ZhbHVlGBwgASgLMhMuZ2VvbWV0cnkudjEuQW5jaG9yEiUKC2NvbG9yX3ZhbHVlGB0gASgLMhAuY29tbW9uLnYxLkNvbG9yEhsKDnJvYm90X2lkX3ZhbHVlGB4gASgJSAWIAQESIAoKZW51bV92YWx1ZRgfIAEoCUIHukgEcgIQAUgGiAEBEigKEGVudW1fbXVsdGlfdmFsdWUYICADKAlCDrpIC5IBCAgBIgRyAhABEhcKCmljb25fdmFsdWUYISABKAlIB4gBARIbCg5hc3NldF9pZF92YWx1ZRgiIAEoCUgIiAEBEhwKD3dvcmtlcl9pZF92YWx1ZRgjIAEoCUgJiAEBOuMHukjfBxqGBgogcHJvcGVydHlfdHlwZV9tYXRjaGVzX3ZhbHVlX2tpbmQSJ3R5cGUgbXVzdCBtYXRjaCB0aGUga2luZCBvZiB2YWx1ZSBmaWVsZBq4BSgodGhpcy50eXBlID09IDEgJiYgaGFzKHRoaXMuYm9vbF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMiAmJiBoYXModGhpcy5pbnRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDMgJiYgaGFzKHRoaXMuZmxvYXRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDQgJiYgaGFzKHRoaXMuZG91YmxlX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSA1ICYmIGhhcyh0aGlzLnN0cmluZ192YWx1ZSkpIHx8KHRoaXMudHlwZSA9PSA2ICYmIGhhcyh0aGlzLnZlY3RvcjNfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDcgJiYgaGFzKHRoaXMucG9zZV92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gOCAmJiBoYXModGhpcy5hbmNob3JfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDkgJiYgaGFzKHRoaXMuY29sb3JfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDEwICYmIGhhcyh0aGlzLnJvYm90X2lkX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAxMSAmJiBoYXModGhpcy5lbnVtX3ZhbHVlKSkgfHwodGhpcy50eXBlID09IDEyICYmIHNpemUodGhpcy5lbnVtX211bHRpX3ZhbHVlKSA+IDApIHx8ICh0aGlzLnR5cGUgPT0gMTMgJiYgaGFzKHRoaXMuaWNvbl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTQgJiYgaGFzKHRoaXMuYXNzZXRfaWRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDE1ICYmIGhhcyh0aGlzLndvcmtlcl9pZF92YWx1ZSkpKSLTAQoKYm9vbF92YWx1ZQoJaW50X3ZhbHVlCgtmbG9hdF92YWx1ZQoMZG91YmxlX3ZhbHVlCgxzdHJpbmdfdmFsdWUKDXZlY3RvcjNfdmFsdWUKCnBvc2VfdmFsdWUKDGFuY2hvcl92YWx1ZQoLY29sb3JfdmFsdWUKDnJvYm90X2lkX3ZhbHVlCgplbnVtX3ZhbHVlChBlbnVtX211bHRpX3ZhbHVlCgppY29uX3ZhbHVlCg5hc3NldF9pZF92YWx1ZQoPd29ya2VyX2lkX3ZhbHVlEAFCDQoLX2Jvb2xfdmFsdWVCDAoKX2ludF92YWx1ZUIOCgxfZmxvYXRfdmFsdWVCDwoNX2RvdWJsZV92YWx1ZUIPCg1fc3RyaW5nX3ZhbHVlQhEKD19yb2JvdF9pZF92YWx1ZUINCgtfZW51bV92YWx1ZUINCgtfaWNvbl92YWx1ZUIRCg9fYXNzZXRfaWRfdmFsdWVCEgoQX3dvcmtlcl9pZF92YWx1ZSLnAwoWUHJvcGVydHlJbnN0YW5jZVVwZGF0ZRInChRwcm9wZXJ0eV9pbnN0YW5jZV9pZBgBIAEoCUIJukgGcgSY8wQBEjMKBm9yaWdpbhgCIAEoDjIZLmNvbW1vbi52MS5Qcm9wZXJ0eU9yaWdpbkIIukgFggECEAESMAodbWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQYAyABKAlCCbpIBnIEmPEEARIvCgV2YWx1ZRgEIAEoCzIYLmNvbW1vbi52MS5Qcm9wZXJ0eVZhbHVlQga6SAPIAQE6iwK6SIcCGmoKG2ZpeGVkX29yaWdpbl9yZXF1aXJlc192YWx1ZRImdmFsdWUgbXVzdCBiZSBzZXQgd2hlbiBvcmlnaW4gaXMgRklYRUQaI3RoaXMub3JpZ2luICE9IDEgfHwgaGFzKHRoaXMudmFsdWUpGpgBCiJtaXJyb3JfcmVxdWlyZXNfbWlycm9yX3Byb3BlcnR5X2lkEjRtaXJyb3JfcHJvcGVydHlfaWQgbXVzdCBiZSBzZXQgd2hlbiBvcmlnaW4gaXMgTUlSUk9SGjx0aGlzLm9yaWdpbiAhPSAyIHx8IHRoaXMubWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQgIT0gJyciQwoTUHJvcGVydHlEZWZpbml0aW9ucxIsCgVpdGVtcxgBIAMoCzIdLmNvbW1vbi52MS5Qcm9wZXJ0eURlZmluaXRpb24iPwoRUHJvcGVydHlJbnN0YW5jZXMSKgoFaXRlbXMYASADKAsyGy5jb21tb24udjEuUHJvcGVydHlJbnN0YW5jZSLGAwoMTnVtYmVyRXh0cmFzEhAKA21pbhgBIAEoAUgAiAEBEhAKA21heBgCIAEoAUgBiAEBEiEKBHN0ZXAYAyABKAFCDrpICxIJIQAAAAAAAAAASAKIAQESFQoEdW5pdBgEIAEoCUIHukgEcgIYAxIaCglwcmVjaXNpb24YBSABKA1CB7pIBCoCKAA6ogK6SJ4CGpsCChhudW1iZXJfZXh0cmFzX2NvbnNpc3RlbnQSVElmIGFueSBvZiBtaW4vbWF4L3N0ZXAgaXMgc2V0LCBhbGwgbXVzdCBiZSBzZXQ7IGFuZCBtaW4gPCBtYXg7IGFuZCBzdGVwIDw9IChtYXgtbWluKRqoASghaGFzKHRoaXMubWluKSAmJiAhaGFzKHRoaXMubWF4KSAmJiAhaGFzKHRoaXMuc3RlcCkpIHx8IChoYXModGhpcy5taW4pICYmIGhhcyh0aGlzLm1heCkgJiYgaGFzKHRoaXMuc3RlcCkgJiYgdGhpcy5taW4gPCB0aGlzLm1heCAmJiB0aGlzLnN0ZXAgPD0gKHRoaXMubWF4IC0gdGhpcy5taW4pKUIGCgRfbWluQgYKBF9tYXhCBwoFX3N0ZXAiawoKRW51bU9wdGlvbhIWCgV2YWx1ZRgBIAEoCUIHukgEcgIQARIWCgVsYWJlbBgCIAEoCUIHukgEcgIQARIMCgRpY29uGAMgASgJEg0KBWdyb3VwGAQgASgJEhAKCGRpc2FibGVkGAUgASgIIqUBCgpFbnVtRXh0cmFzEhMKC3BsYWNlaG9sZGVyGAEgASgJEg4KBmZpbHRlchgCIAEoCBIPCgdncm91cGVkGAMgASgIEhIKCnNob3dfaWNvbnMYBCABKAgSGwoTbWF4X3NlbGVjdGVkX2xhYmVscxgFIAEoDRIwCgdvcHRpb25zGAYgAygLMhUuY29tbW9uLnYxLkVudW1PcHRpb25CCLpIBZIBAggBIvkDCg1WZWN0b3IzRXh0cmFzEhAKA21pbhgBIAEoAUgAiAEBEhAKA21heBgCIAEoAUgBiAEBEiEKBHN0ZXAYAyABKAFCDrpICxIJIQAAAAAAAAAASAKIAQESGAoHbGFiZWxfeBgEIAEoCUIHukgEcgIYBRIYCgdsYWJlbF95GAUgASgJQge6SARyAhgFEhgKB2xhYmVsX3oYBiABKAlCB7pIBHICGAUSFQoEdW5pdBgHIAEoCUIHukgEcgIYAzqiArpIngIamwIKGG51bWJlcl9leHRyYXNfY29uc2lzdGVudBJUSWYgYW55IG9mIG1pbi9tYXgvc3RlcCBpcyBzZXQsIGFsbCBtdXN0IGJlIHNldDsgYW5kIG1pbiA8IG1heDsgYW5kIHN0ZXAgPD0gKG1heC1taW4pGqgBKCFoYXModGhpcy5taW4pICYmICFoYXModGhpcy5tYXgpICYmICFoYXModGhpcy5zdGVwKSkgfHwgKGhhcyh0aGlzLm1pbikgJiYgaGFzKHRoaXMubWF4KSAmJiBoYXModGhpcy5zdGVwKSAmJiB0aGlzLm1pbiA8IHRoaXMubWF4ICYmIHRoaXMuc3RlcCA8PSAodGhpcy5tYXggLSB0aGlzLm1pbikpQgYKBF9taW5CBgoEX21heEIHCgVfc3RlcCJOCgtDb2xvckV4dHJhcxIcCgRzdGVwGAEgASgBQg66SAsSCSkAAAAAAAAAABIhCgdkZWZhdWx0GAIgASgLMhAuY29tbW9uLnYxLkNvbG9yIiQKDEFuY2hvckV4dHJhcxIUCgxvbmx5X21hcmtlcnMYASABKAgiPAoKUG9zZUV4dHJhcxIXCg9hbmNob3JfZWRpdGFibGUYASABKAgSFQoNcG9zZV9lZGl0YWJsZRgCIAEoCCKOCgoVQ3JlYXRlUHJvcGVydHlNZXNzYWdlEhEKCXBhcmVudF9pZBgBIAEoCRIcChRhdXRob3JpbmdfY29udGV4dF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBGljb24YBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSMgoEdHlwZRgGIAEoDjIXLmNvbW1vbi52MS5Qcm9wZXJ0eVR5cGVCC7pICMgBAYIBAhABEjQKBXNjb3BlGAcgASgOMhguY29tbW9uLnYxLlByb3BlcnR5U2NvcGVCC7pICMgBAYIBAhABEkIKG21pbmltdW1fcmVxdWlyZWRfcGVybWlzc2lvbhgIIAEoDjIdLmNvbW1vbi52MS5Qcm9wZXJ0eVBlcm1pc3Npb24SMgoPYWxsb3dlZF9vcmlnaW5zGAkgAygOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luEicKBWdyb3VwGAogASgOMhguY29tbW9uLnYxLlByb3BlcnR5R3JvdXASEAoIb3JkZXJpbmcYCyABKAUSEgoKaGlkZV9ncm91cBgMIAEoCBIQCghhZHZhbmNlZBgNIAEoCBIcChRhbGxvd190b19iZV9taXJyb3JlZBgOIAEoCBJACg1zZW1hbnRpY19yb2xlGBAgASgOMh8uY29tbW9uLnYxLlByb3BlcnR5U2VtYW50aWNSb2xlQgi6SAWCAQIQARI2CgZvcmlnaW4YFCABKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CC7pICMgBAYIBAhABEhAKCHNjb3BlX2lkGBUgASgJEjAKHW1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkGBYgASgJQgm6SAZyBJjxBAESNwoNaW5pdGlhbF92YWx1ZRgXIAEoCzIYLmNvbW1vbi52MS5Qcm9wZXJ0eVZhbHVlQga6SAPIAQESMAoNbnVtYmVyX2V4dHJhcxgpIAEoCzIXLmNvbW1vbi52MS5OdW1iZXJFeHRyYXNIABIsCgtlbnVtX2V4dHJhcxgqIAEoCzIVLmNvbW1vbi52MS5FbnVtRXh0cmFzSAASMgoOdmVjdG9yM19leHRyYXMYKyABKAsyGC5jb21tb24udjEuVmVjdG9yM0V4dHJhc0gAEi4KDGNvbG9yX2V4dHJhcxgsIAEoCzIWLmNvbW1vbi52MS5Db2xvckV4dHJhc0gAEiwKC3Bvc2VfZXh0cmFzGC0gASgLMhUuY29tbW9uLnYxLlBvc2VFeHRyYXNIABIwCg1hbmNob3JfZXh0cmFzGC4gASgLMhcuY29tbW9uLnYxLkFuY2hvckV4dHJhc0gAOowCukiIAhpsCiBkZWZpbml0aW9uX2FuZF92YWx1ZV90eXBlc19tYXRjaBIidHlwZSBtdXN0IG1hdGNoIGluaXRpYWxfdmFsdWUudHlwZRokdGhpcy50eXBlID09IHRoaXMuaW5pdGlhbF92YWx1ZS50eXBlGpcBChptaXJyb3JfcmVxdWlyZXNfZGVmaW5pdGlvbhI7bWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQgaXMgcmVxdWlyZWQgZm9yIE1JUlJPUiBvcmlnaW4aPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJ0IICgZleHRyYXMqqQMKDFByb3BlcnR5VHlwZRIdChlQUk9QRVJUWV9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUFJPUEVSVFlfVFlQRV9CT09MEAESFQoRUFJPUEVSVFlfVFlQRV9JTlQQAhIXChNQUk9QRVJUWV9UWVBFX0ZMT0FUEAMSGAoUUFJPUEVSVFlfVFlQRV9ET1VCTEUQBBIYChRQUk9QRVJUWV9UWVBFX1NUUklORxAFEhkKFVBST1BFUlRZX1RZUEVfVkVDVE9SMxAGEhYKElBST1BFUlRZX1RZUEVfUE9TRRAHEhgKFFBST1BFUlRZX1RZUEVfQU5DSE9SEAgSFwoTUFJPUEVSVFlfVFlQRV9DT0xPUhAJEhcKE1BST1BFUlRZX1RZUEVfUk9CT1QQChIWChJQUk9QRVJUWV9UWVBFX0VOVU0QCxIcChhQUk9QRVJUWV9UWVBFX0VOVU1fTVVMVEkQDBIWChJQUk9QRVJUWV9UWVBFX0lDT04QDRIXChNQUk9QRVJUWV9UWVBFX0FTU0VUEA4SGAoUUFJPUEVSVFlfVFlQRV9XT1JLRVIQDypoCg5Qcm9wZXJ0eU9yaWdpbhIfChtQUk9QRVJUWV9PUklHSU5fVU5TUEVDSUZJRUQQABIZChVQUk9QRVJUWV9PUklHSU5fRklYRUQQARIaChZQUk9QRVJUWV9PUklHSU5fTUlSUk9SEAIq3AIKDVByb3BlcnR5R3JvdXASHgoaUFJPUEVSVFlfR1JPVVBfVU5TUEVDSUZJRUQQABIZChVQUk9QRVJUWV9HUk9VUF9PVVRQVVQQARIfChtQUk9QRVJUWV9HUk9VUF9OT05fRURJVEFCTEUQAhIaChZQUk9QRVJUWV9HUk9VUF9TVFlMSU5HEAMSGwoXUFJPUEVSVFlfR1JPVVBfTE9DQVRJT04QBBIXChNQUk9QRVJUWV9HUk9VUF9JQ09OEAUSIAocUFJPUEVSVFlfR1JPVVBfQ09ORklHVVJBVElPThAGEhkKFVBST1BFUlRZX0dST1VQX0hJRERFThAHEh0KGVBST1BFUlRZX0dST1VQX0lOUFVUX1NMT1QQCBIcChhQUk9QRVJUWV9HUk9VUF9BTklNQVRJT04QCRIjCh9QUk9QRVJUWV9HUk9VUF9UQVJHRVRfSU5ESUNBVE9SEAoqtgEKElByb3BlcnR5UGVybWlzc2lvbhIjCh9QUk9QRVJUWV9QRVJNSVNTSU9OX1VOU1BFQ0lGSUVEEAASHQoZUFJPUEVSVFlfUEVSTUlTU0lPTl9CQVNJQxAKEiAKHFBST1BFUlRZX1BFUk1JU1NJT05fQ09TTUVUSUMQFBIcChhQUk9QRVJUWV9QRVJNSVNTSU9OX0ZVTEwQHhIcChhQUk9QRVJUWV9QRVJNSVNTSU9OX05PTkUQKCrpDwoUUHJvcGVydHlTZW1hbnRpY1JvbGUSJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9VTlNQRUNJRklFRBAAEjEKLVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfQkFDS0dST1VORF9DT0xPUhABEisKJ1BST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfVEVYVF9DT0xPUhACEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfQk9SREVSX0NPTE9SEAMSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9PUEFDSVRZEAQSLgoqUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9DT1JORVJfUkFESVVTEAUSLQopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QUklNQVJZX1RFWFRfQ09MT1IQFBIvCitQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1NFQ09OREFSWV9URVhUX0NPTE9SEBUSJAogUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9URVhUX1NJWkUQFhIqCiZQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1RJVExFX1RFWFRfU0laRRAXEicKI1BST1BFUlRZX1NFTUFOVElDX1JPTEVfQUNDRU5UX0NPTE9SECgSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TVUNDRVNTX0NPTE9SECkSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9XQVJOSU5HX0NPTE9SECoSJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9FUlJPUl9DT0xPUhArEikKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfRElTQUJMRURfQ09MT1IQLBItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0NVUlJFTlRfVEFTS19DT0xPUhA8Ei4KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfVVBDT01JTkdfVEFTS19DT0xPUhA9Ei8KK1BST1BFUlRZX1NFTUFOVElDX1JPTEVfQ09NUExFVEVEX1RBU0tfQ09MT1IQPhItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0JMT0NLRURfVEFTS19DT0xPUhA/Ei4KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfT1BUSU9OQUxfVEFTS19DT0xPUhBAEikKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfT1BFUkFUT1JfQ09MT1IQUBImCiJQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX0NPTE9SEFESLAooUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TSEFSRURfVEFTS19DT0xPUhBSEisKJ1BST1BFUlRZX1NFTUFOVElDX1JPTEVfU1VQRVJWSVNPUl9DT0xPUhBTEiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFSVF9DT0xPUhBkEiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfVE9PTF9DT0xPUhBlEiYKIlBST1BFUlRZX1NFTUFOVElDX1JPTEVfQVNTRVRfQ09MT1IQZhIqCiZQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0NPTlRBSU5FUl9DT0xPUhBnEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfVEFSR0VUX0dIT1NUX0NPTE9SEHgSMQotUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9UQVJHRVRfSElHSExJR0hUX0NPTE9SEHkSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQVRIX0NPTE9SEHoSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9aT05FX0NPTE9SEHsSJwojUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9BTkNIT1JfQ09MT1IQfBIsCidQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX1BBVEhfQ09MT1IQjAESMgotUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ST0JPVF9TSUxIT1VFVFRFX0NPTE9SEI0BEi4KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfSU5URU5UX0NPTE9SEI4BEjEKLFBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfT0NDVVBBTkNZX0NPTE9SEI8BEikKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfU1VDQ0VTU19TT1VORBCgARIpCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1dBUk5JTkdfU09VTkQQoQESJwoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9FUlJPUl9TT1VORBCiARItCihQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX05PVElGSUNBVElPTl9JQ09OEKMBEioKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUFVMU0VfRFVSQVRJT04QtAESKQokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9GQURFX0RVUkFUSU9OELUBEisKJlBST1BFUlRZX1NFTUFOVElDX1JPTEVfQU5JTUFUSU9OX1NQRUVEELYBEi8KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfSElHSExJR0hUX1RISUNLTkVTUxC3ASpmCg1Qcm9wZXJ0eVNjb3BlEh4KGlBST1BFUlRZX1NDT1BFX1VOU1BFQ0lGSUVEEAASGQoVUFJPUEVSVFlfU0NPUEVfRU5USVRZEAESGgoWUFJPUEVSVFlfU0NPUEVfUlVOVElNRRACQqUBCg1jb20uY29tbW9uLnYxQg1Qcm9wZXJ0eVByb3RvUAFaN2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9jb21tb24vdjE7Y29tbW9udjGiAgNDWFiqAhJNZXNzYWdlcy5Db21tb24uVjHKAglDb21tb25cVjHiAhVDb21tb25cVjFcR1BCTWV0YWRhdGHqAgpDb21tb246OlYxYgZwcm90bzM", [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
@@ -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("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OoICCiBwcm9wZXJ0eV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiTTiABKAhCnAHCSJgBCpUBCidzdHJpbmcucHJvcGVydHlfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb3BlcnR5IGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfZGVmaW5pdGlvbi0nKSlSHXByb3BlcnR5RGVmaW5pdGlvbklkQ29tcG9uZW50OvgBCh5wcm9wZXJ0eV9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYs04gASgIQpYBwkiSAQqPAQolc3RyaW5nLnByb3BlcnR5X2luc3RhbmNlX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaW5zdGFuY2UgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfaW5zdGFuY2UtJykpUhtwcm9wZXJ0eUluc3RhbmNlSWRDb21wb25lbnQ68wEKHXJvYm90X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJROIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9kZWZpbml0aW9uLScpKVIacm9ib3REZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG3JvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiVTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSByb2JvdCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9pbnN0YW5jZS0nKSlSGHJvYm90SW5zdGFuY2VJZENvbXBvbmVudDrzAQodYXNzZXRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlk4gASgIQpMBwkiPAQqMAQokc3RyaW5nLmFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBkZWZpbml0aW9uIGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2RlZmluaXRpb24tJykpUhphc3NldERlZmluaXRpb25JZENvbXBvbmVudDrpAQobYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJdOIAEoCEKNAcJIiQEKhgEKInN0cmluZy5hc3NldF9pbnN0YW5jZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFzc2V0IGluc3RhbmNlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2luc3RhbmNlLScpKVIYYXNzZXRJbnN0YW5jZUlkQ29tcG9uZW50OtkBChhlbnZpcm9ubWVudF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmE4gASgIQoIBwkh/Cn0KH3N0cmluZy5lbnZpcm9ubWVudF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGVudmlyb25tZW50IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Vudmlyb25tZW50LScpKVIWZW52aXJvbm1lbnRJZENvbXBvbmVudDruAQoccGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiZTiABKAhCkAHCSIwBCokBCiNzdHJpbmcucGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3BhcnRfZGVmaW5pdGlvbi0nKSlSGXBhcnREZWZpbml0aW9uSWRDb21wb25lbnQ65AEKGnBhcnRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJpOIAEoCEKKAcJIhgEKgwEKIXN0cmluZy5wYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIrdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBpbnN0YW5jZSBpZBoxKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2luc3RhbmNlLScpKVIXcGFydEluc3RhbmNlSWRDb21wb25lbnQ67gEKHHRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYm04gASgIQpABwkiMAQqJAQojc3RyaW5nLnRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0b29sX2RlZmluaXRpb24tJykpUhl0b29sRGVmaW5pdGlvbklkQ29tcG9uZW50Os8BChp0b29sX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxicTiABKAhCdsJIcwpxChhzdHJpbmcudG9vbF9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9pbnN0YW5jZS0nKSlSF3Rvb2xJbnN0YW5jZUlkQ29tcG9uZW50Or8BChNtYXJrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ1OIAEoCEJzwkhwCm4KGnN0cmluZy5tYXJrZXJfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBtYXJrZXIgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbWFya2VyLScpKVIRbWFya2VySWRDb21wb25lbnQ6xAEKFGZpeHR1cmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ5OIAEoCEJ2wkhzCnEKG3N0cmluZy5maXh0dXJlX2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZml4dHVyZSBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdmaXh0dXJlLScpKVISZml4dHVyZUlkQ29tcG9uZW50OsQBChRzdGF0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxifTiABKAhCdsJIcwpxChtzdHJpbmcuc3RhdGlvbl9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHN0YXRpb24gaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc3RhdGlvbi0nKSlSEnN0YXRpb25JZENvbXBvbmVudDq6AQoSc2tpbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKBOIAEoCEJwwkhtCmsKGXN0cmluZy5za2lsbF9pZF9jb21wb25lbnQSI3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNraWxsIGlkGikodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NraWxsLScpKVIQc2tpbGxJZENvbXBvbmVudDrYAQoYcHJvY2Vzc19ydW5faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKFOIAEoCEKCAcJIfwp9Ch9zdHJpbmcucHJvY2Vzc19ydW5faWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJ1biBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3J1bi0nKSlSFXByb2Nlc3NSdW5JZENvbXBvbmVudDrfAQoZc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiiTiABKAhChwHCSIMBCoABCiBzdHJpbmcuc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIqdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgc2VxdWVuY2UgcnVuIGlkGjAodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX3J1bi0nKSlSFnNlcXVlbmNlUnVuSWRDb21wb25lbnQ6yAEKFXRhc2tfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxijTiABKAhCecJIdgp0ChxzdHJpbmcudGFza19ydW5faWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIHJ1biBpZBosKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0YXNrX3J1bi0nKSlSEnRhc2tSdW5JZENvbXBvbmVudDrpAQobcHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKROIAEoCEKNAcJIiQEKhgEKInN0cmluZy5wcm9jZXNzX3JlY2lwZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb2Nlc3MgcmVjaXBlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2Nlc3NfcmVjaXBlLScpKVIYcHJvY2Vzc1JlY2lwZUlkQ29tcG9uZW50OoICCiBzZXF1ZW5jZV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxilTiABKAhCnAHCSJgBCpUBCidzdHJpbmcuc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc2VxdWVuY2VfZGVmaW5pdGlvbi0nKSlSHXNlcXVlbmNlRGVmaW5pdGlvbklkQ29tcG9uZW50Ou4BChx0YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKZOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19kZWZpbml0aW9uLScpKVIZdGFza0RlZmluaXRpb25JZENvbXBvbmVudDq1AQoRY2VsbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYp04gASgIQm3CSGoKaAoYc3RyaW5nLmNlbGxfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjZWxsIGlkGigodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NlbGwtJykpUg9jZWxsSWRDb21wb25lbnQ6tQEKEWxpbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKhOIAEoCEJtwkhqCmgKGHN0cmluZy5saW5lX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbGluZSBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdsaW5lLScpKVIPbGluZUlkQ29tcG9uZW50OocCCiFjb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYqU4gASgIQp8BwkibAQqYAQooc3RyaW5nLmNvbnRhaW5lcl9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIydGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY29udGFpbmVyIGRlZmluaXRpb24gaWQaOCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2RlZmluaXRpb24tJykpUh5jb250YWluZXJEZWZpbml0aW9uSWRDb21wb25lbnQ6+gEKH2NvbnRhaW5lcl9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuo0GIAEoCEKVAcJIkQEKjgEKInN0cmluZy5yb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjb250YWluZXJfaW5zdGFuY2UtJykpUhxjb250YWluZXJJbnN0YW5jZUlkQ29tcG9uZW50OsABChN3b3JrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLuNBiABKAhCc8JIcApuChpzdHJpbmcud29ya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgd29ya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3dvcmtlci0nKSlSEXdvcmtlcklkQ29tcG9uZW50OsUBChRwcm9kdWN0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi8jQYgASgIQnbCSHMKcQobc3RyaW5nLnByb2R1Y3RfaWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9kdWN0IGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2R1Y3QtJykpUhJwcm9kdWN0SWRDb21wb25lbnQ6+AEKHmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi9jQYgASgIQpYBwkiSAQqPAQolc3RyaW5nLmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgQVIgY29uZmlnIGJpbmRpbmcgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2JpbmRpbmctJykpUhphckNvbmZpZ0JpbmRpbmdJZENvbXBvbmVudDr9AQofYXJfY29uZmlnX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi+jQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWdfaW5zdGFuY2UtJykpUhthckNvbmZpZ0luc3RhbmNlSWRDb21wb25lbnQ65AEKGmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL+NBiABKAhCigHCSIYBCoMBCiFzdHJpbmcuYXJfaW5wdXRfc2xvdF9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGlucHV0IHNsb3QgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfaW5wdXRfc2xvdC0nKSlSFmFySW5wdXRTbG90SWRDb21wb25lbnQ62QEKGG1vZGVsX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjAjQYgASgIQoIBwkh/Cn0KH3N0cmluZy5tb2RlbF9hc3NldF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIG1vZGVsIGFzc2V0IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21vZGVsX2Fzc2V0LScpKVIVbW9kZWxBc3NldElkQ29tcG9uZW50OuUBChpzaWRlY2FyX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjBjQYgASgIQooBwkiGAQqDAQohc3RyaW5nLnNpZGVjYXJfYXNzZXRfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzaWRlY2FyIGFzc2V0IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NpZGVjYXJfYXNzZXQtJykpUhdzaWRlY2FyQXNzZXRJZENvbXBvbmVudDrZAQoYaW1hZ2VfYXNzZXRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMKNBiABKAhCggHCSH8KfQofc3RyaW5nLmltYWdlX2Fzc2V0X2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgaW1hZ2UgYXNzZXQgaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnaW1hZ2VfYXNzZXQtJykpUhVpbWFnZUFzc2V0SWRDb21wb25lbnQ6wAEKE2RldmljZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYxI0GIAEoCEJzwkhwCm4KGnN0cmluZy5kZXZpY2VfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBkZXZpY2UgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZGV2aWNlLScpKVIRZGV2aWNlSWRDb21wb25lbnQ6tgEKEXpvbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMWNBiABKAhCbcJIagpoChhzdHJpbmcuem9uZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHpvbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnem9uZS0nKSlSD3pvbmVJZENvbXBvbmVudDr+AQofYWN0b3JfYXZhaWxhYmlsaXR5X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjGjQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFjdG9yX2F2YWlsYWJpbGl0eV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFjdG9yLWF2YWlsYWJpbGl0eSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhY3Rvcl9hdmFpbGFiaWxpdHktJykpUhxhY3RvckF2YWlsYWJpbGl0eUlkQ29tcG9uZW50OvQBCh1hY3Rvcl9hc3NpZ25tZW50X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjHjQYgASgIQpMBwkiPAQqMAQokc3RyaW5nLmFjdG9yX2Fzc2lnbm1lbnRfaWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhY3Rvci1hc3NpZ25tZW50IGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdG9yX2Fzc2lnbm1lbnQtJykpUhphY3RvckFzc2lnbm1lbnRJZENvbXBvbmVudEK1AQoRY29tLnZhbGlkYXRpb24udjFCGlByZWRlZmluZWRTdHJpbmdSdWxlc1Byb3RvUAFaP2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy92YWxpZGF0aW9uL3YxO3ZhbGlkYXRpb252MaICA1ZYWMoCDVZhbGlkYXRpb25cVjHiAhlWYWxpZGF0aW9uXFYxXEdQQk1ldGFkYXRh6gIOVmFsaWRhdGlvbjo6VjE", [file_buf_validate_validate]);
14
+ fileDesc("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OoICCiBwcm9wZXJ0eV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiTTiABKAhCnAHCSJgBCpUBCidzdHJpbmcucHJvcGVydHlfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb3BlcnR5IGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfZGVmaW5pdGlvbi0nKSlSHXByb3BlcnR5RGVmaW5pdGlvbklkQ29tcG9uZW50OvgBCh5wcm9wZXJ0eV9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYs04gASgIQpYBwkiSAQqPAQolc3RyaW5nLnByb3BlcnR5X2luc3RhbmNlX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaW5zdGFuY2UgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfaW5zdGFuY2UtJykpUhtwcm9wZXJ0eUluc3RhbmNlSWRDb21wb25lbnQ68wEKHXJvYm90X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJROIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9kZWZpbml0aW9uLScpKVIacm9ib3REZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG3JvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiVTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSByb2JvdCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9pbnN0YW5jZS0nKSlSGHJvYm90SW5zdGFuY2VJZENvbXBvbmVudDrzAQodYXNzZXRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlk4gASgIQpMBwkiPAQqMAQokc3RyaW5nLmFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBkZWZpbml0aW9uIGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2RlZmluaXRpb24tJykpUhphc3NldERlZmluaXRpb25JZENvbXBvbmVudDrpAQobYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJdOIAEoCEKNAcJIiQEKhgEKInN0cmluZy5hc3NldF9pbnN0YW5jZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFzc2V0IGluc3RhbmNlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2luc3RhbmNlLScpKVIYYXNzZXRJbnN0YW5jZUlkQ29tcG9uZW50OtkBChhlbnZpcm9ubWVudF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmE4gASgIQoIBwkh/Cn0KH3N0cmluZy5lbnZpcm9ubWVudF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGVudmlyb25tZW50IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Vudmlyb25tZW50LScpKVIWZW52aXJvbm1lbnRJZENvbXBvbmVudDruAQoccGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiZTiABKAhCkAHCSIwBCokBCiNzdHJpbmcucGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3BhcnRfZGVmaW5pdGlvbi0nKSlSGXBhcnREZWZpbml0aW9uSWRDb21wb25lbnQ65AEKGnBhcnRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJpOIAEoCEKKAcJIhgEKgwEKIXN0cmluZy5wYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIrdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBpbnN0YW5jZSBpZBoxKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2luc3RhbmNlLScpKVIXcGFydEluc3RhbmNlSWRDb21wb25lbnQ67gEKHHRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYm04gASgIQpABwkiMAQqJAQojc3RyaW5nLnRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0b29sX2RlZmluaXRpb24tJykpUhl0b29sRGVmaW5pdGlvbklkQ29tcG9uZW50Os8BChp0b29sX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxicTiABKAhCdsJIcwpxChhzdHJpbmcudG9vbF9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9pbnN0YW5jZS0nKSlSF3Rvb2xJbnN0YW5jZUlkQ29tcG9uZW50Or8BChNtYXJrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ1OIAEoCEJzwkhwCm4KGnN0cmluZy5tYXJrZXJfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBtYXJrZXIgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbWFya2VyLScpKVIRbWFya2VySWRDb21wb25lbnQ6xAEKFGZpeHR1cmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ5OIAEoCEJ2wkhzCnEKG3N0cmluZy5maXh0dXJlX2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZml4dHVyZSBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdmaXh0dXJlLScpKVISZml4dHVyZUlkQ29tcG9uZW50OsQBChRzdGF0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxifTiABKAhCdsJIcwpxChtzdHJpbmcuc3RhdGlvbl9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHN0YXRpb24gaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc3RhdGlvbi0nKSlSEnN0YXRpb25JZENvbXBvbmVudDq6AQoSc2tpbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKBOIAEoCEJwwkhtCmsKGXN0cmluZy5za2lsbF9pZF9jb21wb25lbnQSI3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNraWxsIGlkGikodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NraWxsLScpKVIQc2tpbGxJZENvbXBvbmVudDrYAQoYcHJvY2Vzc19ydW5faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKFOIAEoCEKCAcJIfwp9Ch9zdHJpbmcucHJvY2Vzc19ydW5faWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJ1biBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3J1bi0nKSlSFXByb2Nlc3NSdW5JZENvbXBvbmVudDrfAQoZc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiiTiABKAhChwHCSIMBCoABCiBzdHJpbmcuc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIqdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgc2VxdWVuY2UgcnVuIGlkGjAodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX3J1bi0nKSlSFnNlcXVlbmNlUnVuSWRDb21wb25lbnQ6yAEKFXRhc2tfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxijTiABKAhCecJIdgp0ChxzdHJpbmcudGFza19ydW5faWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIHJ1biBpZBosKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0YXNrX3J1bi0nKSlSEnRhc2tSdW5JZENvbXBvbmVudDrpAQobcHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKROIAEoCEKNAcJIiQEKhgEKInN0cmluZy5wcm9jZXNzX3JlY2lwZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb2Nlc3MgcmVjaXBlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2Nlc3NfcmVjaXBlLScpKVIYcHJvY2Vzc1JlY2lwZUlkQ29tcG9uZW50OoICCiBzZXF1ZW5jZV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxilTiABKAhCnAHCSJgBCpUBCidzdHJpbmcuc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc2VxdWVuY2VfZGVmaW5pdGlvbi0nKSlSHXNlcXVlbmNlRGVmaW5pdGlvbklkQ29tcG9uZW50Ou4BChx0YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKZOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19kZWZpbml0aW9uLScpKVIZdGFza0RlZmluaXRpb25JZENvbXBvbmVudDq1AQoRY2VsbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYp04gASgIQm3CSGoKaAoYc3RyaW5nLmNlbGxfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjZWxsIGlkGigodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NlbGwtJykpUg9jZWxsSWRDb21wb25lbnQ6tQEKEWxpbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKhOIAEoCEJtwkhqCmgKGHN0cmluZy5saW5lX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbGluZSBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdsaW5lLScpKVIPbGluZUlkQ29tcG9uZW50OocCCiFjb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYqU4gASgIQp8BwkibAQqYAQooc3RyaW5nLmNvbnRhaW5lcl9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIydGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY29udGFpbmVyIGRlZmluaXRpb24gaWQaOCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2RlZmluaXRpb24tJykpUh5jb250YWluZXJEZWZpbml0aW9uSWRDb21wb25lbnQ6+gEKH2NvbnRhaW5lcl9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuo0GIAEoCEKVAcJIkQEKjgEKInN0cmluZy5yb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjb250YWluZXJfaW5zdGFuY2UtJykpUhxjb250YWluZXJJbnN0YW5jZUlkQ29tcG9uZW50OsABChN3b3JrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLuNBiABKAhCc8JIcApuChpzdHJpbmcud29ya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgd29ya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3dvcmtlci0nKSlSEXdvcmtlcklkQ29tcG9uZW50OsUBChRwcm9kdWN0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi8jQYgASgIQnbCSHMKcQobc3RyaW5nLnByb2R1Y3RfaWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9kdWN0IGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2R1Y3QtJykpUhJwcm9kdWN0SWRDb21wb25lbnQ6+AEKHmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi9jQYgASgIQpYBwkiSAQqPAQolc3RyaW5nLmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgQVIgY29uZmlnIGJpbmRpbmcgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2JpbmRpbmctJykpUhphckNvbmZpZ0JpbmRpbmdJZENvbXBvbmVudDr9AQofYXJfY29uZmlnX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi+jQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWdfaW5zdGFuY2UtJykpUhthckNvbmZpZ0luc3RhbmNlSWRDb21wb25lbnQ65AEKGmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL+NBiABKAhCigHCSIYBCoMBCiFzdHJpbmcuYXJfaW5wdXRfc2xvdF9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGlucHV0IHNsb3QgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfaW5wdXRfc2xvdC0nKSlSFmFySW5wdXRTbG90SWRDb21wb25lbnQ62QEKGG1vZGVsX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjAjQYgASgIQoIBwkh/Cn0KH3N0cmluZy5tb2RlbF9hc3NldF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIG1vZGVsIGFzc2V0IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21vZGVsX2Fzc2V0LScpKVIVbW9kZWxBc3NldElkQ29tcG9uZW50OuUBChpzaWRlY2FyX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjBjQYgASgIQooBwkiGAQqDAQohc3RyaW5nLnNpZGVjYXJfYXNzZXRfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzaWRlY2FyIGFzc2V0IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NpZGVjYXJfYXNzZXQtJykpUhdzaWRlY2FyQXNzZXRJZENvbXBvbmVudDrZAQoYaW1hZ2VfYXNzZXRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMKNBiABKAhCggHCSH8KfQofc3RyaW5nLmltYWdlX2Fzc2V0X2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgaW1hZ2UgYXNzZXQgaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnaW1hZ2VfYXNzZXQtJykpUhVpbWFnZUFzc2V0SWRDb21wb25lbnQ6wAEKE2RldmljZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYxI0GIAEoCEJzwkhwCm4KGnN0cmluZy5kZXZpY2VfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBkZXZpY2UgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZGV2aWNlLScpKVIRZGV2aWNlSWRDb21wb25lbnQ6tgEKEXpvbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMWNBiABKAhCbcJIagpoChhzdHJpbmcuem9uZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHpvbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnem9uZS0nKSlSD3pvbmVJZENvbXBvbmVudDr+AQofYWN0b3JfYXZhaWxhYmlsaXR5X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjGjQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFjdG9yX2F2YWlsYWJpbGl0eV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFjdG9yLWF2YWlsYWJpbGl0eSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhY3Rvcl9hdmFpbGFiaWxpdHktJykpUhxhY3RvckF2YWlsYWJpbGl0eUlkQ29tcG9uZW50OvQBCh1hY3Rvcl9hc3NpZ25tZW50X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjHjQYgASgIQpMBwkiPAQqMAQokc3RyaW5nLmFjdG9yX2Fzc2lnbm1lbnRfaWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhY3Rvci1hc3NpZ25tZW50IGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdG9yX2Fzc2lnbm1lbnQtJykpUhphY3RvckFzc2lnbm1lbnRJZENvbXBvbmVudDrJAQoVZmVlZGJhY2tfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLhOIAEoCEJ5wkh2CnQKHHN0cmluZy5mZWVkYmFja19pZF9jb21wb25lbnQSJnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZlZWRiYWNrIGlkGiwodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2ZlZWRiYWNrLScpKVITZmVlZGJhY2tJZENvbXBvbmVudDq/AQoTYWN0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi5TiABKAhCc8JIcApuChpzdHJpbmcuYWN0aW9uX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgYWN0aW9uIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdGlvbi0nKSlSEWFjdGlvbklkQ29tcG9uZW50OskBChVmdW5jdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuk4gASgIQnnCSHYKdAocc3RyaW5nLmZ1bmN0aW9uX2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZnVuY3Rpb24gaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZnVuY3Rpb24tJykpUhNmdW5jdGlvbklkQ29tcG9uZW50QrUBChFjb20udmFsaWRhdGlvbi52MUIaUHJlZGVmaW5lZFN0cmluZ1J1bGVzUHJvdG9QAVo/Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3ZhbGlkYXRpb24vdjE7dmFsaWRhdGlvbnYxogIDVlhYygINVmFsaWRhdGlvblxWMeICGVZhbGlkYXRpb25cVjFcR1BCTWV0YWRhdGHqAg5WYWxpZGF0aW9uOjpWMQ", [file_buf_validate_validate]);
15
15
 
16
16
  /**
17
17
  * @generated from extension: optional bool name_component = 10000;
@@ -253,3 +253,21 @@ export const actor_availability_id_component: GenExtension<StringRules, boolean>
253
253
  export const actor_assignment_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
254
254
  extDesc(file_validation_v1_predefined_string_rules, 39);
255
255
 
256
+ /**
257
+ * @generated from extension: optional bool feedback_id_component = 10040;
258
+ */
259
+ export const feedback_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
260
+ extDesc(file_validation_v1_predefined_string_rules, 40);
261
+
262
+ /**
263
+ * @generated from extension: optional bool action_id_component = 10041;
264
+ */
265
+ export const action_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
266
+ extDesc(file_validation_v1_predefined_string_rules, 41);
267
+
268
+ /**
269
+ * @generated from extension: optional bool function_id_component = 10042;
270
+ */
271
+ export const function_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
272
+ extDesc(file_validation_v1_predefined_string_rules, 42);
273
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobotar/protocol",
3
- "version": "1.0.10",
3
+ "version": "1.1.0",
4
4
  "description": "A collection of protobuf messages for the CobotAR-project",
5
5
  "homepage": "https://github.com/cobotar/protocol#readme",
6
6
  "files": [