vcomply-workflow-engine 7.4.6 → 7.4.7

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.
@@ -1,4 +1,21 @@
1
- export const RISK_CLASS_LIST = ['high', 'low-medium', 'low', 'medium-high'];
1
+ export const RISK_CLASS_LIST = [
2
+ 'high',
3
+ 'medium-high',
4
+ 'medium',
5
+ 'low-medium',
6
+ 'low',
7
+ ];
8
+ export const VALIDATION_SEVERITY = {
9
+ ERROR: 'error',
10
+ WARNING: 'warning',
11
+ INFO: 'info',
12
+ };
13
+ export const NON_BLOCKING_DROPDOWN_FIELDS = [
14
+ 'assignor',
15
+ 'assigneeType',
16
+ 'keyResponsibility',
17
+ 'dueTime',
18
+ ];
2
19
  export const YES_NO_DROPDOWN_LIST = ['Yes', 'No'];
3
20
  export const PROGRAM_TYPE_DROPDOWN_LIST = [
4
21
  'Regulations',
@@ -57,6 +74,40 @@ export const FULL_MONTH_NAMES = [
57
74
  ];
58
75
  export const VALIDATION_MESSAGES = {
59
76
  DROPDOWN: 'The data added in this field is not valid. Select from the dropdown provided in the template.',
77
+ RESPONSIBILITY_NAME_REQUIRED: 'This is a mandatory field. Enter a name for this responsibility.',
78
+ RESPONSIBILITY_NAME_WHITESPACE: 'Responsibility Name cannot be blank or contain only spaces.',
79
+ PROGRAM_CATEGORY_MISMATCH: 'Program Category does not belong to the selected Program. Select a valid category for this Program.',
80
+ PROGRAM_CATEGORY_WITHOUT_PROGRAM: 'Program Category has been provided without a Program. Select a Program, or clear the Program Category field.',
81
+ PROGRAM_TYPE_WITHOUT_PROGRAM: 'Program Type has been provided without a Program. Please also select a Program, or clear the Program Type field.',
82
+ ENTRUSTED_BY_INVALID: 'This is not a valid user. Select a user from the dropdown or leave blank to use your account as the default.',
83
+ ENTRUSTED_BY_INACTIVE: 'The user selected in this field is inactive. Select an active user or leave blank to use your account as the default.',
84
+ ASSIGNEE_REQUIRED: 'This is a mandatory field. Select a user or group.',
85
+ ASSIGNEE_INVALID: 'This is not a valid user or group in VComply. Select from the dropdown provided in the template.',
86
+ ASSIGNEE_INACTIVE: 'The user selected in this field is inactive. Select an active user or group.',
87
+ ASSIGNEE_TYPE_INVALID: 'The data added in this field is not valid. Select from the dropdown provided in the template or the default selection of "Any select person can completed this" will be applied.',
88
+ GROUP_ALL_ANY_BLANK: "A group has been assigned. The default selection of 'Any selected person can complete this' will be applied.",
89
+ KEY_RESPONSIBILITY_INVALID: "The data added in this field is not valid. Please select 'Yes', 'No', or leave blank (defaults to 'Not a Key Responsibility').",
90
+ FREQUENCY_REQUIRED: 'This is mandatory field. Select a frequency.',
91
+ DUE_DATE_DAY_NOT_NUMBER: 'The data added in this field is not valid. Enter a number from the dropdown provided in the template.',
92
+ DUE_DATE_DAY_OUT_OF_RANGE: 'The value provided is out of range for a [Weekly] frequency. Select a valid option.',
93
+ DUE_DATE_REQUIRED: 'This is mandatory field. Select from the dropdown provided in the template.',
94
+ DUE_DATE_MONTH_INVALID: 'The data added in this field is not valid. Select a month from the dropdown provided in the template.',
95
+ DUE_TIME_BLANK: 'The responsibilities will be created with a default time of 11:30 PM according to your VComply timezone.',
96
+ RC_TYPE_WITHOUT_NAME: 'Responsibility Center Type has been provided without a Responsibility Center Name. Enter the Responsibility Center name.',
97
+ RC_INACTIVE: 'This Responsibility Center no longer exists in VComply. Select an active Responsibility Center or leave blank.',
98
+ FORMAT_LINK_WITHOUT_YES: 'A format link has been provided but Format selecton is set to "No". Set the Format field to "Yes" and upload the template again.',
99
+ FORMAT_INVALID_URL: 'This is an invalid URL.',
100
+ REVIEWER_INACTIVE: 'This user is inactive. Select an active user or group.',
101
+ REVIEW_WINDOW_WITHOUT_REVIEWER: 'Review window has been specified but no Reviewer has been selected. Select a Reviewer, or clear these fields.',
102
+ OVERSIGHT_DUPLICATE_ASSIGNEE: 'This user is already assigned as the primary Assignee. Adding them to oversight is redundant.',
103
+ OVERSIGHT_DUPLICATE_ASSIGNOR: 'This user is already assigned as the Assignor. Adding them to oversight is redundant.',
104
+ OVERSIGHT_INACTIVE: 'This user is inactive. Select an active user or group.',
105
+ COLLABORATOR_INACTIVE: 'This user is inactive. Select an active user.',
106
+ COLLABORATOR_GROUP: 'Collaborators must be individual users, not groups. Please select a specific user for the Collaborator field.',
107
+ ONE_TIME_LIFECYCLE: "A 'One Time' responsibility cannot also have a lifecycle end rule. Clear the Ends After Occurrences and Ends By Date fields.",
108
+ ENDS_AFTER_ONE_OCCURRENCE: "Ending after 1 occurrence is equivalent to a 'One Time' responsibility. Consider using the 'One Time' frequency instead.",
109
+ USER_NOT_IN_PROGRAM: 'This user is not associated with the selected Program.',
110
+ PAST_DUE_DATE: 'This date occurs in the past. Select a future date.',
60
111
  RISK_CLASS: 'Invalid risk class. Select a valid option from the drop-down list.',
61
112
  DAY: 'Invalid day selection. Select a valid day from the drop-down list in the template.',
62
113
  DATE_FORMAT: 'Invalid date format. Select a valid date from the drop-down list in the template.',
@@ -71,4 +122,7 @@ export const VALIDATION_MESSAGES = {
71
122
  ENDS_BY_DATE_PAST: 'The Ends By Date is in the past. This responsibility will be created with no future occurrences.',
72
123
  ENDS_BY_DATE_CONFLICT: "You have provided values for both 'Ends After Occurrences' and 'Ends By Date'. Fill in only one, or leave both blank if the responsibility will always be active.",
73
124
  };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9jb25zdGFudHMvcmVzcG9uc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFNUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsYUFBYTtJQUNiLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QywyREFBMkQ7SUFDM0Qsc0RBQXNEO0NBQ3ZELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyw0QkFBNEI7SUFDNUIsa0NBQWtDO0NBQ25DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxZQUFZO0lBQ1osd0NBQXdDO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJQUNyQyxPQUFPO0lBQ1AscUJBQXFCO0lBQ3JCLFFBQVE7SUFDUixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixlQUFlO0lBQ2YsU0FBUztJQUNULGVBQWU7SUFDZix1QkFBdUI7SUFDdkIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsUUFBUTtJQUNSLGVBQWU7SUFDZixlQUFlO0lBQ2YsZUFBZTtJQUNmLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLGlCQUFpQjtDQUNsQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsU0FBUztJQUNULFVBQVU7SUFDVixPQUFPO0lBQ1AsT0FBTztJQUNQLEtBQUs7SUFDTCxNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixVQUFVO0NBQ1gsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLFFBQVEsRUFDTiwrRkFBK0Y7SUFDakcsVUFBVSxFQUNSLG9FQUFvRTtJQUN0RSxHQUFHLEVBQUUsb0ZBQW9GO0lBQ3pGLFdBQVcsRUFDVCxtRkFBbUY7SUFDckYsUUFBUSxFQUFFLG1CQUFtQjtJQUM3QixRQUFRLEVBQ04scUhBQXFIO0lBQ3ZILHdDQUF3QyxFQUFFLHdCQUF3QjtJQUNsRSw4QkFBOEIsRUFBRSx1QkFBdUI7SUFDdkQseUJBQXlCLEVBQ3ZCLHNFQUFzRTtJQUN4RSxlQUFlLEVBQUUsMkJBQTJCO0lBQzVDLDBCQUEwQixFQUN4QiwrRkFBK0Y7SUFDakcsdUJBQXVCLEVBQ3JCLHNIQUFzSDtJQUN4SCxpQkFBaUIsRUFDZixrR0FBa0c7SUFDcEcscUJBQXFCLEVBQ25CLG1LQUFtSztDQUN0SyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJJU0tfQ0xBU1NfTElTVCA9IFsnaGlnaCcsICdsb3ctbWVkaXVtJywgJ2xvdycsICdtZWRpdW0taGlnaCddO1xyXG5cclxuZXhwb3J0IGNvbnN0IFlFU19OT19EUk9QRE9XTl9MSVNUID0gWydZZXMnLCAnTm8nXTtcclxuXHJcbmV4cG9ydCBjb25zdCBQUk9HUkFNX1RZUEVfRFJPUERPV05fTElTVCA9IFtcclxuICAnUmVndWxhdGlvbnMnLFxyXG4gICdTdGFuZGFyZHMnLFxyXG4gICdJbnRlcm5hbCBDb250cm9scycsXHJcbiAgJ090aGVycycsXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgQVNTSUdORUVfVFlQRV9EUk9QRE9XTl9MSVNUID0gW1xyXG4gICdBbGwgc2VsZWN0ZWQgcGVyc29ucyBuZWVkIHRvIGNvbXBsZXRlIHRoaXMgcmVzcG9uc2liaWxpdHknLFxyXG4gICdBbnkgc2VsZWN0ZWQgcGVyc29uIGNhbiBjb21wbGV0ZSB0aGlzIHJlc3BvbnNpYmlsaXR5JyxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBSQ19UWVBFX0RST1BET1dOX0xJU1QgPSBbXHJcbiAgJ0Fzc2lnbiBzYW1lIHJlc3BvbnNpYmlsaXR5JyxcclxuICAnQ3JlYXRlIHNlcGFyYXRlIHJlc3BvbnNpYmlsaXRpZXMnLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJFVklFV0VSX1RZUEVfRFJPUERPV05fTElTVCA9IFtcclxuICAnU0VRVUVOVElBTCcsXHJcbiAgJ0FOWSBSRVZJRVdFUiBDQU4gTUFSSyBUSElTIEFTIFJFVklFV0VEJyxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBGUkVRVUVOQ1lfRFJPUERPV05fTElTVCA9IFtcclxuICAnRGFpbHknLFxyXG4gICdFdmVyeSBBbHRlcm5hdGUgRGF5JyxcclxuICAnV2Vla2x5JyxcclxuICAnRXZlcnkgMTAgRGF5cycsXHJcbiAgJ0V2ZXJ5IEZvcnRuaWdodCcsXHJcbiAgJ0V2ZXJ5IDIgV2Vla3MnLFxyXG4gICdFdmVyeSAzIFdlZWtzJyxcclxuICAnTW9udGhseScsXHJcbiAgJ0V2ZXJ5IDQ1IERheXMnLFxyXG4gICdFdmVyeSBBbHRlcm5hdGUgTW9udGgnLFxyXG4gICdRdWFydGVybHknLFxyXG4gICdFdmVyeSAxMjAgRGF5cycsXHJcbiAgJ0JpYW5udWFsJyxcclxuICAnQW5udWFsJyxcclxuICAnRXZlcnkgMiBZZWFycycsXHJcbiAgJ0V2ZXJ5IDMgWWVhcnMnLFxyXG4gICdFdmVyeSA0IFllYXJzJyxcclxuICAnRXZlcnkgNSBZZWFycycsXHJcbiAgJ0V2ZXJ5IDEwIFllYXJzJyxcclxuICAnT25lIFRpbWUnLFxyXG4gICdPdGhlciBGcmVxdWVuY3knLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZVTExfTU9OVEhfTkFNRVMgPSBbXHJcbiAgJ0phbnVhcnknLFxyXG4gICdGZWJydWFyeScsXHJcbiAgJ01hcmNoJyxcclxuICAnQXByaWwnLFxyXG4gICdNYXknLFxyXG4gICdKdW5lJyxcclxuICAnSnVseScsXHJcbiAgJ0F1Z3VzdCcsXHJcbiAgJ1NlcHRlbWJlcicsXHJcbiAgJ09jdG9iZXInLFxyXG4gICdOb3ZlbWJlcicsXHJcbiAgJ0RlY2VtYmVyJyxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBWQUxJREFUSU9OX01FU1NBR0VTID0ge1xyXG4gIERST1BET1dOOlxyXG4gICAgJ1RoZSBkYXRhIGFkZGVkIGluIHRoaXMgZmllbGQgaXMgbm90IHZhbGlkLiBTZWxlY3QgZnJvbSB0aGUgZHJvcGRvd24gcHJvdmlkZWQgaW4gdGhlIHRlbXBsYXRlLicsXHJcbiAgUklTS19DTEFTUzpcclxuICAgICdJbnZhbGlkIHJpc2sgY2xhc3MuIFNlbGVjdCBhIHZhbGlkIG9wdGlvbiBmcm9tIHRoZSBkcm9wLWRvd24gbGlzdC4nLFxyXG4gIERBWTogJ0ludmFsaWQgZGF5IHNlbGVjdGlvbi4gU2VsZWN0IGEgdmFsaWQgZGF5IGZyb20gdGhlIGRyb3AtZG93biBsaXN0IGluIHRoZSB0ZW1wbGF0ZS4nLFxyXG4gIERBVEVfRk9STUFUOlxyXG4gICAgJ0ludmFsaWQgZGF0ZSBmb3JtYXQuIFNlbGVjdCBhIHZhbGlkIGRhdGUgZnJvbSB0aGUgZHJvcC1kb3duIGxpc3QgaW4gdGhlIHRlbXBsYXRlLicsXHJcbiAgRFVFX0RBVEU6ICdJbnZhbGlkIER1ZSBEYXRlLicsXHJcbiAgRFVFX1RJTUU6XHJcbiAgICBcIlRoaXMgdmFsdWUgZG9lcyBub3QgbWF0Y2ggdGhlIFZDb21wbHkgdGVtcGxhdGUncyBmb3JtYXQuIFVzZSB0aGUgY29ycmVjdCB2YWx1ZSBmcm9tIHRoZSBkcm9wLWRvd25zIGluIHRoZSB0ZW1wbGF0ZS5cIixcclxuICBFTkRTX0FGVEVSX09DQ1VSUkVOQ0VTX0dSRUFURVJfVEhBTl9aRVJPOiAnTXVzdCBiZSBncmVhdGVyIHRoYW4gMCcsXHJcbiAgRU5EU19BRlRFUl9PQ0NVUlJFTkNFU19OVU1FUklDOiAnTXVzdCBiZSBudW1lcmljIHZhbHVlJyxcclxuICBXSE9MRV9OVU1CRVJfTk9OX05FR0FUSVZFOlxyXG4gICAgJ011c3QgYmUgYSB3aG9sZSBudW1iZXIuIE5lZ2F0aXZlIGFuZCBkZWNpbWFsIHZhbHVlcyBhcmUgbm90IGFsbG93ZWQuJyxcclxuICBQT1NJVElWRV9OVU1CRVI6ICdNdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyJyxcclxuICBFTkRTX0JZX0RBVEVfSU5WQUxJRF9WQUxVRTpcclxuICAgICdUaGUgZGF0YSBhZGRlZCBpbiB0aGlzIGZpZWxkIGlzIG5vdCB2YWxpZC4gU2VsZWN0IGZyb20gdGhlIGRyb3Bkb3duIHByb3ZpZGVkIGluIHRoZSB0ZW1wbGF0ZS4nLFxyXG4gIEVORFNfQllfREFURV9JTkNPTVBMRVRFOlxyXG4gICAgJ0VuZHMgQnkgRGF0ZSByZXF1aXJlcyBib3RoIGEgZGF5IGFuZCBhIG1vbnRoLiBQbGVhc2UgY29tcGxldGUgYm90aCBmaWVsZHMgb3IgY2xlYXIgYm90aCB0byBsZWF2ZSB0aGUgZW5kIGRhdGUgdW5zZXQuJyxcclxuICBFTkRTX0JZX0RBVEVfUEFTVDpcclxuICAgICdUaGUgRW5kcyBCeSBEYXRlIGlzIGluIHRoZSBwYXN0LiBUaGlzIHJlc3BvbnNpYmlsaXR5IHdpbGwgYmUgY3JlYXRlZCB3aXRoIG5vIGZ1dHVyZSBvY2N1cnJlbmNlcy4nLFxyXG4gIEVORFNfQllfREFURV9DT05GTElDVDpcclxuICAgIFwiWW91IGhhdmUgcHJvdmlkZWQgdmFsdWVzIGZvciBib3RoICdFbmRzIEFmdGVyIE9jY3VycmVuY2VzJyBhbmQgJ0VuZHMgQnkgRGF0ZScuIEZpbGwgaW4gb25seSBvbmUsIG9yIGxlYXZlIGJvdGggYmxhbmsgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IHdpbGwgYWx3YXlzIGJlIGFjdGl2ZS5cIixcclxufTtcclxuIl19
125
+ export function dueDateDayOutOfRangeMessage(frequency) {
126
+ return `The value provided is out of range for a [${frequency}] frequency. Select a valid option.`;
127
+ }
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9jb25zdGFudHMvcmVzcG9uc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU07SUFDTixhQUFhO0lBQ2IsUUFBUTtJQUNSLFlBQVk7SUFDWixLQUFLO0NBQ04sQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsSUFBSSxFQUFFLE1BQU07Q0FDSixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDMUMsVUFBVTtJQUNWLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsU0FBUztDQUNWLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN4QyxhQUFhO0lBQ2IsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixRQUFRO0NBQ1QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQ3pDLDJEQUEyRDtJQUMzRCxzREFBc0Q7Q0FDdkQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLDRCQUE0QjtJQUM1QixrQ0FBa0M7Q0FDbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQ3pDLFlBQVk7SUFDWix3Q0FBd0M7Q0FDekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLE9BQU87SUFDUCxxQkFBcUI7SUFDckIsUUFBUTtJQUNSLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGVBQWU7SUFDZixTQUFTO0lBQ1QsZUFBZTtJQUNmLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixRQUFRO0lBQ1IsZUFBZTtJQUNmLGVBQWU7SUFDZixlQUFlO0lBQ2YsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixTQUFTO0lBQ1QsVUFBVTtJQUNWLE9BQU87SUFDUCxPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsUUFBUSxFQUNOLCtGQUErRjtJQUNqRyw0QkFBNEIsRUFDMUIsa0VBQWtFO0lBQ3BFLDhCQUE4QixFQUM1Qiw2REFBNkQ7SUFDL0QseUJBQXlCLEVBQ3ZCLHFHQUFxRztJQUN2RyxnQ0FBZ0MsRUFDOUIsOEdBQThHO0lBQ2hILDRCQUE0QixFQUMxQixrSEFBa0g7SUFDcEgsb0JBQW9CLEVBQ2xCLDhHQUE4RztJQUNoSCxxQkFBcUIsRUFDbkIsdUhBQXVIO0lBQ3pILGlCQUFpQixFQUFFLG9EQUFvRDtJQUN2RSxnQkFBZ0IsRUFDZCxrR0FBa0c7SUFDcEcsaUJBQWlCLEVBQ2YsOEVBQThFO0lBQ2hGLHFCQUFxQixFQUNuQixrTEFBa0w7SUFDcEwsbUJBQW1CLEVBQ2pCLDhHQUE4RztJQUNoSCwwQkFBMEIsRUFDeEIsZ0lBQWdJO0lBQ2xJLGtCQUFrQixFQUFFLDhDQUE4QztJQUNsRSx1QkFBdUIsRUFDckIsdUdBQXVHO0lBQ3pHLHlCQUF5QixFQUN2QixxRkFBcUY7SUFDdkYsaUJBQWlCLEVBQ2YsNkVBQTZFO0lBQy9FLHNCQUFzQixFQUNwQix1R0FBdUc7SUFDekcsY0FBYyxFQUNaLDBHQUEwRztJQUM1RyxvQkFBb0IsRUFDbEIsMEhBQTBIO0lBQzVILFdBQVcsRUFDVCxnSEFBZ0g7SUFDbEgsdUJBQXVCLEVBQ3JCLGtJQUFrSTtJQUNwSSxrQkFBa0IsRUFBRSx5QkFBeUI7SUFDN0MsaUJBQWlCLEVBQUUsd0RBQXdEO0lBQzNFLDhCQUE4QixFQUM1QiwrR0FBK0c7SUFDakgsNEJBQTRCLEVBQzFCLCtGQUErRjtJQUNqRyw0QkFBNEIsRUFDMUIsdUZBQXVGO0lBQ3pGLGtCQUFrQixFQUFFLHdEQUF3RDtJQUM1RSxxQkFBcUIsRUFBRSwrQ0FBK0M7SUFDdEUsa0JBQWtCLEVBQ2hCLCtHQUErRztJQUNqSCxrQkFBa0IsRUFDaEIsOEhBQThIO0lBQ2hJLHlCQUF5QixFQUN2QiwwSEFBMEg7SUFDNUgsbUJBQW1CLEVBQ2pCLHdEQUF3RDtJQUMxRCxhQUFhLEVBQUUscURBQXFEO0lBQ3BFLFVBQVUsRUFDUixvRUFBb0U7SUFDdEUsR0FBRyxFQUFFLG9GQUFvRjtJQUN6RixXQUFXLEVBQ1QsbUZBQW1GO0lBQ3JGLFFBQVEsRUFBRSxtQkFBbUI7SUFDN0IsUUFBUSxFQUNOLHFIQUFxSDtJQUN2SCx3Q0FBd0MsRUFBRSx3QkFBd0I7SUFDbEUsOEJBQThCLEVBQUUsdUJBQXVCO0lBQ3ZELHlCQUF5QixFQUN2QixzRUFBc0U7SUFDeEUsZUFBZSxFQUFFLDJCQUEyQjtJQUM1QywwQkFBMEIsRUFDeEIsK0ZBQStGO0lBQ2pHLHVCQUF1QixFQUNyQixzSEFBc0g7SUFDeEgsaUJBQWlCLEVBQ2Ysa0dBQWtHO0lBQ3BHLHFCQUFxQixFQUNuQixtS0FBbUs7Q0FDdEssQ0FBQztBQUVGLE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxTQUFpQjtJQUMzRCxPQUFPLDZDQUE2QyxTQUFTLHFDQUFxQyxDQUFDO0FBQ3JHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUklTS19DTEFTU19MSVNUID0gW1xyXG4gICdoaWdoJyxcclxuICAnbWVkaXVtLWhpZ2gnLFxyXG4gICdtZWRpdW0nLFxyXG4gICdsb3ctbWVkaXVtJyxcclxuICAnbG93JyxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBWQUxJREFUSU9OX1NFVkVSSVRZID0ge1xyXG4gIEVSUk9SOiAnZXJyb3InLFxyXG4gIFdBUk5JTkc6ICd3YXJuaW5nJyxcclxuICBJTkZPOiAnaW5mbycsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgY29uc3QgTk9OX0JMT0NLSU5HX0RST1BET1dOX0ZJRUxEUyA9IFtcclxuICAnYXNzaWdub3InLFxyXG4gICdhc3NpZ25lZVR5cGUnLFxyXG4gICdrZXlSZXNwb25zaWJpbGl0eScsXHJcbiAgJ2R1ZVRpbWUnLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFlFU19OT19EUk9QRE9XTl9MSVNUID0gWydZZXMnLCAnTm8nXTtcclxuXHJcbmV4cG9ydCBjb25zdCBQUk9HUkFNX1RZUEVfRFJPUERPV05fTElTVCA9IFtcclxuICAnUmVndWxhdGlvbnMnLFxyXG4gICdTdGFuZGFyZHMnLFxyXG4gICdJbnRlcm5hbCBDb250cm9scycsXHJcbiAgJ090aGVycycsXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgQVNTSUdORUVfVFlQRV9EUk9QRE9XTl9MSVNUID0gW1xyXG4gICdBbGwgc2VsZWN0ZWQgcGVyc29ucyBuZWVkIHRvIGNvbXBsZXRlIHRoaXMgcmVzcG9uc2liaWxpdHknLFxyXG4gICdBbnkgc2VsZWN0ZWQgcGVyc29uIGNhbiBjb21wbGV0ZSB0aGlzIHJlc3BvbnNpYmlsaXR5JyxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBSQ19UWVBFX0RST1BET1dOX0xJU1QgPSBbXHJcbiAgJ0Fzc2lnbiBzYW1lIHJlc3BvbnNpYmlsaXR5JyxcclxuICAnQ3JlYXRlIHNlcGFyYXRlIHJlc3BvbnNpYmlsaXRpZXMnLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJFVklFV0VSX1RZUEVfRFJPUERPV05fTElTVCA9IFtcclxuICAnU0VRVUVOVElBTCcsXHJcbiAgJ0FOWSBSRVZJRVdFUiBDQU4gTUFSSyBUSElTIEFTIFJFVklFV0VEJyxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBGUkVRVUVOQ1lfRFJPUERPV05fTElTVCA9IFtcclxuICAnRGFpbHknLFxyXG4gICdFdmVyeSBBbHRlcm5hdGUgRGF5JyxcclxuICAnV2Vla2x5JyxcclxuICAnRXZlcnkgMTAgRGF5cycsXHJcbiAgJ0V2ZXJ5IEZvcnRuaWdodCcsXHJcbiAgJ0V2ZXJ5IDIgV2Vla3MnLFxyXG4gICdFdmVyeSAzIFdlZWtzJyxcclxuICAnTW9udGhseScsXHJcbiAgJ0V2ZXJ5IDQ1IERheXMnLFxyXG4gICdFdmVyeSBBbHRlcm5hdGUgTW9udGgnLFxyXG4gICdRdWFydGVybHknLFxyXG4gICdFdmVyeSAxMjAgRGF5cycsXHJcbiAgJ0JpYW5udWFsJyxcclxuICAnQW5udWFsJyxcclxuICAnRXZlcnkgMiBZZWFycycsXHJcbiAgJ0V2ZXJ5IDMgWWVhcnMnLFxyXG4gICdFdmVyeSA0IFllYXJzJyxcclxuICAnRXZlcnkgNSBZZWFycycsXHJcbiAgJ0V2ZXJ5IDEwIFllYXJzJyxcclxuICAnT25lIFRpbWUnLFxyXG4gICdPdGhlciBGcmVxdWVuY3knLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZVTExfTU9OVEhfTkFNRVMgPSBbXHJcbiAgJ0phbnVhcnknLFxyXG4gICdGZWJydWFyeScsXHJcbiAgJ01hcmNoJyxcclxuICAnQXByaWwnLFxyXG4gICdNYXknLFxyXG4gICdKdW5lJyxcclxuICAnSnVseScsXHJcbiAgJ0F1Z3VzdCcsXHJcbiAgJ1NlcHRlbWJlcicsXHJcbiAgJ09jdG9iZXInLFxyXG4gICdOb3ZlbWJlcicsXHJcbiAgJ0RlY2VtYmVyJyxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBWQUxJREFUSU9OX01FU1NBR0VTID0ge1xyXG4gIERST1BET1dOOlxyXG4gICAgJ1RoZSBkYXRhIGFkZGVkIGluIHRoaXMgZmllbGQgaXMgbm90IHZhbGlkLiBTZWxlY3QgZnJvbSB0aGUgZHJvcGRvd24gcHJvdmlkZWQgaW4gdGhlIHRlbXBsYXRlLicsXHJcbiAgUkVTUE9OU0lCSUxJVFlfTkFNRV9SRVFVSVJFRDpcclxuICAgICdUaGlzIGlzIGEgbWFuZGF0b3J5IGZpZWxkLiBFbnRlciBhIG5hbWUgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuJyxcclxuICBSRVNQT05TSUJJTElUWV9OQU1FX1dISVRFU1BBQ0U6XHJcbiAgICAnUmVzcG9uc2liaWxpdHkgTmFtZSBjYW5ub3QgYmUgYmxhbmsgb3IgY29udGFpbiBvbmx5IHNwYWNlcy4nLFxyXG4gIFBST0dSQU1fQ0FURUdPUllfTUlTTUFUQ0g6XHJcbiAgICAnUHJvZ3JhbSBDYXRlZ29yeSBkb2VzIG5vdCBiZWxvbmcgdG8gdGhlIHNlbGVjdGVkIFByb2dyYW0uIFNlbGVjdCBhIHZhbGlkIGNhdGVnb3J5IGZvciB0aGlzIFByb2dyYW0uJyxcclxuICBQUk9HUkFNX0NBVEVHT1JZX1dJVEhPVVRfUFJPR1JBTTpcclxuICAgICdQcm9ncmFtIENhdGVnb3J5IGhhcyBiZWVuIHByb3ZpZGVkIHdpdGhvdXQgYSBQcm9ncmFtLiBTZWxlY3QgYSBQcm9ncmFtLCBvciBjbGVhciB0aGUgUHJvZ3JhbSBDYXRlZ29yeSBmaWVsZC4nLFxyXG4gIFBST0dSQU1fVFlQRV9XSVRIT1VUX1BST0dSQU06XHJcbiAgICAnUHJvZ3JhbSBUeXBlIGhhcyBiZWVuIHByb3ZpZGVkIHdpdGhvdXQgYSBQcm9ncmFtLiBQbGVhc2UgYWxzbyBzZWxlY3QgYSBQcm9ncmFtLCBvciBjbGVhciB0aGUgUHJvZ3JhbSBUeXBlIGZpZWxkLicsXHJcbiAgRU5UUlVTVEVEX0JZX0lOVkFMSUQ6XHJcbiAgICAnVGhpcyBpcyBub3QgYSB2YWxpZCB1c2VyLiBTZWxlY3QgYSB1c2VyIGZyb20gdGhlIGRyb3Bkb3duIG9yIGxlYXZlIGJsYW5rIHRvIHVzZSB5b3VyIGFjY291bnQgYXMgdGhlIGRlZmF1bHQuJyxcclxuICBFTlRSVVNURURfQllfSU5BQ1RJVkU6XHJcbiAgICAnVGhlIHVzZXIgc2VsZWN0ZWQgaW4gdGhpcyBmaWVsZCBpcyBpbmFjdGl2ZS4gU2VsZWN0IGFuIGFjdGl2ZSB1c2VyIG9yIGxlYXZlIGJsYW5rIHRvIHVzZSB5b3VyIGFjY291bnQgYXMgdGhlIGRlZmF1bHQuJyxcclxuICBBU1NJR05FRV9SRVFVSVJFRDogJ1RoaXMgaXMgYSBtYW5kYXRvcnkgZmllbGQuIFNlbGVjdCBhIHVzZXIgb3IgZ3JvdXAuJyxcclxuICBBU1NJR05FRV9JTlZBTElEOlxyXG4gICAgJ1RoaXMgaXMgbm90IGEgdmFsaWQgdXNlciBvciBncm91cCBpbiBWQ29tcGx5LiBTZWxlY3QgZnJvbSB0aGUgZHJvcGRvd24gcHJvdmlkZWQgaW4gdGhlIHRlbXBsYXRlLicsXHJcbiAgQVNTSUdORUVfSU5BQ1RJVkU6XHJcbiAgICAnVGhlIHVzZXIgc2VsZWN0ZWQgaW4gdGhpcyBmaWVsZCBpcyBpbmFjdGl2ZS4gU2VsZWN0IGFuIGFjdGl2ZSB1c2VyIG9yIGdyb3VwLicsXHJcbiAgQVNTSUdORUVfVFlQRV9JTlZBTElEOlxyXG4gICAgJ1RoZSBkYXRhIGFkZGVkIGluIHRoaXMgZmllbGQgaXMgbm90IHZhbGlkLiBTZWxlY3QgZnJvbSB0aGUgZHJvcGRvd24gcHJvdmlkZWQgaW4gdGhlIHRlbXBsYXRlIG9yIHRoZSBkZWZhdWx0IHNlbGVjdGlvbiBvZiBcIkFueSBzZWxlY3QgcGVyc29uIGNhbiBjb21wbGV0ZWQgdGhpc1wiIHdpbGwgYmUgYXBwbGllZC4nLFxyXG4gIEdST1VQX0FMTF9BTllfQkxBTks6XHJcbiAgICBcIkEgZ3JvdXAgaGFzIGJlZW4gYXNzaWduZWQuIFRoZSBkZWZhdWx0IHNlbGVjdGlvbiBvZiAnQW55IHNlbGVjdGVkIHBlcnNvbiBjYW4gY29tcGxldGUgdGhpcycgd2lsbCBiZSBhcHBsaWVkLlwiLFxyXG4gIEtFWV9SRVNQT05TSUJJTElUWV9JTlZBTElEOlxyXG4gICAgXCJUaGUgZGF0YSBhZGRlZCBpbiB0aGlzIGZpZWxkIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHNlbGVjdCAnWWVzJywgJ05vJywgb3IgbGVhdmUgYmxhbmsgKGRlZmF1bHRzIHRvICdOb3QgYSBLZXkgUmVzcG9uc2liaWxpdHknKS5cIixcclxuICBGUkVRVUVOQ1lfUkVRVUlSRUQ6ICdUaGlzIGlzIG1hbmRhdG9yeSBmaWVsZC4gU2VsZWN0IGEgZnJlcXVlbmN5LicsXHJcbiAgRFVFX0RBVEVfREFZX05PVF9OVU1CRVI6XHJcbiAgICAnVGhlIGRhdGEgYWRkZWQgaW4gdGhpcyBmaWVsZCBpcyBub3QgdmFsaWQuIEVudGVyIGEgbnVtYmVyIGZyb20gdGhlIGRyb3Bkb3duIHByb3ZpZGVkIGluIHRoZSB0ZW1wbGF0ZS4nLFxyXG4gIERVRV9EQVRFX0RBWV9PVVRfT0ZfUkFOR0U6XHJcbiAgICAnVGhlIHZhbHVlIHByb3ZpZGVkIGlzIG91dCBvZiByYW5nZSBmb3IgYSBbV2Vla2x5XSBmcmVxdWVuY3kuIFNlbGVjdCBhIHZhbGlkIG9wdGlvbi4nLFxyXG4gIERVRV9EQVRFX1JFUVVJUkVEOlxyXG4gICAgJ1RoaXMgaXMgbWFuZGF0b3J5IGZpZWxkLiBTZWxlY3QgZnJvbSB0aGUgZHJvcGRvd24gcHJvdmlkZWQgaW4gdGhlIHRlbXBsYXRlLicsXHJcbiAgRFVFX0RBVEVfTU9OVEhfSU5WQUxJRDpcclxuICAgICdUaGUgZGF0YSBhZGRlZCBpbiB0aGlzIGZpZWxkIGlzIG5vdCB2YWxpZC4gU2VsZWN0IGEgbW9udGggZnJvbSB0aGUgZHJvcGRvd24gcHJvdmlkZWQgaW4gdGhlIHRlbXBsYXRlLicsXHJcbiAgRFVFX1RJTUVfQkxBTks6XHJcbiAgICAnVGhlIHJlc3BvbnNpYmlsaXRpZXMgd2lsbCBiZSBjcmVhdGVkIHdpdGggYSBkZWZhdWx0IHRpbWUgb2YgMTE6MzAgUE0gYWNjb3JkaW5nIHRvIHlvdXIgVkNvbXBseSB0aW1lem9uZS4nLFxyXG4gIFJDX1RZUEVfV0lUSE9VVF9OQU1FOlxyXG4gICAgJ1Jlc3BvbnNpYmlsaXR5IENlbnRlciBUeXBlIGhhcyBiZWVuIHByb3ZpZGVkIHdpdGhvdXQgYSBSZXNwb25zaWJpbGl0eSBDZW50ZXIgTmFtZS4gRW50ZXIgdGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBuYW1lLicsXHJcbiAgUkNfSU5BQ1RJVkU6XHJcbiAgICAnVGhpcyBSZXNwb25zaWJpbGl0eSBDZW50ZXIgbm8gbG9uZ2VyIGV4aXN0cyBpbiBWQ29tcGx5LiBTZWxlY3QgYW4gYWN0aXZlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBvciBsZWF2ZSBibGFuay4nLFxyXG4gIEZPUk1BVF9MSU5LX1dJVEhPVVRfWUVTOlxyXG4gICAgJ0EgZm9ybWF0IGxpbmsgaGFzIGJlZW4gcHJvdmlkZWQgYnV0IEZvcm1hdCBzZWxlY3RvbiBpcyBzZXQgdG8gXCJOb1wiLiBTZXQgdGhlIEZvcm1hdCBmaWVsZCB0byBcIlllc1wiIGFuZCB1cGxvYWQgdGhlIHRlbXBsYXRlIGFnYWluLicsXHJcbiAgRk9STUFUX0lOVkFMSURfVVJMOiAnVGhpcyBpcyBhbiBpbnZhbGlkIFVSTC4nLFxyXG4gIFJFVklFV0VSX0lOQUNUSVZFOiAnVGhpcyB1c2VyIGlzIGluYWN0aXZlLiBTZWxlY3QgYW4gYWN0aXZlIHVzZXIgb3IgZ3JvdXAuJyxcclxuICBSRVZJRVdfV0lORE9XX1dJVEhPVVRfUkVWSUVXRVI6XHJcbiAgICAnUmV2aWV3IHdpbmRvdyBoYXMgYmVlbiBzcGVjaWZpZWQgYnV0IG5vIFJldmlld2VyIGhhcyBiZWVuIHNlbGVjdGVkLiBTZWxlY3QgYSBSZXZpZXdlciwgb3IgY2xlYXIgdGhlc2UgZmllbGRzLicsXHJcbiAgT1ZFUlNJR0hUX0RVUExJQ0FURV9BU1NJR05FRTpcclxuICAgICdUaGlzIHVzZXIgaXMgYWxyZWFkeSBhc3NpZ25lZCBhcyB0aGUgcHJpbWFyeSBBc3NpZ25lZS4gQWRkaW5nIHRoZW0gdG8gb3ZlcnNpZ2h0IGlzIHJlZHVuZGFudC4nLFxyXG4gIE9WRVJTSUdIVF9EVVBMSUNBVEVfQVNTSUdOT1I6XHJcbiAgICAnVGhpcyB1c2VyIGlzIGFscmVhZHkgYXNzaWduZWQgYXMgdGhlIEFzc2lnbm9yLiBBZGRpbmcgdGhlbSB0byBvdmVyc2lnaHQgaXMgcmVkdW5kYW50LicsXHJcbiAgT1ZFUlNJR0hUX0lOQUNUSVZFOiAnVGhpcyB1c2VyIGlzIGluYWN0aXZlLiBTZWxlY3QgYW4gYWN0aXZlIHVzZXIgb3IgZ3JvdXAuJyxcclxuICBDT0xMQUJPUkFUT1JfSU5BQ1RJVkU6ICdUaGlzIHVzZXIgaXMgaW5hY3RpdmUuIFNlbGVjdCBhbiBhY3RpdmUgdXNlci4nLFxyXG4gIENPTExBQk9SQVRPUl9HUk9VUDpcclxuICAgICdDb2xsYWJvcmF0b3JzIG11c3QgYmUgaW5kaXZpZHVhbCB1c2Vycywgbm90IGdyb3Vwcy4gUGxlYXNlIHNlbGVjdCBhIHNwZWNpZmljIHVzZXIgZm9yIHRoZSBDb2xsYWJvcmF0b3IgZmllbGQuJyxcclxuICBPTkVfVElNRV9MSUZFQ1lDTEU6XHJcbiAgICBcIkEgJ09uZSBUaW1lJyByZXNwb25zaWJpbGl0eSBjYW5ub3QgYWxzbyBoYXZlIGEgbGlmZWN5Y2xlIGVuZCBydWxlLiBDbGVhciB0aGUgRW5kcyBBZnRlciBPY2N1cnJlbmNlcyBhbmQgRW5kcyBCeSBEYXRlIGZpZWxkcy5cIixcclxuICBFTkRTX0FGVEVSX09ORV9PQ0NVUlJFTkNFOlxyXG4gICAgXCJFbmRpbmcgYWZ0ZXIgMSBvY2N1cnJlbmNlIGlzIGVxdWl2YWxlbnQgdG8gYSAnT25lIFRpbWUnIHJlc3BvbnNpYmlsaXR5LiBDb25zaWRlciB1c2luZyB0aGUgJ09uZSBUaW1lJyBmcmVxdWVuY3kgaW5zdGVhZC5cIixcclxuICBVU0VSX05PVF9JTl9QUk9HUkFNOlxyXG4gICAgJ1RoaXMgdXNlciBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZWxlY3RlZCBQcm9ncmFtLicsXHJcbiAgUEFTVF9EVUVfREFURTogJ1RoaXMgZGF0ZSBvY2N1cnMgaW4gdGhlIHBhc3QuIFNlbGVjdCBhIGZ1dHVyZSBkYXRlLicsXHJcbiAgUklTS19DTEFTUzpcclxuICAgICdJbnZhbGlkIHJpc2sgY2xhc3MuIFNlbGVjdCBhIHZhbGlkIG9wdGlvbiBmcm9tIHRoZSBkcm9wLWRvd24gbGlzdC4nLFxyXG4gIERBWTogJ0ludmFsaWQgZGF5IHNlbGVjdGlvbi4gU2VsZWN0IGEgdmFsaWQgZGF5IGZyb20gdGhlIGRyb3AtZG93biBsaXN0IGluIHRoZSB0ZW1wbGF0ZS4nLFxyXG4gIERBVEVfRk9STUFUOlxyXG4gICAgJ0ludmFsaWQgZGF0ZSBmb3JtYXQuIFNlbGVjdCBhIHZhbGlkIGRhdGUgZnJvbSB0aGUgZHJvcC1kb3duIGxpc3QgaW4gdGhlIHRlbXBsYXRlLicsXHJcbiAgRFVFX0RBVEU6ICdJbnZhbGlkIER1ZSBEYXRlLicsXHJcbiAgRFVFX1RJTUU6XHJcbiAgICBcIlRoaXMgdmFsdWUgZG9lcyBub3QgbWF0Y2ggdGhlIFZDb21wbHkgdGVtcGxhdGUncyBmb3JtYXQuIFVzZSB0aGUgY29ycmVjdCB2YWx1ZSBmcm9tIHRoZSBkcm9wLWRvd25zIGluIHRoZSB0ZW1wbGF0ZS5cIixcclxuICBFTkRTX0FGVEVSX09DQ1VSUkVOQ0VTX0dSRUFURVJfVEhBTl9aRVJPOiAnTXVzdCBiZSBncmVhdGVyIHRoYW4gMCcsXHJcbiAgRU5EU19BRlRFUl9PQ0NVUlJFTkNFU19OVU1FUklDOiAnTXVzdCBiZSBudW1lcmljIHZhbHVlJyxcclxuICBXSE9MRV9OVU1CRVJfTk9OX05FR0FUSVZFOlxyXG4gICAgJ011c3QgYmUgYSB3aG9sZSBudW1iZXIuIE5lZ2F0aXZlIGFuZCBkZWNpbWFsIHZhbHVlcyBhcmUgbm90IGFsbG93ZWQuJyxcclxuICBQT1NJVElWRV9OVU1CRVI6ICdNdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyJyxcclxuICBFTkRTX0JZX0RBVEVfSU5WQUxJRF9WQUxVRTpcclxuICAgICdUaGUgZGF0YSBhZGRlZCBpbiB0aGlzIGZpZWxkIGlzIG5vdCB2YWxpZC4gU2VsZWN0IGZyb20gdGhlIGRyb3Bkb3duIHByb3ZpZGVkIGluIHRoZSB0ZW1wbGF0ZS4nLFxyXG4gIEVORFNfQllfREFURV9JTkNPTVBMRVRFOlxyXG4gICAgJ0VuZHMgQnkgRGF0ZSByZXF1aXJlcyBib3RoIGEgZGF5IGFuZCBhIG1vbnRoLiBQbGVhc2UgY29tcGxldGUgYm90aCBmaWVsZHMgb3IgY2xlYXIgYm90aCB0byBsZWF2ZSB0aGUgZW5kIGRhdGUgdW5zZXQuJyxcclxuICBFTkRTX0JZX0RBVEVfUEFTVDpcclxuICAgICdUaGUgRW5kcyBCeSBEYXRlIGlzIGluIHRoZSBwYXN0LiBUaGlzIHJlc3BvbnNpYmlsaXR5IHdpbGwgYmUgY3JlYXRlZCB3aXRoIG5vIGZ1dHVyZSBvY2N1cnJlbmNlcy4nLFxyXG4gIEVORFNfQllfREFURV9DT05GTElDVDpcclxuICAgIFwiWW91IGhhdmUgcHJvdmlkZWQgdmFsdWVzIGZvciBib3RoICdFbmRzIEFmdGVyIE9jY3VycmVuY2VzJyBhbmQgJ0VuZHMgQnkgRGF0ZScuIEZpbGwgaW4gb25seSBvbmUsIG9yIGxlYXZlIGJvdGggYmxhbmsgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IHdpbGwgYWx3YXlzIGJlIGFjdGl2ZS5cIixcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkdWVEYXRlRGF5T3V0T2ZSYW5nZU1lc3NhZ2UoZnJlcXVlbmN5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIHJldHVybiBgVGhlIHZhbHVlIHByb3ZpZGVkIGlzIG91dCBvZiByYW5nZSBmb3IgYSBbJHtmcmVxdWVuY3l9XSBmcmVxdWVuY3kuIFNlbGVjdCBhIHZhbGlkIG9wdGlvbi5gO1xyXG59XHJcbiJdfQ==