@adobe/helix-rum-enhancer 2.31.0-beta.6 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.releaserc.cjs CHANGED
@@ -29,5 +29,5 @@ module.exports = {
29
29
  slackChannel: "rum-explorers",
30
30
  }],
31
31
  ],
32
- branches: ['main', { name: 'beta', prerelease: true }],
32
+ branches: ['main'],
33
33
  };
package/CHANGELOG.md CHANGED
@@ -1,55 +1,64 @@
1
- # [2.31.0-beta.6](https://github.com/adobe/helix-rum-enhancer/compare/v2.31.0-beta.5...v2.31.0-beta.6) (2025-01-17)
1
+ # [2.31.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.30.4...v2.31.0) (2025-03-04)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * plugins are not executing because they are exported as iife ([6e30eb5](https://github.com/adobe/helix-rum-enhancer/commit/6e30eb57efe19c15f2ea453f9c97477dec79c3d2))
7
-
8
- # [2.31.0-beta.5](https://github.com/adobe/helix-rum-enhancer/compare/v2.31.0-beta.4...v2.31.0-beta.5) (2025-01-17)
9
-
6
+ * bugs and failing tests ([5c9adbc](https://github.com/adobe/helix-rum-enhancer/commit/5c9adbc2502203495a05d4fd2be6e05cc11102df))
7
+ * cross-browser compatibility ([1c21afd](https://github.com/adobe/helix-rum-enhancer/commit/1c21afd8cd982d4c33feba863d2251311f36e153))
8
+ * just forcing a release ([0a643d5](https://github.com/adobe/helix-rum-enhancer/commit/0a643d55440216adc5ca8b66e5cf70b31997b800))
9
+ * plugin path resolution ([f77d736](https://github.com/adobe/helix-rum-enhancer/commit/f77d736a5e52b6e01fb83defe74b5e0f9622c127))
10
+ * plugins are not executing because they are exported as iife ([dfc1eea](https://github.com/adobe/helix-rum-enhancer/commit/dfc1eea7bf230d95456ee2f7ee200e6a37c2f8c3))
11
+ * set proper url base for plugins ([9726dc8](https://github.com/adobe/helix-rum-enhancer/commit/9726dc8f98bd71936c8a8f430cae73b6a8f5d63f))
12
+ * use proper fully qualified URLs for plugin path to avoid CORS ([c73eb31](https://github.com/adobe/helix-rum-enhancer/commit/c73eb31461115529922b82c3a8b678f21052b918))
10
13
 
11
- ### Bug Fixes
12
14
 
13
- * just forcing a release ([84ab687](https://github.com/adobe/helix-rum-enhancer/commit/84ab68734b5862816a532d4847df0ffa753b0717))
15
+ ### Features
14
16
 
15
- # [2.31.0-beta.4](https://github.com/adobe/helix-rum-enhancer/compare/v2.31.0-beta.3...v2.31.0-beta.4) (2025-01-16)
17
+ * allow external extension via window.RUM_PLUGINS ([4613b00](https://github.com/adobe/helix-rum-enhancer/commit/4613b004c617f4d503355b5c43008149df9101ef))
18
+ * handle pre-rendering ([3181698](https://github.com/adobe/helix-rum-enhancer/commit/3181698ea202ebb389dd82ab35a8d206a82b2006))
19
+ * inline web-vitals.js ([7d89e9f](https://github.com/adobe/helix-rum-enhancer/commit/7d89e9f664686d3a475ce829d7fb4f68f29ed71b))
20
+ * introduce minimal plugin system to offset non-essenial logic ([8642557](https://github.com/adobe/helix-rum-enhancer/commit/8642557beaef5161d1d4d51d2b04ce06bf7dbeb7))
21
+ * introduce minimal plugin system to offset non-essenial logic ([6066f0b](https://github.com/adobe/helix-rum-enhancer/commit/6066f0bd56393a10391e190b9a338f9a65b772b0))
22
+ * introduce plugin system to offset non-essenial logic ([38a3a65](https://github.com/adobe/helix-rum-enhancer/commit/38a3a65b43b7b8fff1447a6cf742dc228d47300b))
23
+ * **loadresource:** add `allresources` feature flag that enables tracking all resources, not just same host ([a8fa936](https://github.com/adobe/helix-rum-enhancer/commit/a8fa936035f56b13ff8db66f32db17c828318972))
24
+ * **missingresource:** report all resource error with http status code ([e3ad482](https://github.com/adobe/helix-rum-enhancer/commit/e3ad482454e5fe874e5cef5842a08915c53dbad4))
16
25
 
17
26
 
18
- ### Bug Fixes
27
+ ### Reverts
19
28
 
20
- * plugin path resolution ([f464652](https://github.com/adobe/helix-rum-enhancer/commit/f464652df5bef5f42e0b32c1f10bebef013dd1b0))
29
+ * Revert "feat: handle pre-rendering" ([9603927](https://github.com/adobe/helix-rum-enhancer/commit/9603927774966fcfadb3ba3f8f7b42a0c003fd2e))
21
30
 
22
- # [2.31.0-beta.3](https://github.com/adobe/helix-rum-enhancer/compare/v2.31.0-beta.2...v2.31.0-beta.3) (2025-01-16)
31
+ ## [2.30.4](https://github.com/adobe/helix-rum-enhancer/compare/v2.30.3...v2.30.4) (2025-02-24)
23
32
 
24
33
 
25
34
  ### Bug Fixes
26
35
 
27
- * bugs and failing tests ([5c9adbc](https://github.com/adobe/helix-rum-enhancer/commit/5c9adbc2502203495a05d4fd2be6e05cc11102df))
28
- * cross-browser compatibility ([1c21afd](https://github.com/adobe/helix-rum-enhancer/commit/1c21afd8cd982d4c33feba863d2251311f36e153))
29
- * set proper url base for plugins ([9726dc8](https://github.com/adobe/helix-rum-enhancer/commit/9726dc8f98bd71936c8a8f430cae73b6a8f5d63f))
30
- * use proper fully qualified URLs for plugin path to avoid CORS ([c73eb31](https://github.com/adobe/helix-rum-enhancer/commit/c73eb31461115529922b82c3a8b678f21052b918))
36
+ * **missingresource:** exclude specific RUM tracking resources from missing resource reports ([be1f077](https://github.com/adobe/helix-rum-enhancer/commit/be1f077e6aff202071ea3e5974b4092d6610d66e))
31
37
 
38
+ ## [2.30.3](https://github.com/adobe/helix-rum-enhancer/compare/v2.30.2...v2.30.3) (2025-02-03)
32
39
 
33
- ### Features
34
40
 
35
- * allow external extension via window.RUM_PLUGINS ([4613b00](https://github.com/adobe/helix-rum-enhancer/commit/4613b004c617f4d503355b5c43008149df9101ef))
36
- * inline web-vitals.js ([7d89e9f](https://github.com/adobe/helix-rum-enhancer/commit/7d89e9f664686d3a475ce829d7fb4f68f29ed71b))
37
- * introduce minimal plugin system to offset non-essenial logic ([8642557](https://github.com/adobe/helix-rum-enhancer/commit/8642557beaef5161d1d4d51d2b04ce06bf7dbeb7))
38
- * introduce minimal plugin system to offset non-essenial logic ([6066f0b](https://github.com/adobe/helix-rum-enhancer/commit/6066f0bd56393a10391e190b9a338f9a65b772b0))
41
+ ### Bug Fixes
39
42
 
40
- # [2.31.0-beta.2](https://github.com/adobe/helix-rum-enhancer/compare/v2.31.0-beta.1...v2.31.0-beta.2) (2025-01-16)
43
+ * collect repeating clicks upto max configuration ([6daba19](https://github.com/adobe/helix-rum-enhancer/commit/6daba19b6dcf3717e8330a923a0d87e61e3080ee))
44
+ * comment for max events tracking ([b4b1c6d](https://github.com/adobe/helix-rum-enhancer/commit/b4b1c6da79a31485bb2165382f9fb9ece611a716))
45
+ * implement flood control with 1024 max events ([e06e1e5](https://github.com/adobe/helix-rum-enhancer/commit/e06e1e51b6dd3db0a015f4dcccb3ab8dcfb11b9f))
46
+ * Implement flood control with 1024 max events ([ddfdb1e](https://github.com/adobe/helix-rum-enhancer/commit/ddfdb1e9dd58ff41cbd761774af9ad616290aae0))
47
+ * review feedback ([f4e6dd1](https://github.com/adobe/helix-rum-enhancer/commit/f4e6dd1b3fae8e37024045156c85923e776f40c3))
41
48
 
49
+ ## [2.30.2](https://github.com/adobe/helix-rum-enhancer/compare/v2.30.1...v2.30.2) (2025-01-17)
42
50
 
43
- ### Reverts
44
51
 
45
- * Revert "feat: handle pre-rendering" ([6471af5](https://github.com/adobe/helix-rum-enhancer/commit/6471af5cce4d895ca036a7b04a33530a3715b810))
52
+ ### Bug Fixes
46
53
 
47
- # [2.31.0-beta.1](https://github.com/adobe/helix-rum-enhancer/compare/v2.30.0...v2.31.0-beta.1) (2025-01-16)
54
+ * do not trigger fill checkpoint for hidden fields ([f6f4c51](https://github.com/adobe/helix-rum-enhancer/commit/f6f4c519d38c48740ace4ba64f47cafc6cea2f47))
48
55
 
56
+ ## [2.30.1](https://github.com/adobe/helix-rum-enhancer/compare/v2.30.0...v2.30.1) (2025-01-17)
49
57
 
50
- ### Features
51
58
 
52
- * handle pre-rendering ([bb11187](https://github.com/adobe/helix-rum-enhancer/commit/bb11187058b8cb521a270c316323b66414a8d817))
59
+ ### Bug Fixes
60
+
61
+ * form elements having name/id as id breaks the sourceSelector logic. ([37bd0ab](https://github.com/adobe/helix-rum-enhancer/commit/37bd0ab4c6bb1aac1326bc9be0097a7ccf038870))
53
62
 
54
63
  # [2.30.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.29.0...v2.30.0) (2025-01-15)
55
64
 
@@ -114,13 +123,6 @@
114
123
 
115
124
  * handle pre-speculation rules and rendering ([#301](https://github.com/adobe/helix-rum-enhancer/issues/301)) ([196d404](https://github.com/adobe/helix-rum-enhancer/commit/196d404f3f90a247a223e8ddc7c667592a87319f))
116
125
 
117
- # [2.26.0-beta.1](https://github.com/adobe/helix-rum-enhancer/compare/v2.25.0...v2.26.0-beta.1) (2024-10-09)
118
-
119
-
120
- ### Features
121
-
122
- * handle pre-rendering ([bb11187](https://github.com/adobe/helix-rum-enhancer/commit/bb11187058b8cb521a270c316323b66414a8d817))
123
-
124
126
  # [2.25.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.24.0...v2.25.0) (2024-10-03)
125
127
 
126
128
 
package/README.md CHANGED
@@ -62,10 +62,6 @@ All three parts are optional
62
62
  Even if an `identifier` is provided, having a `context` and `element` is recommended, as it makes the `source` parameter more readable and easier to understand.
63
63
 
64
64
 
65
- #### Examples
66
-
67
- - ``
68
-
69
65
  ## Development
70
66
 
71
67
  ### Build
@@ -85,3 +81,6 @@ $ npm test
85
81
  ```bash
86
82
  $ npm run lint
87
83
  ```
84
+ ### Cutting a Pre-Release
85
+
86
+ Releases are handled by [semantic-release](https://github.com/semantic-release/semantic-release), and will happen automatically when a PR is merged into the `main` or the `1.x` branch. By merging into `beta`, a pre-release will be created.
package/modules/dom.js CHANGED
@@ -41,12 +41,10 @@ function isDialog(el) {
41
41
  // doing it well
42
42
  if (el.tagName === 'DIALOG') return true;
43
43
  // making the best of it
44
- if (el.getAttribute('role') === 'dialog') return true;
45
- if (el.getAttribute('role') === 'alertdialog') return true;
46
- if (el.getAttribute('aria-modal') === 'true') return true;
47
- // doing it wrong
48
44
  const cs = window.getComputedStyle(el);
49
- return (cs && cs.position === 'fixed' && cs.zIndex > 100);
45
+ return ['dialog', 'alertdialog'].find((r) => el.getAttribute('role') === r)
46
+ || el.getAttribute('aria-modal') === 'true'
47
+ || (cs && cs.position === 'fixed' && cs.zIndex > 100);
50
48
  }
51
49
 
52
50
  function isButton(el) {
@@ -62,16 +60,14 @@ function isButton(el) {
62
60
  function getSourceContext(el) {
63
61
  const formEl = el.closest('form');
64
62
  if (formEl) {
65
- return `form${formEl.id ? `#${formEl.id}` : ''}`;
63
+ const id = formEl.getAttribute('id');
64
+ return `form${id ? `#${id}` : ''}`;
66
65
  }
67
66
  const block = el.closest('.block[data-block-name]');
68
- if (block) return `.${block.getAttribute('data-block-name')}`;
69
- if (walk(el, isDialog)) return 'dialog';
70
- if (el.closest('nav')) return 'nav';
71
- if (el.closest('header')) return 'header';
72
- if (el.closest('footer')) return 'footer';
73
- if (el.closest('aside')) return 'aside';
74
- return (walk(el, (e) => e.id && `#${e.id}`));
67
+ return ((block && `.${block.getAttribute('data-block-name')}`)
68
+ || (walk(el, isDialog) && 'dialog')
69
+ || ['nav', 'header', 'footer', 'aside'].find((t) => el.closest(t))
70
+ || walk(el, (e) => e.id && `#${e.id}`));
75
71
  }
76
72
 
77
73
  function getSourceElement(el) {
package/modules/index.js CHANGED
@@ -73,10 +73,16 @@ function loadPlugins(filter = () => true, params = PLUGIN_PARAMETERS) {
73
73
  .filter(([, plugin]) => filter(plugin))
74
74
  .map(([key]) => loadPlugin(key, params));
75
75
  }
76
+ /**
77
+ * Maximum number of events. The first call will be made by rum-js,
78
+ * leaving 1023 events for the enhancer to track
79
+ */
80
+ let maxEvents = 1023;
76
81
 
77
82
  function trackCheckpoint(checkpoint, data, t) {
78
83
  const { weight, id } = window.hlx.rum;
79
- if (isSelected) {
84
+ if (isSelected && maxEvents) {
85
+ maxEvents -= 1;
80
86
  const sendPing = (pdata = data) => {
81
87
  // eslint-disable-next-line object-curly-newline, max-len
82
88
  const body = JSON.stringify({ weight, id, referer: urlSanitizers[window.hlx.RUM_MASK_URL || 'path'](), checkpoint, t, ...data }, KNOWN_PROPERTIES);
@@ -162,6 +168,7 @@ function addLoadResourceTracking() {
162
168
  });
163
169
  list.getEntries()
164
170
  .filter((e) => e.responseStatus >= 400)
171
+ .filter((e) => !(new URL(e.name).pathname.match('.*(/\\.rum/1[0-9]{0,3})')))
165
172
  .forEach((e) => {
166
173
  sampleRUM('missingresource', { source: e.name, target: e.responseStatus });
167
174
  });
@@ -271,16 +278,8 @@ function addTrackingFromConfig() {
271
278
  activateBlocksMO();
272
279
  activateMediaMO();
273
280
 
274
- let lastSource;
275
- let lastTarget;
276
281
  document.addEventListener('click', (event) => {
277
- const source = sourceSelector(event.target);
278
- const target = targetSelector(event.target);
279
- if (source !== lastSource || target !== lastTarget) {
280
- sampleRUM('click', { target, source });
281
- lastSource = source;
282
- lastTarget = target;
283
- }
282
+ sampleRUM('click', { target: targetSelector(event.target), source: sourceSelector(event.target) });
284
283
  });
285
284
 
286
285
  // Core tracking
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/helix-rum-enhancer",
3
- "version": "2.31.0-beta.6",
3
+ "version": "2.31.0",
4
4
  "description": "Helix RUM Enhancer",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -14,7 +14,7 @@
14
14
  "build-bundle": "rollup --config",
15
15
  "prepack": "npm run build-bundle",
16
16
  "semantic-release": "semantic-release",
17
- "semantic-release-dry": "semantic-release --dry-run --branches $CI_BRANCH 1.x main beta",
17
+ "semantic-release-dry": "semantic-release --dry-run --branches $CI_BRANCH 1.x main",
18
18
  "prepare": "husky"
19
19
  },
20
20
  "repository": {
@@ -33,16 +33,16 @@
33
33
  "reporter-options": "configFile=.mocha-multi.json"
34
34
  },
35
35
  "devDependencies": {
36
- "@adobe/eslint-config-helix": "2.0.8",
36
+ "@adobe/eslint-config-helix": "2.0.9",
37
37
  "@adobe/helix-rum-js": "2.10.0",
38
38
  "@esm-bundle/chai": "4.3.4-fix.0",
39
39
  "@rollup/plugin-babel": "6.0.4",
40
40
  "@semantic-release/changelog": "6.0.3",
41
41
  "@semantic-release/git": "10.0.1",
42
42
  "@semantic-release/npm": "12.0.1",
43
- "@web/test-runner": "0.19.0",
43
+ "@web/test-runner": "0.20.0",
44
44
  "@web/test-runner-commands": "0.9.0",
45
- "@web/test-runner-junit-reporter": "0.7.2",
45
+ "@web/test-runner-junit-reporter": "0.8.0",
46
46
  "@web/test-runner-mocha": "0.9.0",
47
47
  "@web/test-runner-playwright": "0.11.0",
48
48
  "c8": "10.1.3",
@@ -53,13 +53,13 @@
53
53
  "husky": "9.1.7",
54
54
  "jsdoc-to-markdown": "9.1.1",
55
55
  "junit-report-builder": "5.1.1",
56
- "lint-staged": "15.3.0",
57
- "mocha": "11.0.1",
56
+ "lint-staged": "15.4.3",
57
+ "mocha": "11.1.0",
58
58
  "mocha-multi-reporters": "1.5.1",
59
- "rollup": "4.30.1",
59
+ "rollup": "4.34.9",
60
60
  "rollup-plugin-checksum": "1.0.1",
61
61
  "rollup-plugin-eslint-bundle": "9.0.0",
62
- "semantic-release": "24.2.1",
62
+ "semantic-release": "24.2.3",
63
63
  "semantic-release-slack-bot": "^4.0.2",
64
64
  "web-vitals": "4.2.4"
65
65
  },
package/plugins/cwv.js CHANGED
@@ -19,6 +19,7 @@ export default function addCWVTracking({
19
19
  setTimeout(() => {
20
20
  try {
21
21
  const cwvScript = new URL('.rum/web-vitals/dist/web-vitals.iife.js', sampleRUM.baseURL).href;
22
+ /* c8 ignore next 3 */
22
23
  if (document.querySelector(`script[src="${cwvScript}"]`)) {
23
24
  // web vitals script has been loaded already
24
25
  return;
package/plugins/form.js CHANGED
@@ -16,10 +16,12 @@ export default function addFormTracking({
16
16
  form.addEventListener('submit', (e) => sampleRUM('formsubmit', { target: targetSelector(e.target), source: sourceSelector(e.target) }), { once: true });
17
17
  let lastSource;
18
18
  form.addEventListener('change', (e) => {
19
- const source = sourceSelector(e.target);
20
- if (source !== lastSource) {
21
- sampleRUM('fill', { source });
22
- lastSource = source;
19
+ if (e.target.checkVisibility()) {
20
+ const source = sourceSelector(e.target);
21
+ if (source !== lastSource) {
22
+ sampleRUM('fill', { source });
23
+ lastSource = source;
24
+ }
23
25
  }
24
26
  });
25
27
  form.addEventListener('focusin', (e) => {
package/src/index.js CHANGED
@@ -64,11 +64,8 @@
64
64
  }
65
65
  function isDialog(el) {
66
66
  if (el.tagName === 'DIALOG') return true;
67
- if (el.getAttribute('role') === 'dialog') return true;
68
- if (el.getAttribute('role') === 'alertdialog') return true;
69
- if (el.getAttribute('aria-modal') === 'true') return true;
70
67
  const cs = window.getComputedStyle(el);
71
- return cs && cs.position === 'fixed' && cs.zIndex > 100;
68
+ return ['dialog', 'alertdialog'].find(r => el.getAttribute('role') === r) || el.getAttribute('aria-modal') === 'true' || cs && cs.position === 'fixed' && cs.zIndex > 100;
72
69
  }
73
70
  function isButton(el) {
74
71
  if (el.tagName === 'BUTTON') return true;
@@ -82,16 +79,11 @@
82
79
  function getSourceContext(el) {
83
80
  const formEl = el.closest('form');
84
81
  if (formEl) {
85
- return `form${formEl.id ? `#${formEl.id}` : ''}`;
82
+ const id = formEl.getAttribute('id');
83
+ return `form${id ? `#${id}` : ''}`;
86
84
  }
87
85
  const block = el.closest('.block[data-block-name]');
88
- if (block) return `.${block.getAttribute('data-block-name')}`;
89
- if (walk(el, isDialog)) return 'dialog';
90
- if (el.closest('nav')) return 'nav';
91
- if (el.closest('header')) return 'header';
92
- if (el.closest('footer')) return 'footer';
93
- if (el.closest('aside')) return 'aside';
94
- return walk(el, e => e.id && `#${e.id}`);
86
+ return block && `.${block.getAttribute('data-block-name')}` || walk(el, isDialog) && 'dialog' || ['nav', 'header', 'footer', 'aside'].find(t => el.closest(t)) || walk(el, e => e.id && `#${e.id}`);
95
87
  }
96
88
  function getSourceElement(el) {
97
89
  const f = el.closest('form');
@@ -181,12 +173,14 @@
181
173
  function loadPlugins(filter = () => true, params = PLUGIN_PARAMETERS) {
182
174
  Object.entries(PLUGINS).filter(([, plugin]) => filter(plugin)).map(([key]) => loadPlugin(key, params));
183
175
  }
176
+ let maxEvents = 1023;
184
177
  function trackCheckpoint(checkpoint, data, t) {
185
178
  const {
186
179
  weight,
187
180
  id
188
181
  } = window.hlx.rum;
189
- if (isSelected) {
182
+ if (isSelected && maxEvents) {
183
+ maxEvents -= 1;
190
184
  const sendPing = (pdata = data) => {
191
185
  const body = JSON.stringify({
192
186
  weight,
@@ -272,7 +266,7 @@
272
266
  target: Math.round(e.duration)
273
267
  });
274
268
  });
275
- list.getEntries().filter(e => e.responseStatus >= 400).forEach(e => {
269
+ list.getEntries().filter(e => e.responseStatus >= 400).filter(e => !new URL(e.name).pathname.match('.*(/\\.rum/1[0-9]{0,3})')).forEach(e => {
276
270
  sampleRUM('missingresource', {
277
271
  source: e.name,
278
272
  target: e.responseStatus
@@ -365,19 +359,11 @@
365
359
  function addTrackingFromConfig() {
366
360
  activateBlocksMO();
367
361
  activateMediaMO();
368
- let lastSource;
369
- let lastTarget;
370
362
  document.addEventListener('click', event => {
371
- const source = sourceSelector(event.target);
372
- const target = targetSelector(event.target);
373
- if (source !== lastSource || target !== lastTarget) {
374
- sampleRUM('click', {
375
- target,
376
- source
377
- });
378
- lastSource = source;
379
- lastTarget = target;
380
- }
363
+ sampleRUM('click', {
364
+ target: targetSelector(event.target),
365
+ source: sourceSelector(event.target)
366
+ });
381
367
  });
382
368
  addNavigationTracking();
383
369
  addLoadResourceTracking();
package/src/index.md5 CHANGED
@@ -1 +1 @@
1
- 6927b0ca98e3d69c532b6b104f0ffb14
1
+ 8b85aad6cf2f2b2e97ddd2fed284265b
@@ -36,7 +36,7 @@
36
36
  a >= 0 ? r = "back-forward-cache" : t && (document.prerendering || s() > 0 ? r = "prerender" : document.wasDiscarded ? r = "restore" : t.type && (r = t.type.replace(/_/g, "-")));
37
37
  return {
38
38
  name: e,
39
- value: undefined === n ? -1 : n,
39
+ value: void 0 === n ? -1 : n,
40
40
  rating: "good",
41
41
  delta: 0,
42
42
  entries: [],
@@ -62,7 +62,7 @@
62
62
  l = function (e, n, t, r) {
63
63
  var i, o;
64
64
  return function (a) {
65
- n.value >= 0 && (a || r) && ((o = n.value - (i || 0)) || undefined === i) && (i = n.value, n.delta = o, n.rating = function (e, n) {
65
+ n.value >= 0 && (a || r) && ((o = n.value - (i || 0)) || void 0 === i) && (i = n.value, n.delta = o, n.rating = function (e, n) {
66
66
  return e > n[1] ? "poor" : e > n[0] ? "needs-improvement" : "good";
67
67
  }(n.value, t), e(n));
68
68
  };
@@ -122,7 +122,7 @@
122
122
  i = f("FCP"),
123
123
  o = d("paint", function (e) {
124
124
  e.forEach(function (e) {
125
- "first-contentful-paint" === e.name && (o.disconnect(), e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries.push(e), t(!0)));
125
+ "first-contentful-paint" === e.name && (o.disconnect(), e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries.push(e), t(true)));
126
126
  });
127
127
  });
128
128
  o && (t = l(e, i, S, n.reportAllChanges), c(function (r) {
@@ -301,7 +301,7 @@
301
301
  });
302
302
  },
303
303
  a = d("event", o, {
304
- durationThreshold: null !== (t = n.durationThreshold) && undefined !== t ? t : 40
304
+ durationThreshold: null !== (t = n.durationThreshold) && void 0 !== t ? t : 40
305
305
  });
306
306
  r = l(e, i, O, n.reportAllChanges), a && (a.observe({
307
307
  type: "first-input",
@@ -36,7 +36,7 @@
36
36
  a >= 0 ? r = "back-forward-cache" : t && (document.prerendering || s() > 0 ? r = "prerender" : document.wasDiscarded ? r = "restore" : t.type && (r = t.type.replace(/_/g, "-")));
37
37
  return {
38
38
  name: e,
39
- value: undefined === n ? -1 : n,
39
+ value: void 0 === n ? -1 : n,
40
40
  rating: "good",
41
41
  delta: 0,
42
42
  entries: [],
@@ -62,7 +62,7 @@
62
62
  l = function (e, n, t, r) {
63
63
  var i, o;
64
64
  return function (a) {
65
- n.value >= 0 && (a || r) && ((o = n.value - (i || 0)) || undefined === i) && (i = n.value, n.delta = o, n.rating = function (e, n) {
65
+ n.value >= 0 && (a || r) && ((o = n.value - (i || 0)) || void 0 === i) && (i = n.value, n.delta = o, n.rating = function (e, n) {
66
66
  return e > n[1] ? "poor" : e > n[0] ? "needs-improvement" : "good";
67
67
  }(n.value, t), e(n));
68
68
  };
@@ -122,7 +122,7 @@
122
122
  i = f("FCP"),
123
123
  o = d("paint", function (e) {
124
124
  e.forEach(function (e) {
125
- "first-contentful-paint" === e.name && (o.disconnect(), e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries.push(e), t(!0)));
125
+ "first-contentful-paint" === e.name && (o.disconnect(), e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries.push(e), t(true)));
126
126
  });
127
127
  });
128
128
  o && (t = l(e, i, S, n.reportAllChanges), c(function (r) {
@@ -301,7 +301,7 @@
301
301
  });
302
302
  },
303
303
  a = d("event", o, {
304
- durationThreshold: null !== (t = n.durationThreshold) && undefined !== t ? t : 40
304
+ durationThreshold: null !== (t = n.durationThreshold) && void 0 !== t ? t : 40
305
305
  });
306
306
  r = l(e, i, O, n.reportAllChanges), a && (a.observe({
307
307
  type: "first-input",
@@ -404,4 +404,4 @@ function addCWVTracking({
404
404
  }
405
405
 
406
406
  export { addCWVTracking as default };
407
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3d2Lm1hcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi12aXRhbHMvZGlzdC93ZWItdml0YWxzLmlpZmUuanMiLCIuLi8uLi9wbHVnaW5zL2N3di5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2ViVml0YWxzPWZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO3ZhciBuLHQscixpLG8sYT0tMSxjPWZ1bmN0aW9uKGUpe2FkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLChmdW5jdGlvbihuKXtuLnBlcnNpc3RlZCYmKGE9bi50aW1lU3RhbXAsZShuKSl9KSwhMCl9LHU9ZnVuY3Rpb24oKXt2YXIgZT1zZWxmLnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtpZihlJiZlLnJlc3BvbnNlU3RhcnQ+MCYmZS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBlfSxzPWZ1bmN0aW9uKCl7dmFyIGU9dSgpO3JldHVybiBlJiZlLmFjdGl2YXRpb25TdGFydHx8MH0sZj1mdW5jdGlvbihlLG4pe3ZhciB0PXUoKSxyPVwibmF2aWdhdGVcIjthPj0wP3I9XCJiYWNrLWZvcndhcmQtY2FjaGVcIjp0JiYoZG9jdW1lbnQucHJlcmVuZGVyaW5nfHxzKCk+MD9yPVwicHJlcmVuZGVyXCI6ZG9jdW1lbnQud2FzRGlzY2FyZGVkP3I9XCJyZXN0b3JlXCI6dC50eXBlJiYocj10LnR5cGUucmVwbGFjZSgvXy9nLFwiLVwiKSkpO3JldHVybntuYW1lOmUsdmFsdWU6dm9pZCAwPT09bj8tMTpuLHJhdGluZzpcImdvb2RcIixkZWx0YTowLGVudHJpZXM6W10saWQ6XCJ2NC1cIi5jb25jYXQoRGF0ZS5ub3coKSxcIi1cIikuY29uY2F0KE1hdGguZmxvb3IoODk5OTk5OTk5OTk5OSpNYXRoLnJhbmRvbSgpKSsxZTEyKSxuYXZpZ2F0aW9uVHlwZTpyfX0sZD1mdW5jdGlvbihlLG4sdCl7dHJ5e2lmKFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcyhlKSl7dmFyIHI9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGZ1bmN0aW9uKGUpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7bihlLmdldEVudHJpZXMoKSl9KSl9KSk7cmV0dXJuIHIub2JzZXJ2ZShPYmplY3QuYXNzaWduKHt0eXBlOmUsYnVmZmVyZWQ6ITB9LHR8fHt9KSkscn19Y2F0Y2goZSl7fX0sbD1mdW5jdGlvbihlLG4sdCxyKXt2YXIgaSxvO3JldHVybiBmdW5jdGlvbihhKXtuLnZhbHVlPj0wJiYoYXx8cikmJigobz1uLnZhbHVlLShpfHwwKSl8fHZvaWQgMD09PWkpJiYoaT1uLnZhbHVlLG4uZGVsdGE9byxuLnJhdGluZz1mdW5jdGlvbihlLG4pe3JldHVybiBlPm5bMV0/XCJwb29yXCI6ZT5uWzBdP1wibmVlZHMtaW1wcm92ZW1lbnRcIjpcImdvb2RcIn0obi52YWx1ZSx0KSxlKG4pKX19LHA9ZnVuY3Rpb24oZSl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pKX0pKX0sdj1mdW5jdGlvbihlKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLChmdW5jdGlvbigpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmUoKX0pKX0sbT1mdW5jdGlvbihlKXt2YXIgbj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtufHwoZSgpLG49ITApfX0saD0tMSxnPWZ1bmN0aW9uKCl7cmV0dXJuXCJoaWRkZW5cIiE9PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZXx8ZG9jdW1lbnQucHJlcmVuZGVyaW5nPzEvMDowfSxUPWZ1bmN0aW9uKGUpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmg+LTEmJihoPVwidmlzaWJpbGl0eWNoYW5nZVwiPT09ZS50eXBlP2UudGltZVN0YW1wOjAsRSgpKX0seT1mdW5jdGlvbigpe2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsVCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInByZXJlbmRlcmluZ2NoYW5nZVwiLFQsITApfSxFPWZ1bmN0aW9uKCl7cmVtb3ZlRXZlbnRMaXN0ZW5lcihcInZpc2liaWxpdHljaGFuZ2VcIixULCEwKSxyZW1vdmVFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsVCwhMCl9LEM9ZnVuY3Rpb24oKXtyZXR1cm4gaDwwJiYoaD1nKCkseSgpLGMoKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtoPWcoKSx5KCl9KSwwKX0pKSkse2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gaH19fSxMPWZ1bmN0aW9uKGUpe2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pLCEwKTplKCl9LFM9WzE4MDAsM2UzXSxiPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0LHI9QygpLGk9ZihcIkZDUFwiKSxvPWQoXCJwYWludFwiLChmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe1wiZmlyc3QtY29udGVudGZ1bC1wYWludFwiPT09ZS5uYW1lJiYoby5kaXNjb25uZWN0KCksZS5zdGFydFRpbWU8ci5maXJzdEhpZGRlblRpbWUmJihpLnZhbHVlPU1hdGgubWF4KGUuc3RhcnRUaW1lLXMoKSwwKSxpLmVudHJpZXMucHVzaChlKSx0KCEwKSkpfSkpfSkpO28mJih0PWwoZSxpLFMsbi5yZXBvcnRBbGxDaGFuZ2VzKSxjKChmdW5jdGlvbihyKXtpPWYoXCJGQ1BcIiksdD1sKGUsaSxTLG4ucmVwb3J0QWxsQ2hhbmdlcykscCgoZnVuY3Rpb24oKXtpLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLXIudGltZVN0YW1wLHQoITApfSkpfSkpKX0pKX0sdz1bLjEsLjI1XSxJPTAsUD0xLzAsQT0wLEY9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmludGVyYWN0aW9uSWQmJihQPU1hdGgubWluKFAsZS5pbnRlcmFjdGlvbklkKSxBPU1hdGgubWF4KEEsZS5pbnRlcmFjdGlvbklkKSxJPUE/KEEtUCkvNysxOjApfSkpfSxNPWZ1bmN0aW9uKCl7cmV0dXJuIG4/STpwZXJmb3JtYW5jZS5pbnRlcmFjdGlvbkNvdW50fHwwfSxrPWZ1bmN0aW9uKCl7XCJpbnRlcmFjdGlvbkNvdW50XCJpbiBwZXJmb3JtYW5jZXx8bnx8KG49ZChcImV2ZW50XCIsRix7dHlwZTpcImV2ZW50XCIsYnVmZmVyZWQ6ITAsZHVyYXRpb25UaHJlc2hvbGQ6MH0pKX0sRD1bXSxCPW5ldyBNYXAsUj0wLHg9ZnVuY3Rpb24oKXt2YXIgZT1NYXRoLm1pbihELmxlbmd0aC0xLE1hdGguZmxvb3IoKE0oKS1SKS81MCkpO3JldHVybiBEW2VdfSxIPVtdLE49ZnVuY3Rpb24oZSl7aWYoSC5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gbihlKX0pKSxlLmludGVyYWN0aW9uSWR8fFwiZmlyc3QtaW5wdXRcIj09PWUuZW50cnlUeXBlKXt2YXIgbj1EW0QubGVuZ3RoLTFdLHQ9Qi5nZXQoZS5pbnRlcmFjdGlvbklkKTtpZih0fHxELmxlbmd0aDwxMHx8ZS5kdXJhdGlvbj5uLmxhdGVuY3kpe2lmKHQpZS5kdXJhdGlvbj50LmxhdGVuY3k/KHQuZW50cmllcz1bZV0sdC5sYXRlbmN5PWUuZHVyYXRpb24pOmUuZHVyYXRpb249PT10LmxhdGVuY3kmJmUuc3RhcnRUaW1lPT09dC5lbnRyaWVzWzBdLnN0YXJ0VGltZSYmdC5lbnRyaWVzLnB1c2goZSk7ZWxzZXt2YXIgcj17aWQ6ZS5pbnRlcmFjdGlvbklkLGxhdGVuY3k6ZS5kdXJhdGlvbixlbnRyaWVzOltlXX07Qi5zZXQoci5pZCxyKSxELnB1c2gocil9RC5zb3J0KChmdW5jdGlvbihlLG4pe3JldHVybiBuLmxhdGVuY3ktZS5sYXRlbmN5fSkpLEQubGVuZ3RoPjEwJiZELnNwbGljZSgxMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIEIuZGVsZXRlKGUuaWQpfSkpfX19LHE9ZnVuY3Rpb24oZSl7dmFyIG49c2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrfHxzZWxmLnNldFRpbWVvdXQsdD0tMTtyZXR1cm4gZT1tKGUpLFwiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/ZSgpOih0PW4oZSksdihlKSksdH0sTz1bMjAwLDUwMF0saj1bMjUwMCw0ZTNdLFY9e30sXz1bODAwLDE4MDBdLHo9ZnVuY3Rpb24gZShuKXtkb2N1bWVudC5wcmVyZW5kZXJpbmc/TCgoZnVuY3Rpb24oKXtyZXR1cm4gZShuKX0pKTpcImNvbXBsZXRlXCIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP2FkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KSwhMCk6c2V0VGltZW91dChuLDApfSxHPXtwYXNzaXZlOiEwLGNhcHR1cmU6ITB9LEo9bmV3IERhdGUsSz1mdW5jdGlvbihlLG4pe3R8fCh0PW4scj1lLGk9bmV3IERhdGUsVyhyZW1vdmVFdmVudExpc3RlbmVyKSxRKCkpfSxRPWZ1bmN0aW9uKCl7aWYocj49MCYmcjxpLUope3ZhciBlPXtlbnRyeVR5cGU6XCJmaXJzdC1pbnB1dFwiLG5hbWU6dC50eXBlLHRhcmdldDp0LnRhcmdldCxjYW5jZWxhYmxlOnQuY2FuY2VsYWJsZSxzdGFydFRpbWU6dC50aW1lU3RhbXAscHJvY2Vzc2luZ1N0YXJ0OnQudGltZVN0YW1wK3J9O28uZm9yRWFjaCgoZnVuY3Rpb24obil7bihlKX0pKSxvPVtdfX0sVT1mdW5jdGlvbihlKXtpZihlLmNhbmNlbGFibGUpe3ZhciBuPShlLnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS1lLnRpbWVTdGFtcDtcInBvaW50ZXJkb3duXCI9PWUudHlwZT9mdW5jdGlvbihlLG4pe3ZhciB0PWZ1bmN0aW9uKCl7SyhlLG4pLGkoKX0scj1mdW5jdGlvbigpe2koKX0saT1mdW5jdGlvbigpe3JlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIix0LEcpLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVyY2FuY2VsXCIscixHKX07YWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJ1cFwiLHQsRyksYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJjYW5jZWxcIixyLEcpfShuLGUpOksobixlKX19LFc9ZnVuY3Rpb24oZSl7W1wibW91c2Vkb3duXCIsXCJrZXlkb3duXCIsXCJ0b3VjaHN0YXJ0XCIsXCJwb2ludGVyZG93blwiXS5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gZShuLFUsRyl9KSl9LFg9WzEwMCwzMDBdO3JldHVybiBlLkNMU1RocmVzaG9sZHM9dyxlLkZDUFRocmVzaG9sZHM9UyxlLkZJRFRocmVzaG9sZHM9WCxlLklOUFRocmVzaG9sZHM9TyxlLkxDUFRocmVzaG9sZHM9aixlLlRURkJUaHJlc2hvbGRzPV8sZS5vbkNMUz1mdW5jdGlvbihlLG4pe249bnx8e30sYihtKChmdW5jdGlvbigpe3ZhciB0LHI9ZihcIkNMU1wiLDApLGk9MCxvPVtdLGE9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZighZS5oYWRSZWNlbnRJbnB1dCl7dmFyIG49b1swXSx0PW9bby5sZW5ndGgtMV07aSYmZS5zdGFydFRpbWUtdC5zdGFydFRpbWU8MWUzJiZlLnN0YXJ0VGltZS1uLnN0YXJ0VGltZTw1ZTM/KGkrPWUudmFsdWUsby5wdXNoKGUpKTooaT1lLnZhbHVlLG89W2VdKX19KSksaT5yLnZhbHVlJiYoci52YWx1ZT1pLHIuZW50cmllcz1vLHQoKSl9LHU9ZChcImxheW91dC1zaGlmdFwiLGEpO3UmJih0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSx2KChmdW5jdGlvbigpe2EodS50YWtlUmVjb3JkcygpKSx0KCEwKX0pKSxjKChmdW5jdGlvbigpe2k9MCxyPWYoXCJDTFNcIiwwKSx0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSxwKChmdW5jdGlvbigpe3JldHVybiB0KCl9KSl9KSksc2V0VGltZW91dCh0LDApKX0pKSl9LGUub25GQ1A9YixlLm9uRklEPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciBpLGE9QygpLHU9ZihcIkZJRFwiKSxzPWZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPGEuZmlyc3RIaWRkZW5UaW1lJiYodS52YWx1ZT1lLnByb2Nlc3NpbmdTdGFydC1lLnN0YXJ0VGltZSx1LmVudHJpZXMucHVzaChlKSxpKCEwKSl9LHA9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKHMpfSxoPWQoXCJmaXJzdC1pbnB1dFwiLHApO2k9bChlLHUsWCxuLnJlcG9ydEFsbENoYW5nZXMpLGgmJih2KG0oKGZ1bmN0aW9uKCl7cChoLnRha2VSZWNvcmRzKCkpLGguZGlzY29ubmVjdCgpfSkpKSxjKChmdW5jdGlvbigpe3ZhciBhO3U9ZihcIkZJRFwiKSxpPWwoZSx1LFgsbi5yZXBvcnRBbGxDaGFuZ2VzKSxvPVtdLHI9LTEsdD1udWxsLFcoYWRkRXZlbnRMaXN0ZW5lciksYT1zLG8ucHVzaChhKSxRKCl9KSkpfSkpfSxlLm9uSU5QPWZ1bmN0aW9uKGUsbil7XCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nXCJpbiBzZWxmJiZcImludGVyYWN0aW9uSWRcImluIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcucHJvdG90eXBlJiYobj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0O2soKTt2YXIgcixpPWYoXCJJTlBcIiksbz1mdW5jdGlvbihlKXtxKChmdW5jdGlvbigpe2UuZm9yRWFjaChOKTt2YXIgbj14KCk7biYmbi5sYXRlbmN5IT09aS52YWx1ZSYmKGkudmFsdWU9bi5sYXRlbmN5LGkuZW50cmllcz1uLmVudHJpZXMscigpKX0pKX0sYT1kKFwiZXZlbnRcIixvLHtkdXJhdGlvblRocmVzaG9sZDpudWxsIT09KHQ9bi5kdXJhdGlvblRocmVzaG9sZCkmJnZvaWQgMCE9PXQ/dDo0MH0pO3I9bChlLGksTyxuLnJlcG9ydEFsbENoYW5nZXMpLGEmJihhLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSksdigoZnVuY3Rpb24oKXtvKGEudGFrZVJlY29yZHMoKSkscighMCl9KSksYygoZnVuY3Rpb24oKXtSPU0oKSxELmxlbmd0aD0wLEIuY2xlYXIoKSxpPWYoXCJJTlBcIikscj1sKGUsaSxPLG4ucmVwb3J0QWxsQ2hhbmdlcyl9KSkpfSkpKX0sZS5vbkxDUD1mdW5jdGlvbihlLG4pe249bnx8e30sTCgoZnVuY3Rpb24oKXt2YXIgdCxyPUMoKSxpPWYoXCJMQ1BcIiksbz1mdW5jdGlvbihlKXtuLnJlcG9ydEFsbENoYW5nZXN8fChlPWUuc2xpY2UoLTEpKSxlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPHIuZmlyc3RIaWRkZW5UaW1lJiYoaS52YWx1ZT1NYXRoLm1heChlLnN0YXJ0VGltZS1zKCksMCksaS5lbnRyaWVzPVtlXSx0KCkpfSkpfSxhPWQoXCJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnRcIixvKTtpZihhKXt0PWwoZSxpLGosbi5yZXBvcnRBbGxDaGFuZ2VzKTt2YXIgdT1tKChmdW5jdGlvbigpe1ZbaS5pZF18fChvKGEudGFrZVJlY29yZHMoKSksYS5kaXNjb25uZWN0KCksVltpLmlkXT0hMCx0KCEwKSl9KSk7W1wia2V5ZG93blwiLFwiY2xpY2tcIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7YWRkRXZlbnRMaXN0ZW5lcihlLChmdW5jdGlvbigpe3JldHVybiBxKHUpfSkse29uY2U6ITAsY2FwdHVyZTohMH0pfSkpLHYodSksYygoZnVuY3Rpb24ocil7aT1mKFwiTENQXCIpLHQ9bChlLGksaixuLnJlcG9ydEFsbENoYW5nZXMpLHAoKGZ1bmN0aW9uKCl7aS52YWx1ZT1wZXJmb3JtYW5jZS5ub3coKS1yLnRpbWVTdGFtcCxWW2kuaWRdPSEwLHQoITApfSkpfSkpfX0pKX0sZS5vblRURkI9ZnVuY3Rpb24oZSxuKXtuPW58fHt9O3ZhciB0PWYoXCJUVEZCXCIpLHI9bChlLHQsXyxuLnJlcG9ydEFsbENoYW5nZXMpO3ooKGZ1bmN0aW9uKCl7dmFyIGk9dSgpO2kmJih0LnZhbHVlPU1hdGgubWF4KGkucmVzcG9uc2VTdGFydC1zKCksMCksdC5lbnRyaWVzPVtpXSxyKCEwKSxjKChmdW5jdGlvbigpe3Q9ZihcIlRURkJcIiwwKSwocj1sKGUsdCxfLG4ucmVwb3J0QWxsQ2hhbmdlcykpKCEwKX0pKSl9KSl9LGV9KHt9KTtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgMjAyNCBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMsIGltcG9ydC9uby1yZWxhdGl2ZS1wYWNrYWdlcywgbm8tdW51c2VkLXZhcnNcbmltcG9ydCAqIGFzIHdlYlZpdGFscyBmcm9tICcuLi9ub2RlX21vZHVsZXMvd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZENXVlRyYWNraW5nKHtcbiAgc2FtcGxlUlVNLCBzb3VyY2VTZWxlY3RvciwgdGFyZ2V0U2VsZWN0b3IsIGZmbGFncyxcbn0pIHtcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN3dlNjcmlwdCA9IG5ldyBVUkwoJy5ydW0vd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcycsIHNhbXBsZVJVTS5iYXNlVVJMKS5ocmVmO1xuICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmM9XCIke2N3dlNjcmlwdH1cIl1gKSkge1xuICAgICAgICAvLyB3ZWIgdml0YWxzIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgYWxyZWFkeVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5zcmMgPSBjd3ZTY3JpcHQ7XG4gICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBzdG9yZUNXViA9IChtZWFzdXJlbWVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB7IGN3djoge30gfTtcbiAgICAgICAgICBkYXRhLmN3dlttZWFzdXJlbWVudC5uYW1lXSA9IG1lYXN1cmVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmIChtZWFzdXJlbWVudC5uYW1lID09PSAnTENQJyAmJiBtZWFzdXJlbWVudC5lbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZWxlbWVudCB9ID0gbWVhc3VyZW1lbnQuZW50cmllcy5wb3AoKTtcbiAgICAgICAgICAgIGRhdGEudGFyZ2V0ID0gdGFyZ2V0U2VsZWN0b3IoZWxlbWVudCk7XG4gICAgICAgICAgICBkYXRhLnNvdXJjZSA9IHNvdXJjZVNlbGVjdG9yKGVsZW1lbnQpIHx8IChlbGVtZW50ICYmIGVsZW1lbnQub3V0ZXJIVE1MLnNsaWNlKDAsIDMwKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNhbXBsZVJVTSgnY3d2JywgZGF0YSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNFYWdlciA9IChtZXRyaWMpID0+IFsnQ0xTJywgJ0xDUCddLmluY2x1ZGVzKG1ldHJpYyk7XG5cbiAgICAgICAgLy8gV2hlbiBsb2FkaW5nIGB3ZWItdml0YWxzYCB1c2luZyBhIGNsYXNzaWMgc2NyaXB0LCBhbGwgdGhlIHB1YmxpY1xuICAgICAgICAvLyBtZXRob2RzIGNhbiBiZSBmb3VuZCBvbiB0aGUgYHdlYlZpdGFsc2AgZ2xvYmFsIG5hbWVzcGFjZS5cbiAgICAgICAgWydJTlAnLCAnVFRGQicsICdDTFMnLCAnTENQJ10uZm9yRWFjaCgobWV0cmljKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0cmljRm4gPSB3aW5kb3cud2ViVml0YWxzW2BvbiR7bWV0cmljfWBdO1xuICAgICAgICAgIGlmICh0eXBlb2YgbWV0cmljRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGxldCBvcHRzID0ge307XG4gICAgICAgICAgICBmZmxhZ3MuZW5hYmxlZCgnZWFnZXJjd3YnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIG9wdHMgPSB7IHJlcG9ydEFsbENoYW5nZXM6IGlzRWFnZXIobWV0cmljKSB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBtZXRyaWNGbihzdG9yZUNXViwgb3B0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgfVxuICB9LCAyMDAwKTsgLy8gd2FpdCBmb3IgZGVsYXllZFxufVxuIl0sIm5hbWVzIjpbImUiLCJuIiwidCIsInIiLCJpIiwibyIsImEiLCJjIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBlcnNpc3RlZCIsInRpbWVTdGFtcCIsInUiLCJzZWxmIiwicGVyZm9ybWFuY2UiLCJnZXRFbnRyaWVzQnlUeXBlIiwicmVzcG9uc2VTdGFydCIsIm5vdyIsInMiLCJhY3RpdmF0aW9uU3RhcnQiLCJmIiwiZG9jdW1lbnQiLCJwcmVyZW5kZXJpbmciLCJ3YXNEaXNjYXJkZWQiLCJ0eXBlIiwicmVwbGFjZSIsIm5hbWUiLCJ2YWx1ZSIsInJhdGluZyIsImRlbHRhIiwiZW50cmllcyIsImlkIiwiY29uY2F0IiwiRGF0ZSIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIm5hdmlnYXRpb25UeXBlIiwiZCIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJzdXBwb3J0ZWRFbnRyeVR5cGVzIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJnZXRFbnRyaWVzIiwib2JzZXJ2ZSIsIk9iamVjdCIsImFzc2lnbiIsImJ1ZmZlcmVkIiwibCIsInAiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJ2IiwidmlzaWJpbGl0eVN0YXRlIiwibSIsImgiLCJnIiwiVCIsIkUiLCJ5IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIkMiLCJzZXRUaW1lb3V0IiwiZmlyc3RIaWRkZW5UaW1lIiwiTCIsIlMiLCJiIiwiZm9yRWFjaCIsImRpc2Nvbm5lY3QiLCJzdGFydFRpbWUiLCJtYXgiLCJwdXNoIiwicmVwb3J0QWxsQ2hhbmdlcyIsInciLCJJIiwiUCIsIkEiLCJGIiwiaW50ZXJhY3Rpb25JZCIsIm1pbiIsIk0iLCJpbnRlcmFjdGlvbkNvdW50IiwiayIsImR1cmF0aW9uVGhyZXNob2xkIiwiRCIsIkIiLCJNYXAiLCJSIiwieCIsImxlbmd0aCIsIkgiLCJOIiwiZW50cnlUeXBlIiwiZ2V0IiwiZHVyYXRpb24iLCJsYXRlbmN5Iiwic2V0Iiwic29ydCIsInNwbGljZSIsImRlbGV0ZSIsInEiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiTyIsImoiLCJWIiwiXyIsInoiLCJyZWFkeVN0YXRlIiwiRyIsInBhc3NpdmUiLCJjYXB0dXJlIiwiSiIsIksiLCJXIiwiUSIsInRhcmdldCIsImNhbmNlbGFibGUiLCJwcm9jZXNzaW5nU3RhcnQiLCJVIiwiWCIsIkNMU1RocmVzaG9sZHMiLCJGQ1BUaHJlc2hvbGRzIiwiRklEVGhyZXNob2xkcyIsIklOUFRocmVzaG9sZHMiLCJMQ1BUaHJlc2hvbGRzIiwiVFRGQlRocmVzaG9sZHMiLCJvbkNMUyIsImhhZFJlY2VudElucHV0IiwidGFrZVJlY29yZHMiLCJvbkZDUCIsIm9uRklEIiwib25JTlAiLCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nIiwicHJvdG90eXBlIiwiY2xlYXIiLCJvbkxDUCIsInNsaWNlIiwib25jZSIsIm9uVFRGQiIsImFkZENXVlRyYWNraW5nIiwic2FtcGxlUlVNIiwic291cmNlU2VsZWN0b3IiLCJ0YXJnZXRTZWxlY3RvciIsImZmbGFncyIsImN3dlNjcmlwdCIsIlVSTCIsImJhc2VVUkwiLCJocmVmIiwicXVlcnlTZWxlY3RvciIsInNjcmlwdCIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJvbmxvYWQiLCJzdG9yZUNXViIsIm1lYXN1cmVtZW50IiwiZGF0YSIsImN3diIsImVsZW1lbnQiLCJwb3AiLCJzb3VyY2UiLCJvdXRlckhUTUwiLCJpc0VhZ2VyIiwibWV0cmljIiwibWV0cmljRm4iLCJ3aW5kb3ci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
407
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3d2Lm1hcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi12aXRhbHMvZGlzdC93ZWItdml0YWxzLmlpZmUuanMiLCIuLi8uLi9wbHVnaW5zL2N3di5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2ViVml0YWxzPWZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO3ZhciBuLHQscixpLG8sYT0tMSxjPWZ1bmN0aW9uKGUpe2FkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLChmdW5jdGlvbihuKXtuLnBlcnNpc3RlZCYmKGE9bi50aW1lU3RhbXAsZShuKSl9KSwhMCl9LHU9ZnVuY3Rpb24oKXt2YXIgZT1zZWxmLnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtpZihlJiZlLnJlc3BvbnNlU3RhcnQ+MCYmZS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBlfSxzPWZ1bmN0aW9uKCl7dmFyIGU9dSgpO3JldHVybiBlJiZlLmFjdGl2YXRpb25TdGFydHx8MH0sZj1mdW5jdGlvbihlLG4pe3ZhciB0PXUoKSxyPVwibmF2aWdhdGVcIjthPj0wP3I9XCJiYWNrLWZvcndhcmQtY2FjaGVcIjp0JiYoZG9jdW1lbnQucHJlcmVuZGVyaW5nfHxzKCk+MD9yPVwicHJlcmVuZGVyXCI6ZG9jdW1lbnQud2FzRGlzY2FyZGVkP3I9XCJyZXN0b3JlXCI6dC50eXBlJiYocj10LnR5cGUucmVwbGFjZSgvXy9nLFwiLVwiKSkpO3JldHVybntuYW1lOmUsdmFsdWU6dm9pZCAwPT09bj8tMTpuLHJhdGluZzpcImdvb2RcIixkZWx0YTowLGVudHJpZXM6W10saWQ6XCJ2NC1cIi5jb25jYXQoRGF0ZS5ub3coKSxcIi1cIikuY29uY2F0KE1hdGguZmxvb3IoODk5OTk5OTk5OTk5OSpNYXRoLnJhbmRvbSgpKSsxZTEyKSxuYXZpZ2F0aW9uVHlwZTpyfX0sZD1mdW5jdGlvbihlLG4sdCl7dHJ5e2lmKFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcyhlKSl7dmFyIHI9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGZ1bmN0aW9uKGUpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7bihlLmdldEVudHJpZXMoKSl9KSl9KSk7cmV0dXJuIHIub2JzZXJ2ZShPYmplY3QuYXNzaWduKHt0eXBlOmUsYnVmZmVyZWQ6ITB9LHR8fHt9KSkscn19Y2F0Y2goZSl7fX0sbD1mdW5jdGlvbihlLG4sdCxyKXt2YXIgaSxvO3JldHVybiBmdW5jdGlvbihhKXtuLnZhbHVlPj0wJiYoYXx8cikmJigobz1uLnZhbHVlLShpfHwwKSl8fHZvaWQgMD09PWkpJiYoaT1uLnZhbHVlLG4uZGVsdGE9byxuLnJhdGluZz1mdW5jdGlvbihlLG4pe3JldHVybiBlPm5bMV0/XCJwb29yXCI6ZT5uWzBdP1wibmVlZHMtaW1wcm92ZW1lbnRcIjpcImdvb2RcIn0obi52YWx1ZSx0KSxlKG4pKX19LHA9ZnVuY3Rpb24oZSl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pKX0pKX0sdj1mdW5jdGlvbihlKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLChmdW5jdGlvbigpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmUoKX0pKX0sbT1mdW5jdGlvbihlKXt2YXIgbj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtufHwoZSgpLG49ITApfX0saD0tMSxnPWZ1bmN0aW9uKCl7cmV0dXJuXCJoaWRkZW5cIiE9PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZXx8ZG9jdW1lbnQucHJlcmVuZGVyaW5nPzEvMDowfSxUPWZ1bmN0aW9uKGUpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmg+LTEmJihoPVwidmlzaWJpbGl0eWNoYW5nZVwiPT09ZS50eXBlP2UudGltZVN0YW1wOjAsRSgpKX0seT1mdW5jdGlvbigpe2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsVCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInByZXJlbmRlcmluZ2NoYW5nZVwiLFQsITApfSxFPWZ1bmN0aW9uKCl7cmVtb3ZlRXZlbnRMaXN0ZW5lcihcInZpc2liaWxpdHljaGFuZ2VcIixULCEwKSxyZW1vdmVFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsVCwhMCl9LEM9ZnVuY3Rpb24oKXtyZXR1cm4gaDwwJiYoaD1nKCkseSgpLGMoKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtoPWcoKSx5KCl9KSwwKX0pKSkse2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gaH19fSxMPWZ1bmN0aW9uKGUpe2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pLCEwKTplKCl9LFM9WzE4MDAsM2UzXSxiPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0LHI9QygpLGk9ZihcIkZDUFwiKSxvPWQoXCJwYWludFwiLChmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe1wiZmlyc3QtY29udGVudGZ1bC1wYWludFwiPT09ZS5uYW1lJiYoby5kaXNjb25uZWN0KCksZS5zdGFydFRpbWU8ci5maXJzdEhpZGRlblRpbWUmJihpLnZhbHVlPU1hdGgubWF4KGUuc3RhcnRUaW1lLXMoKSwwKSxpLmVudHJpZXMucHVzaChlKSx0KCEwKSkpfSkpfSkpO28mJih0PWwoZSxpLFMsbi5yZXBvcnRBbGxDaGFuZ2VzKSxjKChmdW5jdGlvbihyKXtpPWYoXCJGQ1BcIiksdD1sKGUsaSxTLG4ucmVwb3J0QWxsQ2hhbmdlcykscCgoZnVuY3Rpb24oKXtpLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLXIudGltZVN0YW1wLHQoITApfSkpfSkpKX0pKX0sdz1bLjEsLjI1XSxJPTAsUD0xLzAsQT0wLEY9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmludGVyYWN0aW9uSWQmJihQPU1hdGgubWluKFAsZS5pbnRlcmFjdGlvbklkKSxBPU1hdGgubWF4KEEsZS5pbnRlcmFjdGlvbklkKSxJPUE/KEEtUCkvNysxOjApfSkpfSxNPWZ1bmN0aW9uKCl7cmV0dXJuIG4/STpwZXJmb3JtYW5jZS5pbnRlcmFjdGlvbkNvdW50fHwwfSxrPWZ1bmN0aW9uKCl7XCJpbnRlcmFjdGlvbkNvdW50XCJpbiBwZXJmb3JtYW5jZXx8bnx8KG49ZChcImV2ZW50XCIsRix7dHlwZTpcImV2ZW50XCIsYnVmZmVyZWQ6ITAsZHVyYXRpb25UaHJlc2hvbGQ6MH0pKX0sRD1bXSxCPW5ldyBNYXAsUj0wLHg9ZnVuY3Rpb24oKXt2YXIgZT1NYXRoLm1pbihELmxlbmd0aC0xLE1hdGguZmxvb3IoKE0oKS1SKS81MCkpO3JldHVybiBEW2VdfSxIPVtdLE49ZnVuY3Rpb24oZSl7aWYoSC5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gbihlKX0pKSxlLmludGVyYWN0aW9uSWR8fFwiZmlyc3QtaW5wdXRcIj09PWUuZW50cnlUeXBlKXt2YXIgbj1EW0QubGVuZ3RoLTFdLHQ9Qi5nZXQoZS5pbnRlcmFjdGlvbklkKTtpZih0fHxELmxlbmd0aDwxMHx8ZS5kdXJhdGlvbj5uLmxhdGVuY3kpe2lmKHQpZS5kdXJhdGlvbj50LmxhdGVuY3k/KHQuZW50cmllcz1bZV0sdC5sYXRlbmN5PWUuZHVyYXRpb24pOmUuZHVyYXRpb249PT10LmxhdGVuY3kmJmUuc3RhcnRUaW1lPT09dC5lbnRyaWVzWzBdLnN0YXJ0VGltZSYmdC5lbnRyaWVzLnB1c2goZSk7ZWxzZXt2YXIgcj17aWQ6ZS5pbnRlcmFjdGlvbklkLGxhdGVuY3k6ZS5kdXJhdGlvbixlbnRyaWVzOltlXX07Qi5zZXQoci5pZCxyKSxELnB1c2gocil9RC5zb3J0KChmdW5jdGlvbihlLG4pe3JldHVybiBuLmxhdGVuY3ktZS5sYXRlbmN5fSkpLEQubGVuZ3RoPjEwJiZELnNwbGljZSgxMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIEIuZGVsZXRlKGUuaWQpfSkpfX19LHE9ZnVuY3Rpb24oZSl7dmFyIG49c2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrfHxzZWxmLnNldFRpbWVvdXQsdD0tMTtyZXR1cm4gZT1tKGUpLFwiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/ZSgpOih0PW4oZSksdihlKSksdH0sTz1bMjAwLDUwMF0saj1bMjUwMCw0ZTNdLFY9e30sXz1bODAwLDE4MDBdLHo9ZnVuY3Rpb24gZShuKXtkb2N1bWVudC5wcmVyZW5kZXJpbmc/TCgoZnVuY3Rpb24oKXtyZXR1cm4gZShuKX0pKTpcImNvbXBsZXRlXCIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP2FkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KSwhMCk6c2V0VGltZW91dChuLDApfSxHPXtwYXNzaXZlOiEwLGNhcHR1cmU6ITB9LEo9bmV3IERhdGUsSz1mdW5jdGlvbihlLG4pe3R8fCh0PW4scj1lLGk9bmV3IERhdGUsVyhyZW1vdmVFdmVudExpc3RlbmVyKSxRKCkpfSxRPWZ1bmN0aW9uKCl7aWYocj49MCYmcjxpLUope3ZhciBlPXtlbnRyeVR5cGU6XCJmaXJzdC1pbnB1dFwiLG5hbWU6dC50eXBlLHRhcmdldDp0LnRhcmdldCxjYW5jZWxhYmxlOnQuY2FuY2VsYWJsZSxzdGFydFRpbWU6dC50aW1lU3RhbXAscHJvY2Vzc2luZ1N0YXJ0OnQudGltZVN0YW1wK3J9O28uZm9yRWFjaCgoZnVuY3Rpb24obil7bihlKX0pKSxvPVtdfX0sVT1mdW5jdGlvbihlKXtpZihlLmNhbmNlbGFibGUpe3ZhciBuPShlLnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS1lLnRpbWVTdGFtcDtcInBvaW50ZXJkb3duXCI9PWUudHlwZT9mdW5jdGlvbihlLG4pe3ZhciB0PWZ1bmN0aW9uKCl7SyhlLG4pLGkoKX0scj1mdW5jdGlvbigpe2koKX0saT1mdW5jdGlvbigpe3JlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIix0LEcpLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVyY2FuY2VsXCIscixHKX07YWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJ1cFwiLHQsRyksYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJjYW5jZWxcIixyLEcpfShuLGUpOksobixlKX19LFc9ZnVuY3Rpb24oZSl7W1wibW91c2Vkb3duXCIsXCJrZXlkb3duXCIsXCJ0b3VjaHN0YXJ0XCIsXCJwb2ludGVyZG93blwiXS5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gZShuLFUsRyl9KSl9LFg9WzEwMCwzMDBdO3JldHVybiBlLkNMU1RocmVzaG9sZHM9dyxlLkZDUFRocmVzaG9sZHM9UyxlLkZJRFRocmVzaG9sZHM9WCxlLklOUFRocmVzaG9sZHM9TyxlLkxDUFRocmVzaG9sZHM9aixlLlRURkJUaHJlc2hvbGRzPV8sZS5vbkNMUz1mdW5jdGlvbihlLG4pe249bnx8e30sYihtKChmdW5jdGlvbigpe3ZhciB0LHI9ZihcIkNMU1wiLDApLGk9MCxvPVtdLGE9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZighZS5oYWRSZWNlbnRJbnB1dCl7dmFyIG49b1swXSx0PW9bby5sZW5ndGgtMV07aSYmZS5zdGFydFRpbWUtdC5zdGFydFRpbWU8MWUzJiZlLnN0YXJ0VGltZS1uLnN0YXJ0VGltZTw1ZTM/KGkrPWUudmFsdWUsby5wdXNoKGUpKTooaT1lLnZhbHVlLG89W2VdKX19KSksaT5yLnZhbHVlJiYoci52YWx1ZT1pLHIuZW50cmllcz1vLHQoKSl9LHU9ZChcImxheW91dC1zaGlmdFwiLGEpO3UmJih0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSx2KChmdW5jdGlvbigpe2EodS50YWtlUmVjb3JkcygpKSx0KCEwKX0pKSxjKChmdW5jdGlvbigpe2k9MCxyPWYoXCJDTFNcIiwwKSx0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSxwKChmdW5jdGlvbigpe3JldHVybiB0KCl9KSl9KSksc2V0VGltZW91dCh0LDApKX0pKSl9LGUub25GQ1A9YixlLm9uRklEPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciBpLGE9QygpLHU9ZihcIkZJRFwiKSxzPWZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPGEuZmlyc3RIaWRkZW5UaW1lJiYodS52YWx1ZT1lLnByb2Nlc3NpbmdTdGFydC1lLnN0YXJ0VGltZSx1LmVudHJpZXMucHVzaChlKSxpKCEwKSl9LHA9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKHMpfSxoPWQoXCJmaXJzdC1pbnB1dFwiLHApO2k9bChlLHUsWCxuLnJlcG9ydEFsbENoYW5nZXMpLGgmJih2KG0oKGZ1bmN0aW9uKCl7cChoLnRha2VSZWNvcmRzKCkpLGguZGlzY29ubmVjdCgpfSkpKSxjKChmdW5jdGlvbigpe3ZhciBhO3U9ZihcIkZJRFwiKSxpPWwoZSx1LFgsbi5yZXBvcnRBbGxDaGFuZ2VzKSxvPVtdLHI9LTEsdD1udWxsLFcoYWRkRXZlbnRMaXN0ZW5lciksYT1zLG8ucHVzaChhKSxRKCl9KSkpfSkpfSxlLm9uSU5QPWZ1bmN0aW9uKGUsbil7XCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nXCJpbiBzZWxmJiZcImludGVyYWN0aW9uSWRcImluIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcucHJvdG90eXBlJiYobj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0O2soKTt2YXIgcixpPWYoXCJJTlBcIiksbz1mdW5jdGlvbihlKXtxKChmdW5jdGlvbigpe2UuZm9yRWFjaChOKTt2YXIgbj14KCk7biYmbi5sYXRlbmN5IT09aS52YWx1ZSYmKGkudmFsdWU9bi5sYXRlbmN5LGkuZW50cmllcz1uLmVudHJpZXMscigpKX0pKX0sYT1kKFwiZXZlbnRcIixvLHtkdXJhdGlvblRocmVzaG9sZDpudWxsIT09KHQ9bi5kdXJhdGlvblRocmVzaG9sZCkmJnZvaWQgMCE9PXQ/dDo0MH0pO3I9bChlLGksTyxuLnJlcG9ydEFsbENoYW5nZXMpLGEmJihhLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSksdigoZnVuY3Rpb24oKXtvKGEudGFrZVJlY29yZHMoKSkscighMCl9KSksYygoZnVuY3Rpb24oKXtSPU0oKSxELmxlbmd0aD0wLEIuY2xlYXIoKSxpPWYoXCJJTlBcIikscj1sKGUsaSxPLG4ucmVwb3J0QWxsQ2hhbmdlcyl9KSkpfSkpKX0sZS5vbkxDUD1mdW5jdGlvbihlLG4pe249bnx8e30sTCgoZnVuY3Rpb24oKXt2YXIgdCxyPUMoKSxpPWYoXCJMQ1BcIiksbz1mdW5jdGlvbihlKXtuLnJlcG9ydEFsbENoYW5nZXN8fChlPWUuc2xpY2UoLTEpKSxlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPHIuZmlyc3RIaWRkZW5UaW1lJiYoaS52YWx1ZT1NYXRoLm1heChlLnN0YXJ0VGltZS1zKCksMCksaS5lbnRyaWVzPVtlXSx0KCkpfSkpfSxhPWQoXCJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnRcIixvKTtpZihhKXt0PWwoZSxpLGosbi5yZXBvcnRBbGxDaGFuZ2VzKTt2YXIgdT1tKChmdW5jdGlvbigpe1ZbaS5pZF18fChvKGEudGFrZVJlY29yZHMoKSksYS5kaXNjb25uZWN0KCksVltpLmlkXT0hMCx0KCEwKSl9KSk7W1wia2V5ZG93blwiLFwiY2xpY2tcIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7YWRkRXZlbnRMaXN0ZW5lcihlLChmdW5jdGlvbigpe3JldHVybiBxKHUpfSkse29uY2U6ITAsY2FwdHVyZTohMH0pfSkpLHYodSksYygoZnVuY3Rpb24ocil7aT1mKFwiTENQXCIpLHQ9bChlLGksaixuLnJlcG9ydEFsbENoYW5nZXMpLHAoKGZ1bmN0aW9uKCl7aS52YWx1ZT1wZXJmb3JtYW5jZS5ub3coKS1yLnRpbWVTdGFtcCxWW2kuaWRdPSEwLHQoITApfSkpfSkpfX0pKX0sZS5vblRURkI9ZnVuY3Rpb24oZSxuKXtuPW58fHt9O3ZhciB0PWYoXCJUVEZCXCIpLHI9bChlLHQsXyxuLnJlcG9ydEFsbENoYW5nZXMpO3ooKGZ1bmN0aW9uKCl7dmFyIGk9dSgpO2kmJih0LnZhbHVlPU1hdGgubWF4KGkucmVzcG9uc2VTdGFydC1zKCksMCksdC5lbnRyaWVzPVtpXSxyKCEwKSxjKChmdW5jdGlvbigpe3Q9ZihcIlRURkJcIiwwKSwocj1sKGUsdCxfLG4ucmVwb3J0QWxsQ2hhbmdlcykpKCEwKX0pKSl9KSl9LGV9KHt9KTtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgMjAyNCBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMsIGltcG9ydC9uby1yZWxhdGl2ZS1wYWNrYWdlcywgbm8tdW51c2VkLXZhcnNcbmltcG9ydCAqIGFzIHdlYlZpdGFscyBmcm9tICcuLi9ub2RlX21vZHVsZXMvd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZENXVlRyYWNraW5nKHtcbiAgc2FtcGxlUlVNLCBzb3VyY2VTZWxlY3RvciwgdGFyZ2V0U2VsZWN0b3IsIGZmbGFncyxcbn0pIHtcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN3dlNjcmlwdCA9IG5ldyBVUkwoJy5ydW0vd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcycsIHNhbXBsZVJVTS5iYXNlVVJMKS5ocmVmO1xuICAgICAgLyogYzggaWdub3JlIG5leHQgMyAqL1xuICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmM9XCIke2N3dlNjcmlwdH1cIl1gKSkge1xuICAgICAgICAvLyB3ZWIgdml0YWxzIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgYWxyZWFkeVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5zcmMgPSBjd3ZTY3JpcHQ7XG4gICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBzdG9yZUNXViA9IChtZWFzdXJlbWVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB7IGN3djoge30gfTtcbiAgICAgICAgICBkYXRhLmN3dlttZWFzdXJlbWVudC5uYW1lXSA9IG1lYXN1cmVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmIChtZWFzdXJlbWVudC5uYW1lID09PSAnTENQJyAmJiBtZWFzdXJlbWVudC5lbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZWxlbWVudCB9ID0gbWVhc3VyZW1lbnQuZW50cmllcy5wb3AoKTtcbiAgICAgICAgICAgIGRhdGEudGFyZ2V0ID0gdGFyZ2V0U2VsZWN0b3IoZWxlbWVudCk7XG4gICAgICAgICAgICBkYXRhLnNvdXJjZSA9IHNvdXJjZVNlbGVjdG9yKGVsZW1lbnQpIHx8IChlbGVtZW50ICYmIGVsZW1lbnQub3V0ZXJIVE1MLnNsaWNlKDAsIDMwKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNhbXBsZVJVTSgnY3d2JywgZGF0YSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNFYWdlciA9IChtZXRyaWMpID0+IFsnQ0xTJywgJ0xDUCddLmluY2x1ZGVzKG1ldHJpYyk7XG5cbiAgICAgICAgLy8gV2hlbiBsb2FkaW5nIGB3ZWItdml0YWxzYCB1c2luZyBhIGNsYXNzaWMgc2NyaXB0LCBhbGwgdGhlIHB1YmxpY1xuICAgICAgICAvLyBtZXRob2RzIGNhbiBiZSBmb3VuZCBvbiB0aGUgYHdlYlZpdGFsc2AgZ2xvYmFsIG5hbWVzcGFjZS5cbiAgICAgICAgWydJTlAnLCAnVFRGQicsICdDTFMnLCAnTENQJ10uZm9yRWFjaCgobWV0cmljKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0cmljRm4gPSB3aW5kb3cud2ViVml0YWxzW2BvbiR7bWV0cmljfWBdO1xuICAgICAgICAgIGlmICh0eXBlb2YgbWV0cmljRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGxldCBvcHRzID0ge307XG4gICAgICAgICAgICBmZmxhZ3MuZW5hYmxlZCgnZWFnZXJjd3YnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIG9wdHMgPSB7IHJlcG9ydEFsbENoYW5nZXM6IGlzRWFnZXIobWV0cmljKSB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBtZXRyaWNGbihzdG9yZUNXViwgb3B0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgfVxuICB9LCAyMDAwKTsgLy8gd2FpdCBmb3IgZGVsYXllZFxufVxuIl0sIm5hbWVzIjpbImUiLCJuIiwidCIsInIiLCJpIiwibyIsImEiLCJjIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBlcnNpc3RlZCIsInRpbWVTdGFtcCIsInUiLCJzZWxmIiwicGVyZm9ybWFuY2UiLCJnZXRFbnRyaWVzQnlUeXBlIiwicmVzcG9uc2VTdGFydCIsIm5vdyIsInMiLCJhY3RpdmF0aW9uU3RhcnQiLCJmIiwiZG9jdW1lbnQiLCJwcmVyZW5kZXJpbmciLCJ3YXNEaXNjYXJkZWQiLCJ0eXBlIiwicmVwbGFjZSIsIm5hbWUiLCJ2YWx1ZSIsInJhdGluZyIsImRlbHRhIiwiZW50cmllcyIsImlkIiwiY29uY2F0IiwiRGF0ZSIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIm5hdmlnYXRpb25UeXBlIiwiZCIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJzdXBwb3J0ZWRFbnRyeVR5cGVzIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJnZXRFbnRyaWVzIiwib2JzZXJ2ZSIsIk9iamVjdCIsImFzc2lnbiIsImJ1ZmZlcmVkIiwibCIsInAiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJ2IiwidmlzaWJpbGl0eVN0YXRlIiwibSIsImgiLCJnIiwiVCIsIkUiLCJ5IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIkMiLCJzZXRUaW1lb3V0IiwiZmlyc3RIaWRkZW5UaW1lIiwiTCIsIlMiLCJiIiwiZm9yRWFjaCIsImRpc2Nvbm5lY3QiLCJzdGFydFRpbWUiLCJtYXgiLCJwdXNoIiwicmVwb3J0QWxsQ2hhbmdlcyIsInciLCJJIiwiUCIsIkEiLCJGIiwiaW50ZXJhY3Rpb25JZCIsIm1pbiIsIk0iLCJpbnRlcmFjdGlvbkNvdW50IiwiayIsImR1cmF0aW9uVGhyZXNob2xkIiwiRCIsIkIiLCJNYXAiLCJSIiwieCIsImxlbmd0aCIsIkgiLCJOIiwiZW50cnlUeXBlIiwiZ2V0IiwiZHVyYXRpb24iLCJsYXRlbmN5Iiwic2V0Iiwic29ydCIsInNwbGljZSIsImRlbGV0ZSIsInEiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiTyIsImoiLCJWIiwiXyIsInoiLCJyZWFkeVN0YXRlIiwiRyIsInBhc3NpdmUiLCJjYXB0dXJlIiwiSiIsIksiLCJXIiwiUSIsInRhcmdldCIsImNhbmNlbGFibGUiLCJwcm9jZXNzaW5nU3RhcnQiLCJVIiwiWCIsIkNMU1RocmVzaG9sZHMiLCJGQ1BUaHJlc2hvbGRzIiwiRklEVGhyZXNob2xkcyIsIklOUFRocmVzaG9sZHMiLCJMQ1BUaHJlc2hvbGRzIiwiVFRGQlRocmVzaG9sZHMiLCJvbkNMUyIsImhhZFJlY2VudElucHV0IiwidGFrZVJlY29yZHMiLCJvbkZDUCIsIm9uRklEIiwib25JTlAiLCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nIiwicHJvdG90eXBlIiwiY2xlYXIiLCJvbkxDUCIsInNsaWNlIiwib25jZSIsIm9uVFRGQiIsImFkZENXVlRyYWNraW5nIiwic2FtcGxlUlVNIiwic291cmNlU2VsZWN0b3IiLCJ0YXJnZXRTZWxlY3RvciIsImZmbGFncyIsImN3dlNjcmlwdCIsIlVSTCIsImJhc2VVUkwiLCJocmVmIiwicXVlcnlTZWxlY3RvciIsInNjcmlwdCIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJvbmxvYWQiLCJzdG9yZUNXViIsIm1lYXN1cmVtZW50IiwiZGF0YSIsImN3diIsImVsZW1lbnQiLCJwb3AiLCJzb3VyY2UiLCJvdXRlckhUTUwiLCJpc0VhZ2VyIiwibWV0cmljIiwibWV0cmljRm4iLCJ3aW5kb3ciLCJ3ZWJWaXRhbHMiLCJvcHRzIiwiZW5hYmxlZCIsImhlYWQiLCJhcHBlbmRDaGlsZCIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztDQUFjLFVBQVNBLENBQUMsRUFBQzs7QUFBYyxFQUFBLElBQUlDLENBQUM7SUFBQ0MsQ0FBQztJQUFDQyxDQUFDO0lBQUNDLENBQUM7SUFBQ0MsQ0FBQztJQUFDQyxDQUFDLEdBQUMsRUFBRTtBQUFDQyxJQUFBQSxDQUFDLEdBQUMsVUFBU1AsQ0FBQyxFQUFDO0FBQUNRLE1BQUFBLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFTUCxDQUFDLEVBQUM7QUFBQ0EsUUFBQUEsQ0FBQyxDQUFDUSxTQUFTLEtBQUdILENBQUMsR0FBQ0wsQ0FBQyxDQUFDUyxTQUFTLEVBQUNWLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLENBQUM7T0FBQyxFQUFFLElBQUUsQ0FBQztLQUFDO0lBQUNVLENBQUMsR0FBQyxZQUFVO0FBQUMsTUFBQSxJQUFJWCxDQUFDLEdBQUNZLElBQUksQ0FBQ0MsV0FBVyxJQUFFQSxXQUFXLENBQUNDLGdCQUFnQixJQUFFRCxXQUFXLENBQUNDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUFDLE1BQUEsSUFBR2QsQ0FBQyxJQUFFQSxDQUFDLENBQUNlLGFBQWEsR0FBQyxDQUFDLElBQUVmLENBQUMsQ0FBQ2UsYUFBYSxHQUFDRixXQUFXLENBQUNHLEdBQUcsRUFBRSxFQUFDLE9BQU9oQixDQUFDO0tBQUM7SUFBQ2lCLENBQUMsR0FBQyxZQUFVO0FBQUMsTUFBQSxJQUFJakIsQ0FBQyxHQUFDVyxDQUFDLEVBQUU7QUFBQyxNQUFBLE9BQU9YLENBQUMsSUFBRUEsQ0FBQyxDQUFDa0IsZUFBZSxJQUFFLENBQUM7S0FBQztBQUFDQyxJQUFBQSxDQUFDLEdBQUMsVUFBU25CLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO0FBQUMsTUFBQSxJQUFJQyxDQUFDLEdBQUNTLENBQUMsRUFBRTtB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
@@ -1 +1 @@
1
- d9c8352756c958a0c6e45f27f876df0c
1
+ 9623367964a31098bb76d39a83708e68
@@ -24,12 +24,14 @@ function addFormTracking({
24
24
  });
25
25
  let lastSource;
26
26
  form.addEventListener('change', e => {
27
- const source = sourceSelector(e.target);
28
- if (source !== lastSource) {
29
- sampleRUM('fill', {
30
- source
31
- });
32
- lastSource = source;
27
+ if (e.target.checkVisibility()) {
28
+ const source = sourceSelector(e.target);
29
+ if (source !== lastSource) {
30
+ sampleRUM('fill', {
31
+ source
32
+ });
33
+ lastSource = source;
34
+ }
33
35
  }
34
36
  });
35
37
  form.addEventListener('focusin', e => {
@@ -24,12 +24,14 @@ function addFormTracking({
24
24
  });
25
25
  let lastSource;
26
26
  form.addEventListener('change', e => {
27
- const source = sourceSelector(e.target);
28
- if (source !== lastSource) {
29
- sampleRUM('fill', {
30
- source
31
- });
32
- lastSource = source;
27
+ if (e.target.checkVisibility()) {
28
+ const source = sourceSelector(e.target);
29
+ if (source !== lastSource) {
30
+ sampleRUM('fill', {
31
+ source
32
+ });
33
+ lastSource = source;
34
+ }
33
35
  }
34
36
  });
35
37
  form.addEventListener('focusin', e => {
@@ -43,4 +45,4 @@ function addFormTracking({
43
45
  }
44
46
 
45
47
  export { addFormTracking as default };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tYXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3BsdWdpbnMvZm9ybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjQgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZEZvcm1UcmFja2luZyh7XG4gIHNhbXBsZVJVTSwgc291cmNlU2VsZWN0b3IsIHRhcmdldFNlbGVjdG9yLCBjb250ZXh0LFxufSkge1xuICBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Zvcm0nKS5mb3JFYWNoKChmb3JtKSA9PiB7XG4gICAgZm9ybS5hZGRFdmVudExpc3RlbmVyKCdzdWJtaXQnLCAoZSkgPT4gc2FtcGxlUlVNKCdmb3Jtc3VibWl0JywgeyB0YXJnZXQ6IHRhcmdldFNlbGVjdG9yKGUudGFyZ2V0KSwgc291cmNlOiBzb3VyY2VTZWxlY3RvcihlLnRhcmdldCkgfSksIHsgb25jZTogdHJ1ZSB9KTtcbiAgICBsZXQgbGFzdFNvdXJjZTtcbiAgICBmb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VTZWxlY3RvcihlLnRhcmdldCk7XG4gICAgICBpZiAoc291cmNlICE9PSBsYXN0U291cmNlKSB7XG4gICAgICAgIHNhbXBsZVJVTSgnZmlsbCcsIHsgc291cmNlIH0pO1xuICAgICAgICBsYXN0U291cmNlID0gc291cmNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIChlKSA9PiB7XG4gICAgICBpZiAoWydJTlBVVCcsICdURVhUQVJFQScsICdTRUxFQ1QnLCAnQlVUVE9OJ10uaW5jbHVkZXMoZS50YXJnZXQudGFnTmFtZSlcbiAgICAgICAgfHwgZS50YXJnZXQuZ2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHNhbXBsZVJVTSgnY2xpY2snLCB7IHNvdXJjZTogc291cmNlU2VsZWN0b3IoZS50YXJnZXQpIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJhZGRGb3JtVHJhY2tpbmciLCJzYW1wbGVSVU0iLCJzb3VyY2VTZWxlY3RvciIsInRhcmdldFNlbGVjdG9yIiwiY29udGV4dCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwiZm9ybSIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0Iiwic291cmNlIiwib25jZSIsImxhc3RTb3VyY2UiLCJpbmNsdWRlcyIsInRhZ05hbWUiLCJnZXRBdHRyaWJ1dGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBV2UsU0FBU0EsZUFBZUEsQ0FBQztFQUN0Q0MsU0FBUztFQUFFQyxjQUFjO0VBQUVDLGNBQWM7QUFBRUMsRUFBQUE7QUFDN0MsQ0FBQyxFQUFFO0VBQ0RBLE9BQU8sQ0FBQ0MsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUNDLE9BQU8sQ0FBRUMsSUFBSSxJQUFLO0lBQ2pEQSxJQUFJLENBQUNDLGdCQUFnQixDQUFDLFFBQVEsRUFBR0MsQ0FBQyxJQUFLUixTQUFTLENBQUMsWUFBWSxFQUFFO0FBQUVTLE1BQUFBLE1BQU0sRUFBRVAsY0FBYyxDQUFDTSxDQUFDLENBQUNDLE1BQU0sQ0FBQztBQUFFQyxNQUFBQSxNQUFNLEVBQUVULGNBQWMsQ0FBQ08sQ0FBQyxDQUFDQyxNQUFNO0FBQUUsS0FBQyxDQUFDLEVBQUU7QUFBRUUsTUFBQUEsSUFBSSxFQUFFO0FBQUssS0FBQyxDQUFDO0FBQ3ZKLElBQUEsSUFBSUMsVUFBVTtBQUNkTixJQUFBQSxJQUFJLENBQUNDLGdCQUFnQixDQUFDLFFBQVEsRUFBR0MsQ0FBQyxJQUFLO0FBQ3JDLE1BQUEsTUFBTUUsTUFBTSxHQUFHVCxjQUFjLENBQUNPLENBQUMsQ0FBQ0MsTUFBTSxDQUFDO01BQ3ZDLElBQUlDLE1BQU0sS0FBS0UsVUFBVSxFQUFFO1FBQ3pCWixTQUFTLENBQUMsTUFBTSxFQUFFO0FBQUVVLFVBQUFBO0FBQU8sU0FBQyxDQUFDO0FBQzdCRSxRQUFBQSxVQUFVLEdBQUdGLE1BQU07QUFDckI7QUFDRixLQUFDLENBQUM7QUFDRkosSUFBQUEsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUdDLENBQUMsSUFBSztBQUN0QyxNQUFBLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQ0ssUUFBUSxDQUFDTCxDQUFDLENBQUNDLE1BQU0sQ0FBQ0ssT0FBTyxDQUFDLElBQ25FTixDQUFDLENBQUNDLE1BQU0sQ0FBQ00sWUFBWSxDQUFDLGlCQUFpQixDQUFDLEtBQUssTUFBTSxFQUFFO1FBQ3hEZixTQUFTLENBQUMsT0FBTyxFQUFFO0FBQUVVLFVBQUFBLE1BQU0sRUFBRVQsY0FBYyxDQUFDTyxDQUFDLENBQUNDLE1BQU07QUFBRSxTQUFDLENBQUM7QUFDMUQ7QUFDRixLQUFDLENBQUM7QUFDSixHQUFDLENBQUM7QUFDSjs7OzsifQ==
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tYXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3BsdWdpbnMvZm9ybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjQgQWRvYmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlclxuICogdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TXG4gKiBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZEZvcm1UcmFja2luZyh7XG4gIHNhbXBsZVJVTSwgc291cmNlU2VsZWN0b3IsIHRhcmdldFNlbGVjdG9yLCBjb250ZXh0LFxufSkge1xuICBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Zvcm0nKS5mb3JFYWNoKChmb3JtKSA9PiB7XG4gICAgZm9ybS5hZGRFdmVudExpc3RlbmVyKCdzdWJtaXQnLCAoZSkgPT4gc2FtcGxlUlVNKCdmb3Jtc3VibWl0JywgeyB0YXJnZXQ6IHRhcmdldFNlbGVjdG9yKGUudGFyZ2V0KSwgc291cmNlOiBzb3VyY2VTZWxlY3RvcihlLnRhcmdldCkgfSksIHsgb25jZTogdHJ1ZSB9KTtcbiAgICBsZXQgbGFzdFNvdXJjZTtcbiAgICBmb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7XG4gICAgICBpZiAoZS50YXJnZXQuY2hlY2tWaXNpYmlsaXR5KCkpIHtcbiAgICAgICAgY29uc3Qgc291cmNlID0gc291cmNlU2VsZWN0b3IoZS50YXJnZXQpO1xuICAgICAgICBpZiAoc291cmNlICE9PSBsYXN0U291cmNlKSB7XG4gICAgICAgICAgc2FtcGxlUlVNKCdmaWxsJywgeyBzb3VyY2UgfSk7XG4gICAgICAgICAgbGFzdFNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIChlKSA9PiB7XG4gICAgICBpZiAoWydJTlBVVCcsICdURVhUQVJFQScsICdTRUxFQ1QnLCAnQlVUVE9OJ10uaW5jbHVkZXMoZS50YXJnZXQudGFnTmFtZSlcbiAgICAgICAgfHwgZS50YXJnZXQuZ2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHNhbXBsZVJVTSgnY2xpY2snLCB7IHNvdXJjZTogc291cmNlU2VsZWN0b3IoZS50YXJnZXQpIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJhZGRGb3JtVHJhY2tpbmciLCJzYW1wbGVSVU0iLCJzb3VyY2VTZWxlY3RvciIsInRhcmdldFNlbGVjdG9yIiwiY29udGV4dCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwiZm9ybSIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0Iiwic291cmNlIiwib25jZSIsImxhc3RTb3VyY2UiLCJjaGVja1Zpc2liaWxpdHkiLCJpbmNsdWRlcyIsInRhZ05hbWUiLCJnZXRBdHRyaWJ1dGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBV2UsU0FBU0EsZUFBZUEsQ0FBQztFQUN0Q0MsU0FBUztFQUFFQyxjQUFjO0VBQUVDLGNBQWM7QUFBRUMsRUFBQUE7QUFDN0MsQ0FBQyxFQUFFO0VBQ0RBLE9BQU8sQ0FBQ0MsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUNDLE9BQU8sQ0FBRUMsSUFBSSxJQUFLO0lBQ2pEQSxJQUFJLENBQUNDLGdCQUFnQixDQUFDLFFBQVEsRUFBR0MsQ0FBQyxJQUFLUixTQUFTLENBQUMsWUFBWSxFQUFFO0FBQUVTLE1BQUFBLE1BQU0sRUFBRVAsY0FBYyxDQUFDTSxDQUFDLENBQUNDLE1BQU0sQ0FBQztBQUFFQyxNQUFBQSxNQUFNLEVBQUVULGNBQWMsQ0FBQ08sQ0FBQyxDQUFDQyxNQUFNO0FBQUUsS0FBQyxDQUFDLEVBQUU7QUFBRUUsTUFBQUEsSUFBSSxFQUFFO0FBQUssS0FBQyxDQUFDO0FBQ3ZKLElBQUEsSUFBSUMsVUFBVTtBQUNkTixJQUFBQSxJQUFJLENBQUNDLGdCQUFnQixDQUFDLFFBQVEsRUFBR0MsQ0FBQyxJQUFLO0FBQ3JDLE1BQUEsSUFBSUEsQ0FBQyxDQUFDQyxNQUFNLENBQUNJLGVBQWUsRUFBRSxFQUFFO0FBQzlCLFFBQUEsTUFBTUgsTUFBTSxHQUFHVCxjQUFjLENBQUNPLENBQUMsQ0FBQ0MsTUFBTSxDQUFDO1FBQ3ZDLElBQUlDLE1BQU0sS0FBS0UsVUFBVSxFQUFFO1VBQ3pCWixTQUFTLENBQUMsTUFBTSxFQUFFO0FBQUVVLFlBQUFBO0FBQU8sV0FBQyxDQUFDO0FBQzdCRSxVQUFBQSxVQUFVLEdBQUdGLE1BQU07QUFDckI7QUFDRjtBQUNGLEtBQUMsQ0FBQztBQUNGSixJQUFBQSxJQUFJLENBQUNDLGdCQUFnQixDQUFDLFNBQVMsRUFBR0MsQ0FBQyxJQUFLO0FBQ3RDLE1BQUEsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDTSxRQUFRLENBQUNOLENBQUMsQ0FBQ0MsTUFBTSxDQUFDTSxPQUFPLENBQUMsSUFDbkVQLENBQUMsQ0FBQ0MsTUFBTSxDQUFDTyxZQUFZLENBQUMsaUJBQWlCLENBQUMsS0FBSyxNQUFNLEVBQUU7UUFDeERoQixTQUFTLENBQUMsT0FBTyxFQUFFO0FBQUVVLFVBQUFBLE1BQU0sRUFBRVQsY0FBYyxDQUFDTyxDQUFDLENBQUNDLE1BQU07QUFBRSxTQUFDLENBQUM7QUFDMUQ7QUFDRixLQUFDLENBQUM7QUFDSixHQUFDLENBQUM7QUFDSjs7OzsifQ==
@@ -1 +1 @@
1
- 8be0c352c31f4a53064707aef21e2811
1
+ e5aafcb0c1551f984c0b69176cd839d8