@cobotar/protocol 1.0.11 → 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.11
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
  /**
@@ -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.11",
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": [