@ionic/angular 7.4.4-dev.11700515976.1ccd503d → 7.4.4-dev.11700516449.1d005735

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 (192) hide show
  1. package/README.md +0 -20
  2. package/app-initialize.d.ts +1 -1
  3. package/directives/control-value-accessors/boolean-value-accessor.d.ts +1 -1
  4. package/directives/control-value-accessors/numeric-value-accessor.d.ts +1 -1
  5. package/directives/control-value-accessors/radio-value-accessor.d.ts +1 -1
  6. package/directives/control-value-accessors/select-value-accessor.d.ts +1 -1
  7. package/directives/control-value-accessors/text-value-accessor.d.ts +1 -1
  8. package/{common/directives → directives}/control-value-accessors/value-accessor.d.ts +2 -2
  9. package/directives/navigation/ion-back-button.d.ts +16 -6
  10. package/directives/navigation/ion-router-outlet.d.ts +122 -4
  11. package/directives/navigation/ion-tabs.d.ts +64 -4
  12. package/directives/navigation/nav-delegate.d.ts +9 -0
  13. package/directives/navigation/router-link-delegate.d.ts +41 -7
  14. package/{common/directives → directives}/navigation/stack-utils.d.ts +1 -1
  15. package/directives/overlays/modal.d.ts +47 -3
  16. package/directives/overlays/popover.d.ts +43 -3
  17. package/directives/proxies-list.d.ts +1 -1
  18. package/directives/proxies.d.ts +27 -1
  19. package/esm2020/app-initialize.mjs +2 -2
  20. package/esm2020/directives/control-value-accessors/boolean-value-accessor.mjs +4 -4
  21. package/esm2020/directives/control-value-accessors/numeric-value-accessor.mjs +2 -2
  22. package/esm2020/directives/control-value-accessors/radio-value-accessor.mjs +3 -6
  23. package/esm2020/directives/control-value-accessors/select-value-accessor.mjs +2 -2
  24. package/esm2020/directives/control-value-accessors/text-value-accessor.mjs +2 -2
  25. package/esm2020/directives/control-value-accessors/value-accessor.mjs +141 -0
  26. package/esm2020/directives/navigation/ion-back-button.mjs +36 -15
  27. package/esm2020/directives/navigation/ion-router-outlet.mjs +435 -6
  28. package/esm2020/directives/navigation/ion-tabs.mjs +166 -9
  29. package/esm2020/directives/navigation/nav-delegate.mjs +42 -0
  30. package/esm2020/directives/navigation/nav-params.mjs +45 -0
  31. package/esm2020/directives/navigation/router-link-delegate.mjs +92 -11
  32. package/esm2020/directives/navigation/stack-controller.mjs +275 -0
  33. package/esm2020/directives/navigation/stack-utils.mjs +73 -0
  34. package/esm2020/directives/overlays/modal.mjs +88 -8
  35. package/esm2020/directives/overlays/popover.mjs +87 -8
  36. package/esm2020/directives/proxies-list.mjs +3 -1
  37. package/esm2020/directives/proxies.mjs +56 -4
  38. package/esm2020/index.mjs +22 -5
  39. package/esm2020/ionic-core.mjs +6 -0
  40. package/esm2020/ionic-module.mjs +32 -14
  41. package/esm2020/providers/action-sheet-controller.mjs +18 -0
  42. package/esm2020/providers/alert-controller.mjs +18 -0
  43. package/esm2020/providers/angular-delegate.mjs +152 -0
  44. package/esm2020/providers/animation-controller.mjs +37 -0
  45. package/esm2020/providers/config.mjs +44 -0
  46. package/esm2020/providers/dom-controller.mjs +44 -0
  47. package/esm2020/providers/gesture-controller.mjs +31 -0
  48. package/esm2020/providers/loading-controller.mjs +18 -0
  49. package/esm2020/providers/menu-controller.mjs +100 -0
  50. package/esm2020/providers/modal-controller.mjs +25 -0
  51. package/esm2020/providers/nav-controller.mjs +221 -0
  52. package/esm2020/providers/picker-controller.mjs +18 -0
  53. package/esm2020/providers/platform.mjs +246 -0
  54. package/esm2020/providers/popover-controller.mjs +25 -0
  55. package/esm2020/providers/toast-controller.mjs +18 -0
  56. package/esm2020/types/interfaces.mjs +2 -0
  57. package/esm2020/util/ionic-router-reuse-strategy.mjs +55 -0
  58. package/esm2020/util/overlay.mjs +25 -0
  59. package/esm2020/util/util.mjs +10 -0
  60. package/fesm2015/ionic-angular.mjs +2650 -156
  61. package/fesm2015/ionic-angular.mjs.map +1 -1
  62. package/fesm2020/ionic-angular.mjs +2642 -157
  63. package/fesm2020/ionic-angular.mjs.map +1 -1
  64. package/index.d.ts +20 -4
  65. package/ionic-core.d.ts +2 -0
  66. package/ionic-module.d.ts +2 -2
  67. package/package.json +2 -18
  68. package/{common/providers → providers}/action-sheet-controller.d.ts +2 -2
  69. package/{common/providers → providers}/alert-controller.d.ts +2 -2
  70. package/{common/providers → providers}/angular-delegate.d.ts +1 -1
  71. package/{common/providers → providers}/animation-controller.d.ts +1 -1
  72. package/{common/providers → providers}/config.d.ts +1 -1
  73. package/{common/providers → providers}/gesture-controller.d.ts +1 -1
  74. package/{common/providers → providers}/loading-controller.d.ts +2 -2
  75. package/{common/providers → providers}/modal-controller.d.ts +2 -2
  76. package/{common/providers → providers}/nav-controller.d.ts +2 -2
  77. package/{common/providers → providers}/picker-controller.d.ts +2 -2
  78. package/{common/providers → providers}/platform.d.ts +2 -2
  79. package/{common/providers → providers}/popover-controller.d.ts +2 -2
  80. package/{common/providers → providers}/toast-controller.d.ts +2 -2
  81. package/test/README.md +0 -8
  82. package/{common/types → types}/interfaces.d.ts +4 -0
  83. package/common/directives/control-value-accessors/index.d.ts +0 -1
  84. package/common/directives/navigation/back-button.d.ts +0 -26
  85. package/common/directives/navigation/nav.d.ts +0 -13
  86. package/common/directives/navigation/router-link-delegate.d.ts +0 -50
  87. package/common/directives/navigation/router-outlet.d.ts +0 -103
  88. package/common/directives/navigation/tabs.d.ts +0 -74
  89. package/common/index.d.ts +0 -28
  90. package/common/overlays/modal.d.ts +0 -50
  91. package/common/overlays/popover.d.ts +0 -46
  92. package/common/utils/proxy.d.ts +0 -8
  93. package/directives/navigation/ion-nav.d.ts +0 -8
  94. package/esm2020/common/directives/control-value-accessors/index.mjs +0 -2
  95. package/esm2020/common/directives/control-value-accessors/value-accessor.mjs +0 -141
  96. package/esm2020/common/directives/navigation/back-button.mjs +0 -59
  97. package/esm2020/common/directives/navigation/nav-params.mjs +0 -45
  98. package/esm2020/common/directives/navigation/nav.mjs +0 -47
  99. package/esm2020/common/directives/navigation/router-link-delegate.mjs +0 -111
  100. package/esm2020/common/directives/navigation/router-outlet.mjs +0 -461
  101. package/esm2020/common/directives/navigation/stack-controller.mjs +0 -275
  102. package/esm2020/common/directives/navigation/stack-utils.mjs +0 -73
  103. package/esm2020/common/directives/navigation/tabs.mjs +0 -172
  104. package/esm2020/common/index.mjs +0 -28
  105. package/esm2020/common/ionic-angular-common.mjs +0 -5
  106. package/esm2020/common/overlays/modal.mjs +0 -87
  107. package/esm2020/common/overlays/popover.mjs +0 -79
  108. package/esm2020/common/providers/action-sheet-controller.mjs +0 -18
  109. package/esm2020/common/providers/alert-controller.mjs +0 -18
  110. package/esm2020/common/providers/angular-delegate.mjs +0 -152
  111. package/esm2020/common/providers/animation-controller.mjs +0 -37
  112. package/esm2020/common/providers/config.mjs +0 -44
  113. package/esm2020/common/providers/dom-controller.mjs +0 -44
  114. package/esm2020/common/providers/gesture-controller.mjs +0 -31
  115. package/esm2020/common/providers/loading-controller.mjs +0 -18
  116. package/esm2020/common/providers/menu-controller.mjs +0 -100
  117. package/esm2020/common/providers/modal-controller.mjs +0 -25
  118. package/esm2020/common/providers/nav-controller.mjs +0 -221
  119. package/esm2020/common/providers/picker-controller.mjs +0 -18
  120. package/esm2020/common/providers/platform.mjs +0 -246
  121. package/esm2020/common/providers/popover-controller.mjs +0 -25
  122. package/esm2020/common/providers/toast-controller.mjs +0 -18
  123. package/esm2020/common/types/interfaces.mjs +0 -2
  124. package/esm2020/common/utils/overlay.mjs +0 -25
  125. package/esm2020/common/utils/proxy.mjs +0 -47
  126. package/esm2020/common/utils/routing.mjs +0 -55
  127. package/esm2020/common/utils/util.mjs +0 -10
  128. package/esm2020/directives/navigation/ion-nav.mjs +0 -21
  129. package/esm2020/standalone/directives/angular-component-lib/utils.mjs +0 -51
  130. package/esm2020/standalone/directives/checkbox.mjs +0 -73
  131. package/esm2020/standalone/directives/datetime.mjs +0 -90
  132. package/esm2020/standalone/directives/icon.mjs +0 -33
  133. package/esm2020/standalone/directives/index.mjs +0 -13
  134. package/esm2020/standalone/directives/input.mjs +0 -112
  135. package/esm2020/standalone/directives/proxies.mjs +0 -2268
  136. package/esm2020/standalone/directives/radio-group.mjs +0 -58
  137. package/esm2020/standalone/directives/radio.mjs +0 -62
  138. package/esm2020/standalone/directives/range.mjs +0 -77
  139. package/esm2020/standalone/directives/searchbar.mjs +0 -80
  140. package/esm2020/standalone/directives/segment.mjs +0 -58
  141. package/esm2020/standalone/directives/select.mjs +0 -81
  142. package/esm2020/standalone/directives/textarea.mjs +0 -90
  143. package/esm2020/standalone/directives/toggle.mjs +0 -73
  144. package/esm2020/standalone/index.mjs +0 -15
  145. package/esm2020/standalone/ionic-angular-standalone.mjs +0 -5
  146. package/esm2020/standalone/navigation/back-button.mjs +0 -32
  147. package/esm2020/standalone/navigation/nav.mjs +0 -28
  148. package/esm2020/standalone/navigation/router-link-delegate.mjs +0 -28
  149. package/esm2020/standalone/navigation/router-outlet.mjs +0 -23
  150. package/esm2020/standalone/navigation/tabs.mjs +0 -46
  151. package/esm2020/standalone/overlays/modal.mjs +0 -32
  152. package/esm2020/standalone/overlays/popover.mjs +0 -28
  153. package/esm2020/standalone/providers/ionic-angular.mjs +0 -41
  154. package/fesm2015/ionic-angular-common.mjs +0 -2620
  155. package/fesm2015/ionic-angular-common.mjs.map +0 -1
  156. package/fesm2015/ionic-angular-standalone.mjs +0 -3286
  157. package/fesm2015/ionic-angular-standalone.mjs.map +0 -1
  158. package/fesm2020/ionic-angular-common.mjs +0 -2609
  159. package/fesm2020/ionic-angular-common.mjs.map +0 -1
  160. package/fesm2020/ionic-angular-standalone.mjs +0 -3284
  161. package/fesm2020/ionic-angular-standalone.mjs.map +0 -1
  162. package/standalone/directives/angular-component-lib/utils.d.ts +0 -9
  163. package/standalone/directives/checkbox.d.ts +0 -30
  164. package/standalone/directives/datetime.d.ts +0 -30
  165. package/standalone/directives/icon.d.ts +0 -9
  166. package/standalone/directives/index.d.ts +0 -12
  167. package/standalone/directives/input.d.ts +0 -47
  168. package/standalone/directives/proxies.d.ts +0 -903
  169. package/standalone/directives/radio-group.d.ts +0 -18
  170. package/standalone/directives/radio.d.ts +0 -22
  171. package/standalone/directives/range.d.ts +0 -47
  172. package/standalone/directives/searchbar.d.ts +0 -45
  173. package/standalone/directives/segment.d.ts +0 -19
  174. package/standalone/directives/select.d.ts +0 -34
  175. package/standalone/directives/textarea.d.ts +0 -37
  176. package/standalone/directives/toggle.d.ts +0 -28
  177. package/standalone/index.d.ts +0 -12
  178. package/standalone/navigation/back-button.d.ts +0 -9
  179. package/standalone/navigation/nav.d.ts +0 -8
  180. package/standalone/navigation/router-link-delegate.d.ts +0 -10
  181. package/standalone/navigation/router-outlet.d.ts +0 -6
  182. package/standalone/navigation/tabs.d.ts +0 -12
  183. package/standalone/overlays/modal.d.ts +0 -6
  184. package/standalone/overlays/popover.d.ts +0 -6
  185. package/standalone/providers/ionic-angular.d.ts +0 -3
  186. /package/{common/directives → directives}/navigation/nav-params.d.ts +0 -0
  187. /package/{common/directives → directives}/navigation/stack-controller.d.ts +0 -0
  188. /package/{common/providers → providers}/dom-controller.d.ts +0 -0
  189. /package/{common/providers → providers}/menu-controller.d.ts +0 -0
  190. /package/{common/utils/routing.d.ts → util/ionic-router-reuse-strategy.d.ts} +0 -0
  191. /package/{common/utils → util}/overlay.d.ts +0 -0
  192. /package/{common/utils → util}/util.d.ts +0 -0
@@ -1,246 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { getPlatforms, isPlatform } from '@ionic/core/components';
4
- import { Subject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export class Platform {
7
- constructor(doc, zone) {
8
- this.doc = doc;
9
- /**
10
- * @hidden
11
- */
12
- this.backButton = new Subject();
13
- /**
14
- * The keyboardDidShow event emits when the
15
- * on-screen keyboard is presented.
16
- */
17
- this.keyboardDidShow = new Subject();
18
- /**
19
- * The keyboardDidHide event emits when the
20
- * on-screen keyboard is hidden.
21
- */
22
- this.keyboardDidHide = new Subject();
23
- /**
24
- * The pause event emits when the native platform puts the application
25
- * into the background, typically when the user switches to a different
26
- * application. This event would emit when a Cordova app is put into
27
- * the background, however, it would not fire on a standard web browser.
28
- */
29
- this.pause = new Subject();
30
- /**
31
- * The resume event emits when the native platform pulls the application
32
- * out from the background. This event would emit when a Cordova app comes
33
- * out from the background, however, it would not fire on a standard web browser.
34
- */
35
- this.resume = new Subject();
36
- /**
37
- * The resize event emits when the browser window has changed dimensions. This
38
- * could be from a browser window being physically resized, or from a device
39
- * changing orientation.
40
- */
41
- this.resize = new Subject();
42
- zone.run(() => {
43
- this.win = doc.defaultView;
44
- this.backButton.subscribeWithPriority = function (priority, callback) {
45
- return this.subscribe((ev) => {
46
- return ev.register(priority, (processNextHandler) => zone.run(() => callback(processNextHandler)));
47
- });
48
- };
49
- proxyEvent(this.pause, doc, 'pause');
50
- proxyEvent(this.resume, doc, 'resume');
51
- proxyEvent(this.backButton, doc, 'ionBackButton');
52
- proxyEvent(this.resize, this.win, 'resize');
53
- proxyEvent(this.keyboardDidShow, this.win, 'ionKeyboardDidShow');
54
- proxyEvent(this.keyboardDidHide, this.win, 'ionKeyboardDidHide');
55
- let readyResolve;
56
- this._readyPromise = new Promise((res) => {
57
- readyResolve = res;
58
- });
59
- if (this.win?.['cordova']) {
60
- doc.addEventListener('deviceready', () => {
61
- readyResolve('cordova');
62
- }, { once: true });
63
- }
64
- else {
65
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
66
- readyResolve('dom');
67
- }
68
- });
69
- }
70
- /**
71
- * @returns returns true/false based on platform.
72
- * @description
73
- * Depending on the platform the user is on, `is(platformName)` will
74
- * return `true` or `false`. Note that the same app can return `true`
75
- * for more than one platform name. For example, an app running from
76
- * an iPad would return `true` for the platform names: `mobile`,
77
- * `ios`, `ipad`, and `tablet`. Additionally, if the app was running
78
- * from Cordova then `cordova` would be true, and if it was running
79
- * from a web browser on the iPad then `mobileweb` would be `true`.
80
- *
81
- * ```
82
- * import { Platform } from 'ionic-angular';
83
- *
84
- * @Component({...})
85
- * export MyPage {
86
- * constructor(public platform: Platform) {
87
- * if (this.platform.is('ios')) {
88
- * // This will only print when on iOS
89
- * console.log('I am an iOS device!');
90
- * }
91
- * }
92
- * }
93
- * ```
94
- *
95
- * | Platform Name | Description |
96
- * |-----------------|------------------------------------|
97
- * | android | on a device running Android. |
98
- * | capacitor | on a device running Capacitor. |
99
- * | cordova | on a device running Cordova. |
100
- * | ios | on a device running iOS. |
101
- * | ipad | on an iPad device. |
102
- * | iphone | on an iPhone device. |
103
- * | phablet | on a phablet device. |
104
- * | tablet | on a tablet device. |
105
- * | electron | in Electron on a desktop device. |
106
- * | pwa | as a PWA app. |
107
- * | mobile | on a mobile device. |
108
- * | mobileweb | on a mobile device in a browser. |
109
- * | desktop | on a desktop device. |
110
- * | hybrid | is a cordova or capacitor app. |
111
- *
112
- */
113
- is(platformName) {
114
- return isPlatform(this.win, platformName);
115
- }
116
- /**
117
- * @returns the array of platforms
118
- * @description
119
- * Depending on what device you are on, `platforms` can return multiple values.
120
- * Each possible value is a hierarchy of platforms. For example, on an iPhone,
121
- * it would return `mobile`, `ios`, and `iphone`.
122
- *
123
- * ```
124
- * import { Platform } from 'ionic-angular';
125
- *
126
- * @Component({...})
127
- * export MyPage {
128
- * constructor(public platform: Platform) {
129
- * // This will print an array of the current platforms
130
- * console.log(this.platform.platforms());
131
- * }
132
- * }
133
- * ```
134
- */
135
- platforms() {
136
- return getPlatforms(this.win);
137
- }
138
- /**
139
- * Returns a promise when the platform is ready and native functionality
140
- * can be called. If the app is running from within a web browser, then
141
- * the promise will resolve when the DOM is ready. When the app is running
142
- * from an application engine such as Cordova, then the promise will
143
- * resolve when Cordova triggers the `deviceready` event.
144
- *
145
- * The resolved value is the `readySource`, which states which platform
146
- * ready was used. For example, when Cordova is ready, the resolved ready
147
- * source is `cordova`. The default ready source value will be `dom`. The
148
- * `readySource` is useful if different logic should run depending on the
149
- * platform the app is running from. For example, only Cordova can execute
150
- * the status bar plugin, so the web should not run status bar plugin logic.
151
- *
152
- * ```
153
- * import { Component } from '@angular/core';
154
- * import { Platform } from 'ionic-angular';
155
- *
156
- * @Component({...})
157
- * export MyApp {
158
- * constructor(public platform: Platform) {
159
- * this.platform.ready().then((readySource) => {
160
- * console.log('Platform ready from', readySource);
161
- * // Platform now ready, execute any required native code
162
- * });
163
- * }
164
- * }
165
- * ```
166
- */
167
- ready() {
168
- return this._readyPromise;
169
- }
170
- /**
171
- * Returns if this app is using right-to-left language direction or not.
172
- * We recommend the app's `index.html` file already has the correct `dir`
173
- * attribute value set, such as `<html dir="ltr">` or `<html dir="rtl">`.
174
- * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir)
175
- */
176
- get isRTL() {
177
- return this.doc.dir === 'rtl';
178
- }
179
- /**
180
- * Get the query string parameter
181
- */
182
- getQueryParam(key) {
183
- return readQueryParam(this.win.location.href, key);
184
- }
185
- /**
186
- * Returns `true` if the app is in landscape mode.
187
- */
188
- isLandscape() {
189
- return !this.isPortrait();
190
- }
191
- /**
192
- * Returns `true` if the app is in portrait mode.
193
- */
194
- isPortrait() {
195
- return this.win.matchMedia?.('(orientation: portrait)').matches;
196
- }
197
- testUserAgent(expression) {
198
- const nav = this.win.navigator;
199
- return !!(nav?.userAgent && nav.userAgent.indexOf(expression) >= 0);
200
- }
201
- /**
202
- * Get the current url.
203
- */
204
- url() {
205
- return this.win.location.href;
206
- }
207
- /**
208
- * Gets the width of the platform's viewport using `window.innerWidth`.
209
- */
210
- width() {
211
- return this.win.innerWidth;
212
- }
213
- /**
214
- * Gets the height of the platform's viewport using `window.innerHeight`.
215
- */
216
- height() {
217
- return this.win.innerHeight;
218
- }
219
- }
220
- /** @nocollapse */ Platform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Platform, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
221
- /** @nocollapse */ Platform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Platform, providedIn: 'root' });
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Platform, decorators: [{
223
- type: Injectable,
224
- args: [{
225
- providedIn: 'root',
226
- }]
227
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
228
- type: Inject,
229
- args: [DOCUMENT]
230
- }] }, { type: i0.NgZone }]; } });
231
- const readQueryParam = (url, key) => {
232
- key = key.replace(/[[\]\\]/g, '\\$&');
233
- const regex = new RegExp('[\\?&]' + key + '=([^&#]*)');
234
- const results = regex.exec(url);
235
- return results ? decodeURIComponent(results[1].replace(/\+/g, ' ')) : null;
236
- };
237
- const proxyEvent = (emitter, el, eventName) => {
238
- if (el) {
239
- el.addEventListener(eventName, (ev) => {
240
- // ?? cordova might emit "null" events
241
- const value = ev != null ? ev.detail : undefined;
242
- emitter.next(value);
243
- });
244
- }
245
- };
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21tb24vc3JjL3Byb3ZpZGVycy9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFVLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFjN0MsTUFBTSxPQUFPLFFBQVE7SUEyQ25CLFlBQXNDLEdBQVEsRUFBRSxJQUFZO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQUs7UUF2QzlDOztXQUVHO1FBQ0gsZUFBVSxHQUFHLElBQUksT0FBTyxFQUE4QyxDQUFDO1FBRXZFOzs7V0FHRztRQUNILG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFFckQ7OztXQUdHO1FBQ0gsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXRDOzs7OztXQUtHO1FBQ0gsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFNUI7Ozs7V0FJRztRQUNILFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTdCOzs7O1dBSUc7UUFDSCxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUczQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixHQUFHLFVBQVUsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO29CQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztZQUVGLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNyQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2pFLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUVqRSxJQUFJLFlBQXFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUN2QyxZQUFZLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3pCLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FDbEIsYUFBYSxFQUNiLEdBQUcsRUFBRTtvQkFDSCxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzFCLENBQUMsRUFDRCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsb0VBQW9FO2dCQUNwRSxZQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BMENHO0lBQ0gsRUFBRSxDQUFDLFlBQXVCO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQkc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNILEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLEdBQVc7UUFDdkIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbEUsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO0lBQzlCLENBQUM7O3lIQTVPVSxRQUFRLGtCQTJDQyxRQUFROzZIQTNDakIsUUFBUSxjQUZQLE1BQU07NEZBRVAsUUFBUTtrQkFIcEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQTRDYyxNQUFNOzJCQUFDLFFBQVE7O0FBb005QixNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUNsRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUN2RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDN0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBSSxPQUFtQixFQUFFLEVBQWUsRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDaEYsSUFBSSxFQUFFLEVBQUU7UUFDTixFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDcEMsc0NBQXNDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFFLEVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxRCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ1pvbmUsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0UGxhdGZvcm1zLCBpc1BsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEJhY2tCdXR0b25FdmVudERldGFpbCwgS2V5Ym9hcmRFdmVudERldGFpbCwgUGxhdGZvcm1zIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLy8gVE9ETyhGVy0yODI3KTogdHlwZXNcblxuZXhwb3J0IGludGVyZmFjZSBCYWNrQnV0dG9uRW1pdHRlciBleHRlbmRzIFN1YmplY3Q8QmFja0J1dHRvbkV2ZW50RGV0YWlsPiB7XG4gIHN1YnNjcmliZVdpdGhQcmlvcml0eShcbiAgICBwcmlvcml0eTogbnVtYmVyLFxuICAgIGNhbGxiYWNrOiAocHJvY2Vzc05leHRIYW5kbGVyOiAoKSA9PiB2b2lkKSA9PiBQcm9taXNlPGFueT4gfCB2b2lkXG4gICk6IFN1YnNjcmlwdGlvbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBsYXRmb3JtIHtcbiAgcHJpdmF0ZSBfcmVhZHlQcm9taXNlOiBQcm9taXNlPHN0cmluZz47XG4gIHByaXZhdGUgd2luOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBoaWRkZW5cbiAgICovXG4gIGJhY2tCdXR0b24gPSBuZXcgU3ViamVjdDxCYWNrQnV0dG9uRXZlbnREZXRhaWw+KCkgYXMgQmFja0J1dHRvbkVtaXR0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBrZXlib2FyZERpZFNob3cgZXZlbnQgZW1pdHMgd2hlbiB0aGVcbiAgICogb24tc2NyZWVuIGtleWJvYXJkIGlzIHByZXNlbnRlZC5cbiAgICovXG4gIGtleWJvYXJkRGlkU2hvdyA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnREZXRhaWw+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBrZXlib2FyZERpZEhpZGUgZXZlbnQgZW1pdHMgd2hlbiB0aGVcbiAgICogb24tc2NyZWVuIGtleWJvYXJkIGlzIGhpZGRlbi5cbiAgICovXG4gIGtleWJvYXJkRGlkSGlkZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXVzZSBldmVudCBlbWl0cyB3aGVuIHRoZSBuYXRpdmUgcGxhdGZvcm0gcHV0cyB0aGUgYXBwbGljYXRpb25cbiAgICogaW50byB0aGUgYmFja2dyb3VuZCwgdHlwaWNhbGx5IHdoZW4gdGhlIHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnRcbiAgICogYXBwbGljYXRpb24uIFRoaXMgZXZlbnQgd291bGQgZW1pdCB3aGVuIGEgQ29yZG92YSBhcHAgaXMgcHV0IGludG9cbiAgICogdGhlIGJhY2tncm91bmQsIGhvd2V2ZXIsIGl0IHdvdWxkIG5vdCBmaXJlIG9uIGEgc3RhbmRhcmQgd2ViIGJyb3dzZXIuXG4gICAqL1xuICBwYXVzZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSByZXN1bWUgZXZlbnQgZW1pdHMgd2hlbiB0aGUgbmF0aXZlIHBsYXRmb3JtIHB1bGxzIHRoZSBhcHBsaWNhdGlvblxuICAgKiBvdXQgZnJvbSB0aGUgYmFja2dyb3VuZC4gVGhpcyBldmVudCB3b3VsZCBlbWl0IHdoZW4gYSBDb3Jkb3ZhIGFwcCBjb21lc1xuICAgKiBvdXQgZnJvbSB0aGUgYmFja2dyb3VuZCwgaG93ZXZlciwgaXQgd291bGQgbm90IGZpcmUgb24gYSBzdGFuZGFyZCB3ZWIgYnJvd3Nlci5cbiAgICovXG4gIHJlc3VtZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNpemUgZXZlbnQgZW1pdHMgd2hlbiB0aGUgYnJvd3NlciB3aW5kb3cgaGFzIGNoYW5nZWQgZGltZW5zaW9ucy4gVGhpc1xuICAgKiBjb3VsZCBiZSBmcm9tIGEgYnJvd3NlciB3aW5kb3cgYmVpbmcgcGh5c2ljYWxseSByZXNpemVkLCBvciBmcm9tIGEgZGV2aWNlXG4gICAqIGNoYW5naW5nIG9yaWVudGF0aW9uLlxuICAgKi9cbiAgcmVzaXplID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvYzogYW55LCB6b25lOiBOZ1pvbmUpIHtcbiAgICB6b25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLndpbiA9IGRvYy5kZWZhdWx0VmlldztcbiAgICAgIHRoaXMuYmFja0J1dHRvbi5zdWJzY3JpYmVXaXRoUHJpb3JpdHkgPSBmdW5jdGlvbiAocHJpb3JpdHksIGNhbGxiYWNrKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgICAgICByZXR1cm4gZXYucmVnaXN0ZXIocHJpb3JpdHksIChwcm9jZXNzTmV4dEhhbmRsZXIpID0+IHpvbmUucnVuKCgpID0+IGNhbGxiYWNrKHByb2Nlc3NOZXh0SGFuZGxlcikpKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBwcm94eUV2ZW50KHRoaXMucGF1c2UsIGRvYywgJ3BhdXNlJyk7XG4gICAgICBwcm94eUV2ZW50KHRoaXMucmVzdW1lLCBkb2MsICdyZXN1bWUnKTtcbiAgICAgIHByb3h5RXZlbnQodGhpcy5iYWNrQnV0dG9uLCBkb2MsICdpb25CYWNrQnV0dG9uJyk7XG4gICAgICBwcm94eUV2ZW50KHRoaXMucmVzaXplLCB0aGlzLndpbiwgJ3Jlc2l6ZScpO1xuICAgICAgcHJveHlFdmVudCh0aGlzLmtleWJvYXJkRGlkU2hvdywgdGhpcy53aW4sICdpb25LZXlib2FyZERpZFNob3cnKTtcbiAgICAgIHByb3h5RXZlbnQodGhpcy5rZXlib2FyZERpZEhpZGUsIHRoaXMud2luLCAnaW9uS2V5Ym9hcmREaWRIaWRlJyk7XG5cbiAgICAgIGxldCByZWFkeVJlc29sdmU6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgICAgdGhpcy5fcmVhZHlQcm9taXNlID0gbmV3IFByb21pc2UoKHJlcykgPT4ge1xuICAgICAgICByZWFkeVJlc29sdmUgPSByZXM7XG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLndpbj8uWydjb3Jkb3ZhJ10pIHtcbiAgICAgICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgJ2RldmljZXJlYWR5JyxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICByZWFkeVJlc29sdmUoJ2NvcmRvdmEnKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICByZWFkeVJlc29sdmUhKCdkb20nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyByZXR1cm5zIHRydWUvZmFsc2UgYmFzZWQgb24gcGxhdGZvcm0uXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIHRoZSB1c2VyIGlzIG9uLCBgaXMocGxhdGZvcm1OYW1lKWAgd2lsbFxuICAgKiByZXR1cm4gYHRydWVgIG9yIGBmYWxzZWAuIE5vdGUgdGhhdCB0aGUgc2FtZSBhcHAgY2FuIHJldHVybiBgdHJ1ZWBcbiAgICogZm9yIG1vcmUgdGhhbiBvbmUgcGxhdGZvcm0gbmFtZS4gRm9yIGV4YW1wbGUsIGFuIGFwcCBydW5uaW5nIGZyb21cbiAgICogYW4gaVBhZCB3b3VsZCByZXR1cm4gYHRydWVgIGZvciB0aGUgcGxhdGZvcm0gbmFtZXM6IGBtb2JpbGVgLFxuICAgKiBgaW9zYCwgYGlwYWRgLCBhbmQgYHRhYmxldGAuIEFkZGl0aW9uYWxseSwgaWYgdGhlIGFwcCB3YXMgcnVubmluZ1xuICAgKiBmcm9tIENvcmRvdmEgdGhlbiBgY29yZG92YWAgd291bGQgYmUgdHJ1ZSwgYW5kIGlmIGl0IHdhcyBydW5uaW5nXG4gICAqIGZyb20gYSB3ZWIgYnJvd3NlciBvbiB0aGUgaVBhZCB0aGVuIGBtb2JpbGV3ZWJgIHdvdWxkIGJlIGB0cnVlYC5cbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnaW9uaWMtYW5ndWxhcic7XG4gICAqXG4gICAqIEBDb21wb25lbnQoey4uLn0pXG4gICAqIGV4cG9ydCBNeVBhZ2Uge1xuICAgKiAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwbGF0Zm9ybTogUGxhdGZvcm0pIHtcbiAgICogICAgIGlmICh0aGlzLnBsYXRmb3JtLmlzKCdpb3MnKSkge1xuICAgKiAgICAgICAvLyBUaGlzIHdpbGwgb25seSBwcmludCB3aGVuIG9uIGlPU1xuICAgKiAgICAgICBjb25zb2xlLmxvZygnSSBhbSBhbiBpT1MgZGV2aWNlIScpO1xuICAgKiAgICAgfVxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogfCBQbGF0Zm9ybSBOYW1lICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfC0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAgICogfCBhbmRyb2lkICAgICAgICAgfCBvbiBhIGRldmljZSBydW5uaW5nIEFuZHJvaWQuICAgICAgIHxcbiAgICogfCBjYXBhY2l0b3IgICAgICAgfCBvbiBhIGRldmljZSBydW5uaW5nIENhcGFjaXRvci4gICAgIHxcbiAgICogfCBjb3Jkb3ZhICAgICAgICAgfCBvbiBhIGRldmljZSBydW5uaW5nIENvcmRvdmEuICAgICAgIHxcbiAgICogfCBpb3MgICAgICAgICAgICAgfCBvbiBhIGRldmljZSBydW5uaW5nIGlPUy4gICAgICAgICAgIHxcbiAgICogfCBpcGFkICAgICAgICAgICAgfCBvbiBhbiBpUGFkIGRldmljZS4gICAgICAgICAgICAgICAgIHxcbiAgICogfCBpcGhvbmUgICAgICAgICAgfCBvbiBhbiBpUGhvbmUgZGV2aWNlLiAgICAgICAgICAgICAgIHxcbiAgICogfCBwaGFibGV0ICAgICAgICAgfCBvbiBhIHBoYWJsZXQgZGV2aWNlLiAgICAgICAgICAgICAgIHxcbiAgICogfCB0YWJsZXQgICAgICAgICAgfCBvbiBhIHRhYmxldCBkZXZpY2UuICAgICAgICAgICAgICAgIHxcbiAgICogfCBlbGVjdHJvbiAgICAgICAgfCBpbiBFbGVjdHJvbiBvbiBhIGRlc2t0b3AgZGV2aWNlLiAgIHxcbiAgICogfCBwd2EgICAgICAgICAgICAgfCBhcyBhIFBXQSBhcHAuICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfCBtb2JpbGUgICAgICAgICAgfCBvbiBhIG1vYmlsZSBkZXZpY2UuICAgICAgICAgICAgICAgIHxcbiAgICogfCBtb2JpbGV3ZWIgICAgICAgfCBvbiBhIG1vYmlsZSBkZXZpY2UgaW4gYSBicm93c2VyLiAgIHxcbiAgICogfCBkZXNrdG9wICAgICAgICAgfCBvbiBhIGRlc2t0b3AgZGV2aWNlLiAgICAgICAgICAgICAgIHxcbiAgICogfCBoeWJyaWQgICAgICAgICAgfCBpcyBhIGNvcmRvdmEgb3IgY2FwYWNpdG9yIGFwcC4gICAgIHxcbiAgICpcbiAgICovXG4gIGlzKHBsYXRmb3JtTmFtZTogUGxhdGZvcm1zKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzUGxhdGZvcm0odGhpcy53aW4sIHBsYXRmb3JtTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgdGhlIGFycmF5IG9mIHBsYXRmb3Jtc1xuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGVwZW5kaW5nIG9uIHdoYXQgZGV2aWNlIHlvdSBhcmUgb24sIGBwbGF0Zm9ybXNgIGNhbiByZXR1cm4gbXVsdGlwbGUgdmFsdWVzLlxuICAgKiBFYWNoIHBvc3NpYmxlIHZhbHVlIGlzIGEgaGllcmFyY2h5IG9mIHBsYXRmb3Jtcy4gRm9yIGV4YW1wbGUsIG9uIGFuIGlQaG9uZSxcbiAgICogaXQgd291bGQgcmV0dXJuIGBtb2JpbGVgLCBgaW9zYCwgYW5kIGBpcGhvbmVgLlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdpb25pYy1hbmd1bGFyJztcbiAgICpcbiAgICogQENvbXBvbmVudCh7Li4ufSlcbiAgICogZXhwb3J0IE15UGFnZSB7XG4gICAqICAgY29uc3RydWN0b3IocHVibGljIHBsYXRmb3JtOiBQbGF0Zm9ybSkge1xuICAgKiAgICAgLy8gVGhpcyB3aWxsIHByaW50IGFuIGFycmF5IG9mIHRoZSBjdXJyZW50IHBsYXRmb3Jtc1xuICAgKiAgICAgY29uc29sZS5sb2codGhpcy5wbGF0Zm9ybS5wbGF0Zm9ybXMoKSk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgcGxhdGZvcm1zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZ2V0UGxhdGZvcm1zKHRoaXMud2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcHJvbWlzZSB3aGVuIHRoZSBwbGF0Zm9ybSBpcyByZWFkeSBhbmQgbmF0aXZlIGZ1bmN0aW9uYWxpdHlcbiAgICogY2FuIGJlIGNhbGxlZC4gSWYgdGhlIGFwcCBpcyBydW5uaW5nIGZyb20gd2l0aGluIGEgd2ViIGJyb3dzZXIsIHRoZW5cbiAgICogdGhlIHByb21pc2Ugd2lsbCByZXNvbHZlIHdoZW4gdGhlIERPTSBpcyByZWFkeS4gV2hlbiB0aGUgYXBwIGlzIHJ1bm5pbmdcbiAgICogZnJvbSBhbiBhcHBsaWNhdGlvbiBlbmdpbmUgc3VjaCBhcyBDb3Jkb3ZhLCB0aGVuIHRoZSBwcm9taXNlIHdpbGxcbiAgICogcmVzb2x2ZSB3aGVuIENvcmRvdmEgdHJpZ2dlcnMgdGhlIGBkZXZpY2VyZWFkeWAgZXZlbnQuXG4gICAqXG4gICAqIFRoZSByZXNvbHZlZCB2YWx1ZSBpcyB0aGUgYHJlYWR5U291cmNlYCwgd2hpY2ggc3RhdGVzIHdoaWNoIHBsYXRmb3JtXG4gICAqIHJlYWR5IHdhcyB1c2VkLiBGb3IgZXhhbXBsZSwgd2hlbiBDb3Jkb3ZhIGlzIHJlYWR5LCB0aGUgcmVzb2x2ZWQgcmVhZHlcbiAgICogc291cmNlIGlzIGBjb3Jkb3ZhYC4gVGhlIGRlZmF1bHQgcmVhZHkgc291cmNlIHZhbHVlIHdpbGwgYmUgYGRvbWAuIFRoZVxuICAgKiBgcmVhZHlTb3VyY2VgIGlzIHVzZWZ1bCBpZiBkaWZmZXJlbnQgbG9naWMgc2hvdWxkIHJ1biBkZXBlbmRpbmcgb24gdGhlXG4gICAqIHBsYXRmb3JtIHRoZSBhcHAgaXMgcnVubmluZyBmcm9tLiBGb3IgZXhhbXBsZSwgb25seSBDb3Jkb3ZhIGNhbiBleGVjdXRlXG4gICAqIHRoZSBzdGF0dXMgYmFyIHBsdWdpbiwgc28gdGhlIHdlYiBzaG91bGQgbm90IHJ1biBzdGF0dXMgYmFyIHBsdWdpbiBsb2dpYy5cbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICAgKiBpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ2lvbmljLWFuZ3VsYXInO1xuICAgKlxuICAgKiBAQ29tcG9uZW50KHsuLi59KVxuICAgKiBleHBvcnQgTXlBcHAge1xuICAgKiAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwbGF0Zm9ybTogUGxhdGZvcm0pIHtcbiAgICogICAgIHRoaXMucGxhdGZvcm0ucmVhZHkoKS50aGVuKChyZWFkeVNvdXJjZSkgPT4ge1xuICAgKiAgICAgICBjb25zb2xlLmxvZygnUGxhdGZvcm0gcmVhZHkgZnJvbScsIHJlYWR5U291cmNlKTtcbiAgICogICAgICAgLy8gUGxhdGZvcm0gbm93IHJlYWR5LCBleGVjdXRlIGFueSByZXF1aXJlZCBuYXRpdmUgY29kZVxuICAgKiAgICAgfSk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZHkoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHlQcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgaWYgdGhpcyBhcHAgaXMgdXNpbmcgcmlnaHQtdG8tbGVmdCBsYW5ndWFnZSBkaXJlY3Rpb24gb3Igbm90LlxuICAgKiBXZSByZWNvbW1lbmQgdGhlIGFwcCdzIGBpbmRleC5odG1sYCBmaWxlIGFscmVhZHkgaGFzIHRoZSBjb3JyZWN0IGBkaXJgXG4gICAqIGF0dHJpYnV0ZSB2YWx1ZSBzZXQsIHN1Y2ggYXMgYDxodG1sIGRpcj1cImx0clwiPmAgb3IgYDxodG1sIGRpcj1cInJ0bFwiPmAuXG4gICAqIFtXM0M6IFN0cnVjdHVyYWwgbWFya3VwIGFuZCByaWdodC10by1sZWZ0IHRleHQgaW4gSFRNTF0oaHR0cDovL3d3dy53My5vcmcvSW50ZXJuYXRpb25hbC9xdWVzdGlvbnMvcWEtaHRtbC1kaXIpXG4gICAqL1xuICBnZXQgaXNSVEwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jLmRpciA9PT0gJ3J0bCc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBxdWVyeSBzdHJpbmcgcGFyYW1ldGVyXG4gICAqL1xuICBnZXRRdWVyeVBhcmFtKGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHJlYWRRdWVyeVBhcmFtKHRoaXMud2luLmxvY2F0aW9uLmhyZWYsIGtleSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFwcCBpcyBpbiBsYW5kc2NhcGUgbW9kZS5cbiAgICovXG4gIGlzTGFuZHNjYXBlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc1BvcnRyYWl0KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFwcCBpcyBpbiBwb3J0cmFpdCBtb2RlLlxuICAgKi9cbiAgaXNQb3J0cmFpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy53aW4ubWF0Y2hNZWRpYT8uKCcob3JpZW50YXRpb246IHBvcnRyYWl0KScpLm1hdGNoZXM7XG4gIH1cblxuICB0ZXN0VXNlckFnZW50KGV4cHJlc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5hdiA9IHRoaXMud2luLm5hdmlnYXRvcjtcbiAgICByZXR1cm4gISEobmF2Py51c2VyQWdlbnQgJiYgbmF2LnVzZXJBZ2VudC5pbmRleE9mKGV4cHJlc3Npb24pID49IDApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCB1cmwuXG4gICAqL1xuICB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy53aW4ubG9jYXRpb24uaHJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB3aWR0aCBvZiB0aGUgcGxhdGZvcm0ncyB2aWV3cG9ydCB1c2luZyBgd2luZG93LmlubmVyV2lkdGhgLlxuICAgKi9cbiAgd2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy53aW4uaW5uZXJXaWR0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWlnaHQgb2YgdGhlIHBsYXRmb3JtJ3Mgdmlld3BvcnQgdXNpbmcgYHdpbmRvdy5pbm5lckhlaWdodGAuXG4gICAqL1xuICBoZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy53aW4uaW5uZXJIZWlnaHQ7XG4gIH1cbn1cblxuY29uc3QgcmVhZFF1ZXJ5UGFyYW0gPSAodXJsOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XG4gIGtleSA9IGtleS5yZXBsYWNlKC9bW1xcXVxcXFxdL2csICdcXFxcJCYnKTtcbiAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKCdbXFxcXD8mXScgKyBrZXkgKyAnPShbXiYjXSopJyk7XG4gIGNvbnN0IHJlc3VsdHMgPSByZWdleC5leGVjKHVybCk7XG4gIHJldHVybiByZXN1bHRzID8gZGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdHNbMV0ucmVwbGFjZSgvXFwrL2csICcgJykpIDogbnVsbDtcbn07XG5cbmNvbnN0IHByb3h5RXZlbnQgPSA8VD4oZW1pdHRlcjogU3ViamVjdDxUPiwgZWw6IEV2ZW50VGFyZ2V0LCBldmVudE5hbWU6IHN0cmluZykgPT4ge1xuICBpZiAoZWwpIHtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGV2KSA9PiB7XG4gICAgICAvLyA/PyBjb3Jkb3ZhIG1pZ2h0IGVtaXQgXCJudWxsXCIgZXZlbnRzXG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ICE9IG51bGwgPyAoZXYgYXMgYW55KS5kZXRhaWwgOiB1bmRlZmluZWQ7XG4gICAgICBlbWl0dGVyLm5leHQodmFsdWUpO1xuICAgIH0pO1xuICB9XG59O1xuIl19
@@ -1,25 +0,0 @@
1
- import { Injector, Injectable, inject, EnvironmentInjector } from '@angular/core';
2
- import { popoverController } from '@ionic/core/components';
3
- import { OverlayBaseController } from '../utils/overlay';
4
- import { AngularDelegate } from './angular-delegate';
5
- import * as i0 from "@angular/core";
6
- export class PopoverController extends OverlayBaseController {
7
- constructor() {
8
- super(popoverController);
9
- this.angularDelegate = inject(AngularDelegate);
10
- this.injector = inject(Injector);
11
- this.environmentInjector = inject(EnvironmentInjector);
12
- }
13
- create(opts) {
14
- return super.create({
15
- ...opts,
16
- delegate: this.angularDelegate.create(this.environmentInjector, this.injector, 'popover'),
17
- });
18
- }
19
- }
20
- /** @nocollapse */ PopoverController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PopoverController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
- /** @nocollapse */ PopoverController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PopoverController });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PopoverController, decorators: [{
23
- type: Injectable
24
- }], ctorParameters: function () { return []; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tbW9uL3NyYy9wcm92aWRlcnMvcG9wb3Zlci1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBR3JELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBNEQ7SUFLakc7UUFDRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUxuQixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBSTFELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBb0I7UUFDekIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2xCLEdBQUcsSUFBSTtZQUNQLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7U0FDMUYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0lBZFUsaUJBQWlCO3NJQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBJbmplY3RhYmxlLCBpbmplY3QsIEVudmlyb25tZW50SW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgUG9wb3Zlck9wdGlvbnMgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7IHBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IE92ZXJsYXlCYXNlQ29udHJvbGxlciB9IGZyb20gJy4uL3V0aWxzL292ZXJsYXknO1xuXG5pbXBvcnQgeyBBbmd1bGFyRGVsZWdhdGUgfSBmcm9tICcuL2FuZ3VsYXItZGVsZWdhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbnRyb2xsZXIgZXh0ZW5kcyBPdmVybGF5QmFzZUNvbnRyb2xsZXI8UG9wb3Zlck9wdGlvbnMsIEhUTUxJb25Qb3BvdmVyRWxlbWVudD4ge1xuICBwcml2YXRlIGFuZ3VsYXJEZWxlZ2F0ZSA9IGluamVjdChBbmd1bGFyRGVsZWdhdGUpO1xuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSBlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHBvcG92ZXJDb250cm9sbGVyKTtcbiAgfVxuXG4gIGNyZWF0ZShvcHRzOiBQb3BvdmVyT3B0aW9ucyk6IFByb21pc2U8SFRNTElvblBvcG92ZXJFbGVtZW50PiB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZSh7XG4gICAgICAuLi5vcHRzLFxuICAgICAgZGVsZWdhdGU6IHRoaXMuYW5ndWxhckRlbGVnYXRlLmNyZWF0ZSh0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsIHRoaXMuaW5qZWN0b3IsICdwb3BvdmVyJyksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { toastController } from '@ionic/core/components';
3
- import { OverlayBaseController } from '../utils/overlay';
4
- import * as i0 from "@angular/core";
5
- export class ToastController extends OverlayBaseController {
6
- constructor() {
7
- super(toastController);
8
- }
9
- }
10
- /** @nocollapse */ ToastController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
- /** @nocollapse */ ToastController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastController, providedIn: 'root' });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastController, decorators: [{
13
- type: Injectable,
14
- args: [{
15
- providedIn: 'root',
16
- }]
17
- }], ctorParameters: function () { return []; } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvcHJvdmlkZXJzL3RvYXN0LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBS3pELE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUF3RDtJQUMzRjtRQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QixDQUFDOztnSUFIVSxlQUFlO29JQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBUb2FzdE9wdGlvbnMgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7IHRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBPdmVybGF5QmFzZUNvbnRyb2xsZXIgfSBmcm9tICcuLi91dGlscy9vdmVybGF5JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29udHJvbGxlciBleHRlbmRzIE92ZXJsYXlCYXNlQ29udHJvbGxlcjxUb2FzdE9wdGlvbnMsIEhUTUxJb25Ub2FzdEVsZW1lbnQ+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIodG9hc3RDb250cm9sbGVyKTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdHlwZXMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJb25pY0dsb2JhbCB7XG4gIGNvbmZpZz86IGFueTsgLy8gVE9ETyhGVy0yODI3KTogdHlwZVxuICBhc3luY1F1ZXVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb25pY1dpbmRvdyBleHRlbmRzIFdpbmRvdyB7XG4gIElvbmljOiBJb25pY0dsb2JhbDtcbiAgX196b25lX3N5bWJvbF9fcmVxdWVzdEFuaW1hdGlvbkZyYW1lPzogKHRzOiBGcmFtZVJlcXVlc3RDYWxsYmFjaykgPT4gbnVtYmVyO1xufVxuIl19
@@ -1,25 +0,0 @@
1
- // TODO(FW-2827): types
2
- export class OverlayBaseController {
3
- constructor(ctrl) {
4
- this.ctrl = ctrl;
5
- }
6
- /**
7
- * Creates a new overlay
8
- */
9
- create(opts) {
10
- return this.ctrl.create((opts || {}));
11
- }
12
- /**
13
- * When `id` is not provided, it dismisses the top overlay.
14
- */
15
- dismiss(data, role, id) {
16
- return this.ctrl.dismiss(data, role, id);
17
- }
18
- /**
19
- * Returns the top overlay.
20
- */
21
- getTop() {
22
- return this.ctrl.getTop();
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdXRpbHMvb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFRdkIsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixJQUFvQztRQUFwQyxTQUFJLEdBQUosSUFBSSxDQUFnQztJQUFHLENBQUM7SUFFNUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBVztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLElBQVUsRUFBRSxJQUFhLEVBQUUsRUFBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPKEZXLTI4MjcpOiB0eXBlc1xuXG5pbnRlcmZhY2UgQ29udHJvbGxlclNoYXBlPE9wdHMsIEhUTUxFbG0+IHtcbiAgY3JlYXRlKG9wdGlvbnM6IE9wdHMpOiBQcm9taXNlPEhUTUxFbG0+O1xuICBkaXNtaXNzKGRhdGE/OiBhbnksIHJvbGU/OiBzdHJpbmcsIGlkPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbiAgZ2V0VG9wKCk6IFByb21pc2U8SFRNTEVsbSB8IHVuZGVmaW5lZD47XG59XG5cbmV4cG9ydCBjbGFzcyBPdmVybGF5QmFzZUNvbnRyb2xsZXI8T3B0cywgT3ZlcmxheT4gaW1wbGVtZW50cyBDb250cm9sbGVyU2hhcGU8T3B0cywgT3ZlcmxheT4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN0cmw6IENvbnRyb2xsZXJTaGFwZTxPcHRzLCBPdmVybGF5Pikge31cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBvdmVybGF5XG4gICAqL1xuICBjcmVhdGUob3B0cz86IE9wdHMpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICByZXR1cm4gdGhpcy5jdHJsLmNyZWF0ZSgob3B0cyB8fCB7fSkgYXMgYW55KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGBpZGAgaXMgbm90IHByb3ZpZGVkLCBpdCBkaXNtaXNzZXMgdGhlIHRvcCBvdmVybGF5LlxuICAgKi9cbiAgZGlzbWlzcyhkYXRhPzogYW55LCByb2xlPzogc3RyaW5nLCBpZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmN0cmwuZGlzbWlzcyhkYXRhLCByb2xlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdG9wIG92ZXJsYXkuXG4gICAqL1xuICBnZXRUb3AoKTogUHJvbWlzZTxPdmVybGF5IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuY3RybC5nZXRUb3AoKTtcbiAgfVxufVxuIl19
@@ -1,47 +0,0 @@
1
- // TODO: Is there a way we can grab this from angular-component-lib instead?
2
- /* eslint-disable */
3
- /* tslint:disable */
4
- import { fromEvent } from 'rxjs';
5
- export const proxyInputs = (Cmp, inputs) => {
6
- const Prototype = Cmp.prototype;
7
- inputs.forEach((item) => {
8
- Object.defineProperty(Prototype, item, {
9
- get() {
10
- return this.el[item];
11
- },
12
- set(val) {
13
- this.z.runOutsideAngular(() => (this.el[item] = val));
14
- },
15
- });
16
- });
17
- };
18
- export const proxyMethods = (Cmp, methods) => {
19
- const Prototype = Cmp.prototype;
20
- methods.forEach((methodName) => {
21
- Prototype[methodName] = function () {
22
- const args = arguments;
23
- return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
24
- };
25
- });
26
- };
27
- export const proxyOutputs = (instance, el, events) => {
28
- events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
29
- };
30
- // tslint:disable-next-line: only-arrow-functions
31
- export function ProxyCmp(opts) {
32
- const decorator = function (cls) {
33
- const { defineCustomElementFn, inputs, methods } = opts;
34
- if (defineCustomElementFn !== undefined) {
35
- defineCustomElementFn();
36
- }
37
- if (inputs) {
38
- proxyInputs(cls, inputs);
39
- }
40
- if (methods) {
41
- proxyMethods(cls, methods);
42
- }
43
- return cls;
44
- };
45
- return decorator;
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21tb24vc3JjL3V0aWxzL3Byb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTtBQUU1RSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDckMsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFRO2dCQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QixTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBTyxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMscUJBQXFCLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRPRE86IElzIHRoZXJlIGEgd2F5IHdlIGNhbiBncmFiIHRoaXMgZnJvbSBhbmd1bGFyLWNvbXBvbmVudC1saWIgaW5zdGVhZD9cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHByb3h5SW5wdXRzID0gKENtcDogYW55LCBpbnB1dHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIGlucHV0cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFByb3RvdHlwZSwgaXRlbSwge1xuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbFtpdGVtXTtcbiAgICAgIH0sXG4gICAgICBzZXQodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+ICh0aGlzLmVsW2l0ZW1dID0gdmFsKSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU1ldGhvZHMgPSAoQ21wOiBhbnksIG1ldGhvZHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICAgIFByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICByZXR1cm4gdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuZWxbbWV0aG9kTmFtZV0uYXBwbHkodGhpcy5lbCwgYXJncykpO1xuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5T3V0cHV0cyA9IChpbnN0YW5jZTogYW55LCBlbDogYW55LCBldmVudHM6IHN0cmluZ1tdKSA9PiB7XG4gIGV2ZW50cy5mb3JFYWNoKChldmVudE5hbWUpID0+IChpbnN0YW5jZVtldmVudE5hbWVdID0gZnJvbUV2ZW50KGVsLCBldmVudE5hbWUpKSk7XG59O1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXG5leHBvcnQgZnVuY3Rpb24gUHJveHlDbXAob3B0czogeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4/OiAoKSA9PiB2b2lkOyBpbnB1dHM/OiBhbnk7IG1ldGhvZHM/OiBhbnkgfSkge1xuICBjb25zdCBkZWNvcmF0b3IgPSBmdW5jdGlvbiAoY2xzOiBhbnkpIHtcbiAgICBjb25zdCB7IGRlZmluZUN1c3RvbUVsZW1lbnRGbiwgaW5wdXRzLCBtZXRob2RzIH0gPSBvcHRzO1xuXG4gICAgaWYgKGRlZmluZUN1c3RvbUVsZW1lbnRGbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWZpbmVDdXN0b21FbGVtZW50Rm4oKTtcbiAgICB9XG5cbiAgICBpZiAoaW5wdXRzKSB7XG4gICAgICBwcm94eUlucHV0cyhjbHMsIGlucHV0cyk7XG4gICAgfVxuICAgIGlmIChtZXRob2RzKSB7XG4gICAgICBwcm94eU1ldGhvZHMoY2xzLCBtZXRob2RzKTtcbiAgICB9XG4gICAgcmV0dXJuIGNscztcbiAgfTtcbiAgcmV0dXJuIGRlY29yYXRvcjtcbn1cbiJdfQ==
@@ -1,55 +0,0 @@
1
- /**
2
- * Provides a way to customize when activated routes get reused.
3
- */
4
- export class IonicRouteStrategy {
5
- /**
6
- * Whether the given route should detach for later reuse.
7
- */
8
- shouldDetach(_route) {
9
- return false;
10
- }
11
- /**
12
- * Returns `false`, meaning the route (and its subtree) is never reattached
13
- */
14
- shouldAttach(_route) {
15
- return false;
16
- }
17
- /**
18
- * A no-op; the route is never stored since this strategy never detaches routes for later re-use.
19
- */
20
- store(_route, _detachedTree) {
21
- return;
22
- }
23
- /**
24
- * Returns `null` because this strategy does not store routes for later re-use.
25
- */
26
- retrieve(_route) {
27
- return null;
28
- }
29
- /**
30
- * Determines if a route should be reused.
31
- * This strategy returns `true` when the future route config and
32
- * current route config are identical and all route parameters are identical.
33
- */
34
- shouldReuseRoute(future, curr) {
35
- if (future.routeConfig !== curr.routeConfig) {
36
- return false;
37
- }
38
- // checking router params
39
- const futureParams = future.params;
40
- const currentParams = curr.params;
41
- const keysA = Object.keys(futureParams);
42
- const keysB = Object.keys(currentParams);
43
- if (keysA.length !== keysB.length) {
44
- return false;
45
- }
46
- // Test for A's keys different from B.
47
- for (const key of keysA) {
48
- if (currentParams[key] !== futureParams[key]) {
49
- return false;
50
- }
51
- }
52
- return true;
53
- }
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdXRpbHMvcm91dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBOEI7UUFDekMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBOEI7UUFDekMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsTUFBOEIsRUFBRSxhQUFrQztRQUN0RSxPQUFPO0lBQ1QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLE1BQThCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxNQUE4QixFQUFFLElBQTRCO1FBQzNFLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzNDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCx5QkFBeUI7UUFDekIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsc0NBQXNDO1FBQ3RDLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFO1lBQ3ZCLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDNUMsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIERldGFjaGVkUm91dGVIYW5kbGUsIFJvdXRlUmV1c2VTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8qKlxuICogUHJvdmlkZXMgYSB3YXkgdG8gY3VzdG9taXplIHdoZW4gYWN0aXZhdGVkIHJvdXRlcyBnZXQgcmV1c2VkLlxuICovXG5leHBvcnQgY2xhc3MgSW9uaWNSb3V0ZVN0cmF0ZWd5IGltcGxlbWVudHMgUm91dGVSZXVzZVN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGdpdmVuIHJvdXRlIHNob3VsZCBkZXRhY2ggZm9yIGxhdGVyIHJldXNlLlxuICAgKi9cbiAgc2hvdWxkRGV0YWNoKF9yb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGBmYWxzZWAsIG1lYW5pbmcgdGhlIHJvdXRlIChhbmQgaXRzIHN1YnRyZWUpIGlzIG5ldmVyIHJlYXR0YWNoZWRcbiAgICovXG4gIHNob3VsZEF0dGFjaChfcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQSBuby1vcDsgdGhlIHJvdXRlIGlzIG5ldmVyIHN0b3JlZCBzaW5jZSB0aGlzIHN0cmF0ZWd5IG5ldmVyIGRldGFjaGVzIHJvdXRlcyBmb3IgbGF0ZXIgcmUtdXNlLlxuICAgKi9cbiAgc3RvcmUoX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBfZGV0YWNoZWRUcmVlOiBEZXRhY2hlZFJvdXRlSGFuZGxlKTogdm9pZCB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYG51bGxgIGJlY2F1c2UgdGhpcyBzdHJhdGVneSBkb2VzIG5vdCBzdG9yZSByb3V0ZXMgZm9yIGxhdGVyIHJlLXVzZS5cbiAgICovXG4gIHJldHJpZXZlKF9yb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IERldGFjaGVkUm91dGVIYW5kbGUgfCBudWxsIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGEgcm91dGUgc2hvdWxkIGJlIHJldXNlZC5cbiAgICogVGhpcyBzdHJhdGVneSByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBmdXR1cmUgcm91dGUgY29uZmlnIGFuZFxuICAgKiBjdXJyZW50IHJvdXRlIGNvbmZpZyBhcmUgaWRlbnRpY2FsIGFuZCBhbGwgcm91dGUgcGFyYW1ldGVycyBhcmUgaWRlbnRpY2FsLlxuICAgKi9cbiAgc2hvdWxkUmV1c2VSb3V0ZShmdXR1cmU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICBpZiAoZnV0dXJlLnJvdXRlQ29uZmlnICE9PSBjdXJyLnJvdXRlQ29uZmlnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gY2hlY2tpbmcgcm91dGVyIHBhcmFtc1xuICAgIGNvbnN0IGZ1dHVyZVBhcmFtcyA9IGZ1dHVyZS5wYXJhbXM7XG4gICAgY29uc3QgY3VycmVudFBhcmFtcyA9IGN1cnIucGFyYW1zO1xuICAgIGNvbnN0IGtleXNBID0gT2JqZWN0LmtleXMoZnV0dXJlUGFyYW1zKTtcbiAgICBjb25zdCBrZXlzQiA9IE9iamVjdC5rZXlzKGN1cnJlbnRQYXJhbXMpO1xuXG4gICAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVGVzdCBmb3IgQSdzIGtleXMgZGlmZmVyZW50IGZyb20gQi5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzQSkge1xuICAgICAgaWYgKGN1cnJlbnRQYXJhbXNba2V5XSAhPT0gZnV0dXJlUGFyYW1zW2tleV0pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -1,10 +0,0 @@
1
- export const raf = (h) => {
2
- if (typeof __zone_symbol__requestAnimationFrame === 'function') {
3
- return __zone_symbol__requestAnimationFrame(h);
4
- }
5
- if (typeof requestAnimationFrame === 'function') {
6
- return requestAnimationFrame(h);
7
- }
8
- return setTimeout(h);
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdXRpbHMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFNLEVBQU8sRUFBRTtJQUNqQyxJQUFJLE9BQU8sb0NBQW9DLEtBQUssVUFBVSxFQUFFO1FBQzlELE9BQU8sb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEQ7SUFDRCxJQUFJLE9BQU8scUJBQXFCLEtBQUssVUFBVSxFQUFFO1FBQy9DLE9BQU8scUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakM7SUFDRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJkZWNsYXJlIGNvbnN0IF9fem9uZV9zeW1ib2xfX3JlcXVlc3RBbmltYXRpb25GcmFtZTogYW55O1xuZGVjbGFyZSBjb25zdCByZXF1ZXN0QW5pbWF0aW9uRnJhbWU6IGFueTtcblxuZXhwb3J0IGNvbnN0IHJhZiA9IChoOiBhbnkpOiBhbnkgPT4ge1xuICBpZiAodHlwZW9mIF9fem9uZV9zeW1ib2xfX3JlcXVlc3RBbmltYXRpb25GcmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBfX3pvbmVfc3ltYm9sX19yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaCk7XG4gIH1cbiAgaWYgKHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGgpO1xuICB9XG4gIHJldHVybiBzZXRUaW1lb3V0KGgpO1xufTtcbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, } from '@angular/core';
2
- import { IonNav as IonNavBase } from '@ionic/angular/common';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ionic/angular/common";
5
- // eslint-disable-next-line @angular-eslint/directive-class-suffix
6
- export class IonNav extends IonNavBase {
7
- constructor(ref, environmentInjector, injector, angularDelegate, z, c) {
8
- super(ref, environmentInjector, injector, angularDelegate, z, c);
9
- }
10
- }
11
- /** @nocollapse */ IonNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonNav, deps: [{ token: i0.ElementRef }, { token: i0.EnvironmentInjector }, { token: i0.Injector }, { token: i1.AngularDelegate }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12
- /** @nocollapse */ IonNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonNav, selector: "ion-nav", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonNav, decorators: [{
14
- type: Component,
15
- args: [{
16
- selector: 'ion-nav',
17
- template: '<ng-content></ng-content>',
18
- changeDetection: ChangeDetectionStrategy.OnPush,
19
- }]
20
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.EnvironmentInjector }, { type: i0.Injector }, { type: i1.AngularDelegate }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uLW5hdi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL25hdmlnYXRpb24vaW9uLW5hdi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBTUwsU0FBUyxFQUNULHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBbUIsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBTzlFLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sTUFBTyxTQUFRLFVBQVU7SUFDcEMsWUFDRSxHQUFlLEVBQ2YsbUJBQXdDLEVBQ3hDLFFBQWtCLEVBQ2xCLGVBQWdDLEVBQ2hDLENBQVMsRUFDVCxDQUFvQjtRQUVwQixLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7O3VIQVZVLE1BQU07MkdBQU4sTUFBTSxzRUFKUCwyQkFBMkI7NEZBSTFCLE1BQU07a0JBTmxCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbk5hdiBhcyBJb25OYXZCYXNlLCBBbmd1bGFyRGVsZWdhdGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpb24tbmF2JyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgSW9uTmF2IGV4dGVuZHMgSW9uTmF2QmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlZjogRWxlbWVudFJlZixcbiAgICBlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBhbmd1bGFyRGVsZWdhdGU6IEFuZ3VsYXJEZWxlZ2F0ZSxcbiAgICB6OiBOZ1pvbmUsXG4gICAgYzogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIocmVmLCBlbnZpcm9ubWVudEluamVjdG9yLCBpbmplY3RvciwgYW5ndWxhckRlbGVnYXRlLCB6LCBjKTtcbiAgfVxufVxuIl19
@@ -1,51 +0,0 @@
1
- /* eslint-disable */
2
- /* tslint:disable */
3
- import { fromEvent } from 'rxjs';
4
- export const proxyInputs = (Cmp, inputs) => {
5
- const Prototype = Cmp.prototype;
6
- inputs.forEach((item) => {
7
- Object.defineProperty(Prototype, item, {
8
- get() {
9
- return this.el[item];
10
- },
11
- set(val) {
12
- this.z.runOutsideAngular(() => (this.el[item] = val));
13
- },
14
- });
15
- });
16
- };
17
- export const proxyMethods = (Cmp, methods) => {
18
- const Prototype = Cmp.prototype;
19
- methods.forEach((methodName) => {
20
- Prototype[methodName] = function () {
21
- const args = arguments;
22
- return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
23
- };
24
- });
25
- };
26
- export const proxyOutputs = (instance, el, events) => {
27
- events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
28
- };
29
- export const defineCustomElement = (tagName, customElement) => {
30
- if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
31
- customElements.define(tagName, customElement);
32
- }
33
- };
34
- // tslint:disable-next-line: only-arrow-functions
35
- export function ProxyCmp(opts) {
36
- const decorator = function (cls) {
37
- const { defineCustomElementFn, inputs, methods } = opts;
38
- if (defineCustomElementFn !== undefined) {
39
- defineCustomElementFn();
40
- }
41
- if (inputs) {
42
- proxyInputs(cls, inputs);
43
- }
44
- if (methods) {
45
- proxyMethods(cls, methods);
46
- }
47
- return cls;
48
- };
49
- return decorator;
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDckMsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFRO2dCQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QixTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBTyxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxhQUFrQixFQUFFLEVBQUU7SUFDekUsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDeEcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMscUJBQXFCLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBwcm94eUlucHV0cyA9IChDbXA6IGFueSwgaW5wdXRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBpbnB1dHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm90b3R5cGUsIGl0ZW0sIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxbaXRlbV07XG4gICAgICB9LFxuICAgICAgc2V0KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAodGhpcy5lbFtpdGVtXSA9IHZhbCkpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcHJveHlNZXRob2RzID0gKENtcDogYW55LCBtZXRob2RzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBtZXRob2RzLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBQcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgcmV0dXJuIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmVsW21ldGhvZE5hbWVdLmFwcGx5KHRoaXMuZWwsIGFyZ3MpKTtcbiAgICB9O1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU91dHB1dHMgPSAoaW5zdGFuY2U6IGFueSwgZWw6IGFueSwgZXZlbnRzOiBzdHJpbmdbXSkgPT4ge1xuICBldmVudHMuZm9yRWFjaCgoZXZlbnROYW1lKSA9PiAoaW5zdGFuY2VbZXZlbnROYW1lXSA9IGZyb21FdmVudChlbCwgZXZlbnROYW1lKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUN1c3RvbUVsZW1lbnQgPSAodGFnTmFtZTogc3RyaW5nLCBjdXN0b21FbGVtZW50OiBhbnkpID0+IHtcbiAgaWYgKGN1c3RvbUVsZW1lbnQgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgY3VzdG9tRWxlbWVudHMgIT09ICd1bmRlZmluZWQnICYmICFjdXN0b21FbGVtZW50cy5nZXQodGFnTmFtZSkpIHtcbiAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnTmFtZSwgY3VzdG9tRWxlbWVudCk7XG4gIH1cbn07XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBQcm94eUNtcChvcHRzOiB7IGRlZmluZUN1c3RvbUVsZW1lbnRGbj86ICgpID0+IHZvaWQ7IGlucHV0cz86IGFueTsgbWV0aG9kcz86IGFueSB9KSB7XG4gIGNvbnN0IGRlY29yYXRvciA9IGZ1bmN0aW9uIChjbHM6IGFueSkge1xuICAgIGNvbnN0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudEZuLCBpbnB1dHMsIG1ldGhvZHMgfSA9IG9wdHM7XG5cbiAgICBpZiAoZGVmaW5lQ3VzdG9tRWxlbWVudEZuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlZmluZUN1c3RvbUVsZW1lbnRGbigpO1xuICAgIH1cblxuICAgIGlmIChpbnB1dHMpIHtcbiAgICAgIHByb3h5SW5wdXRzKGNscywgaW5wdXRzKTtcbiAgICB9XG4gICAgaWYgKG1ldGhvZHMpIHtcbiAgICAgIHByb3h5TWV0aG9kcyhjbHMsIG1ldGhvZHMpO1xuICAgIH1cbiAgICByZXR1cm4gY2xzO1xuICB9O1xuICByZXR1cm4gZGVjb3JhdG9yO1xufVxuIl19