@esolve/ng-esolve-connect 0.5.1

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.
Files changed (148) hide show
  1. package/README.md +23 -0
  2. package/bundles/esolve-ng-esolve-connect.umd.js +3032 -0
  3. package/bundles/esolve-ng-esolve-connect.umd.js.map +1 -0
  4. package/esm2015/esolve-ng-esolve-connect.js +5 -0
  5. package/esm2015/lib/auth/esolve-account.service.js +60 -0
  6. package/esm2015/lib/auth/esolve-address-record.js +2 -0
  7. package/esm2015/lib/auth/esolve-address.js +19 -0
  8. package/esm2015/lib/auth/esolve-auth-interceptor.service.js +43 -0
  9. package/esm2015/lib/auth/esolve-auth.service.js +200 -0
  10. package/esm2015/lib/auth/esolve-session.js +27 -0
  11. package/esm2015/lib/auth/esolve-session.service.js +85 -0
  12. package/esm2015/lib/auth/esolve-stored-session.js +2 -0
  13. package/esm2015/lib/banners/esolve-banner-image-hotspot-record.js +2 -0
  14. package/esm2015/lib/banners/esolve-banner-image-hotspot.js +9 -0
  15. package/esm2015/lib/banners/esolve-banner-image-record.js +2 -0
  16. package/esm2015/lib/banners/esolve-banner-image.js +14 -0
  17. package/esm2015/lib/banners/esolve-banner-record.js +2 -0
  18. package/esm2015/lib/banners/esolve-banner-type.js +2 -0
  19. package/esm2015/lib/banners/esolve-banner.js +25 -0
  20. package/esm2015/lib/banners/esolve-banner.service.js +104 -0
  21. package/esm2015/lib/cart/esolve-cart-item-record.js +2 -0
  22. package/esm2015/lib/cart/esolve-cart-item.js +24 -0
  23. package/esm2015/lib/cart/esolve-cart-stock-item.js +43 -0
  24. package/esm2015/lib/cart/esolve-cart-totals-record.js +2 -0
  25. package/esm2015/lib/cart/esolve-cart-totals.js +39 -0
  26. package/esm2015/lib/cart/esolve-cart.service.js +371 -0
  27. package/esm2015/lib/cart/esolve-checkout.js +2 -0
  28. package/esm2015/lib/cart/esolve-payment-method-record.js +2 -0
  29. package/esm2015/lib/cart/esolve-payment-method.js +49 -0
  30. package/esm2015/lib/cart/esolve-shipping-cost-record.js +2 -0
  31. package/esm2015/lib/cart/esolve-shipping-cost.js +18 -0
  32. package/esm2015/lib/cart/esolve-shipping-method-record.js +2 -0
  33. package/esm2015/lib/cart/esolve-shipping-method.js +33 -0
  34. package/esm2015/lib/cart/esolve-stock-location-record.js +2 -0
  35. package/esm2015/lib/cart/esolve-stock-location.js +76 -0
  36. package/esm2015/lib/category-tree/esolve-category-tree-item-record.js +2 -0
  37. package/esm2015/lib/category-tree/esolve-category-tree-item.js +48 -0
  38. package/esm2015/lib/category-tree/esolve-category-tree.service.js +126 -0
  39. package/esm2015/lib/esolve-connect.config.js +9 -0
  40. package/esm2015/lib/media/esolve-media-article.js +16 -0
  41. package/esm2015/lib/media/esolve-media-record.js +2 -0
  42. package/esm2015/lib/media/esolve-media.service.js +94 -0
  43. package/esm2015/lib/menu/esolve-menu-item.js +9 -0
  44. package/esm2015/lib/menu/esolve-menu-tree-record.js +2 -0
  45. package/esm2015/lib/menu/esolve-menu.service.js +48 -0
  46. package/esm2015/lib/news/esolve-news-article-author-record.js +2 -0
  47. package/esm2015/lib/news/esolve-news-article-author.js +9 -0
  48. package/esm2015/lib/news/esolve-news-article-list.js +8 -0
  49. package/esm2015/lib/news/esolve-news-article-record.js +2 -0
  50. package/esm2015/lib/news/esolve-news-article.js +20 -0
  51. package/esm2015/lib/news/esolve-news-group-record.js +2 -0
  52. package/esm2015/lib/news/esolve-news-group.js +9 -0
  53. package/esm2015/lib/news/esolve-news-manufacturer-record.js +2 -0
  54. package/esm2015/lib/news/esolve-news-range-record.js +2 -0
  55. package/esm2015/lib/news/esolve-news.service.js +107 -0
  56. package/esm2015/lib/ng-esolve-connect.module.js +43 -0
  57. package/esm2015/lib/shared/esolve-response.js +2 -0
  58. package/esm2015/lib/shared/esolve-url-target.js +2 -0
  59. package/esm2015/lib/shared/seo/esolve-seo-info.js +11 -0
  60. package/esm2015/lib/shared/seo/esolve-seo.service.js +114 -0
  61. package/esm2015/lib/stock/esolve-stock-badge-record.js +2 -0
  62. package/esm2015/lib/stock/esolve-stock-badge.js +11 -0
  63. package/esm2015/lib/stock/esolve-stock-item-list.js +11 -0
  64. package/esm2015/lib/stock/esolve-stock-item-options.js +2 -0
  65. package/esm2015/lib/stock/esolve-stock-item.js +130 -0
  66. package/esm2015/lib/stock/esolve-stock-price.js +43 -0
  67. package/esm2015/lib/stock/esolve-stock-record.js +2 -0
  68. package/esm2015/lib/stock/esolve-stock.service.js +146 -0
  69. package/esm2015/lib/tags/esolve-tag-record.js +2 -0
  70. package/esm2015/lib/tags/esolve-tag.js +9 -0
  71. package/esm2015/lib/topics/esolve-topic-record.js +2 -0
  72. package/esm2015/lib/topics/esolve-topic.js +9 -0
  73. package/esm2015/lib/topics/esolve-topic.service.js +57 -0
  74. package/esm2015/public-api.js +54 -0
  75. package/esolve-ng-esolve-connect.d.ts +5 -0
  76. package/fesm2015/esolve-ng-esolve-connect.js +2226 -0
  77. package/fesm2015/esolve-ng-esolve-connect.js.map +1 -0
  78. package/lib/auth/esolve-account.service.d.ts +17 -0
  79. package/lib/auth/esolve-address-record.d.ts +18 -0
  80. package/lib/auth/esolve-address.d.ts +18 -0
  81. package/lib/auth/esolve-auth-interceptor.service.d.ts +13 -0
  82. package/lib/auth/esolve-auth.service.d.ts +34 -0
  83. package/lib/auth/esolve-session.d.ts +11 -0
  84. package/lib/auth/esolve-session.service.d.ts +22 -0
  85. package/lib/auth/esolve-stored-session.d.ts +5 -0
  86. package/lib/banners/esolve-banner-image-hotspot-record.d.ts +8 -0
  87. package/lib/banners/esolve-banner-image-hotspot.d.ts +12 -0
  88. package/lib/banners/esolve-banner-image-record.d.ts +10 -0
  89. package/lib/banners/esolve-banner-image.d.ts +12 -0
  90. package/lib/banners/esolve-banner-record.d.ts +17 -0
  91. package/lib/banners/esolve-banner-type.d.ts +7 -0
  92. package/lib/banners/esolve-banner.d.ts +21 -0
  93. package/lib/banners/esolve-banner.service.d.ts +26 -0
  94. package/lib/cart/esolve-cart-item-record.d.ts +43 -0
  95. package/lib/cart/esolve-cart-item.d.ts +31 -0
  96. package/lib/cart/esolve-cart-stock-item.d.ts +31 -0
  97. package/lib/cart/esolve-cart-totals-record.d.ts +7 -0
  98. package/lib/cart/esolve-cart-totals.d.ts +50 -0
  99. package/lib/cart/esolve-cart.service.d.ts +112 -0
  100. package/lib/cart/esolve-checkout.d.ts +7 -0
  101. package/lib/cart/esolve-payment-method-record.d.ts +47 -0
  102. package/lib/cart/esolve-payment-method.d.ts +47 -0
  103. package/lib/cart/esolve-shipping-cost-record.d.ts +14 -0
  104. package/lib/cart/esolve-shipping-cost.d.ts +12 -0
  105. package/lib/cart/esolve-shipping-method-record.d.ts +37 -0
  106. package/lib/cart/esolve-shipping-method.d.ts +32 -0
  107. package/lib/cart/esolve-stock-location-record.d.ts +47 -0
  108. package/lib/cart/esolve-stock-location.d.ts +61 -0
  109. package/lib/category-tree/esolve-category-tree-item-record.d.ts +51 -0
  110. package/lib/category-tree/esolve-category-tree-item.d.ts +23 -0
  111. package/lib/category-tree/esolve-category-tree.service.d.ts +47 -0
  112. package/lib/esolve-connect.config.d.ts +49 -0
  113. package/lib/media/esolve-media-article.d.ts +13 -0
  114. package/lib/media/esolve-media-record.d.ts +31 -0
  115. package/lib/media/esolve-media.service.d.ts +28 -0
  116. package/lib/menu/esolve-menu-item.d.ts +8 -0
  117. package/lib/menu/esolve-menu-tree-record.d.ts +20 -0
  118. package/lib/menu/esolve-menu.service.d.ts +14 -0
  119. package/lib/news/esolve-news-article-author-record.d.ts +9 -0
  120. package/lib/news/esolve-news-article-author.d.ts +7 -0
  121. package/lib/news/esolve-news-article-list.d.ts +7 -0
  122. package/lib/news/esolve-news-article-record.d.ts +27 -0
  123. package/lib/news/esolve-news-article.d.ts +16 -0
  124. package/lib/news/esolve-news-group-record.d.ts +6 -0
  125. package/lib/news/esolve-news-group.d.ts +7 -0
  126. package/lib/news/esolve-news-manufacturer-record.d.ts +8 -0
  127. package/lib/news/esolve-news-range-record.d.ts +9 -0
  128. package/lib/news/esolve-news.service.d.ts +31 -0
  129. package/lib/ng-esolve-connect.module.d.ts +11 -0
  130. package/lib/shared/esolve-response.d.ts +34 -0
  131. package/lib/shared/esolve-url-target.d.ts +1 -0
  132. package/lib/shared/seo/esolve-seo-info.d.ts +12 -0
  133. package/lib/shared/seo/esolve-seo.service.d.ts +28 -0
  134. package/lib/stock/esolve-stock-badge-record.d.ts +8 -0
  135. package/lib/stock/esolve-stock-badge.d.ts +9 -0
  136. package/lib/stock/esolve-stock-item-list.d.ts +10 -0
  137. package/lib/stock/esolve-stock-item-options.d.ts +10 -0
  138. package/lib/stock/esolve-stock-item.d.ts +164 -0
  139. package/lib/stock/esolve-stock-price.d.ts +45 -0
  140. package/lib/stock/esolve-stock-record.d.ts +45 -0
  141. package/lib/stock/esolve-stock.service.d.ts +39 -0
  142. package/lib/tags/esolve-tag-record.d.ts +6 -0
  143. package/lib/tags/esolve-tag.d.ts +7 -0
  144. package/lib/topics/esolve-topic-record.d.ts +6 -0
  145. package/lib/topics/esolve-topic.d.ts +7 -0
  146. package/lib/topics/esolve-topic.service.d.ts +20 -0
  147. package/package.json +20 -0
  148. package/public-api.d.ts +40 -0
@@ -0,0 +1,371 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { HttpErrorResponse, HttpParams } from '@angular/common/http';
3
+ import { iif, of, throwError } from 'rxjs';
4
+ import { catchError, map, switchMap } from 'rxjs/operators';
5
+ import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect.config';
6
+ import { EsolveCartItem } from './esolve-cart-item';
7
+ import { EsolveCartStockItem } from './esolve-cart-stock-item';
8
+ import { EsolveStockLocation } from './esolve-stock-location';
9
+ import { EsolvePaymentMethod } from './esolve-payment-method';
10
+ import { EsolveShippingMethod } from './esolve-shipping-method';
11
+ import { EsolveShippingCost } from './esolve-shipping-cost';
12
+ import { EsolveCartTotals } from './esolve-cart-totals';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/common/http";
15
+ export class EsolveCartService {
16
+ constructor(config, http) {
17
+ this.config = config;
18
+ this.http = http;
19
+ this._cached_tracking = 0;
20
+ }
21
+ /**
22
+ * Processes the eSolve tree records.
23
+ * @param cart_item_records Records to process
24
+ * @returns An array of processed cart items
25
+ */
26
+ processCart(cart_item_records) {
27
+ const cart_items = [];
28
+ if (cart_item_records) {
29
+ for (const cart_item_record of cart_item_records) {
30
+ const cart_stock_item = new EsolveCartStockItem(cart_item_record.code, cart_item_record.name, cart_item_record.sef_name, cart_item_record.description, cart_item_record.is_active, +cart_item_record.items_in_pack, cart_item_record.delivery_category, cart_item_record.image_name);
31
+ cart_items.push(new EsolveCartItem(+cart_item_record.id, cart_stock_item, +cart_item_record.qty, cart_item_record.type, +cart_item_record.price, +cart_item_record.discount, +cart_item_record.discount_interval, cart_item_record.vat_rate, cart_item_record.allow_quotes, cart_item_record.allow_orders, cart_item_record.must_collect, cart_item_record.requested_assembly, +cart_item_record.price_incl, +cart_item_record.discount_price, +cart_item_record.discount_price_incl, +cart_item_record.discount_total, +cart_item_record.vat_total, +cart_item_record.line_total, +cart_item_record.line_total_incl));
32
+ }
33
+ }
34
+ return cart_items;
35
+ }
36
+ /**
37
+ * Processes the eSolve stock location records.
38
+ * @param records Records to process
39
+ * @returns An array of processed stock location records
40
+ */
41
+ processStockLocations(records) {
42
+ const stock_locations = [];
43
+ if (records) {
44
+ for (const record of records) {
45
+ stock_locations.push(new EsolveStockLocation(record));
46
+ }
47
+ }
48
+ return stock_locations;
49
+ }
50
+ /**
51
+ * Processes the eSolve shipping method records.
52
+ * @param records Records to process
53
+ * @returns An array of processed shipping methods
54
+ */
55
+ processShippingMethods(records) {
56
+ const shipping_methods = [];
57
+ if (records) {
58
+ for (const record of records) {
59
+ const shipping_method = new EsolveShippingMethod(+record.id, record.carrier_name, record.delivery_category, record.description, record.location, record.pricing, record.link_to_carrier_website, +record.days_to_deliver, record.shipping_cost_calculation_method, record.insurance_cost_calculation_method, +record.insurance_cost_percentage, +record.metric_factor, record.allow_immediate_payment_processing, record.allow_postal_address, record.allow_physical_address, record.client_to_collect, record.is_default_shipping_method, +record.location_id, record.use_zones, +record.min_distance, +record.max_distance, +record.shipping_surge_condition, +record.shipping_surge_percentage, +record.sort_priority, record.shipping_group, record.shipping_slot_identifier, +record.shipping_slot_delay_hours, record.image_url);
60
+ shipping_methods.push(shipping_method);
61
+ }
62
+ }
63
+ return shipping_methods;
64
+ }
65
+ /**
66
+ * Processes the eSolve payment method records.
67
+ * @param records Records to process
68
+ * @returns An array of processed payment methods.
69
+ */
70
+ processPaymentMethods(records) {
71
+ const payment_methods = [];
72
+ if (records) {
73
+ for (const record of records) {
74
+ const payment_method = new EsolvePaymentMethod(record);
75
+ payment_methods.push(payment_method);
76
+ }
77
+ }
78
+ return payment_methods;
79
+ }
80
+ /**
81
+ * Processes the eSolve shipping costs record.
82
+ * @param record Data to process
83
+ * @returns Processed shipping costs
84
+ */
85
+ processShippingCost(record) {
86
+ const shipping_cost = new EsolveShippingCost(+record.shipping_total, +record.vat_on_shipping, +record.total_saving_on_shipping, +record.insurance_total, +record.vat_on_insurance, +record.total_saving_on_insurance);
87
+ return shipping_cost;
88
+ }
89
+ /**
90
+ * Processes the eSolve cart totals
91
+ * @param record Data to process
92
+ * @returns Processed cart totals
93
+ */
94
+ processCartTotals(record) {
95
+ const cart_totals = new EsolveCartTotals(+record.records, +record.items, +record.total, +record.vat, +record.discount);
96
+ return cart_totals;
97
+ }
98
+ /**
99
+ * Retrieves the current cart
100
+ * @returns An `Observable` with an array of cart items
101
+ */
102
+ getCart() {
103
+ let params = new HttpParams();
104
+ params = params.set('ws_id', this.config.wsid);
105
+ return this.http.get(`${this.config.api_url}/service/get-cart.php`, { params }).pipe(map(response => {
106
+ if (response.records === undefined) {
107
+ throw response;
108
+ }
109
+ return this.processCart(response.records);
110
+ }));
111
+ }
112
+ /**
113
+ * Updates the cart by preforming various actions, such as adding, editing or removing items from the cart.
114
+ * @param items An array of options to update the cart
115
+ * @param action The default action to preform
116
+ * @returns An `Observable` with an array of responses that gives feedback on the requested changes
117
+ */
118
+ setCart(items, action = 'add') {
119
+ const body = {
120
+ items,
121
+ action
122
+ };
123
+ return this.http.post(`${this.config.api_url}/service/set-cart-item.php`, body, {
124
+ headers: {
125
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
126
+ },
127
+ params: {
128
+ ws_id: this.config.wsid
129
+ },
130
+ responseType: 'json',
131
+ observe: 'body'
132
+ }).pipe(map(response => {
133
+ if (response.responses === undefined) {
134
+ throw response;
135
+ }
136
+ return response.responses;
137
+ }));
138
+ }
139
+ /**
140
+ * Retrieves a list of stock locations
141
+ * @returns An `Observable` with an array of stock locations
142
+ */
143
+ getStockLocations() {
144
+ let params = new HttpParams();
145
+ params = params.set('ws_id', this.config.wsid);
146
+ return this.http.get(`${this.config.api_url}/service/get-locations.php`, { params }).pipe(map(response => {
147
+ if (response.records === undefined) {
148
+ throw response;
149
+ }
150
+ return this.processStockLocations(response.records);
151
+ }));
152
+ }
153
+ /**
154
+ * Retrieves a list of shipping methods
155
+ * @returns An `Observable` with an array of shipping methods
156
+ */
157
+ getShippingMethods(options) {
158
+ let params = new HttpParams();
159
+ params = params.set('ws_id', this.config.wsid);
160
+ if (options) {
161
+ if (typeof options.addresses_id !== 'undefined') {
162
+ params = params.set('addresses_id', options.addresses_id.toString());
163
+ }
164
+ if (typeof options.location_id !== 'undefined') {
165
+ params = params.set('location_id', options.location_id.toString());
166
+ }
167
+ }
168
+ return this.http.get(`${this.config.api_url}/service/get-shipping-methods.php`, { params }).pipe(map(response => {
169
+ if (response.records === undefined) {
170
+ throw response;
171
+ }
172
+ return this.processShippingMethods(response.records);
173
+ }));
174
+ }
175
+ /**
176
+ * Retrieves a list of payment methods
177
+ * @returns An `Observable` with an array of payment methods
178
+ */
179
+ getPaymentMethods(options) {
180
+ let params = new HttpParams();
181
+ params = params.set('ws_id', this.config.wsid);
182
+ if (options) {
183
+ if (typeof options.live !== 'undefined') {
184
+ params = params.set('live', options.live.toString());
185
+ }
186
+ if (typeof options.location_id !== 'undefined') {
187
+ params = params.set('location_id', options.location_id.toString());
188
+ }
189
+ if (typeof options.is_gateway !== 'undefined') {
190
+ params = params.set('is_gateway', options.is_gateway.toString());
191
+ }
192
+ }
193
+ return this.http.get(`${this.config.api_url}/service/get-payment-methods.php`, { params }).pipe(map(response => {
194
+ if (response.records === undefined) {
195
+ throw response;
196
+ }
197
+ return this.processPaymentMethods(response.records);
198
+ }));
199
+ }
200
+ /**
201
+ * Retrieves the shipping costs
202
+ * @param options Shipping cost options
203
+ * @returns An `Observable` with the shipping costs
204
+ */
205
+ getShippingCost(options) {
206
+ let params = new HttpParams();
207
+ params = params.set('ws_id', this.config.wsid);
208
+ if (options) {
209
+ if (typeof options.addresses_id !== 'undefined') {
210
+ params = params.set('addresses_id', options.addresses_id.toString());
211
+ }
212
+ else {
213
+ return throwError(new Error('Address ID is required'));
214
+ }
215
+ if (typeof options.shipping_id !== 'undefined') {
216
+ params = params.set('shipping_id', options.shipping_id.toString());
217
+ }
218
+ else {
219
+ return throwError(new Error('Shipping ID is required'));
220
+ }
221
+ if (typeof options.location_id !== 'undefined') {
222
+ params = params.set('location_id', options.location_id.toString());
223
+ }
224
+ }
225
+ else {
226
+ return throwError(new Error('Options are invalid'));
227
+ }
228
+ return this.http.get(`${this.config.api_url}/service/get-shipping-cost.php`, { params }).pipe(map(response => {
229
+ if (response.records === undefined) {
230
+ throw response;
231
+ }
232
+ return this.processShippingCost(response.records[0]);
233
+ }));
234
+ }
235
+ /**
236
+ * Retrieves the totals of the cart with all the totals calculated
237
+ * @returns An `Observable` with an object containing cart totals
238
+ */
239
+ getTotals() {
240
+ let params = new HttpParams();
241
+ params = params.set('ws_id', this.config.wsid);
242
+ return this.http.get(`${this.config.api_url}/service/get-cart-totals.php`, { params }).pipe(map(response => {
243
+ if (response.records === undefined) {
244
+ throw response;
245
+ }
246
+ return this.processCartTotals(response.records);
247
+ }));
248
+ }
249
+ /**
250
+ * Retrieves a tracking code for the cart
251
+ * @returns An `Observable` with the cart tracking code
252
+ */
253
+ getTrackingCode() {
254
+ let params = new HttpParams();
255
+ params = params.set('ws_id', this.config.wsid);
256
+ return iif(() => this._cached_tracking > 0, of(this._cached_tracking), this.http.get(`${this.config.api_url}/service/get-checkout-tracking.php`, { params }).pipe(map(response => {
257
+ if (response.records === undefined) {
258
+ throw response;
259
+ }
260
+ this._cached_tracking = response.records.tracking;
261
+ return response.records.tracking;
262
+ })));
263
+ }
264
+ /**
265
+ * Initiates checkout of the cart items
266
+ * @param type The cart type that needs to be checked out
267
+ * @param addresses_id The ID of the delivery address
268
+ * @param shipping_id The ID of the shipping method
269
+ * @param payment_method_id The ID of the selected payment method
270
+ * @param location_id The ID of the selected branch from with shipping needs to be calculated
271
+ * @param comments Additional comments on the cart
272
+ * @returns An `Observable` with the transaction ID
273
+ */
274
+ checkout(type, addresses_id, shipping_id, payment_method_id = 0, location_id = 0, comments = '') {
275
+ const body = {
276
+ type,
277
+ addresses_id,
278
+ shipping_id,
279
+ payment_method_id,
280
+ location_id,
281
+ comments,
282
+ tracking: 0
283
+ };
284
+ return this.getTrackingCode().pipe(switchMap((tracking) => {
285
+ if (tracking <= 0) {
286
+ throw tracking;
287
+ }
288
+ body.tracking = tracking;
289
+ return this.http.post(`${this.config.api_url}/service/set-checkout.php`, body, {
290
+ headers: {
291
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
292
+ },
293
+ params: {
294
+ ws_id: this.config.wsid
295
+ },
296
+ responseType: 'json',
297
+ observe: 'body'
298
+ }).pipe(map(response => {
299
+ if ((response.responses === undefined) || (response.responses.length <= 0)) {
300
+ throw response;
301
+ }
302
+ const checkout_result = response.responses[0];
303
+ if (checkout_result.status.state !== 'success') {
304
+ throw checkout_result;
305
+ }
306
+ return checkout_result.esolve_id;
307
+ }), catchError((errorRes) => {
308
+ const parseException = (exception) => {
309
+ const exception_type = exception.additional_data.exception_type;
310
+ const error = {
311
+ type: 'exception',
312
+ message: exception.message || '',
313
+ error_code: exception_type || 'unknown'
314
+ };
315
+ return error;
316
+ };
317
+ const parseCheckoutErrors = (response) => {
318
+ const error = {
319
+ type: 'error',
320
+ message: 'Unknown error has occured',
321
+ error_code: 'unknown'
322
+ };
323
+ if ((response.status.state === 'none') || (response.log.length === 0)) {
324
+ error.error_code = 'no_response';
325
+ error.message = 'Response was provided';
326
+ }
327
+ else if (response.status.state === 'error') {
328
+ const error_log = response.log[0];
329
+ error.error_code = error_log.message_code;
330
+ error.message = error_log.message;
331
+ }
332
+ return error;
333
+ };
334
+ if (errorRes instanceof HttpErrorResponse) {
335
+ if (errorRes.status === 500) {
336
+ const server_error = errorRes.error;
337
+ if ((server_error.service_type === 'set-checkout') ||
338
+ (server_error.type !== undefined) ||
339
+ (server_error.message !== undefined) ||
340
+ (server_error.additional_data !== undefined)) {
341
+ return throwError(parseException(server_error));
342
+ }
343
+ }
344
+ }
345
+ else {
346
+ if (errorRes.type !== undefined) {
347
+ if (errorRes.type === 'exception') {
348
+ return throwError(parseException(errorRes));
349
+ }
350
+ }
351
+ else if (errorRes.transaction_type !== undefined) {
352
+ return throwError(parseCheckoutErrors(errorRes));
353
+ }
354
+ }
355
+ return throwError(errorRes);
356
+ }));
357
+ }));
358
+ }
359
+ }
360
+ EsolveCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
361
+ EsolveCartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, providedIn: 'root' });
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, decorators: [{
363
+ type: Injectable,
364
+ args: [{
365
+ providedIn: 'root'
366
+ }]
367
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
368
+ type: Inject,
369
+ args: [ESOLVE_CONNECT_CONFIG]
370
+ }] }, { type: i1.HttpClient }]; } });
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUQsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBYyxjQUFjLEVBQTBDLE1BQU0sb0JBQW9CLENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU94RCxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUpwQixxQkFBZ0IsR0FBRyxDQUFDLENBQUM7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QkFBcUI7a0hBSnhCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBpaWYsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UsIEVzb2x2ZVNldFJlc3BvbnNlLCBFc29sdmVQb3N0UmVzcG9uc2VJdGVtIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXNwb25zZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcsIEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnQsIEVzb2x2ZUNhcnRJdGVtLCBFc29sdmVDYXJ0U2V0QWN0aW9uLCBFc29sdmVDYXJ0U2V0SXRlbSB9IGZyb20gJy4vZXNvbHZlLWNhcnQtaXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnRTdG9ja0l0ZW0gfSBmcm9tICcuL2Vzb2x2ZS1jYXJ0LXN0b2NrLWl0ZW0nO1xyXG5pbXBvcnQgeyBFc29sdmVDYXJ0SXRlbVJlY29yZCwgRXNvbHZlQ2FydEl0ZW1SZXNwb25zZSB9IGZyb20gJy4vZXNvbHZlLWNhcnQtaXRlbS1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0xvY2F0aW9uIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stbG9jYXRpb24nO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0xvY2F0aW9uUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stbG9jYXRpb24tcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXBheW1lbnQtbWV0aG9kJztcclxuaW1wb3J0IHsgRXNvbHZlUGF5bWVudE1ldGhvZE9wdGlvbnMsIEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1wYXltZW50LW1ldGhvZC1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVTaGlwcGluZ01ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXNoaXBwaW5nLW1ldGhvZCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNoaXBwaW5nTWV0aG9kT3B0aW9ucywgRXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1zaGlwcGluZy1tZXRob2QtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlU2hpcHBpbmdDb3N0IH0gZnJvbSAnLi9lc29sdmUtc2hpcHBpbmctY29zdCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNoaXBwaW5nQ29zdE9wdGlvbnMsIEVzb2x2ZVNoaXBwaW5nQ29zdFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXNoaXBwaW5nLWNvc3QtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFscyB9IGZyb20gJy4vZXNvbHZlLWNhcnQtdG90YWxzJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFsc1JlY29yZCB9IGZyb20gJy4vZXNvbHZlLWNhcnQtdG90YWxzLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZUNoZWNrb3V0UmVzcG9uc2UsIEVzb2x2ZVRyYWNraW5nQ29kZSB9IGZyb20gJy4vZXNvbHZlLWNoZWNrb3V0JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQ2FydFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfY2FjaGVkX3RyYWNraW5nID0gMDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgICApIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgdHJlZSByZWNvcmRzLlxyXG4gICAgICogQHBhcmFtIGNhcnRfaXRlbV9yZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIGNhcnQgaXRlbXNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzQ2FydChjYXJ0X2l0ZW1fcmVjb3JkczogRXNvbHZlQ2FydEl0ZW1SZWNvcmRbXSk6IEVzb2x2ZUNhcnQge1xyXG4gICAgICAgIGNvbnN0IGNhcnRfaXRlbXM6IEVzb2x2ZUNhcnRJdGVtW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKGNhcnRfaXRlbV9yZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2FydF9pdGVtX3JlY29yZCBvZiBjYXJ0X2l0ZW1fcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2FydF9zdG9ja19pdGVtID0gbmV3IEVzb2x2ZUNhcnRTdG9ja0l0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5jb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLnNlZl9uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5pc19hY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQuaXRlbXNfaW5fcGFjayxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLmRlbGl2ZXJ5X2NhdGVnb3J5LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuaW1hZ2VfbmFtZVxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1zLnB1c2gobmV3IEVzb2x2ZUNhcnRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfc3RvY2tfaXRlbSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5xdHksXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLnByaWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmRpc2NvdW50LFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmRpc2NvdW50X2ludGVydmFsLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQudmF0X3JhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5hbGxvd19xdW90ZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5hbGxvd19vcmRlcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5tdXN0X2NvbGxlY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5yZXF1ZXN0ZWRfYXNzZW1ibHksXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQucHJpY2VfaW5jbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF9wcmljZSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF9wcmljZV9pbmNsLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmRpc2NvdW50X3RvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLnZhdF90b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5saW5lX3RvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmxpbmVfdG90YWxfaW5jbFxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjYXJ0X2l0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgc3RvY2sgbG9jYXRpb24gcmVjb3Jkcy5cclxuICAgICAqIEBwYXJhbSByZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIHN0b2NrIGxvY2F0aW9uIHJlY29yZHNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RvY2tMb2NhdGlvbnMocmVjb3JkczogRXNvbHZlU3RvY2tMb2NhdGlvblJlY29yZFtdKTogRXNvbHZlU3RvY2tMb2NhdGlvbltdIHtcclxuICAgICAgICBjb25zdCBzdG9ja19sb2NhdGlvbnM6IEVzb2x2ZVN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAocmVjb3Jkcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBzdG9ja19sb2NhdGlvbnMucHVzaChuZXcgRXNvbHZlU3RvY2tMb2NhdGlvbihyZWNvcmQpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHN0b2NrX2xvY2F0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHNoaXBwaW5nIG1ldGhvZCByZWNvcmRzLlxyXG4gICAgICogQHBhcmFtIHJlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXHJcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgc2hpcHBpbmcgbWV0aG9kc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NTaGlwcGluZ01ldGhvZHMocmVjb3JkczogRXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmRbXSk6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10ge1xyXG4gICAgICAgIGNvbnN0IHNoaXBwaW5nX21ldGhvZHM6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdfbWV0aG9kID0gbmV3IEVzb2x2ZVNoaXBwaW5nTWV0aG9kKFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhcnJpZXJfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5sb2NhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucHJpY2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQubGlua190b19jYXJyaWVyX3dlYnNpdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5kYXlzX3RvX2RlbGl2ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pbnN1cmFuY2VfY29zdF9jYWxjdWxhdGlvbl9tZXRob2QsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5pbnN1cmFuY2VfY29zdF9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubWV0cmljX2ZhY3RvcixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfaW1tZWRpYXRlX3BheW1lbnRfcHJvY2Vzc2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfcG9zdGFsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmFsbG93X3BoeXNpY2FsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudF90b19jb2xsZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pc19kZWZhdWx0X3NoaXBwaW5nX21ldGhvZCxcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC51c2Vfem9uZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5taW5fZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5tYXhfZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9jb25kaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfZ3JvdXAsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX3Nsb3RfaWRlbnRpZmllcixcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX3Nsb3RfZGVsYXlfaG91cnMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlX3VybFxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBzaGlwcGluZ19tZXRob2RzLnB1c2goc2hpcHBpbmdfbWV0aG9kKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHNoaXBwaW5nX21ldGhvZHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBwYXltZW50IG1ldGhvZCByZWNvcmRzLlxyXG4gICAgICogQHBhcmFtIHJlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXHJcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgcGF5bWVudCBtZXRob2RzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NQYXltZW50TWV0aG9kcyhyZWNvcmRzOiBFc29sdmVQYXltZW50TWV0aG9kUmVjb3JkW10pOiBFc29sdmVQYXltZW50TWV0aG9kW10ge1xyXG4gICAgICAgIGNvbnN0IHBheW1lbnRfbWV0aG9kczogRXNvbHZlUGF5bWVudE1ldGhvZFtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBheW1lbnRfbWV0aG9kID0gbmV3IEVzb2x2ZVBheW1lbnRNZXRob2QocmVjb3JkKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwYXltZW50X21ldGhvZHMucHVzaChwYXltZW50X21ldGhvZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBwYXltZW50X21ldGhvZHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBzaGlwcGluZyBjb3N0cyByZWNvcmQuXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgUHJvY2Vzc2VkIHNoaXBwaW5nIGNvc3RzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc1NoaXBwaW5nQ29zdChyZWNvcmQ6IEVzb2x2ZVNoaXBwaW5nQ29zdFJlY29yZCk6IEVzb2x2ZVNoaXBwaW5nQ29zdCB7XHJcbiAgICAgICAgY29uc3Qgc2hpcHBpbmdfY29zdCA9IG5ldyBFc29sdmVTaGlwcGluZ0Nvc3QoXHJcbiAgICAgICAgICAgICtyZWNvcmQuc2hpcHBpbmdfdG90YWwsXHJcbiAgICAgICAgICAgICtyZWNvcmQudmF0X29uX3NoaXBwaW5nLFxyXG4gICAgICAgICAgICArcmVjb3JkLnRvdGFsX3NhdmluZ19vbl9zaGlwcGluZyxcclxuICAgICAgICAgICAgK3JlY29yZC5pbnN1cmFuY2VfdG90YWwsXHJcbiAgICAgICAgICAgICtyZWNvcmQudmF0X29uX2luc3VyYW5jZSxcclxuICAgICAgICAgICAgK3JlY29yZC50b3RhbF9zYXZpbmdfb25faW5zdXJhbmNlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNoaXBwaW5nX2Nvc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBjYXJ0IHRvdGFsc1xyXG4gICAgICogQHBhcmFtIHJlY29yZCBEYXRhIHRvIHByb2Nlc3NcclxuICAgICAqIEByZXR1cm5zIFByb2Nlc3NlZCBjYXJ0IHRvdGFsc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NDYXJ0VG90YWxzKHJlY29yZDogRXNvbHZlQ2FydFRvdGFsc1JlY29yZCk6IEVzb2x2ZUNhcnRUb3RhbHMge1xyXG4gICAgICAgIGNvbnN0IGNhcnRfdG90YWxzID0gbmV3IEVzb2x2ZUNhcnRUb3RhbHMoXHJcbiAgICAgICAgICAgICtyZWNvcmQucmVjb3JkcyxcclxuICAgICAgICAgICAgK3JlY29yZC5pdGVtcyxcclxuICAgICAgICAgICAgK3JlY29yZC50b3RhbCxcclxuICAgICAgICAgICAgK3JlY29yZC52YXQsXHJcbiAgICAgICAgICAgICtyZWNvcmQuZGlzY291bnRcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gY2FydF90b3RhbHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgY2FydFxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgY2FydCBpdGVtc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q2FydCgpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnQ+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0SXRlbVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LWNhcnQucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydChyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgY2FydCBieSBwcmVmb3JtaW5nIHZhcmlvdXMgYWN0aW9ucywgc3VjaCBhcyBhZGRpbmcsIGVkaXRpbmcgb3IgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgY2FydC5cclxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBvcHRpb25zIHRvIHVwZGF0ZSB0aGUgY2FydFxyXG4gICAgICogQHBhcmFtIGFjdGlvbiBUaGUgZGVmYXVsdCBhY3Rpb24gdG8gcHJlZm9ybVxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgcmVzcG9uc2VzIHRoYXQgZ2l2ZXMgZmVlZGJhY2sgb24gdGhlIHJlcXVlc3RlZCBjaGFuZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRDYXJ0KGl0ZW1zOiBFc29sdmVDYXJ0U2V0SXRlbVtdLCBhY3Rpb246IEVzb2x2ZUNhcnRTZXRBY3Rpb24gPSAnYWRkJyk6IE9ic2VydmFibGU8RXNvbHZlQ2FydEl0ZW1SZXNwb25zZVtdPiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgaXRlbXMsXHJcbiAgICAgICAgICAgIGFjdGlvblxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDYXJ0SXRlbVJlc3BvbnNlPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2Uvc2V0LWNhcnQtaXRlbS5waHBgLFxyXG4gICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5J1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlc3BvbnNlcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3BvbnNlcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBzdG9jayBsb2NhdGlvbnNcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHN0b2NrIGxvY2F0aW9uc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0U3RvY2tMb2NhdGlvbnMoKTogT2JzZXJ2YWJsZTxFc29sdmVTdG9ja0xvY2F0aW9uW10+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVTdG9ja0xvY2F0aW9uUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtbG9jYXRpb25zLnBocGAsXHJcbiAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1N0b2NrTG9jYXRpb25zKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHNoaXBwaW5nIG1ldGhvZHNcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHNoaXBwaW5nIG1ldGhvZHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNoaXBwaW5nTWV0aG9kcyhvcHRpb25zPzogRXNvbHZlU2hpcHBpbmdNZXRob2RPcHRpb25zKTogT2JzZXJ2YWJsZTxFc29sdmVTaGlwcGluZ01ldGhvZFtdPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmFkZHJlc3Nlc19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FkZHJlc3Nlc19pZCcsIG9wdGlvbnMuYWRkcmVzc2VzX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsb2NhdGlvbl9pZCcsIG9wdGlvbnMubG9jYXRpb25faWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVNoaXBwaW5nTWV0aG9kUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtc2hpcHBpbmctbWV0aG9kcy5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NTaGlwcGluZ01ldGhvZHMocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgcGF5bWVudCBtZXRob2RzXHJcbiAgICAgKiBAcmV0dXJucyAgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgcGF5bWVudCBtZXRob2RzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRQYXltZW50TWV0aG9kcyhvcHRpb25zPzogRXNvbHZlUGF5bWVudE1ldGhvZE9wdGlvbnMpOiBPYnNlcnZhYmxlPEVzb2x2ZVBheW1lbnRNZXRob2RbXT4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5saXZlICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbGl2ZScsIG9wdGlvbnMubGl2ZS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbG9jYXRpb25faWQnLCBvcHRpb25zLmxvY2F0aW9uX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMuaXNfZ2F0ZXdheSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2lzX2dhdGV3YXknLCBvcHRpb25zLmlzX2dhdGV3YXkudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1wYXltZW50LW1ldGhvZHMucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzUGF5bWVudE1ldGhvZHMocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyB0aGUgc2hpcHBpbmcgY29zdHNcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFNoaXBwaW5nIGNvc3Qgb3B0aW9uc1xyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHNoaXBwaW5nIGNvc3RzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0Nvc3Qob3B0aW9uczogRXNvbHZlU2hpcHBpbmdDb3N0T3B0aW9ucyk6IE9ic2VydmFibGU8RXNvbHZlU2hpcHBpbmdDb3N0PiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmFkZHJlc3Nlc19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FkZHJlc3Nlc19pZCcsIG9wdGlvbnMuYWRkcmVzc2VzX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdBZGRyZXNzIElEIGlzIHJlcXVpcmVkJykpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMuc2hpcHBpbmdfaWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzaGlwcGluZ19pZCcsIG9wdGlvbnMuc2hpcHBpbmdfaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ1NoaXBwaW5nIElEIGlzIHJlcXVpcmVkJykpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsb2NhdGlvbl9pZCcsIG9wdGlvbnMubG9jYXRpb25faWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ09wdGlvbnMgYXJlIGludmFsaWQnKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVTaGlwcGluZ0Nvc3RSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1zaGlwcGluZy1jb3N0LnBocGAsXHJcbiAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1NoaXBwaW5nQ29zdChyZXNwb25zZS5yZWNvcmRzWzBdKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSB0b3RhbHMgb2YgdGhlIGNhcnQgd2l0aCBhbGwgdGhlIHRvdGFscyBjYWxjdWxhdGVkXHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBvYmplY3QgY29udGFpbmluZyBjYXJ0IHRvdGFsc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0VG90YWxzKCk6IE9ic2VydmFibGU8RXNvbHZlQ2FydFRvdGFscz4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNhcnRUb3RhbHNSZWNvcmQ+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtY2FydC10b3RhbHMucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydFRvdGFscyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIGEgdHJhY2tpbmcgY29kZSBmb3IgdGhlIGNhcnRcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSBjYXJ0IHRyYWNraW5nIGNvZGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFRyYWNraW5nQ29kZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIHJldHVybiBpaWYoXHJcbiAgICAgICAgICAgICgpID0+IHRoaXMuX2NhY2hlZF90cmFja2luZyA+IDAsXHJcbiAgICAgICAgICAgIG9mKHRoaXMuX2NhY2hlZF90cmFja2luZyksXHJcbiAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhY2tpbmdDb2RlPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1jaGVja291dC10cmFja2luZy5waHBgLFxyXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSByZXNwb25zZS5yZWNvcmRzLnRyYWNraW5nO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy50cmFja2luZztcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhdGVzIGNoZWNrb3V0IG9mIHRoZSBjYXJ0IGl0ZW1zXHJcbiAgICAgKiBAcGFyYW0gdHlwZSBUaGUgY2FydCB0eXBlIHRoYXQgbmVlZHMgdG8gYmUgY2hlY2tlZCBvdXRcclxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgVGhlIElEIG9mIHRoZSBkZWxpdmVyeSBhZGRyZXNzXHJcbiAgICAgKiBAcGFyYW0gc2hpcHBpbmdfaWQgVGhlIElEIG9mIHRoZSBzaGlwcGluZyBtZXRob2RcclxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZF9pZCBUaGUgSUQgb2YgdGhlIHNlbGVjdGVkIHBheW1lbnQgbWV0aG9kXHJcbiAgICAgKiBAcGFyYW0gbG9jYXRpb25faWQgVGhlIElEIG9mIHRoZSBzZWxlY3RlZCBicmFuY2ggZnJvbSB3aXRoIHNoaXBwaW5nIG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWRcclxuICAgICAqIEBwYXJhbSBjb21tZW50cyBBZGRpdGlvbmFsIGNvbW1lbnRzIG9uIHRoZSBjYXJ0XHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgdHJhbnNhY3Rpb24gSURcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoZWNrb3V0KFxyXG4gICAgICAgIHR5cGU6ICdvcmRlcicgfCAncXVvdGUnLFxyXG4gICAgICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyLFxyXG4gICAgICAgIHNoaXBwaW5nX2lkOiBudW1iZXIsXHJcbiAgICAgICAgcGF5bWVudF9tZXRob2RfaWQgPSAwLFxyXG4gICAgICAgIGxvY2F0aW9uX2lkID0gMCxcclxuICAgICAgICBjb21tZW50cyA9ICcnXHJcbiAgICApOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIHR5cGUsXHJcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZCxcclxuICAgICAgICAgICAgc2hpcHBpbmdfaWQsXHJcbiAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kX2lkLFxyXG4gICAgICAgICAgICBsb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgY29tbWVudHMsXHJcbiAgICAgICAgICAgIHRyYWNraW5nOiAwXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhY2tpbmdDb2RlKCkucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCh0cmFja2luZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRyYWNraW5nIDw9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyB0cmFja2luZztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBib2R5LnRyYWNraW5nID0gdHJhY2tpbmc7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUNoZWNrb3V0UmVzcG9uc2U+PihcclxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL3NldC1jaGVja291dC5waHBgLFxyXG4gICAgICAgICAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OydcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocmVzcG9uc2UucmVzcG9uc2VzID09PSB1bmRlZmluZWQpIHx8IChyZXNwb25zZS5yZXNwb25zZXMubGVuZ3RoIDw9IDApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hlY2tvdXRfcmVzdWx0ID0gcmVzcG9uc2UucmVzcG9uc2VzWzBdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrb3V0X3Jlc3VsdC5zdGF0dXMuc3RhdGUgIT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgY2hlY2tvdXRfcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2hlY2tvdXRfcmVzdWx0LmVzb2x2ZV9pZDtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VFeGNlcHRpb24gPSAoZXhjZXB0aW9uOiBFc29sdmVTZXRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhjZXB0aW9uX3R5cGUgPSBleGNlcHRpb24uYWRkaXRpb25hbF9kYXRhLmV4Y2VwdGlvbl90eXBlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2V4Y2VwdGlvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZXhjZXB0aW9uLm1lc3NhZ2UgfHwgJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfY29kZTogZXhjZXB0aW9uX3R5cGUgfHwgJ3Vua25vd24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlQ2hlY2tvdXRFcnJvcnMgPSAocmVzcG9uc2U6IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ1Vua25vd24gZXJyb3IgaGFzIG9jY3VyZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvZGU6ICd1bmtub3duJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJlc3BvbnNlLnN0YXR1cy5zdGF0ZSA9PT0gJ25vbmUnKSB8fCAocmVzcG9uc2UubG9nLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5lcnJvcl9jb2RlID0gJ25vX3Jlc3BvbnNlJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gJ1Jlc3BvbnNlIHdhcyBwcm92aWRlZCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnN0YXR1cy5zdGF0ZSA9PT0gJ2Vycm9yJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yX2xvZyA9IHJlc3BvbnNlLmxvZ1swXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuZXJyb3JfY29kZSA9IGVycm9yX2xvZy5tZXNzYWdlX2NvZGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGVycm9yX2xvZy5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvclJlcyBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3JSZXMuc3RhdHVzID09PSA1MDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2ZXJfZXJyb3IgPSBlcnJvclJlcy5lcnJvcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VydmVyX2Vycm9yLnNlcnZpY2VfdHlwZSA9PT0gJ3NldC1jaGVja291dCcpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXJ2ZXJfZXJyb3IudHlwZSAhPT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VydmVyX2Vycm9yLm1lc3NhZ2UgIT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlcnZlcl9lcnJvci5hZGRpdGlvbmFsX2RhdGEgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IocGFyc2VFeGNlcHRpb24oc2VydmVyX2Vycm9yKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yUmVzLnR5cGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvclJlcy50eXBlID09PSAnZXhjZXB0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihwYXJzZUV4Y2VwdGlvbihlcnJvclJlcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3JSZXMudHJhbnNhY3Rpb25fdHlwZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IocGFyc2VDaGVja291dEVycm9ycyhlcnJvclJlcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNoZWNrb3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1jaGVja291dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVUcmFja2luZ0NvZGUge1xyXG4gICAgdHJhY2tpbmc6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVDaGVja291dFJlc3BvbnNlIGV4dGVuZHMgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB7XHJcbiAgICBlc29sdmVfaWQ6IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQtbWV0aG9kLXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtcGF5bWVudC1tZXRob2QtcmVjb3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFc29sdmVJbnRlZ3JhdGlvblR5cGUgPSAnVmlydHVhbCcgfCAnRGlyZWN0JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZCB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcclxuICAgIHBheW1ldGhvZF9uYW1lOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgZGlzcGxheV9iYW5raW5nX2RldGFpbHM6IGJvb2xlYW47XHJcbiAgICBiYW5rX25hbWU6IHN0cmluZztcclxuICAgIGFjY291bnRfaG9sZGVyOiBzdHJpbmc7XHJcbiAgICBhY2NvdW50OiBzdHJpbmc7XHJcbiAgICBhY2NvdW50X3R5cGU6IHN0cmluZztcclxuICAgIHN3aWZ0X251bWJlcjogc3RyaW5nO1xyXG4gICAgYnJhbmNoX2NvZGU6IHN0cmluZztcclxuICAgIGN1cnJlbmN5X2NvZGU6IHN0cmluZztcclxuICAgIHRlcm1pbmFsX2lkOiBzdHJpbmc7XHJcbiAgICB0ZXJtaW5hbF9pZF9zZWNvbmRhcnk6IHN0cmluZztcclxuICAgIG1lcmNoYW50X2lkOiBzdHJpbmc7XHJcbiAgICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nO1xyXG4gICAgYXBpX3VzZXJuYW1lOiBzdHJpbmc7XHJcbiAgICBhcGlfcGFzc3dvcmQ6IHN0cmluZztcclxuICAgIGFwaV9zaWduYXR1cmU6IHN0cmluZztcclxuICAgIGlzX2dhdGV3YXk6IGJvb2xlYW47XHJcbiAgICBtdXN0X3N0b3JlX2NhcmRfZGV0YWlsczogYm9vbGVhbjtcclxuICAgIGFsbG93X2J1ZGdldDogYm9vbGVhbjtcclxuICAgIGludGVncmF0aW9uX3R5cGU6IEVzb2x2ZUludGVncmF0aW9uVHlwZTtcclxuICAgIGJhbmtfZ2F0ZXdheV9pZDogc3RyaW5nO1xyXG4gICAgYWNjZXB0ZWRfY2FyZF90eXBlczogc3RyaW5nW107XHJcbiAgICBwb3N0X3RyYW5zYWN0aW9uc190b19nYXRld2F5OiBib29sZWFuO1xyXG4gICAgdGhyZWVfZF9zZWN1cmVfdXJsOiBzdHJpbmc7XHJcbiAgICBnYXRld2F5X3VybDogc3RyaW5nO1xyXG4gICAgZ2VuZXJhdGVfdG9rZW5fdXJsOiBzdHJpbmc7XHJcbiAgICB3aWRnZXRfdXJsOiBzdHJpbmc7XHJcbiAgICBzdWNjZXNzZnVsX3VybDogc3RyaW5nO1xyXG4gICAgZmFpbGVkX3VybDogc3RyaW5nO1xyXG4gICAgZW5hYmxlX2NhbGxiYWNrOiBib29sZWFuO1xyXG4gICAgbGl2ZTogYm9vbGVhbjtcclxuICAgIGRlZmF1bHRfbW9kdWxlX2lkOiBudW1iZXI7XHJcbiAgICBzZXJ2aWNlX3Byb3ZpZGVyOiBzdHJpbmc7XHJcbiAgICBvbl9hY2NvdW50OiBib29sZWFuO1xyXG4gICAgc29ydF9wcmlvcml0eTogbnVtYmVyO1xyXG4gICAgaW1hZ2VfdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlUGF5bWVudE1ldGhvZE9wdGlvbnMge1xyXG4gICAgbGl2ZT86IGJvb2xlYW47XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxuICAgIGlzX2dhdGV3YXk/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,49 @@
1
+ export class EsolvePaymentMethod {
2
+ constructor(record) {
3
+ this.id = +record.id;
4
+ this.location_id = +record.location_id;
5
+ this.paymethod_name = record.paymethod_name;
6
+ this.description = record.description;
7
+ this.display_banking_details = record.display_banking_details;
8
+ this.currency_code = record.currency_code;
9
+ this.terminal_id = record.terminal_id;
10
+ this.terminal_id_secondary = record.terminal_id_secondary;
11
+ this.merchant_id = record.merchant_id;
12
+ this.application_id = record.application_id;
13
+ this.api_username = record.api_username;
14
+ this.api_password = record.api_password;
15
+ this.api_signature = record.api_signature;
16
+ this.is_gateway = record.is_gateway;
17
+ this.must_store_card_details = record.must_store_card_details;
18
+ this.allow_budget = record.allow_budget;
19
+ this.integration_type = record.integration_type;
20
+ this.bank_gateway_id = record.bank_gateway_id;
21
+ this.accepted_card_types = record.accepted_card_types;
22
+ this.post_transactions_to_gateway = record.post_transactions_to_gateway;
23
+ this.three_d_secure_url = record.three_d_secure_url;
24
+ this.gateway_url = record.gateway_url;
25
+ this.generate_token_url = record.generate_token_url;
26
+ this.widget_url = record.widget_url;
27
+ this.successful_url = record.successful_url;
28
+ this.failed_url = record.failed_url;
29
+ this.enable_callback = record.enable_callback;
30
+ this.live = record.live;
31
+ this.default_module_id = +record.default_module_id;
32
+ this.service_provider = record.service_provider;
33
+ this.on_account = record.on_account;
34
+ this.sort_priority = +record.sort_priority;
35
+ this.image_url = record.image_url;
36
+ this.banking_details = new BankingDetails(record.bank_name, record.account_holder, record.account, record.account_type, record.swift_number, record.branch_code);
37
+ }
38
+ }
39
+ export class BankingDetails {
40
+ constructor(bank_name, account_holder, account, account_type, swift_number, branch_code) {
41
+ this.bank_name = bank_name;
42
+ this.account_holder = account_holder;
43
+ this.account = account;
44
+ this.account_type = account_type;
45
+ this.swift_number = swift_number;
46
+ this.branch_code = branch_code;
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQtbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1wYXltZW50LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUJBQW1CO0lBcUM1QixZQUFZLE1BQWlDO1FBQ3pDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDO1FBQ3hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBRWxDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQ3JDLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FBQyxjQUFjLEVBQ3JCLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FDckIsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQ1csU0FBaUIsRUFDakIsY0FBc0IsRUFDdEIsT0FBZSxFQUNmLFlBQW9CLEVBQ3BCLFlBQW9CLEVBQ3BCLFdBQW1CO1FBTG5CLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQzFCLENBQUM7Q0FDUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUludGVncmF0aW9uVHlwZSwgRXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXBheW1lbnQtbWV0aG9kLXJlY29yZCc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlUGF5bWVudE1ldGhvZCB7XHJcbiAgICBwdWJsaWMgaWQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBsb2NhdGlvbl9pZDogbnVtYmVyO1xyXG4gICAgcHVibGljIHBheW1ldGhvZF9uYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHB1YmxpYyBkaXNwbGF5X2JhbmtpbmdfZGV0YWlsczogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBjdXJyZW5jeV9jb2RlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGVybWluYWxfaWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyB0ZXJtaW5hbF9pZF9zZWNvbmRhcnk6IHN0cmluZztcclxuICAgIHB1YmxpYyBtZXJjaGFudF9pZDogc3RyaW5nO1xyXG4gICAgcHVibGljIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYXBpX3VzZXJuYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYXBpX3Bhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYXBpX3NpZ25hdHVyZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGlzX2dhdGV3YXk6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgbXVzdF9zdG9yZV9jYXJkX2RldGFpbHM6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgYWxsb3dfYnVkZ2V0OiBib29sZWFuO1xyXG4gICAgcHVibGljIGludGVncmF0aW9uX3R5cGU6IEVzb2x2ZUludGVncmF0aW9uVHlwZTtcclxuICAgIHB1YmxpYyBiYW5rX2dhdGV3YXlfaWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBhY2NlcHRlZF9jYXJkX3R5cGVzOiBzdHJpbmdbXTtcclxuICAgIHB1YmxpYyBwb3N0X3RyYW5zYWN0aW9uc190b19nYXRld2F5OiBib29sZWFuO1xyXG4gICAgcHVibGljIHRocmVlX2Rfc2VjdXJlX3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGdhdGV3YXlfdXJsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZ2VuZXJhdGVfdG9rZW5fdXJsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgd2lkZ2V0X3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIHN1Y2Nlc3NmdWxfdXJsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZmFpbGVkX3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGVuYWJsZV9jYWxsYmFjazogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBsaXZlOiBib29sZWFuO1xyXG4gICAgcHVibGljIGRlZmF1bHRfbW9kdWxlX2lkOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgc2VydmljZV9wcm92aWRlcjogc3RyaW5nO1xyXG4gICAgcHVibGljIG9uX2FjY291bnQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgc29ydF9wcmlvcml0eTogbnVtYmVyO1xyXG4gICAgcHVibGljIGltYWdlX3VybDogc3RyaW5nO1xyXG5cclxuICAgIHB1YmxpYyBiYW5raW5nX2RldGFpbHM6IEJhbmtpbmdEZXRhaWxzO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogRXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZCkge1xyXG4gICAgICAgIHRoaXMuaWQgPSArcmVjb3JkLmlkO1xyXG4gICAgICAgIHRoaXMubG9jYXRpb25faWQgPSArcmVjb3JkLmxvY2F0aW9uX2lkO1xyXG4gICAgICAgIHRoaXMucGF5bWV0aG9kX25hbWUgPSByZWNvcmQucGF5bWV0aG9kX25hbWU7XHJcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHJlY29yZC5kZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLmRpc3BsYXlfYmFua2luZ19kZXRhaWxzID0gcmVjb3JkLmRpc3BsYXlfYmFua2luZ19kZXRhaWxzO1xyXG4gICAgICAgIHRoaXMuY3VycmVuY3lfY29kZSA9IHJlY29yZC5jdXJyZW5jeV9jb2RlO1xyXG4gICAgICAgIHRoaXMudGVybWluYWxfaWQgPSByZWNvcmQudGVybWluYWxfaWQ7XHJcbiAgICAgICAgdGhpcy50ZXJtaW5hbF9pZF9zZWNvbmRhcnkgPSByZWNvcmQudGVybWluYWxfaWRfc2Vjb25kYXJ5O1xyXG4gICAgICAgIHRoaXMubWVyY2hhbnRfaWQgPSByZWNvcmQubWVyY2hhbnRfaWQ7XHJcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvbl9pZCA9IHJlY29yZC5hcHBsaWNhdGlvbl9pZDtcclxuICAgICAgICB0aGlzLmFwaV91c2VybmFtZSA9IHJlY29yZC5hcGlfdXNlcm5hbWU7XHJcbiAgICAgICAgdGhpcy5hcGlfcGFzc3dvcmQgPSByZWNvcmQuYXBpX3Bhc3N3b3JkO1xyXG4gICAgICAgIHRoaXMuYXBpX3NpZ25hdHVyZSA9IHJlY29yZC5hcGlfc2lnbmF0dXJlO1xyXG4gICAgICAgIHRoaXMuaXNfZ2F0ZXdheSA9IHJlY29yZC5pc19nYXRld2F5O1xyXG4gICAgICAgIHRoaXMubXVzdF9zdG9yZV9jYXJkX2RldGFpbHMgPSByZWNvcmQubXVzdF9zdG9yZV9jYXJkX2RldGFpbHM7XHJcbiAgICAgICAgdGhpcy5hbGxvd19idWRnZXQgPSByZWNvcmQuYWxsb3dfYnVkZ2V0O1xyXG4gICAgICAgIHRoaXMuaW50ZWdyYXRpb25fdHlwZSA9IHJlY29yZC5pbnRlZ3JhdGlvbl90eXBlO1xyXG4gICAgICAgIHRoaXMuYmFua19nYXRld2F5X2lkID0gcmVjb3JkLmJhbmtfZ2F0ZXdheV9pZDtcclxuICAgICAgICB0aGlzLmFjY2VwdGVkX2NhcmRfdHlwZXMgPSByZWNvcmQuYWNjZXB0ZWRfY2FyZF90eXBlcztcclxuICAgICAgICB0aGlzLnBvc3RfdHJhbnNhY3Rpb25zX3RvX2dhdGV3YXkgPSByZWNvcmQucG9zdF90cmFuc2FjdGlvbnNfdG9fZ2F0ZXdheTtcclxuICAgICAgICB0aGlzLnRocmVlX2Rfc2VjdXJlX3VybCA9IHJlY29yZC50aHJlZV9kX3NlY3VyZV91cmw7XHJcbiAgICAgICAgdGhpcy5nYXRld2F5X3VybCA9IHJlY29yZC5nYXRld2F5X3VybDtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlX3Rva2VuX3VybCA9IHJlY29yZC5nZW5lcmF0ZV90b2tlbl91cmw7XHJcbiAgICAgICAgdGhpcy53aWRnZXRfdXJsID0gcmVjb3JkLndpZGdldF91cmw7XHJcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsX3VybCA9IHJlY29yZC5zdWNjZXNzZnVsX3VybDtcclxuICAgICAgICB0aGlzLmZhaWxlZF91cmwgPSByZWNvcmQuZmFpbGVkX3VybDtcclxuICAgICAgICB0aGlzLmVuYWJsZV9jYWxsYmFjayA9IHJlY29yZC5lbmFibGVfY2FsbGJhY2s7XHJcbiAgICAgICAgdGhpcy5saXZlID0gcmVjb3JkLmxpdmU7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0X21vZHVsZV9pZCA9ICtyZWNvcmQuZGVmYXVsdF9tb2R1bGVfaWQ7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlX3Byb3ZpZGVyID0gcmVjb3JkLnNlcnZpY2VfcHJvdmlkZXI7XHJcbiAgICAgICAgdGhpcy5vbl9hY2NvdW50ID0gcmVjb3JkLm9uX2FjY291bnQ7XHJcbiAgICAgICAgdGhpcy5zb3J0X3ByaW9yaXR5ID0gK3JlY29yZC5zb3J0X3ByaW9yaXR5O1xyXG4gICAgICAgIHRoaXMuaW1hZ2VfdXJsID0gcmVjb3JkLmltYWdlX3VybDtcclxuXHJcbiAgICAgICAgdGhpcy5iYW5raW5nX2RldGFpbHMgPSBuZXcgQmFua2luZ0RldGFpbHMoXHJcbiAgICAgICAgICAgIHJlY29yZC5iYW5rX25hbWUsXHJcbiAgICAgICAgICAgIHJlY29yZC5hY2NvdW50X2hvbGRlcixcclxuICAgICAgICAgICAgcmVjb3JkLmFjY291bnQsXHJcbiAgICAgICAgICAgIHJlY29yZC5hY2NvdW50X3R5cGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5zd2lmdF9udW1iZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC5icmFuY2hfY29kZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCYW5raW5nRGV0YWlscyB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgYmFua19uYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFjY291bnRfaG9sZGVyOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFjY291bnQ6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYWNjb3VudF90eXBlOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHN3aWZ0X251bWJlcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBicmFuY2hfY29kZTogc3RyaW5nXHJcbiAgICApIHsgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLWNvc3QtcmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1zaGlwcGluZy1jb3N0LXJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVTaGlwcGluZ0Nvc3RSZWNvcmQge1xyXG4gICAgc2hpcHBpbmdfY29zdF90eXBlOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gU2hpcHBpbmdcclxuICAgIHNoaXBwaW5nX3RvdGFsOiBudW1iZXI7XHJcbiAgICB2YXRfb25fc2hpcHBpbmc6IG51bWJlcjtcclxuICAgIHRvdGFsX3NhdmluZ19vbl9zaGlwcGluZzogbnVtYmVyO1xyXG5cclxuICAgIC8vIEluc3VyYW5jZVxyXG4gICAgaW5zdXJhbmNlX3RvdGFsOiBudW1iZXI7XHJcbiAgICB2YXRfb25faW5zdXJhbmNlOiBudW1iZXI7XHJcbiAgICB0b3RhbF9zYXZpbmdfb25faW5zdXJhbmNlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU2hpcHBpbmdDb3N0T3B0aW9ucyB7XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxuICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyO1xyXG4gICAgc2hpcHBpbmdfaWQ6IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,18 @@
1
+ export class EsolveShippingCost {
2
+ constructor(
3
+ // Shipping
4
+ shipping_total = 0, shipping_vat = 0, shipping_total_savings = 0,
5
+ // Insurance
6
+ insurance_total = 0, insurance_vat = 0, insurance_total_savings = 0) {
7
+ this.shipping = new EsolveShippingTotals(shipping_total, shipping_vat, shipping_total_savings);
8
+ this.insurance = new EsolveShippingTotals(insurance_total, insurance_vat, insurance_total_savings);
9
+ }
10
+ }
11
+ class EsolveShippingTotals {
12
+ constructor(total, vat, savings) {
13
+ this.total = total;
14
+ this.vat = vat;
15
+ this.savings = savings;
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLWNvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NhcnQvZXNvbHZlLXNoaXBwaW5nLWNvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQjtJQUNJLFdBQVc7SUFDWCxpQkFBeUIsQ0FBQyxFQUMxQixlQUF1QixDQUFDLEVBQ3hCLHlCQUFpQyxDQUFDO0lBQ2xDLFlBQVk7SUFDWixrQkFBMEIsQ0FBQyxFQUMzQixnQkFBd0IsQ0FBQyxFQUN6QiwwQkFBa0MsQ0FBQztRQUVuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLENBQ3BDLGNBQWMsRUFDZCxZQUFZLEVBQ1osc0JBQXNCLENBQ3pCLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksb0JBQW9CLENBQ3JDLGVBQWUsRUFDZixhQUFhLEVBQ2IsdUJBQXVCLENBQzFCLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFFRCxNQUFNLG9CQUFvQjtJQUN0QixZQUNXLEtBQWEsRUFDYixHQUFXLEVBQ1gsT0FBZTtRQUZmLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUN0QixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlU2hpcHBpbmdDb3N0IHtcclxuICAgIHB1YmxpYyBzaGlwcGluZzogRXNvbHZlU2hpcHBpbmdUb3RhbHM7XHJcbiAgICBwdWJsaWMgaW5zdXJhbmNlOiBFc29sdmVTaGlwcGluZ1RvdGFscztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICAvLyBTaGlwcGluZ1xyXG4gICAgICAgIHNoaXBwaW5nX3RvdGFsOiBudW1iZXIgPSAwLFxyXG4gICAgICAgIHNoaXBwaW5nX3ZhdDogbnVtYmVyID0gMCxcclxuICAgICAgICBzaGlwcGluZ190b3RhbF9zYXZpbmdzOiBudW1iZXIgPSAwLFxyXG4gICAgICAgIC8vIEluc3VyYW5jZVxyXG4gICAgICAgIGluc3VyYW5jZV90b3RhbDogbnVtYmVyID0gMCxcclxuICAgICAgICBpbnN1cmFuY2VfdmF0OiBudW1iZXIgPSAwLFxyXG4gICAgICAgIGluc3VyYW5jZV90b3RhbF9zYXZpbmdzOiBudW1iZXIgPSAwXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnNoaXBwaW5nID0gbmV3IEVzb2x2ZVNoaXBwaW5nVG90YWxzKFxyXG4gICAgICAgICAgICBzaGlwcGluZ190b3RhbCxcclxuICAgICAgICAgICAgc2hpcHBpbmdfdmF0LFxyXG4gICAgICAgICAgICBzaGlwcGluZ190b3RhbF9zYXZpbmdzXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbnN1cmFuY2UgPSBuZXcgRXNvbHZlU2hpcHBpbmdUb3RhbHMoXHJcbiAgICAgICAgICAgIGluc3VyYW5jZV90b3RhbCxcclxuICAgICAgICAgICAgaW5zdXJhbmNlX3ZhdCxcclxuICAgICAgICAgICAgaW5zdXJhbmNlX3RvdGFsX3NhdmluZ3NcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcblxyXG5jbGFzcyBFc29sdmVTaGlwcGluZ1RvdGFscyB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgdG90YWw6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgdmF0OiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHNhdmluZ3M6IG51bWJlclxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC1yZWNvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NhcnQvZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC1yZWNvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVzb2x2ZUxvY2F0aW9uVHlwZSA9ICdEb21lc3RpYycgfCAnSW50ZXJuYXRpb25hbCcgfCAnRG9tZXN0aWMgYW5kIEludGVybmF0aW9uYWwnO1xyXG5cclxuZXhwb3J0IHR5cGUgRXNvbHZlSW5zdXJhbmNlQ29zdENhbGN1bGF0aW9uTWV0aG9kID0gJ25vdF9hcHBsaWNhYmxlJyB8ICdpbmNsdWRlZF9pbl9wcmljZScgfCAncGVyY2VudGFnZV9vZl9wcmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBFc29sdmVTaGlwcGluZ0Nvc3RDYWxjdWxhdGlvbk1ldGhvZCA9XHJcbiAgICAnYnlfd2VpZ2h0JyB8XHJcbiAgICAnYnlfdm9sdW1lJyB8XHJcbiAgICAnZ3JlYXRlcl9vZl92b2x1bWVfd2VpZ2h0JyB8XHJcbiAgICAnYWRkX29uX3Byb2Zvcm1hJyB8XHJcbiAgICAndm9sdW1ldHJpYycgfFxyXG4gICAgJ2ZsYXRfcmF0ZScgfFxyXG4gICAgJ2ZyZWUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVTaGlwcGluZ01ldGhvZFJlY29yZCB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgY2Fycmllcl9uYW1lOiBzdHJpbmc7XHJcbiAgICBkZWxpdmVyeV9jYXRlZ29yeTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGxvY2F0aW9uOiBFc29sdmVMb2NhdGlvblR5cGU7XHJcbiAgICBwcmljaW5nOiBzdHJpbmc7XHJcbiAgICBsaW5rX3RvX2NhcnJpZXJfd2Vic2l0ZTogc3RyaW5nO1xyXG4gICAgZGF5c190b19kZWxpdmVyOiBudW1iZXI7XHJcbiAgICBzaGlwcGluZ19jb3N0X2NhbGN1bGF0aW9uX21ldGhvZDogRXNvbHZlU2hpcHBpbmdDb3N0Q2FsY3VsYXRpb25NZXRob2Q7XHJcbiAgICBpbnN1cmFuY2VfY29zdF9jYWxjdWxhdGlvbl9tZXRob2Q6IEVzb2x2ZUluc3VyYW5jZUNvc3RDYWxjdWxhdGlvbk1ldGhvZDtcclxuICAgIGluc3VyYW5jZV9jb3N0X3BlcmNlbnRhZ2U6IG51bWJlcjtcclxuICAgIG1ldHJpY19mYWN0b3I6IG51bWJlcjtcclxuICAgIGFsbG93X2ltbWVkaWF0ZV9wYXltZW50X3Byb2Nlc3Npbmc6IGJvb2xlYW47XHJcbiAgICBhbGxvd19wb3N0YWxfYWRkcmVzczogYm9vbGVhbjtcclxuICAgIGFsbG93X3BoeXNpY2FsX2FkZHJlc3M6IGJvb2xlYW47XHJcbiAgICBjbGllbnRfdG9fY29sbGVjdDogYm9vbGVhbjtcclxuICAgIGlzX2RlZmF1bHRfc2hpcHBpbmdfbWV0aG9kOiBib29sZWFuO1xyXG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcclxuICAgIHVzZV96b25lczogYm9vbGVhbjtcclxuICAgIG1pbl9kaXN0YW5jZTogbnVtYmVyO1xyXG4gICAgbWF4X2Rpc3RhbmNlOiBudW1iZXI7XHJcbiAgICBzaGlwcGluZ19zdXJnZV9jb25kaXRpb246IG51bWJlcjtcclxuICAgIHNoaXBwaW5nX3N1cmdlX3BlcmNlbnRhZ2U6IG51bWJlcjtcclxuICAgIHNvcnRfcHJpb3JpdHk6IG51bWJlcjtcclxuICAgIHNoaXBwaW5nX2dyb3VwOiBzdHJpbmc7XHJcbiAgICBzaGlwcGluZ19zbG90X2lkZW50aWZpZXI6IHN0cmluZztcclxuICAgIHNoaXBwaW5nX3Nsb3RfZGVsYXlfaG91cnM6IG51bWJlcjtcclxuICAgIGltYWdlX3VybDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVNoaXBwaW5nTWV0aG9kT3B0aW9ucyB7XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxuICAgIGFkZHJlc3Nlc19pZD86IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,33 @@
1
+ export class EsolveShippingMethod {
2
+ constructor(id, carrier_name, delivery_category, description, location, pricing, link_to_carrier_website, days_to_deliver, shipping_cost_calculation_method, insurance_cost_calculation_method, insurance_cost_percentage, metric_factor, allow_immediate_payment_processing, allow_postal_address, allow_physical_address, client_to_collect, is_default, location_id, use_zones, min_distance, max_distance, shipping_surge_condition, shipping_surge_percentage, sort_priority, shipping_group, shipping_slot_identifier, shipping_slot_delay_hours, image_url) {
3
+ this.id = id;
4
+ this.carrier_name = carrier_name;
5
+ this.delivery_category = delivery_category;
6
+ this.description = description;
7
+ this.location = location;
8
+ this.pricing = pricing;
9
+ this.link_to_carrier_website = link_to_carrier_website;
10
+ this.days_to_deliver = days_to_deliver;
11
+ this.shipping_cost_calculation_method = shipping_cost_calculation_method;
12
+ this.insurance_cost_calculation_method = insurance_cost_calculation_method;
13
+ this.insurance_cost_percentage = insurance_cost_percentage;
14
+ this.metric_factor = metric_factor;
15
+ this.allow_immediate_payment_processing = allow_immediate_payment_processing;
16
+ this.allow_postal_address = allow_postal_address;
17
+ this.allow_physical_address = allow_physical_address;
18
+ this.client_to_collect = client_to_collect;
19
+ this.is_default = is_default;
20
+ this.location_id = location_id;
21
+ this.use_zones = use_zones;
22
+ this.min_distance = min_distance;
23
+ this.max_distance = max_distance;
24
+ this.shipping_surge_condition = shipping_surge_condition;
25
+ this.shipping_surge_percentage = shipping_surge_percentage;
26
+ this.sort_priority = sort_priority;
27
+ this.shipping_group = shipping_group;
28
+ this.shipping_slot_identifier = shipping_slot_identifier;
29
+ this.shipping_slot_delay_hours = shipping_slot_delay_hours;
30
+ this.image_url = image_url;
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtc2hpcHBpbmctbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFDVyxFQUFVLEVBQ1YsWUFBb0IsRUFDcEIsaUJBQXlCLEVBQ3pCLFdBQW1CLEVBQ25CLFFBQTRCLEVBQzVCLE9BQWUsRUFDZix1QkFBK0IsRUFDL0IsZUFBdUIsRUFDdkIsZ0NBQXFFLEVBQ3JFLGlDQUF1RSxFQUN2RSx5QkFBaUMsRUFDakMsYUFBcUIsRUFDckIsa0NBQTJDLEVBQzNDLG9CQUE2QixFQUM3QixzQkFBK0IsRUFDL0IsaUJBQTBCLEVBQzFCLFVBQW1CLEVBQ25CLFdBQW1CLEVBQ25CLFNBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLFlBQW9CLEVBQ3BCLHdCQUFnQyxFQUNoQyx5QkFBaUMsRUFDakMsYUFBcUIsRUFDckIsY0FBc0IsRUFDdEIsd0JBQWdDLEVBQ2hDLHlCQUFpQyxFQUNqQyxTQUFpQjtRQTNCakIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFRO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ3ZCLHFDQUFnQyxHQUFoQyxnQ0FBZ0MsQ0FBcUM7UUFDckUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFzQztRQUN2RSw4QkFBeUIsR0FBekIseUJBQXlCLENBQVE7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsdUNBQWtDLEdBQWxDLGtDQUFrQyxDQUFTO1FBQzNDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBUztRQUM3QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQVM7UUFDL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFTO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVM7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUNsQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQVE7UUFDaEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFRO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQ3RCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBUTtRQUNoQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQVE7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUN4QixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRXNvbHZlSW5zdXJhbmNlQ29zdENhbGN1bGF0aW9uTWV0aG9kLFxyXG4gICAgRXNvbHZlTG9jYXRpb25UeXBlLFxyXG4gICAgRXNvbHZlU2hpcHBpbmdDb3N0Q2FsY3VsYXRpb25NZXRob2RcclxufSBmcm9tICcuL2Vzb2x2ZS1zaGlwcGluZy1tZXRob2QtcmVjb3JkJztcclxuXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVTaGlwcGluZ01ldGhvZCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgY2Fycmllcl9uYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGxvY2F0aW9uOiBFc29sdmVMb2NhdGlvblR5cGUsXHJcbiAgICAgICAgcHVibGljIHByaWNpbmc6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgbGlua190b19jYXJyaWVyX3dlYnNpdGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZGF5c190b19kZWxpdmVyOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHNoaXBwaW5nX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kOiBFc29sdmVTaGlwcGluZ0Nvc3RDYWxjdWxhdGlvbk1ldGhvZCxcclxuICAgICAgICBwdWJsaWMgaW5zdXJhbmNlX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kOiBFc29sdmVJbnN1cmFuY2VDb3N0Q2FsY3VsYXRpb25NZXRob2QsXHJcbiAgICAgICAgcHVibGljIGluc3VyYW5jZV9jb3N0X3BlcmNlbnRhZ2U6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgbWV0cmljX2ZhY3RvcjogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBhbGxvd19pbW1lZGlhdGVfcGF5bWVudF9wcm9jZXNzaW5nOiBib29sZWFuLFxyXG4gICAgICAgIHB1YmxpYyBhbGxvd19wb3N0YWxfYWRkcmVzczogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgYWxsb3dfcGh5c2ljYWxfYWRkcmVzczogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgY2xpZW50X3RvX2NvbGxlY3Q6IGJvb2xlYW4sXHJcbiAgICAgICAgcHVibGljIGlzX2RlZmF1bHQ6IGJvb2xlYW4sXHJcbiAgICAgICAgcHVibGljIGxvY2F0aW9uX2lkOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHVzZV96b25lczogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgbWluX2Rpc3RhbmNlOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIG1heF9kaXN0YW5jZTogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBzaGlwcGluZ19zdXJnZV9jb25kaXRpb246IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgc2hpcHBpbmdfc3VyZ2VfcGVyY2VudGFnZTogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBzb3J0X3ByaW9yaXR5OiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHNoaXBwaW5nX2dyb3VwOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHNoaXBwaW5nX3Nsb3RfaWRlbnRpZmllcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBzaGlwcGluZ19zbG90X2RlbGF5X2hvdXJzOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIGltYWdlX3VybDogc3RyaW5nXHJcbiAgICApIHsgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWxvY2F0aW9uLXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtc3RvY2stbG9jYXRpb24tcmVjb3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0b2NrTG9jYXRpb25SZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZztcclxuICAgIGhlYWRfb2ZmaWNlOiBib29sZWFuO1xyXG4gICAgZGVmYXVsdF9sb2NhdGlvbl9mb3JfcGF5bWVudF9tZXRob2RzOiBib29sZWFuO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XHJcbiAgICBlcnBfaWRlbnRpZmllcjogc3RyaW5nO1xyXG4gICAgdXNlcmlkOiBudW1iZXI7XHJcbiAgICBpbXBvcnRhbmNlOiBudW1iZXI7XHJcbiAgICBpc19hY3RpdmU6IGJvb2xlYW47XHJcbiAgICBzdHJlZXQ6IHN0cmluZztcclxuICAgIHN1YnVyYjogc3RyaW5nO1xyXG4gICAgY2l0eTogc3RyaW5nO1xyXG4gICAgcHJvdmluY2U6IHN0cmluZztcclxuICAgIGNvdW50cnk6IHN0cmluZztcclxuICAgIHBvc3RhbF9jb2RlOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbiAgICBwb2JveF9wb3N0YWxfY29kZTogc3RyaW5nO1xyXG4gICAgcG9ib3hfY2l0eTogc3RyaW5nO1xyXG4gICAgcG9ib3g6IHN0cmluZztcclxuICAgIGJyYW5jaF90ZWxudW1iZXI6IHN0cmluZztcclxuICAgIGJyYW5jaF90ZWxudW1iZXJfMjogc3RyaW5nO1xyXG4gICAgYnJhbmNoX3RlbG51bWJlcl8zOiBzdHJpbmc7XHJcbiAgICBicmFuY2hfY2VsbG51bWJlcjogc3RyaW5nO1xyXG4gICAgYnJhbmNoX2ZheDogc3RyaW5nO1xyXG4gICAgYnJhbmNoX2VtYWlsOiBzdHJpbmc7XHJcbiAgICBtb25kYXlfb3Blbl90aW1lOiBzdHJpbmc7XHJcbiAgICBtb25kYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgdHVlc2RheV9vcGVuX3RpbWU6IHN0cmluZztcclxuICAgIHR1ZXNkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgd2VkbmVzZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgd2VkbmVzZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcclxuICAgIHRodXJzZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgdGh1cnNkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgZnJpZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgZnJpZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcclxuICAgIHNhdHVyZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgc2F0dXJkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgc3VuZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgc3VuZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcclxuICAgIHB1YmxpY19ob2xpZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgcHVibGljX2hvbGlkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgdHJhZGluZ19ob3Vyc19hZGRpdGlvbmFsX2luPzogc3RyaW5nO1xyXG4gICAgd2Vic2l0ZV91cmw6IHN0cmluZztcclxufVxyXG4iXX0=