@doctorus/common 0.0.42 → 0.0.44

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.
@@ -5,118 +5,114 @@ import { Resource } from './resources';
5
5
  * Predefined operations aligned with the permission catalog architecture.
6
6
  */
7
7
  export declare const Operations: {
8
- readonly ACCOUNT_CREATE: Operation;
9
- readonly ACCOUNT_DISABLE: Operation;
10
- readonly ACCOUNT_RECOVER: Operation;
11
- readonly ACCOUNT_TRANSFER_OWNERSHIP: Operation;
12
8
  readonly ACCOUNT_VIEW: Operation;
13
9
  readonly ACCOUNT_UPDATE: Operation;
14
- readonly GENERAL_SETTINGS_UPDATE: Operation;
15
- readonly PREFERENCES_UPDATE: Operation;
16
- readonly LOG_RECORDS_VIEW: Operation;
17
- readonly AVAILABLE_SLOTS_VIEW: Operation;
18
- readonly CALCULATED_MEASURE_MODEL_VIEW: Operation;
19
- readonly CALCULATED_MEASURE_MODEL_UPDATE: Operation;
20
- readonly CALCULATED_MEASURE_MODEL_DELETE: Operation;
21
- readonly CALENDAR_SYNC_DISABLE: Operation;
22
- readonly CALENDAR_SYNC_ENABLE: Operation;
23
- readonly CALENDAR_SYNC_VIEW: Operation;
24
- readonly CALENDAR_TOKEN_VIEW: Operation;
25
- readonly CALENDAR_TOKEN_ROTATE: Operation;
26
- readonly CALENDAR_SETTINGS_VIEW: Operation;
27
- readonly CALENDAR_SETTINGS_UPDATE: Operation;
28
- readonly DOCUMENT_LAYOUT_CREATE: Operation;
29
- readonly DOCUMENT_LAYOUT_VIEW: Operation;
30
- readonly DOCUMENT_LAYOUT_UPDATE: Operation;
31
- readonly DOCUMENT_LAYOUT_DELETE: Operation;
32
- readonly DOCUMENT_MODEL_VIEW: Operation;
33
- readonly DOCUMENT_MODEL_UPDATE: Operation;
34
- readonly DOCUMENT_MODEL_DELETE: Operation;
35
- readonly GENERATED_DOCUMENT_GENERATE: Operation;
36
- readonly GENERATED_DOCUMENT_PREVIEW: Operation;
37
- readonly GENERATED_DOCUMENT_VIEW: Operation;
38
- readonly GENERATED_DOCUMENT_UPDATE: Operation;
39
- readonly GENERATED_DOCUMENT_DELETE: Operation;
40
- readonly LOCATION_VIEW: Operation;
41
- readonly LOCATION_CREATE: Operation;
42
- readonly LOCATION_UPDATE: Operation;
43
- readonly LOCATION_DELETE: Operation;
44
- readonly MEASURE_MODEL_CREATE: Operation;
45
- readonly MEASURE_MODEL_VIEW: Operation;
46
- readonly MEASURE_MODEL_UPDATE: Operation;
47
- readonly MEASURE_MODEL_DELETE: Operation;
48
- readonly MEDICAL_HISTORY_CREATE: Operation;
49
- readonly MEDICAL_HISTORY_VIEW: Operation;
50
- readonly MEDICAL_HISTORY_UPDATE: Operation;
51
- readonly MEDICAL_HISTORY_DELETE: Operation;
52
- readonly MEDICAL_HISTORY_MODEL_VIEW: Operation;
53
- readonly MEDICAL_HISTORY_MODEL_CREATE: Operation;
54
- readonly MEDICAL_HISTORY_MODEL_UPDATE: Operation;
55
- readonly MEDICAL_HISTORY_MODEL_DELETE: Operation;
56
- readonly MEDICAL_HISTORY_STATUS_UPDATE: Operation;
57
- readonly MEDICAL_SERVICE_CREATE: Operation;
10
+ readonly ACCOUNT_TRANSFER_OWNERSHIP: Operation;
11
+ readonly USER_VIEW: Operation;
12
+ readonly USER_UPDATE: Operation;
13
+ readonly MEMBERSHIP_VIEW: Operation;
14
+ readonly MEMBERSHIP_INVITE: Operation;
15
+ readonly MEMBERSHIP_UPDATE: Operation;
16
+ readonly MEMBERSHIP_REMOVE: Operation;
17
+ readonly ROLE_VIEW: Operation;
18
+ readonly ROLE_CREATE: Operation;
19
+ readonly ROLE_UPDATE: Operation;
20
+ readonly ROLE_DELETE: Operation;
21
+ readonly PATIENT_VIEW: Operation;
22
+ readonly PATIENT_CREATE: Operation;
23
+ readonly PATIENT_UPDATE: Operation;
24
+ readonly PATIENT_DELETE: Operation;
25
+ readonly CONTACT_VIEW: Operation;
26
+ readonly CONTACT_CREATE: Operation;
27
+ readonly CONTACT_UPDATE: Operation;
28
+ readonly CONTACT_DELETE: Operation;
29
+ readonly PATIENT_PAYMENT_VIEW: Operation;
30
+ readonly PATIENT_PAYMENT_CREATE: Operation;
31
+ readonly PATIENT_PAYMENT_UPDATE: Operation;
32
+ readonly PATIENT_PAYMENT_DELETE: Operation;
58
33
  readonly MEDICAL_SERVICE_VIEW: Operation;
34
+ readonly MEDICAL_SERVICE_CREATE: Operation;
59
35
  readonly MEDICAL_SERVICE_UPDATE: Operation;
60
36
  readonly MEDICAL_SERVICE_DELETE: Operation;
61
- readonly MEDICAL_SERVICE_CANCEL: Operation;
62
37
  readonly MEDICAL_SERVICE_CHECK_IN: Operation;
63
38
  readonly MEDICAL_SERVICE_COMPLETE: Operation;
64
- readonly MEDICAL_SERVICE_REOPEN: Operation;
65
- readonly MEDICAL_SERVICE_RESET: Operation;
66
- readonly MEDICAL_SERVICE_START: Operation;
67
- readonly MEDICAL_SERVICE_UNDO_CANCEL: Operation;
68
- readonly MEDICAL_SERVICE_UNDO_CHECK_IN: Operation;
69
- readonly MEDICAL_SERVICE_UNSTART: Operation;
39
+ readonly MEDICAL_SERVICE_CANCEL: Operation;
70
40
  readonly MEDICAL_SERVICE_ASSIGN: Operation;
71
- readonly MEDICAL_SERVICE_DESCRIPTION_UPDATE: Operation;
72
- readonly MEDICAL_SERVICE_FEES_UPDATE: Operation;
73
- readonly MEDICAL_SERVICE_LOCATION_UPDATE: Operation;
74
41
  readonly MEDICAL_SERVICE_NOTE_VIEW: Operation;
75
42
  readonly MEDICAL_SERVICE_NOTE_CREATE: Operation;
76
43
  readonly MEDICAL_SERVICE_NOTE_UPDATE: Operation;
77
44
  readonly MEDICAL_SERVICE_NOTE_DELETE: Operation;
78
- readonly MEDICAL_SERVICE_SCHEDULES_UPDATE: Operation;
79
- readonly MEDICAL_SERVICE_STATUS_UPDATE: Operation;
80
- readonly MEDICAL_SERVICE_TIMESTAMPS_UPDATE: Operation;
81
- readonly MEDICAL_SERVICE_TYPE_UPDATE: Operation;
82
- readonly MEDICATION_SEARCH_VIEW: Operation;
83
- readonly MEDICATION_SEARCH: Operation;
84
- readonly MEMBERSHIP_ASSIGN_ROLES: Operation;
85
- readonly MEMBERSHIP_INVITE: Operation;
86
- readonly MEMBERSHIP_REMOVE: Operation;
87
- readonly MEMBERSHIP_VIEW: Operation;
88
- readonly MEMBERSHIP_UPDATE: Operation;
89
- readonly OBSERVATION_CREATE: Operation;
45
+ readonly PATIENT_MEDICAL_NOTE_VIEW: Operation;
46
+ readonly PATIENT_MEDICAL_NOTE_CREATE: Operation;
47
+ readonly PATIENT_MEDICAL_NOTE_UPDATE: Operation;
48
+ readonly PATIENT_MEDICAL_NOTE_DELETE: Operation;
49
+ readonly MEDICAL_HISTORY_VIEW: Operation;
50
+ readonly MEDICAL_HISTORY_CREATE: Operation;
51
+ readonly MEDICAL_HISTORY_UPDATE: Operation;
52
+ readonly MEDICAL_HISTORY_DELETE: Operation;
90
53
  readonly OBSERVATION_VIEW: Operation;
54
+ readonly OBSERVATION_CREATE: Operation;
91
55
  readonly OBSERVATION_UPDATE: Operation;
92
56
  readonly OBSERVATION_DELETE: Operation;
93
- readonly PATIENT_CREATE: Operation;
94
- readonly PATIENT_VIEW: Operation;
95
- readonly PATIENT_UPDATE: Operation;
96
- readonly PATIENT_DELETE: Operation;
97
- readonly PATIENT_PAYMENT_CREATE: Operation;
98
- readonly PATIENT_PAYMENT_UPDATE: Operation;
99
- readonly PATIENT_PAYMENT_VIEW: Operation;
100
- readonly PATIENT_PAYMENT_DELETE: Operation;
101
- readonly PRESCRIPTION_CREATE: Operation;
102
57
  readonly PRESCRIPTION_VIEW: Operation;
58
+ readonly PRESCRIPTION_CREATE: Operation;
103
59
  readonly PRESCRIPTION_UPDATE: Operation;
104
60
  readonly PRESCRIPTION_DELETE: Operation;
105
- readonly PRESCRIPTION_MODEL_VIEW: Operation;
106
- readonly PRESCRIPTION_MODEL_CREATE: Operation;
107
- readonly PRESCRIPTION_MODEL_UPDATE: Operation;
108
- readonly PRESCRIPTION_MODEL_DELETE: Operation;
61
+ readonly DOCUMENT_LAYOUT_VIEW: Operation;
62
+ readonly DOCUMENT_LAYOUT_CREATE: Operation;
63
+ readonly DOCUMENT_LAYOUT_UPDATE: Operation;
64
+ readonly DOCUMENT_LAYOUT_DELETE: Operation;
65
+ readonly DOCUMENT_MODEL_VIEW: Operation;
66
+ readonly DOCUMENT_MODEL_CREATE: Operation;
67
+ readonly DOCUMENT_MODEL_UPDATE: Operation;
68
+ readonly DOCUMENT_MODEL_DELETE: Operation;
69
+ readonly GENERATED_DOCUMENT_VIEW: Operation;
70
+ readonly GENERATED_DOCUMENT_GENERATE: Operation;
71
+ readonly GENERATED_DOCUMENT_DELETE: Operation;
72
+ readonly UPLOAD_DOCUMENT_VIEW: Operation;
73
+ readonly UPLOAD_DOCUMENT_CREATE: Operation;
74
+ readonly UPLOAD_DOCUMENT_DELETE: Operation;
75
+ readonly GENERAL_SETTINGS_VIEW: Operation;
76
+ readonly GENERAL_SETTINGS_UPDATE: Operation;
77
+ readonly PREFERENCES_VIEW: Operation;
78
+ readonly PREFERENCES_UPDATE: Operation;
79
+ readonly MEASURE_MODEL_VIEW: Operation;
80
+ readonly MEASURE_MODEL_CREATE: Operation;
81
+ readonly MEASURE_MODEL_UPDATE: Operation;
82
+ readonly MEASURE_MODEL_DELETE: Operation;
83
+ readonly CALCULATED_MEASURE_MODEL_VIEW: Operation;
84
+ readonly CALCULATED_MEASURE_MODEL_CREATE: Operation;
85
+ readonly CALCULATED_MEASURE_MODEL_UPDATE: Operation;
86
+ readonly CALCULATED_MEASURE_MODEL_DELETE: Operation;
109
87
  readonly TASK_TYPE_VIEW: Operation;
110
88
  readonly TASK_TYPE_CREATE: Operation;
111
89
  readonly TASK_TYPE_UPDATE: Operation;
112
90
  readonly TASK_TYPE_DELETE: Operation;
113
- readonly UPLOAD_DOCUMENT_CREATE: Operation;
114
- readonly UPLOAD_DOCUMENT_UPLOAD: Operation;
115
- readonly UPLOAD_DOCUMENT_VIEW: Operation;
116
- readonly UPLOAD_DOCUMENT_UPDATE: Operation;
117
- readonly UPLOAD_DOCUMENT_DELETE: Operation;
118
- readonly USER_VIEW: Operation;
119
- readonly USER_UPDATE: Operation;
91
+ readonly LOCATION_VIEW: Operation;
92
+ readonly LOCATION_CREATE: Operation;
93
+ readonly LOCATION_UPDATE: Operation;
94
+ readonly LOCATION_DELETE: Operation;
95
+ readonly MEDICAL_HISTORY_MODEL_VIEW: Operation;
96
+ readonly MEDICAL_HISTORY_MODEL_CREATE: Operation;
97
+ readonly MEDICAL_HISTORY_MODEL_UPDATE: Operation;
98
+ readonly MEDICAL_HISTORY_MODEL_DELETE: Operation;
99
+ readonly PRESCRIPTION_MODEL_VIEW: Operation;
100
+ readonly PRESCRIPTION_MODEL_CREATE: Operation;
101
+ readonly PRESCRIPTION_MODEL_UPDATE: Operation;
102
+ readonly PRESCRIPTION_MODEL_DELETE: Operation;
103
+ readonly PATIENT_PROPERTY_MODEL_VIEW: Operation;
104
+ readonly PATIENT_PROPERTY_MODEL_CREATE: Operation;
105
+ readonly PATIENT_PROPERTY_MODEL_UPDATE: Operation;
106
+ readonly PATIENT_PROPERTY_MODEL_DELETE: Operation;
107
+ readonly CALENDAR_TOKEN_VIEW: Operation;
108
+ readonly CALENDAR_TOKEN_ROTATE: Operation;
109
+ readonly CALENDAR_SETTINGS_VIEW: Operation;
110
+ readonly CALENDAR_SETTINGS_UPDATE: Operation;
111
+ readonly CALENDAR_SYNC_ENABLE: Operation;
112
+ readonly CALENDAR_SYNC_DISABLE: Operation;
113
+ readonly CALENDAR_SYNC_VIEW: Operation;
114
+ readonly AVAILABLE_SLOTS_VIEW: Operation;
115
+ readonly MEDICATION_SEARCH_VIEW: Operation;
120
116
  };
121
117
  export declare function getAllOperations(): Operation[];
122
118
  export declare function getOperationsByResource(resource: Resource): Operation[];
@@ -11,118 +11,114 @@ const resources_1 = require("./resources");
11
11
  * Predefined operations aligned with the permission catalog architecture.
12
12
  */
13
13
  exports.Operations = {
14
- ACCOUNT_CREATE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.CREATE),
15
- ACCOUNT_DISABLE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.DISABLE),
16
- ACCOUNT_RECOVER: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.RECOVER),
17
- ACCOUNT_TRANSFER_OWNERSHIP: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.TRANSFER_OWNERSHIP),
18
14
  ACCOUNT_VIEW: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.VIEW),
19
15
  ACCOUNT_UPDATE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.UPDATE),
20
- GENERAL_SETTINGS_UPDATE: new operation_1.Operation(resources_1.Resource.GENERAL_SETTINGS, actions_1.Action.UPDATE),
21
- PREFERENCES_UPDATE: new operation_1.Operation(resources_1.Resource.PREFERENCES, actions_1.Action.UPDATE),
22
- LOG_RECORDS_VIEW: new operation_1.Operation(resources_1.Resource.LOG_RECORDS, actions_1.Action.VIEW),
23
- AVAILABLE_SLOTS_VIEW: new operation_1.Operation(resources_1.Resource.AVAILABLE_SLOTS, actions_1.Action.VIEW),
24
- CALCULATED_MEASURE_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.CALCULATED_MEASURE_MODEL, actions_1.Action.VIEW),
25
- CALCULATED_MEASURE_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.CALCULATED_MEASURE_MODEL, actions_1.Action.UPDATE),
26
- CALCULATED_MEASURE_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.CALCULATED_MEASURE_MODEL, actions_1.Action.DELETE),
27
- CALENDAR_SYNC_DISABLE: new operation_1.Operation(resources_1.Resource.CALENDAR_SYNC, actions_1.Action.DISABLE),
28
- CALENDAR_SYNC_ENABLE: new operation_1.Operation(resources_1.Resource.CALENDAR_SYNC, actions_1.Action.ENABLE),
29
- CALENDAR_SYNC_VIEW: new operation_1.Operation(resources_1.Resource.CALENDAR_SYNC, actions_1.Action.VIEW),
30
- CALENDAR_TOKEN_VIEW: new operation_1.Operation(resources_1.Resource.CALENDAR_TOKEN, actions_1.Action.VIEW),
31
- CALENDAR_TOKEN_ROTATE: new operation_1.Operation(resources_1.Resource.CALENDAR_TOKEN, actions_1.Action.ROTATE_TOKEN),
32
- CALENDAR_SETTINGS_VIEW: new operation_1.Operation(resources_1.Resource.CALENDAR_SETTINGS, actions_1.Action.VIEW),
33
- CALENDAR_SETTINGS_UPDATE: new operation_1.Operation(resources_1.Resource.CALENDAR_SETTINGS, actions_1.Action.UPDATE),
34
- DOCUMENT_LAYOUT_CREATE: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.CREATE),
35
- DOCUMENT_LAYOUT_VIEW: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.VIEW),
36
- DOCUMENT_LAYOUT_UPDATE: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.UPDATE),
37
- DOCUMENT_LAYOUT_DELETE: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.DELETE),
38
- DOCUMENT_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.DOCUMENT_MODEL, actions_1.Action.VIEW),
39
- DOCUMENT_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.DOCUMENT_MODEL, actions_1.Action.UPDATE),
40
- DOCUMENT_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.DOCUMENT_MODEL, actions_1.Action.DELETE),
41
- GENERATED_DOCUMENT_GENERATE: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.GENERATE),
42
- GENERATED_DOCUMENT_PREVIEW: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.PREVIEW),
43
- GENERATED_DOCUMENT_VIEW: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.VIEW),
44
- GENERATED_DOCUMENT_UPDATE: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.UPDATE),
45
- GENERATED_DOCUMENT_DELETE: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.DELETE),
46
- LOCATION_VIEW: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.VIEW),
47
- LOCATION_CREATE: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.CREATE),
48
- LOCATION_UPDATE: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.UPDATE),
49
- LOCATION_DELETE: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.DELETE),
50
- MEASURE_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.CREATE),
51
- MEASURE_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.VIEW),
52
- MEASURE_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.UPDATE),
53
- MEASURE_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.DELETE),
54
- MEDICAL_HISTORY_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.CREATE),
55
- MEDICAL_HISTORY_VIEW: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.VIEW),
56
- MEDICAL_HISTORY_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.UPDATE),
57
- MEDICAL_HISTORY_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.DELETE),
58
- MEDICAL_HISTORY_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.VIEW),
59
- MEDICAL_HISTORY_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.CREATE),
60
- MEDICAL_HISTORY_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.UPDATE),
61
- MEDICAL_HISTORY_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.DELETE),
62
- MEDICAL_HISTORY_STATUS_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.UPDATE_STATUS),
63
- MEDICAL_SERVICE_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CREATE),
16
+ ACCOUNT_TRANSFER_OWNERSHIP: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.TRANSFER_OWNERSHIP),
17
+ USER_VIEW: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.VIEW),
18
+ USER_UPDATE: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.UPDATE),
19
+ MEMBERSHIP_VIEW: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.VIEW),
20
+ MEMBERSHIP_INVITE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.INVITE),
21
+ MEMBERSHIP_UPDATE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.UPDATE),
22
+ MEMBERSHIP_REMOVE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.REMOVE),
23
+ ROLE_VIEW: new operation_1.Operation(resources_1.Resource.ROLE, actions_1.Action.VIEW),
24
+ ROLE_CREATE: new operation_1.Operation(resources_1.Resource.ROLE, actions_1.Action.CREATE),
25
+ ROLE_UPDATE: new operation_1.Operation(resources_1.Resource.ROLE, actions_1.Action.UPDATE),
26
+ ROLE_DELETE: new operation_1.Operation(resources_1.Resource.ROLE, actions_1.Action.DELETE),
27
+ PATIENT_VIEW: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.VIEW),
28
+ PATIENT_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.CREATE),
29
+ PATIENT_UPDATE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.UPDATE),
30
+ PATIENT_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.DELETE),
31
+ CONTACT_VIEW: new operation_1.Operation(resources_1.Resource.CONTACT, actions_1.Action.VIEW),
32
+ CONTACT_CREATE: new operation_1.Operation(resources_1.Resource.CONTACT, actions_1.Action.CREATE),
33
+ CONTACT_UPDATE: new operation_1.Operation(resources_1.Resource.CONTACT, actions_1.Action.UPDATE),
34
+ CONTACT_DELETE: new operation_1.Operation(resources_1.Resource.CONTACT, actions_1.Action.DELETE),
35
+ PATIENT_PAYMENT_VIEW: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.VIEW),
36
+ PATIENT_PAYMENT_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.CREATE),
37
+ PATIENT_PAYMENT_UPDATE: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.UPDATE),
38
+ PATIENT_PAYMENT_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.DELETE),
64
39
  MEDICAL_SERVICE_VIEW: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.VIEW),
40
+ MEDICAL_SERVICE_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CREATE),
65
41
  MEDICAL_SERVICE_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE),
66
42
  MEDICAL_SERVICE_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.DELETE),
67
- MEDICAL_SERVICE_CANCEL: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CANCEL),
68
43
  MEDICAL_SERVICE_CHECK_IN: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CHECK_IN),
69
44
  MEDICAL_SERVICE_COMPLETE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.COMPLETE),
70
- MEDICAL_SERVICE_REOPEN: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.REOPEN),
71
- MEDICAL_SERVICE_RESET: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.RESET),
72
- MEDICAL_SERVICE_START: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.START),
73
- MEDICAL_SERVICE_UNDO_CANCEL: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UNDO_CANCEL),
74
- MEDICAL_SERVICE_UNDO_CHECK_IN: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UNDO_CHECK_IN),
75
- MEDICAL_SERVICE_UNSTART: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UNSTART),
45
+ MEDICAL_SERVICE_CANCEL: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CANCEL),
76
46
  MEDICAL_SERVICE_ASSIGN: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.ASSIGN),
77
- MEDICAL_SERVICE_DESCRIPTION_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE),
78
- MEDICAL_SERVICE_FEES_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE),
79
- MEDICAL_SERVICE_LOCATION_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE),
80
47
  MEDICAL_SERVICE_NOTE_VIEW: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE_NOTE, actions_1.Action.VIEW),
81
48
  MEDICAL_SERVICE_NOTE_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE_NOTE, actions_1.Action.CREATE),
82
49
  MEDICAL_SERVICE_NOTE_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE_NOTE, actions_1.Action.UPDATE),
83
50
  MEDICAL_SERVICE_NOTE_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE_NOTE, actions_1.Action.DELETE),
84
- MEDICAL_SERVICE_SCHEDULES_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE_SCHEDULE),
85
- MEDICAL_SERVICE_STATUS_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE_STATUS),
86
- MEDICAL_SERVICE_TIMESTAMPS_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.CORRECT_TIMESTAMPS),
87
- MEDICAL_SERVICE_TYPE_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_SERVICE, actions_1.Action.UPDATE_TYPE),
88
- MEDICATION_SEARCH_VIEW: new operation_1.Operation(resources_1.Resource.MEDICATION_SEARCH, actions_1.Action.VIEW),
89
- MEDICATION_SEARCH: new operation_1.Operation(resources_1.Resource.MEDICATION_SEARCH, actions_1.Action.SEARCH),
90
- MEMBERSHIP_ASSIGN_ROLES: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.ASSIGN_ROLES),
91
- MEMBERSHIP_INVITE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.INVITE),
92
- MEMBERSHIP_REMOVE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.REMOVE),
93
- MEMBERSHIP_VIEW: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.VIEW),
94
- MEMBERSHIP_UPDATE: new operation_1.Operation(resources_1.Resource.MEMBERSHIP, actions_1.Action.UPDATE),
95
- OBSERVATION_CREATE: new operation_1.Operation(resources_1.Resource.OBSERVATION, actions_1.Action.CREATE),
51
+ PATIENT_MEDICAL_NOTE_VIEW: new operation_1.Operation(resources_1.Resource.PATIENT_MEDICAL_NOTE, actions_1.Action.VIEW),
52
+ PATIENT_MEDICAL_NOTE_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT_MEDICAL_NOTE, actions_1.Action.CREATE),
53
+ PATIENT_MEDICAL_NOTE_UPDATE: new operation_1.Operation(resources_1.Resource.PATIENT_MEDICAL_NOTE, actions_1.Action.UPDATE),
54
+ PATIENT_MEDICAL_NOTE_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT_MEDICAL_NOTE, actions_1.Action.DELETE),
55
+ MEDICAL_HISTORY_VIEW: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.VIEW),
56
+ MEDICAL_HISTORY_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.CREATE),
57
+ MEDICAL_HISTORY_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.UPDATE),
58
+ MEDICAL_HISTORY_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY, actions_1.Action.DELETE),
96
59
  OBSERVATION_VIEW: new operation_1.Operation(resources_1.Resource.OBSERVATION, actions_1.Action.VIEW),
60
+ OBSERVATION_CREATE: new operation_1.Operation(resources_1.Resource.OBSERVATION, actions_1.Action.CREATE),
97
61
  OBSERVATION_UPDATE: new operation_1.Operation(resources_1.Resource.OBSERVATION, actions_1.Action.UPDATE),
98
62
  OBSERVATION_DELETE: new operation_1.Operation(resources_1.Resource.OBSERVATION, actions_1.Action.DELETE),
99
- PATIENT_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.CREATE),
100
- PATIENT_VIEW: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.VIEW),
101
- PATIENT_UPDATE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.UPDATE),
102
- PATIENT_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.DELETE),
103
- PATIENT_PAYMENT_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.CREATE),
104
- PATIENT_PAYMENT_UPDATE: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.UPDATE),
105
- PATIENT_PAYMENT_VIEW: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.VIEW),
106
- PATIENT_PAYMENT_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT_PAYMENT, actions_1.Action.DELETE),
107
- PRESCRIPTION_CREATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.CREATE),
108
63
  PRESCRIPTION_VIEW: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.VIEW),
64
+ PRESCRIPTION_CREATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.CREATE),
109
65
  PRESCRIPTION_UPDATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.UPDATE),
110
66
  PRESCRIPTION_DELETE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION, actions_1.Action.DELETE),
111
- PRESCRIPTION_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.VIEW),
112
- PRESCRIPTION_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.CREATE),
113
- PRESCRIPTION_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.UPDATE),
114
- PRESCRIPTION_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.DELETE),
67
+ DOCUMENT_LAYOUT_VIEW: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.VIEW),
68
+ DOCUMENT_LAYOUT_CREATE: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.CREATE),
69
+ DOCUMENT_LAYOUT_UPDATE: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.UPDATE),
70
+ DOCUMENT_LAYOUT_DELETE: new operation_1.Operation(resources_1.Resource.DOCUMENT_LAYOUT, actions_1.Action.DELETE),
71
+ DOCUMENT_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.DOCUMENT_MODEL, actions_1.Action.VIEW),
72
+ DOCUMENT_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.DOCUMENT_MODEL, actions_1.Action.CREATE),
73
+ DOCUMENT_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.DOCUMENT_MODEL, actions_1.Action.UPDATE),
74
+ DOCUMENT_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.DOCUMENT_MODEL, actions_1.Action.DELETE),
75
+ GENERATED_DOCUMENT_VIEW: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.VIEW),
76
+ GENERATED_DOCUMENT_GENERATE: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.GENERATE),
77
+ GENERATED_DOCUMENT_DELETE: new operation_1.Operation(resources_1.Resource.GENERATED_DOCUMENT, actions_1.Action.DELETE),
78
+ UPLOAD_DOCUMENT_VIEW: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.VIEW),
79
+ UPLOAD_DOCUMENT_CREATE: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.CREATE),
80
+ UPLOAD_DOCUMENT_DELETE: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.DELETE),
81
+ GENERAL_SETTINGS_VIEW: new operation_1.Operation(resources_1.Resource.GENERAL_SETTINGS, actions_1.Action.VIEW),
82
+ GENERAL_SETTINGS_UPDATE: new operation_1.Operation(resources_1.Resource.GENERAL_SETTINGS, actions_1.Action.UPDATE),
83
+ PREFERENCES_VIEW: new operation_1.Operation(resources_1.Resource.PREFERENCES, actions_1.Action.VIEW),
84
+ PREFERENCES_UPDATE: new operation_1.Operation(resources_1.Resource.PREFERENCES, actions_1.Action.UPDATE),
85
+ MEASURE_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.VIEW),
86
+ MEASURE_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.CREATE),
87
+ MEASURE_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.UPDATE),
88
+ MEASURE_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.MEASURE_MODEL, actions_1.Action.DELETE),
89
+ CALCULATED_MEASURE_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.CALCULATED_MEASURE_MODEL, actions_1.Action.VIEW),
90
+ CALCULATED_MEASURE_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.CALCULATED_MEASURE_MODEL, actions_1.Action.CREATE),
91
+ CALCULATED_MEASURE_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.CALCULATED_MEASURE_MODEL, actions_1.Action.UPDATE),
92
+ CALCULATED_MEASURE_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.CALCULATED_MEASURE_MODEL, actions_1.Action.DELETE),
115
93
  TASK_TYPE_VIEW: new operation_1.Operation(resources_1.Resource.TASK_TYPE, actions_1.Action.VIEW),
116
94
  TASK_TYPE_CREATE: new operation_1.Operation(resources_1.Resource.TASK_TYPE, actions_1.Action.CREATE),
117
95
  TASK_TYPE_UPDATE: new operation_1.Operation(resources_1.Resource.TASK_TYPE, actions_1.Action.UPDATE),
118
96
  TASK_TYPE_DELETE: new operation_1.Operation(resources_1.Resource.TASK_TYPE, actions_1.Action.DELETE),
119
- UPLOAD_DOCUMENT_CREATE: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.CREATE),
120
- UPLOAD_DOCUMENT_UPLOAD: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.UPLOAD),
121
- UPLOAD_DOCUMENT_VIEW: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.VIEW),
122
- UPLOAD_DOCUMENT_UPDATE: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.UPDATE),
123
- UPLOAD_DOCUMENT_DELETE: new operation_1.Operation(resources_1.Resource.UPLOAD_DOCUMENT, actions_1.Action.DELETE),
124
- USER_VIEW: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.VIEW),
125
- USER_UPDATE: new operation_1.Operation(resources_1.Resource.USER, actions_1.Action.UPDATE),
97
+ LOCATION_VIEW: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.VIEW),
98
+ LOCATION_CREATE: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.CREATE),
99
+ LOCATION_UPDATE: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.UPDATE),
100
+ LOCATION_DELETE: new operation_1.Operation(resources_1.Resource.LOCATION, actions_1.Action.DELETE),
101
+ MEDICAL_HISTORY_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.VIEW),
102
+ MEDICAL_HISTORY_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.CREATE),
103
+ MEDICAL_HISTORY_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.UPDATE),
104
+ MEDICAL_HISTORY_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.MEDICAL_HISTORY_MODEL, actions_1.Action.DELETE),
105
+ PRESCRIPTION_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.VIEW),
106
+ PRESCRIPTION_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.CREATE),
107
+ PRESCRIPTION_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.UPDATE),
108
+ PRESCRIPTION_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.PRESCRIPTION_MODEL, actions_1.Action.DELETE),
109
+ PATIENT_PROPERTY_MODEL_VIEW: new operation_1.Operation(resources_1.Resource.PATIENT_PROPERTY_MODEL, actions_1.Action.VIEW),
110
+ PATIENT_PROPERTY_MODEL_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT_PROPERTY_MODEL, actions_1.Action.CREATE),
111
+ PATIENT_PROPERTY_MODEL_UPDATE: new operation_1.Operation(resources_1.Resource.PATIENT_PROPERTY_MODEL, actions_1.Action.UPDATE),
112
+ PATIENT_PROPERTY_MODEL_DELETE: new operation_1.Operation(resources_1.Resource.PATIENT_PROPERTY_MODEL, actions_1.Action.DELETE),
113
+ CALENDAR_TOKEN_VIEW: new operation_1.Operation(resources_1.Resource.CALENDAR_TOKEN, actions_1.Action.VIEW),
114
+ CALENDAR_TOKEN_ROTATE: new operation_1.Operation(resources_1.Resource.CALENDAR_TOKEN, actions_1.Action.ROTATE),
115
+ CALENDAR_SETTINGS_VIEW: new operation_1.Operation(resources_1.Resource.CALENDAR_SETTINGS, actions_1.Action.VIEW),
116
+ CALENDAR_SETTINGS_UPDATE: new operation_1.Operation(resources_1.Resource.CALENDAR_SETTINGS, actions_1.Action.UPDATE),
117
+ CALENDAR_SYNC_ENABLE: new operation_1.Operation(resources_1.Resource.CALENDAR_SYNC, actions_1.Action.ENABLE),
118
+ CALENDAR_SYNC_DISABLE: new operation_1.Operation(resources_1.Resource.CALENDAR_SYNC, actions_1.Action.DISABLE),
119
+ CALENDAR_SYNC_VIEW: new operation_1.Operation(resources_1.Resource.CALENDAR_SYNC, actions_1.Action.VIEW),
120
+ AVAILABLE_SLOTS_VIEW: new operation_1.Operation(resources_1.Resource.AVAILABLE_SLOTS, actions_1.Action.VIEW),
121
+ MEDICATION_SEARCH_VIEW: new operation_1.Operation(resources_1.Resource.MEDICATION_SEARCH, actions_1.Action.VIEW),
126
122
  };
127
123
  function getAllOperations() {
128
124
  return Object.values(exports.Operations);
@@ -133,4 +129,4 @@ function getOperationsByResource(resource) {
133
129
  function getOperationsByAction(action) {
134
130
  return getAllOperations().filter((op) => op.action === action);
135
131
  }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3ByZWRlZmluZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0pBLDRDQUVDO0FBRUQsMERBRUM7QUFFRCxzREFFQztBQTFKRCx1Q0FBbUM7QUFDbkMsMkNBQXdDO0FBQ3hDLDJDQUF1QztBQUV2Qzs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUQsZUFBZSxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLE9BQU8sQ0FBQztJQUNoRSxlQUFlLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2hFLDBCQUEwQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RGLFlBQVksRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUQsY0FBYyxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUU5RCx1QkFBdUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoRixrQkFBa0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxXQUFXLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFdEUsZ0JBQWdCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsV0FBVyxFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2xFLG9CQUFvQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUUxRSw2QkFBNkIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyx3QkFBd0IsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUM1RiwrQkFBK0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyx3QkFBd0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoRywrQkFBK0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyx3QkFBd0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUVoRyxxQkFBcUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxhQUFhLEVBQUUsZ0JBQU0sQ0FBQyxPQUFPLENBQUM7SUFDNUUsb0JBQW9CLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsYUFBYSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzFFLGtCQUFrQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGFBQWEsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUN0RSxtQkFBbUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxjQUFjLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDeEUscUJBQXFCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFNLENBQUMsWUFBWSxDQUFDO0lBQ2xGLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGlCQUFpQixFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBQzlFLHdCQUF3QixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGlCQUFpQixFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBRWxGLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RSxvQkFBb0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUUsc0JBQXNCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlFLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUU5RSxtQkFBbUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxjQUFjLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDeEUscUJBQXFCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVFLHFCQUFxQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGNBQWMsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUU1RSwyQkFBMkIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLFFBQVEsQ0FBQztJQUN4RiwwQkFBMEIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLE9BQU8sQ0FBQztJQUN0Rix1QkFBdUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUNoRix5QkFBeUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNwRix5QkFBeUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUVwRixhQUFhLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsUUFBUSxFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBQzVELGVBQWUsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxRQUFRLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDaEUsZUFBZSxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFFBQVEsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoRSxlQUFlLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsUUFBUSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBRWhFLG9CQUFvQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGFBQWEsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUMxRSxrQkFBa0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxhQUFhLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDdEUsb0JBQW9CLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsYUFBYSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzFFLG9CQUFvQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGFBQWEsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUUxRSxzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUUsb0JBQW9CLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBQzFFLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RSxzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFOUUsMEJBQTBCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMscUJBQXFCLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDdEYsNEJBQTRCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMscUJBQXFCLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUYsNEJBQTRCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMscUJBQXFCLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUYsNEJBQTRCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMscUJBQXFCLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUYsNkJBQTZCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsYUFBYSxDQUFDO0lBRTVGLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RSxvQkFBb0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUUsc0JBQXNCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlFLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RSxzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUUsd0JBQXdCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xGLHdCQUF3QixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLFFBQVEsQ0FBQztJQUNsRixzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUUscUJBQXFCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsS0FBSyxDQUFDO0lBQzVFLHFCQUFxQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLEtBQUssQ0FBQztJQUM1RSwyQkFBMkIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxXQUFXLENBQUM7SUFDeEYsNkJBQTZCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsYUFBYSxDQUFDO0lBQzVGLHVCQUF1QixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE9BQU8sQ0FBQztJQUVoRixzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUUsa0NBQWtDLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzFGLDJCQUEyQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNuRiwrQkFBK0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDdkYseUJBQXlCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsb0JBQW9CLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDcEYsMkJBQTJCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsb0JBQW9CLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDeEYsMkJBQTJCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsb0JBQW9CLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDeEYsMkJBQTJCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsb0JBQW9CLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDeEYsZ0NBQWdDLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsZUFBZSxDQUFDO0lBQ2pHLDZCQUE2QixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLGFBQWEsQ0FBQztJQUM1RixpQ0FBaUMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUNyRywyQkFBMkIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxXQUFXLENBQUM7SUFFeEYsc0JBQXNCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsaUJBQWlCLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDOUUsaUJBQWlCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsaUJBQWlCLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFM0UsdUJBQXVCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsVUFBVSxFQUFFLGdCQUFNLENBQUMsWUFBWSxDQUFDO0lBQ2hGLGlCQUFpQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNwRSxpQkFBaUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxVQUFVLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDcEUsZUFBZSxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUNoRSxpQkFBaUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxVQUFVLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFcEUsa0JBQWtCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsV0FBVyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3RFLGdCQUFnQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFdBQVcsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUNsRSxrQkFBa0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxXQUFXLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDdEUsa0JBQWtCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsV0FBVyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBRXRFLGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUQsWUFBWSxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUMxRCxjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUQsc0JBQXNCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlFLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RSxvQkFBb0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUUsc0JBQXNCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBRTlFLG1CQUFtQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFlBQVksRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUN4RSxpQkFBaUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxZQUFZLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDcEUsbUJBQW1CLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsWUFBWSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3hFLG1CQUFtQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFlBQVksRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUV4RSx1QkFBdUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUNoRix5QkFBeUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNwRix5QkFBeUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNwRix5QkFBeUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUVwRixjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsU0FBUyxFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBQzlELGdCQUFnQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFNBQVMsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsRSxnQkFBZ0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEUsZ0JBQWdCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsU0FBUyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBRWxFLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RSxzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUUsb0JBQW9CLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsZUFBZSxFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBQzFFLHNCQUFzQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RSxzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxlQUFlLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFOUUsU0FBUyxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLElBQUksRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUNwRCxXQUFXLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0NBQ2hELENBQUM7QUFFWCxTQUFnQixnQkFBZ0I7SUFDOUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFVLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsUUFBa0I7SUFDeEQsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsTUFBYztJQUNsRCxPQUFPLGdCQUFnQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSAnLi9vcGVyYXRpb24nO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlcyc7XG5cbi8qKlxuICogUHJlZGVmaW5lZCBvcGVyYXRpb25zIGFsaWduZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBjYXRhbG9nIGFyY2hpdGVjdHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IE9wZXJhdGlvbnMgPSB7XG4gIEFDQ09VTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5DUkVBVEUpLFxuICBBQ0NPVU5UX0RJU0FCTEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLkRJU0FCTEUpLFxuICBBQ0NPVU5UX1JFQ09WRVI6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLlJFQ09WRVIpLFxuICBBQ0NPVU5UX1RSQU5TRkVSX09XTkVSU0hJUDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BQ0NPVU5ULCBBY3Rpb24uVFJBTlNGRVJfT1dORVJTSElQKSxcbiAgQUNDT1VOVF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5WSUVXKSxcbiAgQUNDT1VOVF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLlVQREFURSksXG5cbiAgR0VORVJBTF9TRVRUSU5HU19VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuR0VORVJBTF9TRVRUSU5HUywgQWN0aW9uLlVQREFURSksXG4gIFBSRUZFUkVOQ0VTX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVGRVJFTkNFUywgQWN0aW9uLlVQREFURSksXG5cbiAgTE9HX1JFQ09SRFNfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5MT0dfUkVDT1JEUywgQWN0aW9uLlZJRVcpLFxuICBBVkFJTEFCTEVfU0xPVFNfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVkFJTEFCTEVfU0xPVFMsIEFjdGlvbi5WSUVXKSxcblxuICBDQUxDVUxBVEVEX01FQVNVUkVfTU9ERUxfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxDVUxBVEVEX01FQVNVUkVfTU9ERUwsIEFjdGlvbi5WSUVXKSxcbiAgQ0FMQ1VMQVRFRF9NRUFTVVJFX01PREVMX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxDVUxBVEVEX01FQVNVUkVfTU9ERUwsIEFjdGlvbi5VUERBVEUpLFxuICBDQUxDVUxBVEVEX01FQVNVUkVfTU9ERUxfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTENVTEFURURfTUVBU1VSRV9NT0RFTCwgQWN0aW9uLkRFTEVURSksXG5cbiAgQ0FMRU5EQVJfU1lOQ19ESVNBQkxFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTEVOREFSX1NZTkMsIEFjdGlvbi5ESVNBQkxFKSxcbiAgQ0FMRU5EQVJfU1lOQ19FTkFCTEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQ0FMRU5EQVJfU1lOQywgQWN0aW9uLkVOQUJMRSksXG4gIENBTEVOREFSX1NZTkNfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxFTkRBUl9TWU5DLCBBY3Rpb24uVklFVyksXG4gIENBTEVOREFSX1RPS0VOX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQ0FMRU5EQVJfVE9LRU4sIEFjdGlvbi5WSUVXKSxcbiAgQ0FMRU5EQVJfVE9LRU5fUk9UQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTEVOREFSX1RPS0VOLCBBY3Rpb24uUk9UQVRFX1RPS0VOKSxcbiAgQ0FMRU5EQVJfU0VUVElOR1NfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxFTkRBUl9TRVRUSU5HUywgQWN0aW9uLlZJRVcpLFxuICBDQUxFTkRBUl9TRVRUSU5HU19VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQ0FMRU5EQVJfU0VUVElOR1MsIEFjdGlvbi5VUERBVEUpLFxuXG4gIERPQ1VNRU5UX0xBWU9VVF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTEFZT1VULCBBY3Rpb24uQ1JFQVRFKSxcbiAgRE9DVU1FTlRfTEFZT1VUX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTEFZT1VULCBBY3Rpb24uVklFVyksXG4gIERPQ1VNRU5UX0xBWU9VVF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTEFZT1VULCBBY3Rpb24uVVBEQVRFKSxcbiAgRE9DVU1FTlRfTEFZT1VUX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5ET0NVTUVOVF9MQVlPVVQsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIERPQ1VNRU5UX01PREVMX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTU9ERUwsIEFjdGlvbi5WSUVXKSxcbiAgRE9DVU1FTlRfTU9ERUxfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRPQ1VNRU5UX01PREVMLCBBY3Rpb24uVVBEQVRFKSxcbiAgRE9DVU1FTlRfTU9ERUxfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRPQ1VNRU5UX01PREVMLCBBY3Rpb24uREVMRVRFKSxcblxuICBHRU5FUkFURURfRE9DVU1FTlRfR0VORVJBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuR0VORVJBVEVEX0RPQ1VNRU5ULCBBY3Rpb24uR0VORVJBVEUpLFxuICBHRU5FUkFURURfRE9DVU1FTlRfUFJFVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5HRU5FUkFURURfRE9DVU1FTlQsIEFjdGlvbi5QUkVWSUVXKSxcbiAgR0VORVJBVEVEX0RPQ1VNRU5UX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuR0VORVJBVEVEX0RPQ1VNRU5ULCBBY3Rpb24uVklFVyksXG4gIEdFTkVSQVRFRF9ET0NVTUVOVF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuR0VORVJBVEVEX0RPQ1VNRU5ULCBBY3Rpb24uVVBEQVRFKSxcbiAgR0VORVJBVEVEX0RPQ1VNRU5UX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5HRU5FUkFURURfRE9DVU1FTlQsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIExPQ0FUSU9OX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTE9DQVRJT04sIEFjdGlvbi5WSUVXKSxcbiAgTE9DQVRJT05fQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkxPQ0FUSU9OLCBBY3Rpb24uQ1JFQVRFKSxcbiAgTE9DQVRJT05fVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkxPQ0FUSU9OLCBBY3Rpb24uVVBEQVRFKSxcbiAgTE9DQVRJT05fREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkxPQ0FUSU9OLCBBY3Rpb24uREVMRVRFKSxcblxuICBNRUFTVVJFX01PREVMX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRUFTVVJFX01PREVMLCBBY3Rpb24uQ1JFQVRFKSxcbiAgTUVBU1VSRV9NT0RFTF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FQVNVUkVfTU9ERUwsIEFjdGlvbi5WSUVXKSxcbiAgTUVBU1VSRV9NT0RFTF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVBU1VSRV9NT0RFTCwgQWN0aW9uLlVQREFURSksXG4gIE1FQVNVUkVfTU9ERUxfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FQVNVUkVfTU9ERUwsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIE1FRElDQUxfSElTVE9SWV9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZLCBBY3Rpb24uQ1JFQVRFKSxcbiAgTUVESUNBTF9ISVNUT1JZX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZLCBBY3Rpb24uVklFVyksXG4gIE1FRElDQUxfSElTVE9SWV9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZLCBBY3Rpb24uVVBEQVRFKSxcbiAgTUVESUNBTF9ISVNUT1JZX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlksIEFjdGlvbi5ERUxFVEUpLFxuXG4gIE1FRElDQUxfSElTVE9SWV9NT0RFTF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfSElTVE9SWV9NT0RFTCwgQWN0aW9uLlZJRVcpLFxuICBNRURJQ0FMX0hJU1RPUllfTU9ERUxfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfSElTVE9SWV9NT0RFTCwgQWN0aW9uLkNSRUFURSksXG4gIE1FRElDQUxfSElTVE9SWV9NT0RFTF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZX01PREVMLCBBY3Rpb24uVVBEQVRFKSxcbiAgTUVESUNBTF9ISVNUT1JZX01PREVMX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUllfTU9ERUwsIEFjdGlvbi5ERUxFVEUpLFxuICBNRURJQ0FMX0hJU1RPUllfU1RBVFVTX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlksIEFjdGlvbi5VUERBVEVfU1RBVFVTKSxcblxuICBNRURJQ0FMX1NFUlZJQ0VfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLkNSRUFURSksXG4gIE1FRElDQUxfU0VSVklDRV9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLlZJRVcpLFxuICBNRURJQ0FMX1NFUlZJQ0VfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLlVQREFURSksXG4gIE1FRElDQUxfU0VSVklDRV9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uREVMRVRFKSxcbiAgTUVESUNBTF9TRVJWSUNFX0NBTkNFTDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5DQU5DRUwpLFxuICBNRURJQ0FMX1NFUlZJQ0VfQ0hFQ0tfSU46IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uQ0hFQ0tfSU4pLFxuICBNRURJQ0FMX1NFUlZJQ0VfQ09NUExFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uQ09NUExFVEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfUkVPUEVOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLlJFT1BFTiksXG4gIE1FRElDQUxfU0VSVklDRV9SRVNFVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5SRVNFVCksXG4gIE1FRElDQUxfU0VSVklDRV9TVEFSVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5TVEFSVCksXG4gIE1FRElDQUxfU0VSVklDRV9VTkRPX0NBTkNFTDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5VTkRPX0NBTkNFTCksXG4gIE1FRElDQUxfU0VSVklDRV9VTkRPX0NIRUNLX0lOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLlVORE9fQ0hFQ0tfSU4pLFxuICBNRURJQ0FMX1NFUlZJQ0VfVU5TVEFSVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5VTlNUQVJUKSxcblxuICBNRURJQ0FMX1NFUlZJQ0VfQVNTSUdOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLkFTU0lHTiksXG4gIE1FRElDQUxfU0VSVklDRV9ERVNDUklQVElPTl9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uVVBEQVRFKSxcbiAgTUVESUNBTF9TRVJWSUNFX0ZFRVNfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLlVQREFURSksXG4gIE1FRElDQUxfU0VSVklDRV9MT0NBVElPTl9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uVVBEQVRFKSxcbiAgTUVESUNBTF9TRVJWSUNFX05PVEVfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0VfTk9URSwgQWN0aW9uLlZJRVcpLFxuICBNRURJQ0FMX1NFUlZJQ0VfTk9URV9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX05PVEUsIEFjdGlvbi5DUkVBVEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfTk9URV9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX05PVEUsIEFjdGlvbi5VUERBVEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfTk9URV9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX05PVEUsIEFjdGlvbi5ERUxFVEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfU0NIRURVTEVTX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5VUERBVEVfU0NIRURVTEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5VUERBVEVfU1RBVFVTKSxcbiAgTUVESUNBTF9TRVJWSUNFX1RJTUVTVEFNUFNfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLkNPUlJFQ1RfVElNRVNUQU1QUyksXG4gIE1FRElDQUxfU0VSVklDRV9UWVBFX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5VUERBVEVfVFlQRSksXG5cbiAgTUVESUNBVElPTl9TRUFSQ0hfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FUSU9OX1NFQVJDSCwgQWN0aW9uLlZJRVcpLFxuICBNRURJQ0FUSU9OX1NFQVJDSDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FUSU9OX1NFQVJDSCwgQWN0aW9uLlNFQVJDSCksXG5cbiAgTUVNQkVSU0hJUF9BU1NJR05fUk9MRVM6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLkFTU0lHTl9ST0xFUyksXG4gIE1FTUJFUlNISVBfSU5WSVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5JTlZJVEUpLFxuICBNRU1CRVJTSElQX1JFTU9WRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRU1CRVJTSElQLCBBY3Rpb24uUkVNT1ZFKSxcbiAgTUVNQkVSU0hJUF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5WSUVXKSxcbiAgTUVNQkVSU0hJUF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLlVQREFURSksXG5cbiAgT0JTRVJWQVRJT05fQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk9CU0VSVkFUSU9OLCBBY3Rpb24uQ1JFQVRFKSxcbiAgT0JTRVJWQVRJT05fVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5PQlNFUlZBVElPTiwgQWN0aW9uLlZJRVcpLFxuICBPQlNFUlZBVElPTl9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuT0JTRVJWQVRJT04sIEFjdGlvbi5VUERBVEUpLFxuICBPQlNFUlZBVElPTl9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuT0JTRVJWQVRJT04sIEFjdGlvbi5ERUxFVEUpLFxuXG4gIFBBVElFTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5DUkVBVEUpLFxuICBQQVRJRU5UX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLlZJRVcpLFxuICBQQVRJRU5UX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5ULCBBY3Rpb24uVVBEQVRFKSxcbiAgUEFUSUVOVF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLkRFTEVURSksXG4gIFBBVElFTlRfUEFZTUVOVF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVF9QQVlNRU5ULCBBY3Rpb24uQ1JFQVRFKSxcbiAgUEFUSUVOVF9QQVlNRU5UX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlQsIEFjdGlvbi5VUERBVEUpLFxuICBQQVRJRU5UX1BBWU1FTlRfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlQsIEFjdGlvbi5WSUVXKSxcbiAgUEFUSUVOVF9QQVlNRU5UX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlQsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIFBSRVNDUklQVElPTl9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OLCBBY3Rpb24uQ1JFQVRFKSxcbiAgUFJFU0NSSVBUSU9OX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OLCBBY3Rpb24uVklFVyksXG4gIFBSRVNDUklQVElPTl9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OLCBBY3Rpb24uVVBEQVRFKSxcbiAgUFJFU0NSSVBUSU9OX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT04sIEFjdGlvbi5ERUxFVEUpLFxuXG4gIFBSRVNDUklQVElPTl9NT0RFTF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTl9NT0RFTCwgQWN0aW9uLlZJRVcpLFxuICBQUkVTQ1JJUFRJT05fTU9ERUxfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTl9NT0RFTCwgQWN0aW9uLkNSRUFURSksXG4gIFBSRVNDUklQVElPTl9NT0RFTF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OX01PREVMLCBBY3Rpb24uVVBEQVRFKSxcbiAgUFJFU0NSSVBUSU9OX01PREVMX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT05fTU9ERUwsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIFRBU0tfVFlQRV9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlRBU0tfVFlQRSwgQWN0aW9uLlZJRVcpLFxuICBUQVNLX1RZUEVfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlRBU0tfVFlQRSwgQWN0aW9uLkNSRUFURSksXG4gIFRBU0tfVFlQRV9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVEFTS19UWVBFLCBBY3Rpb24uVVBEQVRFKSxcbiAgVEFTS19UWVBFX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5UQVNLX1RZUEUsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIFVQTE9BRF9ET0NVTUVOVF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVBMT0FEX0RPQ1VNRU5ULCBBY3Rpb24uQ1JFQVRFKSxcbiAgVVBMT0FEX0RPQ1VNRU5UX1VQTE9BRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VUExPQURfRE9DVU1FTlQsIEFjdGlvbi5VUExPQUQpLFxuICBVUExPQURfRE9DVU1FTlRfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VUExPQURfRE9DVU1FTlQsIEFjdGlvbi5WSUVXKSxcbiAgVVBMT0FEX0RPQ1VNRU5UX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VUExPQURfRE9DVU1FTlQsIEFjdGlvbi5VUERBVEUpLFxuICBVUExPQURfRE9DVU1FTlRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVQTE9BRF9ET0NVTUVOVCwgQWN0aW9uLkRFTEVURSksXG5cbiAgVVNFUl9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5WSUVXKSxcbiAgVVNFUl9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLlVQREFURSksXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsT3BlcmF0aW9ucygpOiBPcGVyYXRpb25bXSB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKE9wZXJhdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0J5UmVzb3VyY2UocmVzb3VyY2U6IFJlc291cmNlKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gZ2V0QWxsT3BlcmF0aW9ucygpLmZpbHRlcigob3ApID0+IG9wLnJlc291cmNlID09PSByZXNvdXJjZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcGVyYXRpb25zQnlBY3Rpb24oYWN0aW9uOiBBY3Rpb24pOiBPcGVyYXRpb25bXSB7XG4gIHJldHVybiBnZXRBbGxPcGVyYXRpb25zKCkuZmlsdGVyKChvcCkgPT4gb3AuYWN0aW9uID09PSBhY3Rpb24pO1xufVxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3ByZWRlZmluZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaUpBLDRDQUVDO0FBRUQsMERBRUM7QUFFRCxzREFFQztBQTNKRCx1Q0FBbUM7QUFDbkMsMkNBQXdDO0FBQ3hDLDJDQUF1QztBQUV2Qzs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLFlBQVksRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUQsY0FBYyxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RCwwQkFBMEIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUV0RixTQUFTLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3BELFdBQVcsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxJQUFJLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFeEQsZUFBZSxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUNoRSxpQkFBaUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxVQUFVLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDcEUsaUJBQWlCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsVUFBVSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3BFLGlCQUFpQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBTSxDQUFDLE1B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QUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGFBQWEsRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUMxRSxxQkFBcUIsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxhQUFhLEVBQUUsZ0JBQU0sQ0FBQyxPQUFPLENBQUM7SUFDNUUsa0JBQWtCLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsYUFBYSxFQUFFLGdCQUFNLENBQUMsSUFBSSxDQUFDO0lBRXRFLG9CQUFvQixFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUMxRSxzQkFBc0IsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztDQUN0RSxDQUFDO0FBRVgsU0FBZ0IsZ0JBQWdCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELFNBQWdCLHVCQUF1QixDQUFDLFFBQWtCO0lBQ3hELE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLE1BQWM7SUFDbEQsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztBQUNqRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZXMnO1xuXG4vKipcbiAqIFByZWRlZmluZWQgb3BlcmF0aW9ucyBhbGlnbmVkIHdpdGggdGhlIHBlcm1pc3Npb24gY2F0YWxvZyBhcmNoaXRlY3R1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVyYXRpb25zID0ge1xuICBBQ0NPVU5UX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLlZJRVcpLFxuICBBQ0NPVU5UX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BQ0NPVU5ULCBBY3Rpb24uVVBEQVRFKSxcbiAgQUNDT1VOVF9UUkFOU0ZFUl9PV05FUlNISVA6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLlRSQU5TRkVSX09XTkVSU0hJUCksXG5cbiAgVVNFUl9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5WSUVXKSxcbiAgVVNFUl9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLlVQREFURSksXG5cbiAgTUVNQkVSU0hJUF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5WSUVXKSxcbiAgTUVNQkVSU0hJUF9JTlZJVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLklOVklURSksXG4gIE1FTUJFUlNISVBfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5VUERBVEUpLFxuICBNRU1CRVJTSElQX1JFTU9WRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRU1CRVJTSElQLCBBY3Rpb24uUkVNT1ZFKSxcblxuICBST0xFX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUk9MRSwgQWN0aW9uLlZJRVcpLFxuICBST0xFX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5ST0xFLCBBY3Rpb24uQ1JFQVRFKSxcbiAgUk9MRV9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUk9MRSwgQWN0aW9uLlVQREFURSksXG4gIFJPTEVfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlJPTEUsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIFBBVElFTlRfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5ULCBBY3Rpb24uVklFVyksXG4gIFBBVElFTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5DUkVBVEUpLFxuICBQQVRJRU5UX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5ULCBBY3Rpb24uVVBEQVRFKSxcbiAgUEFUSUVOVF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLkRFTEVURSksXG5cbiAgQ09OVEFDVF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNPTlRBQ1QsIEFjdGlvbi5WSUVXKSxcbiAgQ09OVEFDVF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQ09OVEFDVCwgQWN0aW9uLkNSRUFURSksXG4gIENPTlRBQ1RfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNPTlRBQ1QsIEFjdGlvbi5VUERBVEUpLFxuICBDT05UQUNUX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DT05UQUNULCBBY3Rpb24uREVMRVRFKSxcblxuICBQQVRJRU5UX1BBWU1FTlRfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlQsIEFjdGlvbi5WSUVXKSxcbiAgUEFUSUVOVF9QQVlNRU5UX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlQsIEFjdGlvbi5DUkVBVEUpLFxuICBQQVRJRU5UX1BBWU1FTlRfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlRfUEFZTUVOVCwgQWN0aW9uLlVQREFURSksXG4gIFBBVElFTlRfUEFZTUVOVF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVF9QQVlNRU5ULCBBY3Rpb24uREVMRVRFKSxcblxuICBNRURJQ0FMX1NFUlZJQ0VfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5WSUVXKSxcbiAgTUVESUNBTF9TRVJWSUNFX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5DUkVBVEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLlVQREFURSksXG4gIE1FRElDQUxfU0VSVklDRV9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uREVMRVRFKSxcbiAgTUVESUNBTF9TRVJWSUNFX0NIRUNLX0lOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLkNIRUNLX0lOKSxcbiAgTUVESUNBTF9TRVJWSUNFX0NPTVBMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLkNPTVBMRVRFKSxcbiAgTUVESUNBTF9TRVJWSUNFX0NBTkNFTDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5DQU5DRUwpLFxuICBNRURJQ0FMX1NFUlZJQ0VfQVNTSUdOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLkFTU0lHTiksXG5cbiAgTUVESUNBTF9TRVJWSUNFX05PVEVfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0VfTk9URSwgQWN0aW9uLlZJRVcpLFxuICBNRURJQ0FMX1NFUlZJQ0VfTk9URV9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX05PVEUsIEFjdGlvbi5DUkVBVEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfTk9URV9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX05PVEUsIEFjdGlvbi5VUERBVEUpLFxuICBNRURJQ0FMX1NFUlZJQ0VfTk9URV9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX05PVEUsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIFBBVElFTlRfTUVESUNBTF9OT1RFX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVF9NRURJQ0FMX05PVEUsIEFjdGlvbi5WSUVXKSxcbiAgUEFUSUVOVF9NRURJQ0FMX05PVEVfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlRfTUVESUNBTF9OT1RFLCBBY3Rpb24uQ1JFQVRFKSxcbiAgUEFUSUVOVF9NRURJQ0FMX05PVEVfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlRfTUVESUNBTF9OT1RFLCBBY3Rpb24uVVBEQVRFKSxcbiAgUEFUSUVOVF9NRURJQ0FMX05PVEVfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlRfTUVESUNBTF9OT1RFLCBBY3Rpb24uREVMRVRFKSxcblxuICBNRURJQ0FMX0hJU1RPUllfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlksIEFjdGlvbi5WSUVXKSxcbiAgTUVESUNBTF9ISVNUT1JZX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlksIEFjdGlvbi5DUkVBVEUpLFxuICBNRURJQ0FMX0hJU1RPUllfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfSElTVE9SWSwgQWN0aW9uLlVQREFURSksXG4gIE1FRElDQUxfSElTVE9SWV9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZLCBBY3Rpb24uREVMRVRFKSxcblxuICBPQlNFUlZBVElPTl9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk9CU0VSVkFUSU9OLCBBY3Rpb24uVklFVyksXG4gIE9CU0VSVkFUSU9OX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5PQlNFUlZBVElPTiwgQWN0aW9uLkNSRUFURSksXG4gIE9CU0VSVkFUSU9OX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5PQlNFUlZBVElPTiwgQWN0aW9uLlVQREFURSksXG4gIE9CU0VSVkFUSU9OX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5PQlNFUlZBVElPTiwgQWN0aW9uLkRFTEVURSksXG5cbiAgUFJFU0NSSVBUSU9OX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OLCBBY3Rpb24uVklFVyksXG4gIFBSRVNDUklQVElPTl9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OLCBBY3Rpb24uQ1JFQVRFKSxcbiAgUFJFU0NSSVBUSU9OX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT04sIEFjdGlvbi5VUERBVEUpLFxuICBQUkVTQ1JJUFRJT05fREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLkRFTEVURSksXG5cbiAgRE9DVU1FTlRfTEFZT1VUX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTEFZT1VULCBBY3Rpb24uVklFVyksXG4gIERPQ1VNRU5UX0xBWU9VVF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTEFZT1VULCBBY3Rpb24uQ1JFQVRFKSxcbiAgRE9DVU1FTlRfTEFZT1VUX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5ET0NVTUVOVF9MQVlPVVQsIEFjdGlvbi5VUERBVEUpLFxuICBET0NVTUVOVF9MQVlPVVRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRPQ1VNRU5UX0xBWU9VVCwgQWN0aW9uLkRFTEVURSksXG5cbiAgRE9DVU1FTlRfTU9ERUxfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5ET0NVTUVOVF9NT0RFTCwgQWN0aW9uLlZJRVcpLFxuICBET0NVTUVOVF9NT0RFTF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTU9ERUwsIEFjdGlvbi5DUkVBVEUpLFxuICBET0NVTUVOVF9NT0RFTF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTU9ERUwsIEFjdGlvbi5VUERBVEUpLFxuICBET0NVTUVOVF9NT0RFTF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRE9DVU1FTlRfTU9ERUwsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIEdFTkVSQVRFRF9ET0NVTUVOVF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkdFTkVSQVRFRF9ET0NVTUVOVCwgQWN0aW9uLlZJRVcpLFxuICBHRU5FUkFURURfRE9DVU1FTlRfR0VORVJBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuR0VORVJBVEVEX0RPQ1VNRU5ULCBBY3Rpb24uR0VORVJBVEUpLFxuICBHRU5FUkFURURfRE9DVU1FTlRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkdFTkVSQVRFRF9ET0NVTUVOVCwgQWN0aW9uLkRFTEVURSksXG5cbiAgVVBMT0FEX0RPQ1VNRU5UX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVBMT0FEX0RPQ1VNRU5ULCBBY3Rpb24uVklFVyksXG4gIFVQTE9BRF9ET0NVTUVOVF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVBMT0FEX0RPQ1VNRU5ULCBBY3Rpb24uQ1JFQVRFKSxcbiAgVVBMT0FEX0RPQ1VNRU5UX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VUExPQURfRE9DVU1FTlQsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIEdFTkVSQUxfU0VUVElOR1NfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5HRU5FUkFMX1NFVFRJTkdTLCBBY3Rpb24uVklFVyksXG4gIEdFTkVSQUxfU0VUVElOR1NfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkdFTkVSQUxfU0VUVElOR1MsIEFjdGlvbi5VUERBVEUpLFxuICBQUkVGRVJFTkNFU19WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRUZFUkVOQ0VTLCBBY3Rpb24uVklFVyksXG4gIFBSRUZFUkVOQ0VTX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVGRVJFTkNFUywgQWN0aW9uLlVQREFURSksXG5cbiAgTUVBU1VSRV9NT0RFTF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FQVNVUkVfTU9ERUwsIEFjdGlvbi5WSUVXKSxcbiAgTUVBU1VSRV9NT0RFTF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVBU1VSRV9NT0RFTCwgQWN0aW9uLkNSRUFURSksXG4gIE1FQVNVUkVfTU9ERUxfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FQVNVUkVfTU9ERUwsIEFjdGlvbi5VUERBVEUpLFxuICBNRUFTVVJFX01PREVMX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRUFTVVJFX01PREVMLCBBY3Rpb24uREVMRVRFKSxcblxuICBDQUxDVUxBVEVEX01FQVNVUkVfTU9ERUxfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxDVUxBVEVEX01FQVNVUkVfTU9ERUwsIEFjdGlvbi5WSUVXKSxcbiAgQ0FMQ1VMQVRFRF9NRUFTVVJFX01PREVMX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxDVUxBVEVEX01FQVNVUkVfTU9ERUwsIEFjdGlvbi5DUkVBVEUpLFxuICBDQUxDVUxBVEVEX01FQVNVUkVfTU9ERUxfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTENVTEFURURfTUVBU1VSRV9NT0RFTCwgQWN0aW9uLlVQREFURSksXG4gIENBTENVTEFURURfTUVBU1VSRV9NT0RFTF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQ0FMQ1VMQVRFRF9NRUFTVVJFX01PREVMLCBBY3Rpb24uREVMRVRFKSxcblxuICBUQVNLX1RZUEVfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5UQVNLX1RZUEUsIEFjdGlvbi5WSUVXKSxcbiAgVEFTS19UWVBFX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5UQVNLX1RZUEUsIEFjdGlvbi5DUkVBVEUpLFxuICBUQVNLX1RZUEVfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlRBU0tfVFlQRSwgQWN0aW9uLlVQREFURSksXG4gIFRBU0tfVFlQRV9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVEFTS19UWVBFLCBBY3Rpb24uREVMRVRFKSxcblxuICBMT0NBVElPTl9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkxPQ0FUSU9OLCBBY3Rpb24uVklFVyksXG4gIExPQ0FUSU9OX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5MT0NBVElPTiwgQWN0aW9uLkNSRUFURSksXG4gIExPQ0FUSU9OX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5MT0NBVElPTiwgQWN0aW9uLlVQREFURSksXG4gIExPQ0FUSU9OX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5MT0NBVElPTiwgQWN0aW9uLkRFTEVURSksXG5cbiAgTUVESUNBTF9ISVNUT1JZX01PREVMX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZX01PREVMLCBBY3Rpb24uVklFVyksXG4gIE1FRElDQUxfSElTVE9SWV9NT0RFTF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZX01PREVMLCBBY3Rpb24uQ1JFQVRFKSxcbiAgTUVESUNBTF9ISVNUT1JZX01PREVMX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUllfTU9ERUwsIEFjdGlvbi5VUERBVEUpLFxuICBNRURJQ0FMX0hJU1RPUllfTU9ERUxfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfSElTVE9SWV9NT0RFTCwgQWN0aW9uLkRFTEVURSksXG5cbiAgUFJFU0NSSVBUSU9OX01PREVMX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OX01PREVMLCBBY3Rpb24uVklFVyksXG4gIFBSRVNDUklQVElPTl9NT0RFTF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUFJFU0NSSVBUSU9OX01PREVMLCBBY3Rpb24uQ1JFQVRFKSxcbiAgUFJFU0NSSVBUSU9OX01PREVMX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT05fTU9ERUwsIEFjdGlvbi5VUERBVEUpLFxuICBQUkVTQ1JJUFRJT05fTU9ERUxfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTl9NT0RFTCwgQWN0aW9uLkRFTEVURSksXG5cbiAgUEFUSUVOVF9QUk9QRVJUWV9NT0RFTF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlRfUFJPUEVSVFlfTU9ERUwsIEFjdGlvbi5WSUVXKSxcbiAgUEFUSUVOVF9QUk9QRVJUWV9NT0RFTF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVF9QUk9QRVJUWV9NT0RFTCwgQWN0aW9uLkNSRUFURSksXG4gIFBBVElFTlRfUFJPUEVSVFlfTU9ERUxfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlRfUFJPUEVSVFlfTU9ERUwsIEFjdGlvbi5VUERBVEUpLFxuICBQQVRJRU5UX1BST1BFUlRZX01PREVMX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5UX1BST1BFUlRZX01PREVMLCBBY3Rpb24uREVMRVRFKSxcblxuICBDQUxFTkRBUl9UT0tFTl9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTEVOREFSX1RPS0VOLCBBY3Rpb24uVklFVyksXG4gIENBTEVOREFSX1RPS0VOX1JPVEFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxFTkRBUl9UT0tFTiwgQWN0aW9uLlJPVEFURSksXG4gIENBTEVOREFSX1NFVFRJTkdTX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQ0FMRU5EQVJfU0VUVElOR1MsIEFjdGlvbi5WSUVXKSxcbiAgQ0FMRU5EQVJfU0VUVElOR1NfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTEVOREFSX1NFVFRJTkdTLCBBY3Rpb24uVVBEQVRFKSxcblxuICBDQUxFTkRBUl9TWU5DX0VOQUJMRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5DQUxFTkRBUl9TWU5DLCBBY3Rpb24uRU5BQkxFKSxcbiAgQ0FMRU5EQVJfU1lOQ19ESVNBQkxFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTEVOREFSX1NZTkMsIEFjdGlvbi5ESVNBQkxFKSxcbiAgQ0FMRU5EQVJfU1lOQ19WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkNBTEVOREFSX1NZTkMsIEFjdGlvbi5WSUVXKSxcblxuICBBVkFJTEFCTEVfU0xPVFNfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVkFJTEFCTEVfU0xPVFMsIEFjdGlvbi5WSUVXKSxcbiAgTUVESUNBVElPTl9TRUFSQ0hfVklFVzogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FUSU9OX1NFQVJDSCwgQWN0aW9uLlZJRVcpLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbE9wZXJhdGlvbnMoKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhPcGVyYXRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhdGlvbnNCeVJlc291cmNlKHJlc291cmNlOiBSZXNvdXJjZSk6IE9wZXJhdGlvbltdIHtcbiAgcmV0dXJuIGdldEFsbE9wZXJhdGlvbnMoKS5maWx0ZXIoKG9wKSA9PiBvcC5yZXNvdXJjZSA9PT0gcmVzb3VyY2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0J5QWN0aW9uKGFjdGlvbjogQWN0aW9uKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gZ2V0QWxsT3BlcmF0aW9ucygpLmZpbHRlcigob3ApID0+IG9wLmFjdGlvbiA9PT0gYWN0aW9uKTtcbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Action, ActionAccess } from './actions';
2
+ import { Operation } from './operation';
3
+ import { Resource } from './resources';
4
+ export declare function getResourceActions(resource: Resource): Action[];
5
+ export declare function getAllResourceActions(): Readonly<Record<Resource, Action[]>>;
6
+ export declare function getResourceActionsByAccess(resource: Resource, access: ActionAccess): Action[];
7
+ export declare function getAllResourceActionsByAccess(access: ActionAccess): Readonly<Record<Resource, Action[]>>;
8
+ export declare function getResourceOperationsByAccess(resource: Resource, access: ActionAccess): Operation[];
9
+ /**
10
+ * Generate valid operations for a list of resources based on a provided action list.
11
+ *
12
+ * Only actions allowed for each resource are kept.
13
+ */
14
+ export declare function generateOperationsForResources(resources: Resource[], actions: Action[]): Operation[];