From caff180e416cddcc9de3d2675a4c424537e73ff1 Mon Sep 17 00:00:00 2001 From: Caryl Wyatt Date: Tue, 25 Aug 2026 14:44:03 -0400 Subject: [PATCH 01/13] remove alicorn, update fallbacks --- mdp-lib/View/Fallback.pm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mdp-lib/View/Fallback.pm b/mdp-lib/View/Fallback.pm index d30a123f0..c30a654fe 100644 --- a/mdp-lib/View/Fallback.pm +++ b/mdp-lib/View/Fallback.pm @@ -64,8 +64,6 @@ use Debug::DUtils; my %g_skin_map = ( 'default' => '', - 'alicorn' => ' ' '/pt/web/crms', 'crmsworld' => '/pt/web/crms', 'firebird' => '', @@ -163,9 +161,6 @@ sub get_fallback_path my $skin = new View::Skin($C); my $skin_name = $skin->get_skin_name($C); - ## force 2021 -> alicorn - $skin_name = 'alicorn' if ( $skin_name eq '2021' ); - ## -- if (heaven forbid) you find yourself needing to build a ## -- new theme, uncomment these to change defaults before ## -- updating all the global.conf configurations From 276c1259da890f00033611f46da18925418853a4 Mon Sep 17 00:00:00 2001 From: Caryl Wyatt Date: Wed, 26 Aug 2026 14:15:20 -0400 Subject: [PATCH 02/13] remove 'skin' class from pt --- pt/web/firebird/pageviewer.xsl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pt/web/firebird/pageviewer.xsl b/pt/web/firebird/pageviewer.xsl index 00262e1f3..122ad7b2b 100644 --- a/pt/web/firebird/pageviewer.xsl +++ b/pt/web/firebird/pageviewer.xsl @@ -30,12 +30,6 @@ crms - - - skin- - - skin-default - From 7503012a3a06d0570b2bc0577cd5c0593d80449d Mon Sep 17 00:00:00 2001 From: Caryl Wyatt Date: Wed, 26 Aug 2026 14:57:43 -0400 Subject: [PATCH 03/13] add playwright test --- pt/web/firebird/tests/App.spec.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/pt/web/firebird/tests/App.spec.js b/pt/web/firebird/tests/App.spec.js index e5b0b0c56..5a88f2fcc 100644 --- a/pt/web/firebird/tests/App.spec.js +++ b/pt/web/firebird/tests/App.spec.js @@ -20,13 +20,9 @@ test.describe('pt loads', () => { }); }); -//TODO +test('request with skin=alicorn load page with firebird elements', async ({ page }) => { + await page.goto('/cgi/pt?id=test.pd_open&skin=alicorn'); + await expect(page.locator('#main')).toBeVisible(); -/* -test.describe('scan/page toolbar actions', () => [ - // minimize page controls - // select scan for download - // rotate scan - // zoom scan -]) -*/ + await expect(page.locator('hathi-website-header')).toBeVisible(); +}); From 6d9a2913574fc1578e2b83696cc441ee432a21e1 Mon Sep 17 00:00:00 2001 From: Caryl Wyatt Date: Thu, 27 Aug 2026 13:09:24 -0400 Subject: [PATCH 04/13] remove 2021 and alicorn files from pt --- pt/web/2021/common.xsl | 2176 - pt/web/2021/dist/css/app.css | 3184 -- pt/web/2021/dist/css/main.css | 1154 - pt/web/2021/dist/js/main.js | 33636 ---------------- pt/web/2021/dist/js/main.js.map | 1 - pt/web/2021/dist/js/utils.js | 7972 ---- pt/web/2021/gulpfile.js | 202 - pt/web/2021/icons.xsl | 241 - pt/web/2021/package-lock.json | 21475 ---------- pt/web/2021/package.json | 54 - pt/web/2021/pageviewer.xsl | 557 - pt/web/2021/pageviewer_restricted.xml | 155 - pt/web/2021/pageviewer_restricted.xsl | 344 - pt/web/2021/pageviewer_volume.xml | 172 - pt/web/2021/pageviewer_volume.xsl | 815 - pt/web/2021/pageviewer_volume_epub.xml | 87 - pt/web/2021/pageviewer_volume_epub.xsl | 605 - pt/web/2021/ptglobals.xml | 50 - pt/web/2021/searchresults.xsl | 533 - pt/web/2021/searchresults_restricted.xml | 1 - pt/web/2021/searchresults_volume.xml | 84 - pt/web/2021/searchresults_volume_epub.xml | 85 - pt/web/2021/searchresults_volume_epub.xsl | 674 - pt/web/2021/src/js/components/accordion.js | 77 - .../src/js/components/controls/helpinator.js | 184 - .../2021/src/js/components/controls/index.js | 27 - .../src/js/components/controls/jumpinator.js | 157 - .../js/components/controls/layoutinator.js | 156 - .../src/js/components/controls/minimizer.js | 31 - .../src/js/components/controls/navigator.js | 265 - .../js/components/controls/screeninator.js | 48 - .../js/components/controls/searchinator.js | 244 - .../js/components/controls/selectinator.js | 362 - .../src/js/components/controls/viewinator.js | 142 - .../src/js/components/controls/zoominator.js | 103 - pt/web/2021/src/js/components/imgsrv.js | 673 - pt/web/2021/src/js/components/messages.js | 13 - pt/web/2021/src/js/components/views/base.js | 1308 - pt/web/2021/src/js/components/views/flip.js | 487 - pt/web/2021/src/js/components/views/image.js | 187 - pt/web/2021/src/js/components/views/index.js | 25 - pt/web/2021/src/js/components/views/page.js | 182 - .../2021/src/js/components/views/plaintext.js | 175 - pt/web/2021/src/js/components/views/scroll.js | 435 - .../2021/src/js/components/views/thumbnail.js | 288 - pt/web/2021/src/js/main.js | 906 - pt/web/2021/src/js/utils/_01-better-dom.js | 2002 - .../js/utils/_02-better-details-polyfill.js | 86 - pt/web/2021/src/js/utils/_03-accordions.js | 98 - pt/web/2021/src/js/utils/_04-tooltips.js | 25 - pt/web/2021/src/js/utils/_base.js | 77 - pt/web/2021/src/js/utils/access_banner.js | 113 - pt/web/2021/src/js/utils/classList.js | 263 - pt/web/2021/src/js/utils/collection_tools.js | 279 - pt/web/2021/src/js/utils/crms.js | 44 - pt/web/2021/src/js/utils/downloader.js | 756 - pt/web/2021/src/js/utils/embedHTML_popup.js | 68 - pt/web/2021/src/js/utils/feedback.js | 134 - pt/web/2021/src/js/utils/google_analytics.js | 58 - pt/web/2021/src/js/utils/polyfills.js | 149 - pt/web/2021/src/js/utils/search_in_item.js | 86 - pt/web/2021/src/js/utils/version_popup.js | 8 - pt/web/2021/src/scss/_crms.scss | 43 - pt/web/2021/src/scss/_debug.scss | 14 - pt/web/2021/src/scss/_download.scss | 362 - pt/web/2021/src/scss/_grid_mixins.scss | 53 - pt/web/2021/src/scss/_panels.scss | 366 - pt/web/2021/src/scss/_results.scss | 151 - pt/web/2021/src/scss/_tippy.scss | 23 - pt/web/2021/src/scss/_variables.scss | 33 - pt/web/2021/src/scss/_viewer.scss | 1162 - pt/web/2021/src/scss/_walkthrough.scss | 175 - pt/web/2021/src/scss/app.scss | 1135 - pt/web/2021/src/scss/main.scss | 286 - pt/web/2021/str.replace.function.xsl | 105 - pt/web/alicorn | 1 - 76 files changed, 88887 deletions(-) delete mode 100644 pt/web/2021/common.xsl delete mode 100644 pt/web/2021/dist/css/app.css delete mode 100644 pt/web/2021/dist/css/main.css delete mode 100644 pt/web/2021/dist/js/main.js delete mode 100644 pt/web/2021/dist/js/main.js.map delete mode 100644 pt/web/2021/dist/js/utils.js delete mode 100644 pt/web/2021/gulpfile.js delete mode 100644 pt/web/2021/icons.xsl delete mode 100644 pt/web/2021/package-lock.json delete mode 100644 pt/web/2021/package.json delete mode 100644 pt/web/2021/pageviewer.xsl delete mode 100644 pt/web/2021/pageviewer_restricted.xml delete mode 100644 pt/web/2021/pageviewer_restricted.xsl delete mode 100644 pt/web/2021/pageviewer_volume.xml delete mode 100644 pt/web/2021/pageviewer_volume.xsl delete mode 100644 pt/web/2021/pageviewer_volume_epub.xml delete mode 100644 pt/web/2021/pageviewer_volume_epub.xsl delete mode 100644 pt/web/2021/ptglobals.xml delete mode 100644 pt/web/2021/searchresults.xsl delete mode 120000 pt/web/2021/searchresults_restricted.xml delete mode 100644 pt/web/2021/searchresults_volume.xml delete mode 100644 pt/web/2021/searchresults_volume_epub.xml delete mode 100644 pt/web/2021/searchresults_volume_epub.xsl delete mode 100644 pt/web/2021/src/js/components/accordion.js delete mode 100644 pt/web/2021/src/js/components/controls/helpinator.js delete mode 100644 pt/web/2021/src/js/components/controls/index.js delete mode 100644 pt/web/2021/src/js/components/controls/jumpinator.js delete mode 100644 pt/web/2021/src/js/components/controls/layoutinator.js delete mode 100644 pt/web/2021/src/js/components/controls/minimizer.js delete mode 100644 pt/web/2021/src/js/components/controls/navigator.js delete mode 100644 pt/web/2021/src/js/components/controls/screeninator.js delete mode 100644 pt/web/2021/src/js/components/controls/searchinator.js delete mode 100644 pt/web/2021/src/js/components/controls/selectinator.js delete mode 100644 pt/web/2021/src/js/components/controls/viewinator.js delete mode 100644 pt/web/2021/src/js/components/controls/zoominator.js delete mode 100644 pt/web/2021/src/js/components/imgsrv.js delete mode 100644 pt/web/2021/src/js/components/messages.js delete mode 100644 pt/web/2021/src/js/components/views/base.js delete mode 100644 pt/web/2021/src/js/components/views/flip.js delete mode 100644 pt/web/2021/src/js/components/views/image.js delete mode 100644 pt/web/2021/src/js/components/views/index.js delete mode 100644 pt/web/2021/src/js/components/views/page.js delete mode 100644 pt/web/2021/src/js/components/views/plaintext.js delete mode 100644 pt/web/2021/src/js/components/views/scroll.js delete mode 100644 pt/web/2021/src/js/components/views/thumbnail.js delete mode 100644 pt/web/2021/src/js/main.js delete mode 100644 pt/web/2021/src/js/utils/_01-better-dom.js delete mode 100644 pt/web/2021/src/js/utils/_02-better-details-polyfill.js delete mode 100644 pt/web/2021/src/js/utils/_03-accordions.js delete mode 100644 pt/web/2021/src/js/utils/_04-tooltips.js delete mode 100644 pt/web/2021/src/js/utils/_base.js delete mode 100644 pt/web/2021/src/js/utils/access_banner.js delete mode 100644 pt/web/2021/src/js/utils/classList.js delete mode 100644 pt/web/2021/src/js/utils/collection_tools.js delete mode 100644 pt/web/2021/src/js/utils/crms.js delete mode 100644 pt/web/2021/src/js/utils/downloader.js delete mode 100644 pt/web/2021/src/js/utils/embedHTML_popup.js delete mode 100644 pt/web/2021/src/js/utils/feedback.js delete mode 100644 pt/web/2021/src/js/utils/google_analytics.js delete mode 100644 pt/web/2021/src/js/utils/polyfills.js delete mode 100644 pt/web/2021/src/js/utils/search_in_item.js delete mode 100644 pt/web/2021/src/js/utils/version_popup.js delete mode 100644 pt/web/2021/src/scss/_crms.scss delete mode 100644 pt/web/2021/src/scss/_debug.scss delete mode 100644 pt/web/2021/src/scss/_download.scss delete mode 100644 pt/web/2021/src/scss/_grid_mixins.scss delete mode 100644 pt/web/2021/src/scss/_panels.scss delete mode 100644 pt/web/2021/src/scss/_results.scss delete mode 100644 pt/web/2021/src/scss/_tippy.scss delete mode 100644 pt/web/2021/src/scss/_variables.scss delete mode 100644 pt/web/2021/src/scss/_viewer.scss delete mode 100644 pt/web/2021/src/scss/_walkthrough.scss delete mode 100644 pt/web/2021/src/scss/app.scss delete mode 100644 pt/web/2021/src/scss/main.scss delete mode 100644 pt/web/2021/str.replace.function.xsl delete mode 120000 pt/web/alicorn diff --git a/pt/web/2021/common.xsl b/pt/web/2021/common.xsl deleted file mode 100644 index 39e90c4cc..000000000 --- a/pt/web/2021/common.xsl +++ /dev/null @@ -1,2176 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - - - - - - - - - - - - - - - - - - - - pt - - - - - - dimension2= - : - - - : - - - - - - - - - -
-
- - - - - - - -
-
- -
- - - - - - - - - - - foaf:isPrimaryTopicOf - - - - - - - - - - - name - - - - - - - - - - - author - - - - - - url - - - - - - - - - - - - - dc:title - dc:type - http://purl.org/dc/dcmitype/Text - - - - - - - - - - - - - - - - - cc:attributionName - cc:attributionURL - - - - - - - - - - dc:creator - - - - - - - - - - - - - - - - - - - - - - cc:attributionName - cc:attributionURL - - - - - - - - - - dc:publisher - - - - - - - - - - - - - - - - - - - - - - - - - dc:description - - - - - - - - - - - - - - - . - - - - - - _blank - - - - - - - - - - - license - - - - -

-
- - - - - - _blank - - - - - - - - - - - - - - - - - _blank - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - / - - - - - - - - - - - -
- - -
-
- Author  -
-
- - - -
-
-
- - -
-
- Edition  -
-
- -
-
-
- -
-
- Published  -
-
- - - -
-
- - -
-
- Description  -
-
- - - - - -
-
-
- -
-
- Copyright  -
-
- -
-
- - - - - - - - - - - - -
-
- - - - -
-
- Permanent URL  -
-
- - - not available - - - - - - - - - - - - - - - -
-
-
- - - - -
- - - SkipLink - SkipToBookInfo - - - - SkipLink - Bibliographic Information about this book - - -
-
- Title  - - - mdpFlexible_1_1 - - - - - - - - - - - - - - - more » - - - -
- - -
- - - - -
- -
- - - - - - - - - - - - - -
- - -
- - - -
- -
- - - - - Find in a library - - - - - - - - - - - - - - - - - - - - - - - worldcat - - http://www.worldcat.org/oclc/ - - - tracking - outLinks - PT Find in a Library - - - - - - - - - - - - - - -
- - - not available - - - - - - - - - - " - - - \" - - - - - - - - - - - - - mdpBookmarkIcon - - - - - - - - - - - - - - - - - - - - - - - - //common-web/graphics/bookmark.gif - Bookmark this item - - - - - mdpBookmarkLink2 - - - - - - - - - - - - - - - - - - - - - bookmark - - - -
- -
- - - - - - - - - - form-search-inside - - - - - get - - - - /cgi/pt/search - - - /cgi/pt/search - - - - -
    - -
  • -

    - -

    -
  • -
    - -
  • - - - hidden - view - - - - - hidden - seq - - - - - - hidden - num - - - - - - mdpSearchInputBox - input-text - text - q1 - 150 - 30 - - disabled - - - - - - - - - - - - - - - - - - - mdpSearchButton - btn - submit - Search - - -
  • -
- -
- -
- - - - - - - SkipLink - Send feedback about this book - - - - - - - - - - - - panel-download - - - - - - - - - - - panel-get-this-book - - - - - - - panel-bookmark - - - - - - - panel-share - - - - - - - - - - - - - true - false - - - - -
- - true - false - - - open - false - true - - - - down - -
-

- -

- - - - -
-
- -
-
- -
- - - - - - -
- - - filter-list-container - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- - bi-file-text - - Text Only Views -

- -

- Go to the - - ssd-link - - /cgi/ssd?id= - - - - #seq - - - - ;seq= - - - - - - text-only view of this item - - - -

-
- -
-
- - - -
- - - - - - - - - - - - - -
- - -
- - - Catalog record not available - - - - -
-

- - bi-search - - Search in this Book -

-
-
-
- - - - - - - -
    - - -
-
- - - - - - - -
- - - - -
- -

- - bi-download - - Download -

- - - -

- Why isn't download available? -

-
- - -
- -
- -
-
- - - - - -
-
- - - - - - - - false - true - true - true - false - - - - - - - - -
- - - - - - - -
- Please choose another view to download individual pages. -
- -
- Format - -
- - -
- - -
- - -
-
- - -
- - -
-
- -
- - -
- -
- - -
- -
- -
- - Image Resolution -
- - - checked - - - -
-
- - - checked - - - -
-
- -
- Range - -
- - - checked - - - -
- -
- - -
- -
- - -
- - -
- - checked - - -
- - -
- - - - -
- -
-
    - -
    - -
    - -
    - -
    - -

    - -

    -

    - Download Help -

    -
    - - - -
    -
    - - - - -
    - -

    Accessible Materials

    -
      - -
    • - - -
      - -
      -
      -
    • -
      -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
  • - - tracking - outLinks - PT Find in a Library - - - https://www.worldcat.org/oclc/ - - - - Find in a library - -
  • -
    -
    - - - -
  • - - Find at - -
  • -
    -
    - - - - - - - - - - - - - - - - - - - - - - -
  • - Why isn't download available? -
  • -
    - -
  • - - pagePdfLink - page-pdf-link - tracking - PT - PT Download PDF - this page - - - - - pdf - - - - - - - - Download this page (PDF) - -
  • -
  • - - pagePdfLink1 - page-pdf-link - tracking - PT - PT Download PDF - left page - - - - - pdf - - - - - - - - Download left page (PDF) - -
  • -
  • - - pagePdfLink2 - page-pdf-link - tracking - PT - PT Download PDF - right page - - - - - pdf - - - - - - - - Download right page (PDF) - -
  • -
    -
    - - - - - - -
  • - - selectedPagesPdfLink - Download pages (PDF) - Download {PAGES} (PDF) - tracking-action - PT - PT Download PDF - selection - yes - - 0 - - - - - - - - - - - Download pages (PDF) - - -
  • -
    - - - - - - - - - -
    - - - - - - - - - - - - - - - - /cgi/imgsrv/download/text?id= - - ;format= - - - - - - - - - - - - - - - - - - - -
  • - - - Download whole book () - - Not available (why not?) - - - - Download whole book () - - - tracking-action download - PT - PT Download - whole book - - - - - - - - - - - - - # - - - Download whole book () - - -

    Partner login required

    -
    -
    -
    -
  • -
    - - - - -
    - - -

    - Partner institution members: - - to download this item. -

    -

    - If you are not a member of a partner institution, - - whole book download is not available. - (why not?) -

    -
    - -

    - Full available only to authenticated users from - HathiTrust partner institutions. -

    -
    - -

    - In-copyright books cannot be downloaded. -

    -
    - -

    - This item cannot be downloaded. -

    -
    - - Handled above - - -

    - Sorry. -

    -
    -
    -
    -
    -
    - - - - - bi-bookmark-fill - bi-bookmark-fill - bi-bookmark - - - - - listed - listed - empty - - - - - - - - - - - - - - - - - ?urlappend=%3Bseq= - - - - - - - - - - - - - - - - - - - -
    -

    - - Version -

    -

    - - -
    - About the version -

    -
    -
    - - -
    -

    About versions

    - Version: - -
    -
    - - - - - -

    - - to make your personal collections permanent. -

    -
    - - - -
    - - hide - -

    In your collections:

    - -

    - This item is in your - - collection: - collections: - -

    -
    -
      - -
    • - - - - - - -
    • -
      -
    -
    - - - - - - -
    - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - ../ - - - - - - - - - - - - - - - - - -
    - -

    - - ptsearch--wrapper - - inactive - - - - tracking - PT - PT Back to In Item Results - ← Back to "In this Item" results - -

    -
    - - -

    - - - - - tracking - PT - PT Back to Search Results - ← Back to - - -

    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - offscreen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Item Not Available - - - - Temporary Access - - - - Full View - - - - Limited View - - - - - | - - - - - ( - - ) - - - - - - - - -
    diff --git a/pt/web/2021/dist/css/app.css b/pt/web/2021/dist/css/app.css deleted file mode 100644 index fe0f3316f..000000000 --- a/pt/web/2021/dist/css/app.css +++ /dev/null @@ -1,3184 +0,0 @@ -.tippy-box[data-animation=fade][data-state=hidden] { - opacity: 0; -} - -[data-tippy-root] { - max-width: calc(100vw - 10px); -} - -.tippy-box { - position: relative; - background-color: #333; - color: #fff; - border-radius: 4px; - font-size: 14px; - line-height: 1.4; - outline: 0; - transition-property: transform,visibility,opacity; -} - -.tippy-box[data-placement^=top] > .tippy-arrow { - bottom: 0; -} - -.tippy-box[data-placement^=top] > .tippy-arrow:before { - bottom: -7px; - left: 0; - border-width: 8px 8px 0; - border-top-color: initial; - transform-origin: center top; -} - -.tippy-box[data-placement^=bottom] > .tippy-arrow { - top: 0; -} - -.tippy-box[data-placement^=bottom] > .tippy-arrow:before { - top: -7px; - left: 0; - border-width: 0 8px 8px; - border-bottom-color: initial; - transform-origin: center bottom; -} - -.tippy-box[data-placement^=left] > .tippy-arrow { - right: 0; -} - -.tippy-box[data-placement^=left] > .tippy-arrow:before { - border-width: 8px 0 8px 8px; - border-left-color: initial; - right: -7px; - transform-origin: center left; -} - -.tippy-box[data-placement^=right] > .tippy-arrow { - left: 0; -} - -.tippy-box[data-placement^=right] > .tippy-arrow:before { - left: -7px; - border-width: 8px 8px 8px 0; - border-right-color: initial; - transform-origin: center right; -} - -.tippy-box[data-inertia][data-state=visible] { - transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11); -} - -.tippy-arrow { - width: 16px; - height: 16px; - color: #333; -} - -.tippy-arrow:before { - content: ""; - position: absolute; - border-color: transparent; - border-style: solid; -} - -.tippy-content { - position: relative; - padding: 5px 9px; - z-index: 1; -} - -html.crms #person-nav { - margin-left: auto; -} - -html.crms span.blocked { - display: block; - margin-top: 4px; - /*margin-bottom: 2px;*/ -} - -html.crms span.blocked strong { - display: block; -} - -html.crms span.blocked strong::first-letter { - text-transform: capitalize; -} - -html.crms #panel-get-this-book, -html.crms #panel-bookmark, -html.crms #panel-share, -html.crms #panel-download { - display: none; -} - -html.crms main { - padding: 0; - margin: 0; -} - -html.crms .beta--alert { - display: none; -} - -@supports not (display: grid) { - html { - --uses-grid:false; - } -} - -img:-moz-loading { - visibility: hidden; -} - -#root { - height: 100vh; - height: calc(var(--vh, 1vh) * 100); - width: 100vw; - min-height: 0; - display: -ms-grid; - display: grid; - -ms-grid-rows: auto 1fr; - grid-template: "header" auto "main" 1fr; -} - -@media only screen and (min-width: 43.75rem) { - .mq--narrow, .mq--narrower { - display: none !important; - } -} - -@media only screen and (max-width: 43.75rem) { - .mq--wide { - display: none !important; - } - #action-help { - display: none; - } -} - -@media only screen and (min-width: 527px) and (max-width: 43.75rem) and (min-height: 491px) { - .mq--narrower { - display: none !important; - } -} - -.alert--emergency-access { - background-color: orange; - border: 1px solid darkorange; - display: block; - text-shadow: none; - margin-bottom: 0.5rem; -} - -.alert--emergency-access[data-initialized="false"] > * { - opacity: 0; -} - -.alert--emergency-access p { - font-weight: bold; - color: black; -} - -.alert--emergency-access p a { - color: #333; -} - -.alert--emergency-access .alert--emergency-access--options { - margin-top: 1rem; - display: flex; - align-items: center; -} - -.alert--emergency-access .alert--emergency-access--options a.btn { - border-top-color: #333; - border-left-color: #333; - border-bottom-color: #000; - border-right-color: #000; - border-bottom-width: 2px; -} - -.alert--emergency-access .alert--emergency-access--options a.btn:hover { - color: white; -} - -.alert--emergency-access .alert--emergency-access--options a.button-link { - color: black; -} - -.alert--emergency-access .alert--emergency-access--options a.button-link[disabled] { - display: none; -} - -svg.minimal { - display: none; -} - -body[data-ui-view="minimal"] #action-toggle-sidebar { - display: none; -} - -body[data-ui-view="minimal"] #action-select-view { - display: none; -} - -body[data-ui-view="minimal"] #actions-group-zoom { - display: none; -} - -body[data-ui-view="minimal"] #action-help { - display: none; -} - -body[data-ui-view="minimal"] .output-group { - display: none; -} - -body[data-ui-view="minimal"] header { - display: none; -} - -body[data-ui-view="minimal"] .page .page--toolbar .tag { - visibility: hidden; -} - -body[data-ui-view="minimal"] svg.minimal { - display: block; -} - -body[data-ui-view="minimal"] svg.maximal { - display: none; -} - -body[data-fullscreen="false"] #action-toggle-fullscreen .exit-fullscreen { - display: none; -} - -body[data-fullscreen="true"] #action-toggle-fullscreen .enter-fullscreen { - display: none; -} - -body[data-fullscreen="true"] #sidebar { - display: none !important; -} - -body[data-fullscreen="true"] .d--sidebar--toggle--container { - display: none !important; -} - -button.btn { - display: flex; - flex-direction: row; - align-items: center; - min-width: 2.75rem; - min-height: 2.75rem; -} - -button.btn svg { - height: 1.5rem; - width: 1.5rem; -} - -button.btn svg + span:not(.sr-only) { - display: inline-block; - margin-left: 0.5rem; -} - -@media screen and (max-width: 20em) { - button.btn { - min-width: 2.5rem; - min-height: 2.5rem; - } - button.btn svg { - height: 1.25rem; - width: 1.25rem; - } -} - -nav button.btn { - min-height: 0; - display: inline-block; -} - -nav button.btn i.icomoon + * { - margin-left: 0.5rem; -} - -svg + span:not(.sr-only) { - display: inline-block; - margin-left: 0.5rem; -} - -svg.rotate-90 { - transform-origin: 50% 50%; - transform: rotateZ(90deg); -} - -#action-help { - background: orange; - border: 3px solid darkorange; -} - -body { - --grid-sidebar-column-default: min-content; - --grid-sidebar-column: var(--grid-sidebar-column-width, var(--grid-sidebar-column-default)); -} - -@media (min-width: 75rem) { - body { - --grid-sidebar-column-default: minmax(min-content, 28rem); - } -} - -@media (min-width: 62rem) { - body { - --grid-sidebar-column-default: minmax(min-content, 20rem); - } -} - -.d--container { - display: -ms-grid; - display: grid; - -ms-grid-columns: min-content min-content 1fr; - grid-template-columns: var(--grid-sidebar-column) min-content 1fr; - -ms-grid-rows: 1fr; - grid-template-rows: 1fr; - min-height: 0; - min-width: 0; - position: relative; - padding: 0; - background: #fffefb; - border: 1px solid #d5d3d3; - box-shadow: rgba(0, 0, 0, 0.1) 0 1px 10px; -} - -@supports not (display: grid) { - .d--container { - display: flex; - flex-direction: row; - } -} - -.d--container .d--sidebar--toggle--container { - -ms-grid-row-align: center; - align-self: center; - -ms-grid-column: 2; - -ms-grid-column-span: 1; - grid-column: 2 / 3; - -ms-grid-row: 1; - -ms-grid-row-span: 1; - grid-row: 1 / 2; - position: relative; - display: flex; - align-items: center; - justify-content: center; - height: 100%; -} - -@supports not (display: grid) { - .d--container .d--sidebar--toggle--container { - order: 2; - } -} - -.d--container .d--sidebar--toggle--container .d--sidebar--toggle--edge { - border-right: 1px solid #d5d3d3; - position: absolute; - top: 0; - bottom: 0; - left: 50%; - transform: translateX(-50%); - margin-top: 1rem; - margin-bottom: 1rem; -} - -.d--container .d--reader { - margin-left: -1rem; -} - -@media (min-width: 75rem) { - .d--container { - margin: 0.5rem 1rem; - } -} - -@media (min-width: 62rem) { - .d--container { - margin: 0.5rem 1rem; - } -} - -@supports (display: grid) { - @media only screen and (max-width: 43.75rem) { - .d--container { - -ms-grid-columns: 1fr !important; - grid-template-columns: 1fr !important; - -ms-grid-rows: min-content 1fr; - grid-template-rows: min-content 1fr; - padding: 0; - margin: 0; - } - .d--container .d--sidebar { - -ms-grid-column: 1; - -ms-grid-column-span: 1; - grid-column: 1 / 2; - -ms-grid-row: 2; - -ms-grid-row-span: 1; - grid-row: 2 / 3; - z-index: 1; - max-height: 100vh; - width: 100%; - } - .d--container .d--sidebar .d--panels .panel { - max-width: none; - } - .d--container .d--reader { - -ms-grid-column: 1; - -ms-grid-column-span: 1; - grid-column: 1 / 2; - -ms-grid-row: 2; - -ms-grid-row-span: 1; - grid-row: 2 / 3; - z-index: 10; - } - .d--container .d--sidebar--toggle--container { - -ms-grid-column: 1; - -ms-grid-column-span: 1; - grid-column: 1 / 2; - -ms-grid-row: 1; - -ms-grid-row-span: 1; - grid-row: 1 / 2; - } - } -} - -@media only screen and (max-width: 43.75rem) { - html.ie .d--container { - -ms-grid-columns: 1fr; - grid-template-columns: 1fr; - -ms-grid-rows: min-content 1fr; - grid-template-rows: min-content 1fr; - padding: 0; - margin: 0; - } - html.ie .d--container .d--sidebar { - -ms-grid-column: 1; - -ms-grid-column-span: 1; - grid-column: 1 / 2; - -ms-grid-row: 2; - -ms-grid-row-span: 1; - grid-row: 2 / 3; - z-index: 1; - max-height: 100vh; - width: 100%; - } - html.ie .d--container .d--sidebar .d--panels .panel { - max-width: none; - } - html.ie .d--container .d--reader { - -ms-grid-column: 1; - -ms-grid-column-span: 1; - grid-column: 1 / 2; - -ms-grid-row: 2; - -ms-grid-row-span: 1; - grid-row: 2 / 3; - z-index: 10; - } - html.ie .d--container .d--sidebar--toggle--container { - -ms-grid-column: 1; - -ms-grid-column-span: 1; - grid-column: 1 / 2; - -ms-grid-row: 1; - -ms-grid-row-span: 1; - grid-row: 1 / 2; - } -} - -.d--sidebar { - position: relative; - min-height: 0; - max-width: none; - min-width: 0; - display: -ms-grid; - display: grid; - -ms-grid-rows: min-content; - grid-template-rows: min-content; - overflow: auto; - -ms-grid-column: 1; - grid-column: 1; - -ms-grid-row: 1; - grid-row: 1; -} - -.d--sidebar > h2 { - margin: 0 auto; - padding: 0 1rem; -} - -@supports not (display: grid) { - .d--sidebar { - order: 1; - max-width: 20rem; - } -} - -#sidebar.d--sidebar { - width: 100%; -} - -@media only screen and (min-width: 43.75rem) { - body[data-sidebar-state="closed"] { - --grid-sidebar-column-width: 0px !important; - } - body[data-sidebar-state="closed"] .d--sidebar { - visibility: hidden; - width: 0 !important; - max-width: 0 !important; - } - body[data-sidebar-state="closed"] #action-tweak-sidebar .open { - display: none; - } - body[data-sidebar-state="open"] #action-tweak-sidebar .closed { - display: none; - } -} - -@media only screen and (max-width: 43.75rem) { - body[data-sidebar-toggle-state="open"] .d--sidebar { - z-index: 10 !important; - } - body[data-sidebar-toggle-state="open"] .d--reader { - z-index: 1 !important; - } - body[data-sidebar-toggle-state="open"] .d--toolbar--reader { - display: none; - } -} - -#action-tweak-sidebar { - white-space: nowrap; - width: 2rem; - height: 3.25rem; - display: block; - padding: 0; - z-index: 24; - opacity: 1; - box-shadow: 1px 1px 1px #666; -} - -#action-toggle-sidebar { - white-space: nowrap; - display: block; - padding: 0.5rem 1rem; - z-index: 24; - opacity: 1; - border-bottom-width: 1px; - box-shadow: none; - border-radius: 0; - flex-grow: 1; - background: #444; - color: #fff; - font-weight: bold; -} - -#action-toggle-sidebar .icomoon.column::before { - font-size: 1.5rem; -} - -#action-toggle-sidebar[aria-expanded="false"] .icomoon.column::before { - content: "\ea43"; -} - -#action-toggle-sidebar[aria-expanded="true"] .icomoon.column::before { - content: "\ea41"; -} - -.flex-space-between { - display: flex; - justify-content: space-between; -} - -.d--toolbar--reader { - position: absolute; - z-index: 100; - bottom: 1rem; - right: 1rem; - min-height: 3rem; - min-width: 6rem; - display: flex; - flex-direction: row; - justify-content: flex-end; - align-items: center; - background: white; - padding: 0.25rem; -} - -.d--toolbar--reader > * + * { - margin-left: 0.25rem; -} - -.d--toolbar--reader .btn { - border: 2px solid #666; - padding: 0.5rem; -} - -.d--toolbar--reader .btn-group .btn + .btn { - margin-left: -2px; -} - -.d--toolbar--reader button.btn > span { - text-transform: uppercase; -} - -.d--toolbar--reader .output-group { - background: #333; - color: #fff; - display: flex; - flex-direction: row; - align-items: center; - padding: 0.25rem 0.75rem; - border-radius: 0.25rem; -} - -.d--toolbar--reader .output-group > * + * { - margin-left: 0.25rem; -} - -.d--toolbar--reader .output-group label { - margin: 0; - color: #fff; -} - -.d--toolbar--reader .output-group input { - width: 6ch; - text-align: center; - background: #fff; - text-decoration: underline; - text-decoration-color: #ddd; - padding: 0.5rem 0.25rem; -} - -.d--toolbar--reader .output-group input:focus { - outline-color: #EEE; -} - -@media only screen and (max-width: 60rem) { - .d--toolbar--reader .btn { - padding: 0.5rem; - } - .d--toolbar--reader .dropup > button > span > span { - display: none !important; - } - .d--toolbar--reader .output-group { - font-size: 0.75rem; - } - .d--toolbar--reader .output-group > * + * { - margin-left: 0.25rem; - } - .d--toolbar--reader .output-group input[type="text"] { - padding: 0.5rem 0.25rem; - font-size: 0.75rem; - } -} - -@media only screen and (max-height: 22rem) { - .d--toolbar--reader .dropup .dropdown-menu.show { - max-height: 75vh; - overflow: auto; - } -} - -@media only screen and (max-width: 29.75rem) { - .d--toolbar--reader { - justify-content: center; - right: 50%; - transform: translateX(50%); - } - .d--toolbar--reader .output-group { - display: none !important; - } -} - -.d--toolbar--reader[data-toolbar-width="745"] .navigator-range-wrap { - display: none; -} - -.d--toolbar--reader[data-toolbar-width="550"] .navigator-range-wrap { - display: none; -} - -.d--toolbar--reader[data-toolbar-width="550"] #action-go-first, .d--toolbar--reader[data-toolbar-width="550"] #action-go-last { - display: none; -} - -.dropdown-header { - display: block; - width: 100%; - padding: 0.25rem 1rem; - font-weight: bold; - color: #212529; - white-space: nowrap; - background-color: transparent; - border: 0; - font-size: 1rem; - cursor: default; -} - -.dropdown-item { - cursor: pointer; -} - -.dropdown-item span { - cursor: pointer; -} - -.dropdown-menu-dark .dropdown-header { - color: #fff; -} - -.sr-only { - display: none; -} - -a.text-link { - color: darkorange; -} - -a.text-link svg { - height: 1.5rem; - width: 1.5rem; -} - -.navigator-range-wrap { - flex-grow: 1; - display: flex; - align-items: center; - width: 9rem; - margin-right: 0.25rem; -} - -.navigator-range-wrap input[type="range"] { - margin: auto; - padding: 4px; - flex-grow: 1; - height: 16px; - background-color: #444; - background: linear-gradient(to right, #ff9f1a 0%, #ff9f1a 0%, #444 0%, #444 100%); - border: 2px solid #eee; - border-radius: 4px; - cursor: pointer; - -webkit-appearance: none; -} - -.navigator-range-wrap input[type=range]::-webkit-slider-runnable-track { - box-shadow: none; - border: none; - background: transparent; - height: 8px; - content: ''; - width: 100%; - -webkit-appearance: none; -} - -.navigator-range-wrap input[type=range]::-moz-range-track { - box-shadow: none; - border: none; - background: transparent; -} - -.navigator-range-wrap input[type=range]::-moz-focus-outer { - border: 0; -} - -.navigator-range-wrap input[type=range]::-webkit-slider-thumb { - width: 32px; - height: 32px; - border: 0; - margin-top: -12px; - background: #fff; - border-radius: 4px; - box-shadow: 0 0 0 4px #39383a; - -webkit-appearance: none; -} - -.navigator-range-wrap input[type=range]::-moz-range-thumb { - width: 32px; - height: 32px; - border: 0; - background: #fff; - border-radius: 4px; - box-shadow: 0 0 0 4px #39383a; -} - -.navigator-range-wrap input[type=range]::-ms-fill-lower { - background-color: #ff9f1a; -} - -.navigator-range-wrap input[type=range]::-moz-range-progress { - background-color: #ff9f1a; -} - -.navigator-range-wrap input[type=range]::-ms-tooltip { - display: none; -} - -.navigator-range-wrap input[type=range]::-ms-thumb { - margin-top: 1px; - border: 1px solid #000; - height: 32px; - width: 32px; - border-radius: 4px; - background: #fff; - box-shadow: 0 0 6px 0px rgba(0, 0, 0, 0.75); - cursor: pointer; -} - -.mq--mobile { - display: none; -} - -@media (max-width: 500px) { - .mq--mobile { - display: block; - } -} - -@media (max-width: 500px) { - .app--toolbar { - width: 100%; - bottom: 0; - padding: 2px; - } - .hide--mobile { - display: none !important; - } -} - -.kwic { - font-size: 0.75rem; -} - -.modal__overlay { - z-index: 150; -} - -.modal__footer { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; -} - -.modal__footer .alert { - margin: 0; -} - -.login-panel .modal__footer { - display: block; -} - -html.ie .d--toolbar--reader .output-group input { - width: 4em; -} - -.beta--panel { - display: flex; - flex-direction: column; - align-items: center; -} - -.beta--panel > div { - width: 90%; -} - -.beta--panel .alert { - background: #333; - color: #eee; - text-shadow: none; - margin-bottom: 0.25rem; - display: flex; - flex-direction: row; - align-items: flex-start; - margin-bottom: 0.25rem; - padding: 0.875rem; -} - -.beta--panel .alert svg { - display: block; - width: 2.5rem; - max-height: 3.5rem; - flex-shrink: 0; - margin-right: 0.5rem; - fill: white; - stroke: white; -} - -.beta--panel .alert svg text { - display: none; -} - -.beta--panel .alert p a { - color: orange; - font-size: 0.875rem; -} - -.beta--panel a.action-beta-2019 { - background: transparent; - color: #924a0b; - border: 2px solid #924a0b; - width: 100%; - text-align: center; - font-weight: bold; -} - -.details--alert { - margin-right: -1rem; - border-radius: 8px; -} - -.details--alert[data-initialized="false"] > * { - opacity: 0; -} - -.details--alert.beta { - background: #333; - color: #eee; -} - -.details--alert.beta svg { - display: block; - width: 2rem; - max-height: 2rem; - flex-shrink: 0; - fill: white; - stroke: white; -} - -.details--alert.beta svg text { - display: none; -} - -.details--alert.beta a { - color: orange; -} - -.details--alert.beta a.action-beta-2019 { - font-weight: bold; - font-size: 1rem; -} - -.details--alert summary { - font-weight: bold; -} - -.details--alert summary .summary span { - margin-right: 0.5rem; -} - -.details--alert.iconless summary { - padding-left: 0.75rem; -} - -.details--alert > div { - padding: 1rem; - padding-top: 0; - font-size: 0.875rem; -} - -.details--alert > div br { - margin-bottom: 0.25rem; -} - -.details--alert > div p:last-of-type > a:only-child { - font-size: 1rem; - font-weight: bold; -} - -.details--alert.special-access { - background: orange; - border: 1px solid darkorange; - color: #333; -} - -.details--alert.special-access a { - color: black; -} - -.details--alert.special-access summary { - color: black; -} - -.details--alert.special-access[data-access-type="emergency_access_affiliate"] summary span { - white-space: normal; -} - -.details--alert.special-access .alert--emergency-access--options { - margin-top: 1rem; - display: flex; - align-items: center; -} - -.details--alert.special-access .alert--emergency-access--options a.btn { - border-top-color: #333; - border-left-color: #333; - border-bottom-color: #000; - border-right-color: #000; - border-bottom-width: 2px; -} - -.details--alert.special-access .alert--emergency-access--options a.btn:hover { - color: white; -} - -.details--alert + .details--alert { - margin-top: 0.5rem; -} - -details.details--notice { - background: #fcf8e3; - border-color: #664d03; - border: 1px solid #664d03; - color: #664d03; - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.35); -} - -html.ie .beta--panel { - max-width: 18rem; -} - -html[data-debug-status="true"] div[role='status'] { - position: fixed !important; - top: 10px; - right: 10px; - clip: unset; - min-height: 4rem; - min-width: 4rem; - width: auto; - height: auto; - border: 4px solid green; - z-index: 90000; - background: green; - color: yellow; -} - -.navigator-range-wrap { - display: none !important; -} - -html[data-survey-activated="false"] ._hj-widget-container { - display: none !important; -} - -html[data-in-walkthrough="true"] ._hj-widget-container { - display: none !important; -} - -#aup-alert-form + #root .d--toolbar--reader { - bottom: 6rem; -} - -.debug-messages { - position: fixed; - z-index: 90000; - opacity: 0.25; - background: orange; - max-height: 25vh; - max-width: 50vw; - overflow: auto; -} - -.debug-messages:hover { - opacity: 1.0; -} - -.tippy-box[data-theme~=hathitrust] { - color: #000; - box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15); - background-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=top] > .tippy-arrow:before { - border-top-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=bottom] > .tippy-arrow:before { - border-bottom-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=left] > .tippy-arrow:before { - border-left-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=right] > .tippy-arrow:before { - border-right-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust] > .tippy-backdrop { - background-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust] > .tippy-svg-arrow { - fill: #fdd116; -} - -.d--panels { - padding: 1rem 0.5rem; - padding-right: 1rem; - padding-bottom: 4rem; - position: relative; -} - -.d--panels h1 { - font-size: 1.2rem; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels h1 { - font-size: 1rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels h1 { - font-size: 0.875rem; - } -} - -.d--panels h2, .d--panels h3 { - font-size: 1.1rem; - font-weight: bold; - display: flex; - flex-direction: row; - align-items: center; - line-height: 1.5; -} - -.d--panels h2 > * + *, .d--panels h3 > * + * { - margin-left: 0.5rem; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels h2, .d--panels h3 { - font-size: 0.875rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels h2, .d--panels h3 { - font-size: 0.75rem; - } -} - -.d--panels details h2, .d--panels details h3 { - margin: 0; - font-size: 1rem; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels details h2, .d--panels details h3 { - font-size: 0.875rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels details h2, .d--panels details h3 { - font-size: 0.75rem; - } -} - -.d--panels .panel { - padding: 0; - padding-left: 1rem; - padding-right: 0.25rem; - margin: 0 0 1rem; - width: 95%; -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels .panel { - font-size: 0.875rem; - } -} - -.d--panels .panel h2, .d--panels .panel h3 { - margin-bottom: 0.75rem; - border-bottom: 1px solid #ddd; - padding-bottom: 0.25rem; - margin-top: 0; -} - -.d--panels .panel p { - margin-top: 1rem; - margin-bottom: 1rem; -} - -.d--panels .panel p:first-of-type, .d--panels .panel p:first-child { - margin-top: 0; -} - -.d--panels .panel p + p { - margin-bottom: 0; -} - -.d--panels .panel p:last-child { - margin-bottom: 0; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels .panel p { - font-size: 0.875rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels .panel p { - font-size: 0.75rem; - } -} - -.d--panels .panel ul { - list-style: none; - margin: 0; - padding: 0; -} - -.d--panels .panel ul.action-contents-navigation { - padding-left: 1rem; -} - -.d--panels .panel ul li { - position: relative; -} - -.d--panels .panel ul li + li { - margin-top: 0.5rem; -} - -.d--panels .panel form { - margin-top: 0.5rem; - margin-bottom: 0.25rem; -} - -.d--panels .panel form label { - display: block; - margin-bottom: 0.25rem; -} - -.d--panels .panel form input[type=text] { - margin-bottom: 1rem; -} - -.d--panels .panel.collectionLinks select { - width: 100%; - font-size: 1rem; - margin-top: 0.25rem; - margin-bottom: 0.25rem; -} - -.d--panels .panel.collectionLinks button { - display: block; - margin-top: 0.25rem; - margin-bottom: 0.25rem; -} - -.d--panels .panel.collectionLinks .collection-membership { - list-style: circle; - margin-left: 1rem; -} - -.d--panels .panel.collectionLinks .select-collection { - margin-bottom: 1rem; -} - -.d--panels #mdpBackToResults p { - margin: 1rem 1rem 0.5rem; -} - -.d--panels .panel + .panel { - margin-top: 1.5rem; -} - -.alert + .d--panels { - padding-top: 0; -} - -.d--panels .panel article.result h3, .d--panels .panel article.result h4 { - font-size: 1.1rem; - font-weight: bold; - margin: 0.5rem 0; - border-bottom: none; - display: block; -} - -html[data-details-polyfilled="true"] summary:first-child ~ * { - display: none; -} - -html[data-details-polyfilled="true"] details[open] > * { - display: block; -} - -html[data-details-polyfilled="true"] details > summary:first-child { - display: block; -} - -.d--panels h4 { - font-weight: 500; -} - -.d--panels p.small { - font-size: 0.75rem; - color: #333; -} - -.d--panels details { - border-top: 1px solid #666; - margin-top: 0.5rem; - margin-bottom: 0.5rem; - margin: 0; - padding: 4px; - height: var(--collapsed); - overflow: hidden; - transition: height 300ms cubic-bezier(0.4, 0.01, 0.165, 0.99); -} - -.d--panels details:last-of-type { - border-bottom: 1px solid #666; -} - -.d--panels details:not([open]) .icon.open { - display: none; -} - -.d--panels details[open] .icon.closed { - display: none; -} - -.d--panels details[open] { - height: var(--expanded); -} - -.d--panels summary::marker { - display: none; -} - -.d--panels summary::-webkit-details-marker { - display: none; -} - -.d--panels summary { - --icon-size: 1rem; - --bdw: 2px; - border: 0; - border-radius: 5px; - list-style-type: none; - margin: 4px; - padding: 0.25rem 1rem; - -webkit-padding-end: 0.5rem; - padding-inline-end: 0.5rem; - -webkit-padding-start: 1rem; - padding-inline-start: 1rem; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - display: flex; - justify-content: space-between; - align-items: center; -} - -.d--panels summary:focus { - border-radius: 0; -} - -.d--panels summary div.summary { - width: 100%; - display: flex; - justify-content: space-between; - align-items: center; -} - -.d--panels summary div.summary span { - white-space: nowrap; -} - -.d--panels summary .icon { - width: 1rem; - height: 1rem; -} - -@media (max-width: 46rem) { - .d--panels summary { - padding: 0.25rem 0.25rem; - -webkit-padding-end: 0.125rem; - padding-inline-end: 0.125rem; - -webkit-padding-start: 0.125rem; - padding-inline-start: 0.125rem; - } -} - -.d--panels .panel { - width: 100%; - margin-top: 1rem; -} - -.d--panels .panel form.d--search-form { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - max-width: 100%; -} - -.d--panels .panel form.d--search-form .input-group-text { - flex-grow: 1; - flex-basis: 50%; - margin-right: 0.5rem; -} - -.d--panels .panel form.d--search-form .d--search-form-target { - flex-basis: 100%; -} - -.d--panels .panel form.d--search-form .d--search-form-target label { - font-size: 0.875rem; -} - -.d--panels .versionContainer.panel { - margin-top: 2rem; - margin-left: 0.5rem; - font-size: 0.75rem; -} - -.d--panels .versionContainer.panel h3 { - font-size: 0.75rem; - border-bottom: none; - padding-bottom: 0; - margin-bottom: 0.25rem; -} - -.d--panels .versionContainer.panel span.ownerid-label { - display: block; -} - -.d--panels .versionContainer.panel span.ownerid-label:empty { - display: none; -} - -.d--panels #panel-bookmark .bi-bookmark-fill.listed { - fill: black; -} - -.d--panels #panel-search[data-has-results="false"] { - background: #fdd116; -} - -.d--panels #panel-share #urlForm > div { - margin-bottom: 1rem; -} - -.d--panels #panel-share .form-control-row { - display: flex; - flex-direction: row; -} - -.d--panels #panel-share .form-control-row input[type="text"] { - margin-bottom: 0; -} - -.d--panels #panel-share .form-control-row button { - padding: 0.5rem; -} - -.d--panels #panel-share .form-control-row button:hover { - fill: #fff; -} - -body.hide-highlights .image .highlight { - display: none !important; -} - -body.hide-highlights .page-text .highlight--plaintext { - background: transparent !important; -} - -.d--reader { - min-height: 0; - position: relative; - -ms-grid-column: 3; - -ms-grid-column-span: 1; - grid-column: 3 / 4; - -ms-grid-row: 1; - -ms-grid-row-span: 1; - grid-row: 1 / 2; - display: -ms-grid; - display: grid; - -ms-grid-columns: 1fr; - grid-template-columns: 1fr; - -ms-grid-rows: 1fr; - grid-template-rows: 1fr; - overflow: hidden; - background: #fffefb; -} - -@supports not (display: grid) { - .d--reader { - order: 3; - flex-grow: 1; - display: flex; - } - .d--reader .d--reader--container { - flex-grow: 1; - } -} - -.d--reader[data-view="1up"] .d--reader--container, .d--reader[data-view="thumb"] .d--reader--container, .d--reader[data-view="page"] .d--reader--container { - overflow: auto; -} - -.d--reader[data-view="1up"] .d--reader--container.animating, .d--reader[data-view="thumb"] .d--reader--container.animating, .d--reader[data-view="page"] .d--reader--container.animating { - overflow: hidden; -} - -@supports not (display: grid) { - .d--reader[data-view="1up"] .d--reader--container .d--reader--viewer, .d--reader[data-view="thumb"] .d--reader--container .d--reader--viewer, .d--reader[data-view="page"] .d--reader--container .d--reader--viewer { - height: auto !important; - } -} - -.d--reader[data-view="thumb"] .d--reader--viewer { - flex-direction: row; - flex-wrap: wrap; -} - -.d--reader[data-view="thumb"] .d--reader--viewer .page { - margin-top: 3rem; -} - -.d--reader[data-view="thumb"] .d--reader--viewer .page .image { - min-height: 160px; -} - -.d--reader[data-view="page"] { - justify-content: center; -} - -.d--reader[data-view="page"].short { - align-content: center; -} - -.d--reader[data-view="page"] .d--reader--viewer { - min-height: 0; - height: auto; - width: 100%; - display: -ms-grid; - display: grid; - grid-template-areas: "page"; - -ms-grid-rows: 1fr; - grid-template-rows: 1fr; - -ms-grid-columns: min-content; - grid-template-columns: min-content; - justify-content: center; - align-content: center; -} - -.d--reader[data-view="page"] .d--reader--viewer.animating { - overflow: hidden; -} - -.d--reader[data-view="page"] .d--reader--viewer::after { - display: block; - content: ""; - height: 6rem; -} - -.d--reader[data-view="page"] .d--reader--viewer .page { - -ms-grid-row: 1; - -ms-grid-column: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - grid-area: page; - -ms-grid-row: 1; - -ms-grid-row-span: 1; - visibility: hidden; - opacity: 0; - margin-bottom: 4rem; -} - -.d--reader[data-view="page"] .d--reader--viewer .page.placeholder { - display: none; -} - -.d--reader[data-view="page"] .d--reader--viewer .page[data-visible="true"] { - visibility: visible; - opacity: 1; -} - -.d--reader[data-view="page"] .d--reader--viewer .page[data-visible="false"] .image { - height: 0 !important; -} - -.d--reader[data-view="page"] .d--reader--viewer .page[data-visible="false"] .image img { - display: none; -} - -.d--reader[data-view="page"] .d--reader--viewer .page .image img { - height: 100%; -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--foldout .image { - transform: scale(1.1); -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--moveToLeft { - animation: imageMoveToLeft .4s ease both; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="page"] .d--reader--viewer .page.page--moveToLeft { - animation-duration: 0s; - } -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromRight { - animation: imageMoveFromRight .4s ease both; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromRight { - animation-duration: 0s; - } -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromRightFade { - animation: imageMoveFromRightFade 0.2s ease both; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromRightFade { - animation-duration: 0s; - } -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--moveToRight { - animation: imageMoveToRight .2s ease both; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="page"] .d--reader--viewer .page.page--moveToRight { - animation-duration: 0s; - } -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromLeft { - animation: imageMoveFromLeft .2s ease both; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromLeft { - animation-duration: 0s; - } -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromLeftFade { - animation: imageMoveFromLeftFade 0.2s ease both; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="page"] .d--reader--viewer .page.page--moveFromLeftFade { - animation-duration: 0s; - } -} - -.d--reader[data-view="page"] .d--reader--viewer .page.page--fade { - animation: imageFade 0.4s ease both; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="page"] .d--reader--viewer .page.page--fade { - animation-duration: 0s; - } -} - -.d--reader[data-view="page"][data-format="plaintext"] .d--reader--viewer { - -ms-grid-columns: 85%; - grid-template-columns: 85%; -} - -.d--reader[data-view="page"][data-format="plaintext"] .d--reader--viewer .page { - margin-top: 2rem; - width: 100%; - transition: visibility 0s linear 150ms, opacity 300ms; -} - -.d--reader[data-view="page"][data-format="plaintext"] .d--reader--viewer .page[data-visible="true"] { - display: block; - visibility: visible; - opacity: 1; - transition: visibility 0s linear 0ms, opacity 150ms; - width: 100%; - z-index: 9; -} - -.d--reader[data-view="page"][data-format="plaintext"] .d--reader--viewer .page[data-visible="true"].pending { - z-index: 10; -} - -.d--reader[data-view="page"][data-format="plaintext"] .d--reader--viewer .page[data-visible="true"].exiting { - z-index: -10; -} - -.d--reader[data-view="page"][data-format="plaintext"] .d--reader--viewer .page[data-visible="false"] .page-text { - height: 0 !important; -} - -.d--reader[data-view="2up"] { - -ms-grid-rows: 1fr; - grid-template-rows: 1fr; - justify-content: center; - align-content: center; -} - -.d--reader[data-view="2up"] .d--reader--container { - min-width: 0; - overflow: auto; - scroll-behavior: smooth; -} - -.d--reader[data-view="2up"] .d--reader--viewer { - grid-template-areas: "verso recto"; - display: -ms-grid; - display: grid; - -ms-grid-rows: 1fr; - grid-template-rows: 1fr; - -ms-grid-columns: min-content min-content; - grid-template-columns: min-content min-content; - grid-gap: 0rem; - padding-top: 2.5rem; - margin-bottom: 6rem; - min-width: 0; - justify-content: center; -} - -@supports not (display: grid) { - .d--reader[data-view="2up"] .d--reader--viewer { - display: flex; - flex-direction: row; - position: relative; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer .page { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - visibility: hidden; - opacity: 0; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page .page--toolbar { - position: static !important; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page .image { - max-height: var(--max-page-height, none); - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAFCAYAAABirU3bAAAAG0lEQVQIW2O8c+fOTCEhIYZ3794xgGhGKggAAJf0H/UWcK5GAAAAAElFTkSuQmCC); -} - -.d--reader[data-view="2up"] .d--reader--viewer .page .image img { - width: auto; - height: 100%; - border: 1px solid #ddd; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.verso .image { - border-left: 4px solid #666; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.verso .image .page--backdrop { - right: 0; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.recto .image { - border-right: 4px solid #666; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.recto .image .page--backdrop { - left: 0; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page[data-visible="true"] { - opacity: 1; - visibility: visible; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page:last-of-type { - margin-bottom: auto; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page + .page { - margin-top: 0; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page:first-of-type { - margin-top: 0; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page:last-of-type { - margin-bottom: 0; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.page--foldout .image img { - align-self: flex-start; - z-index: 1; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.page--foldout .image .page--backdrop { - z-index: 0; - border: none; - box-shadow: none; - position: absolute; - top: 0; - bottom: 0; - background-color: #ebebeb; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.page--foldout .image .page--backdrop::after { - content: ""; - display: block; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: #9e9e9e; - opacity: 0.2; - background: radial-gradient(circle, transparent 20%, #9e9e9e 20%, #9e9e9e 80%, transparent 80%, transparent), radial-gradient(circle, transparent 20%, #9e9e9e 20%, #9e9e9e 80%, transparent 80%, transparent) 17.5px 17.5px, linear-gradient(#444CF7 1.4px, transparent 1.4px) 0 -0.7px, linear-gradient(90deg, #444CF7 1.4px, #9e9e9e 1.4px) -0.7px 0; - background-size: 35px 35px, 35px 35px, 17.5px 17.5px, 17.5px 17.5px; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.page--foldout.verso img { - border-left: 8px solid #666; -} - -.d--reader[data-view="2up"] .d--reader--viewer .page.page--foldout.recto img { - border-right: 8px solid #666; -} - -.d--reader[data-view="2up"][data-format="plaintext"] .d--reader--viewer { - -ms-grid-columns: 50% 50%; - grid-template-columns: 50% 50%; -} - -.d--reader[data-view="2up"][data-format="plaintext"] .d--reader--viewer .page { - height: 100%; - width: 100%; -} - -.d--reader[data-view="2up"][data-format="plaintext"] .d--reader--viewer .page .page-text { - height: 100%; -} - -.d--reader[data-view="2up"][data-format="plaintext"] .d--reader--viewer .page[data-visible="false"] .page-text { - height: 0 !important; -} - -.d--reader[data-view][data-format="plaintext"] .page .page-text { - display: flex; - flex-direction: column; - transition: height 100ms; - position: relative !important; - height: 100%; - width: auto; - overflow: auto; - clip: unset; - -webkit-clip-path: none; - clip-path: none; - max-width: 80rem; - min-height: 85vh; - padding: 1rem; - padding-top: 2rem; - background: #fff; - box-shadow: 0px 10px 13px -7px #000000, 0px 6px 15px 5px rgba(0, 0, 0, 0); - border: 1px solid #ddd; - font-size: var(--page-text-font-size, 1.25rem); - line-height: 1.25; - align-items: flex-start; - justify-content: flex-start; -} - -.d--reader[data-view][data-format="plaintext"] .page .page-text .ocr_page, .d--reader[data-view][data-format="plaintext"] .page .page-text .ocrx_block { - font-size: inherit; -} - -.d--reader[data-view][data-format="plaintext"] .page .page-text .ocrx_block { - margin-bottom: 1rem; - line-height: 1.5; -} - -.d--reader[data-view][data-format="plaintext"] .page .page-text .ocr_page[data-force-breaks="true"] .ocr_line { - display: block; -} - -.d--reader[data-view][data-format="plaintext"] .page .page-text [data-line-break] + [data-line-break] { - display: block; -} - -.d--reader[data-view][data-format="plaintext"] .page .page-text [data-end-paragraph]::after { - content: ""; - display: table; - margin-bottom: 1rem; -} - -.d--reader[data-view][data-format="plaintext"] .page .page-text .alert-block { - width: 100%; -} - -.d--reader[data-view][data-format="plaintext"] .page[data-loaded="false"][data-visible="true"] .page-text { - animation: pulsate 1.5s ease infinite; -} - -.d--reader[data-view][data-format="plaintext"] .page[data-loaded="false"][data-visible="true"] .page-text::before { - align-items: center; - justify-content: center; - position: absolute; - display: flex; - top: 0; - left: 0; - right: 0; - bottom: 0; - font-size: 6rem; - opacity: 0.4; - color: #666; - content: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath d='M3 4H15V8H3V4Z' fill='currentColor' /%3E%3Cpath d='M21 8H17V4H21V8Z' fill='currentColor' /%3E%3Cpath d='M3 10H21V14H3V10Z' fill='currentColor' /%3E%3Cpath d='M11 16H3V20H11V16Z' fill='currentColor' /%3E%3Cpath d='M13 16V20H21V16H13Z' fill='currentColor' /%3E%3C/svg%3E"); -} - -@media (prefers-reduced-motion) { - .d--reader[data-view][data-format="plaintext"] .page[data-loaded="false"][data-visible="true"] .page-text { - animation-duration: 0s; - } -} - -.d--reader[data-view="1up"][data-format="plaintext"] .page { - width: 85%; -} - -.d--reader[data-view="1up"][data-format="plaintext"] .page[data-expandable-height] .page-text { - border: 4px solid orange; -} - -.d--reader[data-view="1up"][data-format="plaintext"] .page[data-expandable-height="resolved"] .page-text { - filter: invert(1); -} - -.d--reader[data-view="1up"][data-format="plaintext"] .page .page-text { - height: 85vh; - overflow: hidden; -} - -.d--reader[data-view="thumb"][data-format="plaintext"] .page .page-text { - display: none; -} - -.d--reader--container:focus { - outline-offset: -4px; -} - -.d--reader--viewer { - width: 100%; - min-height: 0; - display: flex; - flex-direction: column; -} - -.d--reader--viewer .page { - margin: auto; - position: relative; -} - -.d--reader--viewer .page .page--toolbar { - display: flex; - flex-direction: row; - margin-top: 1rem; - margin-bottom: 0.25rem; - position: sticky; - background: transparent; - justify-content: flex-end; - top: 0.5rem; - gap: 1rem; - align-items: center; - z-index: 10; -} - -.d--reader--viewer .page .page--toolbar .page--message:not(:empty) { - padding: 0.5rem 1rem; - background: #fdd116; - border-radius: 0.5rem; -} - -.d--reader--viewer .page .page--toolbar .btn-link { - padding: 0; - display: inline-flex; - background: transparent; - border: none; - color: #924a0b; - text-decoration: underline; -} - -.d--reader--viewer .page .tag { - font-size: 1.25rem; - padding: 0; - font-family: 'Roboto Mono', monospace; - display: flex; - align-items: center; - vertical-align: middle; -} - -.d--reader--viewer .page .tag > * { - flex: 1 1 auto; - position: relative; - border-radius: 0; -} - -.d--reader--viewer .page .tag > span { - display: flex; - padding: 0.5rem; - background: #39383a; - color: #eee; - border: 2px solid #666; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - height: 100%; -} - -.d--reader--viewer .page .tag > *:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} - -.d--reader--viewer .page .tag > * + * { - margin-left: -2px; -} - -.d--reader--viewer .page .tag button { - border: 2px solid #666; -} - -.d--reader--viewer .page .tag button.tallish { - padding-bottom: 0.25rem; -} - -.d--reader--viewer .page .tag button svg { - height: 1.5rem; - width: 1.5rem; -} - -.d--reader--viewer .page .tag button[data-action="toggle"] svg { - display: none; -} - -.d--reader--viewer .page .tag button[aria-pressed="true"] svg.bi-check-square { - display: block; -} - -.d--reader--viewer .page .tag button[aria-pressed="false"] svg.bi-square { - display: block; -} - -.d--reader--viewer .page .page-text { - display: block; - top: 0; - left: 0; - bottom: 0; - right: 0; - background: #eee; - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px 1px 1px 1px); - /* IE6, IE7 */ - clip: rect(1px, 1px, 1px, 1px); -} - -.d--reader--viewer .page .image { - position: relative; - flex-grow: 1; - margin: 0 auto; - background: #fff; - display: flex; - align-items: center; - justify-content: center; -} - -.d--reader--viewer .page .image img { - width: 100%; - display: block; - background: #f9f8f5; - box-shadow: 0px 10px 13px -7px #000000, 0px 6px 15px 5px rgba(0, 0, 0, 0); - border: 1px solid #ddd; -} - -.d--reader--viewer .page .image img[src=""] { - visibility: hidden; -} - -.d--reader--viewer .page[data-loaded="false"][data-visible="true"].loading .image img { - animation: pulsate 1.5s ease infinite; -} - -@media (prefers-reduced-motion) { - .d--reader--viewer .page[data-loaded="false"][data-visible="true"].loading .image img { - animation-duration: 0s; - } -} - -.d--reader--viewer .page:first-of-type { - margin-top: 4rem; -} - -.d--reader--viewer .page:last-of-type { - margin-bottom: 6rem; -} - -.d--reader--viewer .page[data-loaded="true"] .image { - opacity: 1.0; - width: auto; -} - -.d--reader--viewer .page[data-rotated="-90"] .image, .d--reader--viewer .page[data-rotated="270"] .image { - transform: rotate(-90deg) scale(0.8) !important; - margin-top: calc(var(--margin-rotated) * 1px) !important; - margin-bottom: calc(var(--margin-rotated) * 1px) !important; -} - -.d--reader--viewer .page[data-rotated="-90"] .image img, .d--reader--viewer .page[data-rotated="270"] .image img { - height: 100%; -} - -.d--reader--viewer .page[data-rotated="-180"] .image, .d--reader--viewer .page[data-rotated="180"] .image { - transform: rotate(-180deg) !important; -} - -.d--reader--viewer .page[data-rotated="-270"] .image, .d--reader--viewer .page[data-rotated="90"] .image { - transform: rotate(-270deg) scale(0.8) !important; - margin-top: calc(var(--margin-rotated) * 1px) !important; - margin-bottom: calc(var(--margin-rotated) * 1px) !important; -} - -.d--reader--viewer .page[data-rotated="-270"] .image img, .d--reader--viewer .page[data-rotated="90"] .image img { - height: 100%; -} - -.d--reader--toolbar--controls { - position: absolute; - display: flex; - align-items: flex-start; - top: -0.5rem; - right: 1.5rem; - z-index: 23; - background: transparent; - pointer-events: none; -} - -.d--reader--toolbar--controls .toolbar { - display: flex; - flex-wrap: nowrap; - pointer-events: auto; -} - -.d--reader--toolbar--controls .toolbar .btn-group { - display: flex; - flex-wrap: nowrap; -} - -.d--reader--toolbar--controls .toolbar button { - background-color: #666; - color: #eee; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); - border-color: #333; - height: 2.375rem; -} - -.d--reader--toolbar--controls .toolbar button.active { - background: rgba(0, 0, 0, 0.8); -} - -.d--reader--toolbar--controls .toolbar button:hover:enabled, .d--reader--toolbar--controls .toolbar button:focus:enabled { - background: rgba(0, 0, 0, 0.8); -} - -.d--reader[data-view="2up"] .d--reader--viewer { - -ms-grid-rows: 1fr; - grid-template-rows: 1fr; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.recto { - -ms-grid-row: 1; - -ms-grid-column: 3; - grid-area: recto; - -ms-grid-column: 2; - transform-origin: 0% 0%; - margin-left: 0; -} - -@supports not (display: grid) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.recto { - position: absolute; - left: 50%; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.recto.page--flipToLeft { - animation: flip-hide-recto 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.recto.page--flipToLeft { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.recto.page--flipToRight { - animation: flip-show-recto 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.recto.page--flipToRight { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.recto .image { - justify-content: flex-start; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso { - -ms-grid-row: 1; - -ms-grid-column: 1; - grid-area: verso; - -ms-grid-column: 1; - transform-origin: 100% 0%; - margin-right: 0; -} - -@supports not (display: grid) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso { - position: absolute; - left: 0; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso.page--flipToRight { - animation: flip-hide-verso 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso.page--flipToRight { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso.page--flipToLeft { - animation: flip-show-verso 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso.page--flipToLeft { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso .page--toolbar { - justify-content: flex-start; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="left-to-right"] .page.verso .image { - justify-content: flex-end; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] { - direction: rtl; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.recto { - -ms-grid-row: 1; - -ms-grid-column: 3; - grid-area: recto; - transform-origin: 100% 0%; - margin-right: 0; -} - -@supports not (display: grid) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.recto { - position: absolute; - left: 0; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.recto .image { - border-right: none; - border-left: 4px solid #666; - justify-content: flex-start; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.recto.page--flipToLeft { - animation: flip-hide-recto-right-to-left 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.recto.page--flipToLeft { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.recto.page--flipToRight { - animation: flip-show-recto-right-to-left 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.recto.page--flipToRight { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso { - -ms-grid-row: 1; - -ms-grid-column: 1; - grid-area: verso; - transform-origin: 0% 0%; - margin-left: 0; -} - -@supports not (display: grid) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso { - position: absolute; - left: 50%; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso .image { - border-left: none; - border-right: 4px solid #666; - justify-content: flex-end; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso.page--flipToRight { - animation: flip-hide-verso-right-to-left 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso.page--flipToRight { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso.page--flipToLeft { - animation: flip-show-verso-right-to-left 0.5s forwards ease; -} - -@media (prefers-reduced-motion) { - .d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso.page--flipToLeft { - animation-duration: 0s; - } -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso .page--toolbar { - justify-content: flex-start; -} - -.d--reader[data-view="2up"] .d--reader--viewer[data-reading-order="right-to-left"] .page.verso .page--toolbar .tag { - flex-direction: row-reverse; -} - -.page[tabindex="0"]:focus { - outline: none; -} - -.page[tabindex="0"]:focus .image { - outline: 4px solid #333; - outline-offset: 4px; -} - -.page[tabindex="0"]:focus .page-text[data-placeholder] { - outline: 4px solid #333; - outline-offset: 4px; -} - -html[data-is-dev="true"] .d--reader[data-view="1up"] .page[data-expandable-height] .image { - overflow: hidden; - border: 4px solid orange; -} - -html[data-is-dev="true"] .d--reader[data-view="1up"] .page[data-expandable-height="resolved"] .image { - filter: invert(1); -} - -html[data-is-dev="true"] .d--reader[data-view="1up"] .page[data-unaltered="false"] .image::after { - content: ''; - display: block; - height: 100%; - width: 100%; - top: 0; - left: 0; - position: absolute; - pointer-events: none; - opacity: 0.125; - background: orange; -} - -html[data-is-dev="true"] .d--reader[data-view="1up"] .page[data-unaltered="true"] .image::after { - content: ''; - display: block; - height: 100%; - width: 100%; - top: 0; - left: 0; - position: absolute; - pointer-events: none; - opacity: 0.125; - background: greenyellow; -} - -@keyframes pulsate-chasing-border { - 0% { - border-right-color: #666; - } - 25% { - border-bottom-color: #666; - } - 50% { - border-left-color: #666; - } - 100% { - border-top-color: #666; - } -} - -@keyframes pulsate { - 0% { - border-color: #ddd; - } - 50% { - border-color: #666; - } - 100% { - border-color: #ddd; - } -} - -@keyframes flip-show-recto { - from { - visibility: visible; - opacity: 1; - z-index: 2; - transform: rotateY(180deg); - } - to { - z-index: 2; - transform: rotateY(0deg); - } -} - -@keyframes flip-hide-verso { - from { - } - to { - transform: rotateY(180deg); - } -} - -@keyframes flip-hide-recto { - from { - z-index: 3; - } - to { - transform: rotateY(-180deg); - } -} - -@keyframes flip-show-verso { - from { - visibility: visible; - opacity: 1; - z-index: 2; - transform: rotateY(-180deg); - } - to { - z-index: 2; - transform: rotateY(0deg); - } -} - -@keyframes flip-show-recto-right-to-left { - from { - visibility: visible; - opacity: 1; - z-index: 3; - transform: rotateY(-180deg); - } - to { - z-index: 2; - transform: rotateY(0deg); - } -} - -@keyframes flip-hide-verso-right-to-left { - from { - z-index: 3; - } - to { - transform: rotateY(-180deg); - } -} - -@keyframes flip-hide-recto-right-to-left { - from { - z-index: 3; - } - to { - transform: rotateY(180deg); - } -} - -@keyframes flip-show-verso-right-to-left { - from { - visibility: visible; - opacity: 1; - z-index: 2; - transform: rotateY(180deg); - } - to { - z-index: 2; - transform: rotateY(0deg); - } -} - -@keyframes imageMoveToLeft { - from { - } - to { - transform: translateX(-200%); - } -} - -@keyframes imageMoveFromRight { - from { - transform: translateX(200%); - } -} - -@keyframes imageMoveFromRightFade { - from { - opacity: 0.3; - transform: translateX(200%); - } -} - -@keyframes imageMoveToRight { - from { - } - to { - transform: translateX(200%); - } -} - -@keyframes imageMoveFromLeft { - from { - transform: translateX(-200%); - } -} - -@keyframes imageMoveFromLeftFade { - from { - opacity: 0.3; - transform: translateX(-200%); - } -} - -@keyframes imageFade { - from { - } - to { - opacity: 0; - } -} - -nav.pagination-container { - display: flex; - justify-content: space-around; - align-items: center; -} - -nav.pagination-container a svg { - height: 1.5rem; - width: 1.5rem; -} - -@media only screen and (max-width: 62em) { - nav.pagination-container { - display: flex; - } - nav.pagination-container .page-advance-link { - text-align: right; - } -} - -.d--search-form { - margin-left: -0.5rem; - margin-right: -0.5rem; -} - -.d--search-form label { - white-space: nowrap; -} - -.d--search-form button.btn { - padding: 8px; - justify-content: center; -} - -.results-options { - display: flex; - flex-wrap: wrap; - gap: 1rem; - justify-content: space-between; - padding: 0.125rem; - margin-left: -0.5rem; - margin-right: -0.5rem; -} - -.results-options button svg { - height: 1.5rem; - width: 1.5rem; -} - -.results-options .btn-group .btn { - border-radius: 0; -} - -.results-options .btn-group .btn:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} - -.results-options .btn-group .btn:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.results-options .btn-toolbar { - flex-wrap: nowrap; -} - -.results-options .btn-toolbar button + button { - margin-left: 0.25rem; -} - -body svg.untoggled { - display: none; -} - -body.hide-highlights svg.toggled { - display: none; -} - -body.hide-highlights svg.untoggled { - display: block; -} - -article.result + article.result { - margin-top: 1rem; -} - -.highlight { - position: absolute; - background: greenyellow; - opacity: 0.4; -} - -.highlight_1, .solr_highlight_1 { - background: #ffff00; -} - -.highlight_2, .solr_highlight_2 { - background: #00ff00; -} - -.highlight_3, .solr_highlight_3 { - background: #ff9900; -} - -.highlight_4, .solr_highlight_4 { - background: #00ffcc; -} - -.highlight_5, .solr_highlight_5 { - background: #00cccc; -} - -.highlight_6, .solr_highlight_6 { - background: #0099cc; -} - -mark { - font-weight: bold; -} - -mark::before, -mark::after { - -webkit-clip-path: inset(100%); - clip-path: inset(100%); - clip: rect(1px, 1px, 1px, 1px); - height: 1px; - overflow: hidden; - position: absolute; - white-space: nowrap; - width: 1px; -} - -mark::before { - content: " [highlight start] "; -} - -mark::after { - content: " [highlight end] "; -} - -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f6f6f6; - background-image: linear-gradient(to bottom, whitesmoke, #f9f9f9); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFF9F9F9', GradientType=0); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - border-radius: 4px; -} - -.progress .bar { - width: 0%; - height: 100%; - color: white; - float: left; - font-size: 12px; - text-align: center; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #0d90d1; - background-image: linear-gradient(to bottom, #149bdf, #0480be); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF149BDF', endColorstr='#FF0480BE', GradientType=0); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-sizing: border-box; - transition: width 0.6s ease; -} - -.progress .bar + .bar { - box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); -} - -.progress-striped .bar { - background-color: #149bdf; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 40px 40px; -} - -.progress.active .bar { - animation: progress-bar-stripes 2s linear infinite; -} - -.progress-danger .bar, .progress .bar-danger { - background-color: #dd514b; - background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFC43C35', GradientType=0); -} - -.progress-danger.progress-striped .bar, .progress-striped .bar-danger { - background-color: #ee5f5b; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-success .bar, .progress .bar-success { - background-color: #5db95d; - background-image: linear-gradient(to bottom, #62c462, #57a957); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF57A957', GradientType=0); -} - -.progress-success.progress-striped .bar, .progress-striped .bar-success { - background-color: #62c462; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-info .bar, .progress .bar-info { - background-color: #4bb1cf; - background-image: linear-gradient(to bottom, #5bc0de, #339bb9); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF339BB9', GradientType=0); -} - -.progress-info.progress-striped .bar, .progress-striped .bar-info { - background-color: #5bc0de; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-warning .bar, .progress .bar-warning { - background-color: #f9a732; - background-image: linear-gradient(to bottom, #fbb450, #f89406); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); -} - -.progress-warning.progress-striped .bar, .progress-striped .bar-warning { - background-color: #fbb450; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -li[data-view-target] { - display: none; -} - -main[data-view="1up"] li[data-view-target~="1up"] { - display: list-item; -} - -main[data-view="2up"] li[data-view-target~="2up"] { - display: list-item; -} - -main[data-view="page"] li[data-view-target~="page"] { - display: list-item; -} - -main[data-view][data-format="plaintext"] li[data-view-target~="page"] { - display: list-item; -} - -.download fieldset { - margin-top: 0.5rem; -} - -.download fieldset legend { - /* font-weight: bold; */ -} - -.download fieldset legend { - margin-bottom: 0.25rem; -} - -.download .form-control label { - padding-top: 0rem; - padding-bottom: 0rem; - font-size: 0.875rem; -} - -.form-download-module .form-control { - display: flex; - align-items: center; -} - -.form-download-module fieldset[data-download-format-target] { - display: none; -} - -.form-download-module[data-format="image-jpeg"] fieldset[data-download-format-target~="image-jpeg"] { - display: block; -} - -.form-download-module[data-format="image-tiff"] fieldset[data-download-format-target~="image-tiff"] { - display: block; -} - -.download-image-resolution { - color: #4f5a65; -} - -.form-control[data-view-target] { - display: none; -} - -main[data-view="thumb"] .form-control[data-view-target~="thumb"] { - display: flex; -} - -.alert[data-full-pdf-access="deny"][data-view-target="thumb"] { - display: none; -} - -main[data-view="thumb"] .form-download-module[data-full-pdf-access="deny"] fieldset { - display: none; -} - -main[data-view="thumb"] .form-download-module[data-full-pdf-access="deny"] button[type="submit"] { - display: none; -} - -main[data-view="thumb"] .form-download-module[data-full-pdf-access="deny"] .alert[data-full-pdf-access="deny"][data-view-target="thumb"] { - display: block; -} - -main[data-view="1up"] .form-control[data-view-target~="1up"] { - display: flex; -} - -main[data-view="page"] .form-control[data-view-target~="page"] { - display: flex; -} - -main[data-view="2up"] .form-control[data-view-target~="2up"] { - display: flex; -} - -main[data-view="search"] .form-control[data-view-target~="search"] { - display: flex; -} - -#download-selected-pages-output { - font-size: 90%; - color: #666; - margin-left: 0rem; - margin-bottom: 0.5rem; -} - -#download-selected-pages-output ul { - display: inline; - list-style: none; - padding: 0px; -} - -#download-selected-pages-output li { - display: inline; -} - -#download-selected-pages-output li::after { - content: ", "; -} - -#download-selected-pages-output li:last-child::after { - content: ""; -} - -.form-download-module input + label { - cursor: pointer; -} - -.form-download-module input[disabled] + label { - opacity: 0.4; - pointer-events: none; -} - -.form-download-module input[disabled] ~ * { - opacity: 0.4; - pointer-events: none; -} - -.form-download-module input[type="radio"] { - position: static; - width: auto; - height: auto; - clip: unset; - margin-top: 0; - margin-bottom: 0.25rem; -} - -.form-download-module input[type="radio"] + label { - padding-left: 0.5rem; -} - -.form-download-module input[type="radio"] + label:before { - display: none; -} - -#action-clear-selection { - justify-content: center; -} - -#modal-download .modal__content > div > div { - margin: 1rem; -} - -#selection-contents { - white-space: nowrap; -} - -.shepherd-button { - background: #ffffff; - border-top: solid 4px #16202D; - border-radius: 0; - color: #16202D; - display: flex; - flex-grow: 1; - font-size: 1rem; - justify-content: center; - margin: 0; - padding: 1rem; - text-align: center; - text-transform: uppercase; -} - -.shepherd-button:hover { - background: #16202D; - color: #ffffff; -} - -.shepherd-button.shepherd-button-secondary { - background: #CAD5D5; -} - -.shepherd-button.shepherd-button-secondary:hover { - color: #CAD5D5; - background: #16202D; -} - -.shepherd-element { - border: solid 4px #16202D; - background: #fff; - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); - max-width: 25rem; - z-index: 100000; - transform: opacity .3s,visibility .3s; - width: 100%; - opacity: 0; - visibility: hidden; -} - -.shepherd-element.shepherd-enabled { - opacity: 1; - visibility: visible; -} - -.shepherd-element, -.shepherd-header, -.shepherd-footer { - border-radius: 0; -} - -.shepherd-element .shepherd-arrow { - border-width: 0; - height: auto; - width: auto; -} - -.shepherd-arrow::before { - display: none; -} - -.shepherd-element .shepherd-arrow:after { - /* content: url('../assets/img/arrow.svg'); */ - content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' fill='currentColor' class='bi bi-caret-left-fill' viewBox='0 0 16 16'%3E%3Cpath d='m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z'/%3E%3C/svg%3E"); - display: inline-block; -} - -.shepherd-element[data-popper-placement^='top'] .shepherd-arrow, -.shepherd-element.shepherd-pinned-top .shepherd-arrow { - bottom: -35px; -} - -.shepherd-element[data-popper-placement^='top'] .shepherd-arrow:after, -.shepherd-element.shepherd-pinned-top .shepherd-arrow:after { - transform: rotate(270deg); -} - -.shepherd-element[data-popper-placement^='bottom'] .shepherd-arrow { - top: -35px; -} - -.shepherd-element[data-popper-placement^='bottom'] .shepherd-arrow:after { - transform: rotate(90deg); -} - -.shepherd-element[data-popper-placement^='left'] .shepherd-arrow, -.shepherd-element.shepherd-pinned-left .shepherd-arrow { - right: -35px; -} - -.shepherd-element[data-popper-placement^='left'] .shepherd-arrow:after, -.shepherd-element.shepherd-pinned-left .shepherd-arrow:after { - transform: rotate(180deg); -} - -.shepherd-element[data-popper-placement^='right'] .shepherd-arrow, -.shepherd-element.shepherd-pinned-right .shepherd-arrow { - left: -35px; -} - -.shepherd-footer { - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - display: flex !important; - justify-content: flex-end; - padding: 0 .75rem .75rem; -} - -.shepherd-footer .shepherd-button:last-child { - margin-right: 0; -} - -.shepherd-footer { - padding: 0; -} - -.shepherd-footer button:not(:last-of-type) { - border-right: solid 4px #16202D; -} - -.shepherd-has-title .shepherd-content .shepherd-cancel-icon { - margin-top: -7px; -} - -.shepherd-has-title .shepherd-content .shepherd-header { - background: transparent; - font-family: "GT Pressura", sans-serif; - padding-bottom: 0; - padding-left: 2rem; -} - -.shepherd-has-title .shepherd-content .shepherd-header .shepherd-title { - font-size: 1.2rem; - text-transform: uppercase; -} - -.shepherd-text { - font-size: 1.2rem; - padding: 2rem; -} - -.shepherd-text a, .shepherd-text a:visited, -.shepherd-text a:active { - border-bottom: 1px dotted; - border-bottom-color: rgba(0, 0, 0, 0.75); - color: rgba(0, 0, 0, 0.75); - text-decoration: none; -} - -.shepherd-text a:hover, .shepherd-text a:visited:hover, -.shepherd-text a:active:hover { - border-bottom-style: solid; -} - -.shepherd-modal-overlay-container { - height: 0; - left: 0; - opacity: 0; - overflow: hidden; - pointer-events: none; - position: fixed; - top: 0; - transition: all .3s ease-out,height 0ms .3s,opacity .3s 0ms; - width: 100vw; - z-index: 9997; -} - -.shepherd-modal-overlay-container.shepherd-modal-is-visible { - height: 100vh; - opacity: .5; - transition: all .3s ease-out,height 0s 0s,opacity .3s 0s; -} diff --git a/pt/web/2021/dist/css/main.css b/pt/web/2021/dist/css/main.css deleted file mode 100644 index 9d0afc76d..000000000 --- a/pt/web/2021/dist/css/main.css +++ /dev/null @@ -1,1154 +0,0 @@ -@charset "UTF-8"; -html.crms #person-nav { - margin-left: auto; -} - -html.crms span.blocked { - display: block; - margin-top: 4px; - /*margin-bottom: 2px;*/ -} - -html.crms span.blocked strong { - display: block; -} - -html.crms span.blocked strong::first-letter { - text-transform: capitalize; -} - -html.crms #panel-get-this-book, -html.crms #panel-bookmark, -html.crms #panel-share, -html.crms #panel-download { - display: none; -} - -html.crms main { - padding: 0; - margin: 0; -} - -html.crms .beta--alert { - display: none; -} - -:root { - --background: #39383a; -} - -article.result { - margin: 1rem 0 1.5rem; -} - -article.result h3 { - font-weight: bold; - margin-bottom: 1rem; -} - -article.result p.kwic { - margin-left: 2rem; - margin-bottom: 1rem; -} - -.results-search-form { - margin: 1rem 0; - border-bottom: 1px dotted #666; - padding-bottom: 1rem; -} - -.results-search-form label { - font-weight: bold; -} - -.results-search-form input[type=text] { - width: 20rem; -} - -.mdpEmp { - font-weight: bold; -} - -a.worldcat.inline { - font-weight: bold; -} - -#mdpTextDeny .form-inline { - margin-top: 1.5rem; -} - -.sidebar-toggle { - border-right: 1px solid #ddd; - margin-right: 1rem; - width: 1rem; - display: none; - align-items: flex-start; - justify-content: flex-end; - padding-top: 1.5rem; -} - -.sidebar-toggle button { - flex-grow: 0; - height: auto; - white-space: nowrap; - padding: 1rem 0.5rem; - font-size: 1rem; - z-index: 24; -} - -.sidebar-toggle button[aria-expanded="true"] { - opacity: 0.5; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-right: 0; -} - -.sidebar-toggle button[aria-expanded="true"] .icomoon:before { - content: ""; -} - -.sidebar-toggle button:hover, .sidebar-toggle button:focus { - opacity: 1.0; -} - -.sidebar-toggle button[aria-expanded="false"] { - opacity: 1.0; - background: rgba(0, 0, 0, 0.8); - color: #eee; - font-size: 2rem; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left: 0; - margin-right: -3rem; -} - -.sidebar-toggle button[aria-expanded="false"] .icomoon:before { - content: ""; -} - -#sidebar .filter-group-toggle-show-button { - background: #444; - color: #fff; -} - -@media only screen and (max-width: 62em) { - #sidebar:not(.sidebar-container--right) { - max-height: 100vh; - } - html[data-sidebar-expanded="true"] #toolbar-horizontal { - display: none; - } - html[data-sidebar-expanded="false"][data-expanded="true"] #toolbar-horizontal { - top: var(--toolbar-horizontal-top, 5.5rem); - } - html[data-sidebar-expanded="false"][data-expanded="false"] #toolbar-horizontal { - top: 0; - } -} - -@media only screen and (max-width: 62em) { - #sidebar button.sidebar-toggle-button[aria-expanded="true"] { - position: fixed; - z-index: 2; - } - #sidebar button.sidebar-toggle-button[aria-expanded="true"] + div { - padding-top: 4rem; - } -} - -*[hidden] { - display: none; -} - -@media only screen and (max-width: 62em) { - html[data-view="options"] #sidebar { - background: #fff; - z-index: 15; - } - #sidebar:not(.sidebar-container--right) { - width: 100%; - } - html[data-expanded="false"] header { - display: none; - } - html[data-expanded="false"] #sidebar { - display: none; - } - html[data-sidebar-expanded="true"] #sidebar { - flex-basis: 100vh; - } - html[data-sidebar-expanded="true"] #section { - flex-basis: 0; - } -} - -.alert--emergency-access { - background-color: orange; - border: 1px solid darkorange; - display: flex; - text-shadow: none; - margin-bottom: 0.5rem; -} - -.alert--emergency-access[data-initialized="false"] > * { - opacity: 0; -} - -.alert--emergency-access p { - font-weight: bold; - color: black; -} - -.alert--emergency-access p a { - color: #333; -} - -.alert--emergency-access .alert--emergency-access--options { - margin-top: 0.5rem; - display: flex; - align-items: center; -} - -.alert--emergency-access .alert--emergency-access--options a.btn { - border-top-color: #666; - border-left-color: #666; - border-bottom-color: #000; - border-right-color: #000; - border-bottom-width: 2px; - white-space: nowrap; - font-size: 1.5rem; - text-transform: uppercase; -} - -.alert--emergency-access .alert--emergency-access--options a.button-link { - color: black; -} - -.alert--emergency-access .alert--emergency-access--options a.button-link[disabled] { - display: none; -} - -#sidebar { - margin-top: 0; -} - -.tippy-box[data-animation=fade][data-state=hidden] { - opacity: 0; -} - -[data-tippy-root] { - max-width: calc(100vw - 10px); -} - -.tippy-box { - position: relative; - background-color: #333; - color: #fff; - border-radius: 4px; - font-size: 14px; - line-height: 1.4; - outline: 0; - transition-property: transform,visibility,opacity; -} - -.tippy-box[data-placement^=top] > .tippy-arrow { - bottom: 0; -} - -.tippy-box[data-placement^=top] > .tippy-arrow:before { - bottom: -7px; - left: 0; - border-width: 8px 8px 0; - border-top-color: initial; - transform-origin: center top; -} - -.tippy-box[data-placement^=bottom] > .tippy-arrow { - top: 0; -} - -.tippy-box[data-placement^=bottom] > .tippy-arrow:before { - top: -7px; - left: 0; - border-width: 0 8px 8px; - border-bottom-color: initial; - transform-origin: center bottom; -} - -.tippy-box[data-placement^=left] > .tippy-arrow { - right: 0; -} - -.tippy-box[data-placement^=left] > .tippy-arrow:before { - border-width: 8px 0 8px 8px; - border-left-color: initial; - right: -7px; - transform-origin: center left; -} - -.tippy-box[data-placement^=right] > .tippy-arrow { - left: 0; -} - -.tippy-box[data-placement^=right] > .tippy-arrow:before { - left: -7px; - border-width: 8px 8px 8px 0; - border-right-color: initial; - transform-origin: center right; -} - -.tippy-box[data-inertia][data-state=visible] { - transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11); -} - -.tippy-arrow { - width: 16px; - height: 16px; - color: #333; -} - -.tippy-arrow:before { - content: ""; - position: absolute; - border-color: transparent; - border-style: solid; -} - -.tippy-content { - position: relative; - padding: 5px 9px; - z-index: 1; -} - -.debug-messages { - position: fixed; - z-index: 90000; - opacity: 0.25; - background: orange; - max-height: 25vh; - max-width: 50vw; - overflow: auto; -} - -.debug-messages:hover { - opacity: 1.0; -} - -.tippy-box[data-theme~=hathitrust] { - color: #000; - box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15); - background-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=top] > .tippy-arrow:before { - border-top-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=bottom] > .tippy-arrow:before { - border-bottom-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=left] > .tippy-arrow:before { - border-left-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust][data-placement^=right] > .tippy-arrow:before { - border-right-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust] > .tippy-backdrop { - background-color: #fdd116; -} - -.tippy-box[data-theme~=hathitrust] > .tippy-svg-arrow { - fill: #fdd116; -} - -.d--panels { - padding: 1rem 0.5rem; - padding-right: 1rem; - padding-bottom: 4rem; - position: relative; -} - -.d--panels h1 { - font-size: 1.2rem; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels h1 { - font-size: 1rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels h1 { - font-size: 0.875rem; - } -} - -.d--panels h2, .d--panels h3 { - font-size: 1.1rem; - font-weight: bold; - display: flex; - flex-direction: row; - align-items: center; - line-height: 1.5; -} - -.d--panels h2 > * + *, .d--panels h3 > * + * { - margin-left: 0.5rem; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels h2, .d--panels h3 { - font-size: 0.875rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels h2, .d--panels h3 { - font-size: 0.75rem; - } -} - -.d--panels details h2, .d--panels details h3 { - margin: 0; - font-size: 1rem; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels details h2, .d--panels details h3 { - font-size: 0.875rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels details h2, .d--panels details h3 { - font-size: 0.75rem; - } -} - -.d--panels .panel { - padding: 0; - padding-left: 1rem; - padding-right: 0.25rem; - margin: 0 0 1rem; - width: 95%; -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels .panel { - font-size: 0.875rem; - } -} - -.d--panels .panel h2, .d--panels .panel h3 { - margin-bottom: 0.75rem; - border-bottom: 1px solid #ddd; - padding-bottom: 0.25rem; - margin-top: 0; -} - -.d--panels .panel p { - margin-top: 1rem; - margin-bottom: 1rem; -} - -.d--panels .panel p:first-of-type, .d--panels .panel p:first-child { - margin-top: 0; -} - -.d--panels .panel p + p { - margin-bottom: 0; -} - -.d--panels .panel p:last-child { - margin-bottom: 0; -} - -@media (max-width: 60rem) and (min-width: 43.75rem) { - .d--panels .panel p { - font-size: 0.875rem; - } -} - -@media (max-width: 44rem) and (min-width: 43.75rem) { - .d--panels .panel p { - font-size: 0.75rem; - } -} - -.d--panels .panel ul { - list-style: none; - margin: 0; - padding: 0; -} - -.d--panels .panel ul.action-contents-navigation { - padding-left: 1rem; -} - -.d--panels .panel ul li { - position: relative; -} - -.d--panels .panel ul li + li { - margin-top: 0.5rem; -} - -.d--panels .panel form { - margin-top: 0.5rem; - margin-bottom: 0.25rem; -} - -.d--panels .panel form label { - display: block; - margin-bottom: 0.25rem; -} - -.d--panels .panel form input[type=text] { - margin-bottom: 1rem; -} - -.d--panels .panel.collectionLinks select { - width: 100%; - font-size: 1rem; - margin-top: 0.25rem; - margin-bottom: 0.25rem; -} - -.d--panels .panel.collectionLinks button { - display: block; - margin-top: 0.25rem; - margin-bottom: 0.25rem; -} - -.d--panels .panel.collectionLinks .collection-membership { - list-style: circle; - margin-left: 1rem; -} - -.d--panels .panel.collectionLinks .select-collection { - margin-bottom: 1rem; -} - -.d--panels #mdpBackToResults p { - margin: 1rem 1rem 0.5rem; -} - -.d--panels .panel + .panel { - margin-top: 1.5rem; -} - -.alert + .d--panels { - padding-top: 0; -} - -.d--panels .panel article.result h3, .d--panels .panel article.result h4 { - font-size: 1.1rem; - font-weight: bold; - margin: 0.5rem 0; - border-bottom: none; - display: block; -} - -html[data-details-polyfilled="true"] summary:first-child ~ * { - display: none; -} - -html[data-details-polyfilled="true"] details[open] > * { - display: block; -} - -html[data-details-polyfilled="true"] details > summary:first-child { - display: block; -} - -.d--panels h4 { - font-weight: 500; -} - -.d--panels p.small { - font-size: 0.75rem; - color: #333; -} - -.d--panels details { - border-top: 1px solid #666; - margin-top: 0.5rem; - margin-bottom: 0.5rem; - margin: 0; - padding: 4px; - height: var(--collapsed); - overflow: hidden; - transition: height 300ms cubic-bezier(0.4, 0.01, 0.165, 0.99); -} - -.d--panels details:last-of-type { - border-bottom: 1px solid #666; -} - -.d--panels details:not([open]) .icon.open { - display: none; -} - -.d--panels details[open] .icon.closed { - display: none; -} - -.d--panels details[open] { - height: var(--expanded); -} - -.d--panels summary::marker { - display: none; -} - -.d--panels summary::-webkit-details-marker { - display: none; -} - -.d--panels summary { - --icon-size: 1rem; - --bdw: 2px; - border: 0; - border-radius: 5px; - list-style-type: none; - margin: 4px; - padding: 0.25rem 1rem; - -webkit-padding-end: 0.5rem; - padding-inline-end: 0.5rem; - -webkit-padding-start: 1rem; - padding-inline-start: 1rem; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - display: flex; - justify-content: space-between; - align-items: center; -} - -.d--panels summary:focus { - border-radius: 0; -} - -.d--panels summary div.summary { - width: 100%; - display: flex; - justify-content: space-between; - align-items: center; -} - -.d--panels summary div.summary span { - white-space: nowrap; -} - -.d--panels summary .icon { - width: 1rem; - height: 1rem; -} - -@media (max-width: 46rem) { - .d--panels summary { - padding: 0.25rem 0.25rem; - -webkit-padding-end: 0.125rem; - padding-inline-end: 0.125rem; - -webkit-padding-start: 0.125rem; - padding-inline-start: 0.125rem; - } -} - -.d--panels .panel { - width: 100%; - margin-top: 1rem; -} - -.d--panels .panel form.d--search-form { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - max-width: 100%; -} - -.d--panels .panel form.d--search-form .input-group-text { - flex-grow: 1; - flex-basis: 50%; - margin-right: 0.5rem; -} - -.d--panels .panel form.d--search-form .d--search-form-target { - flex-basis: 100%; -} - -.d--panels .panel form.d--search-form .d--search-form-target label { - font-size: 0.875rem; -} - -.d--panels .versionContainer.panel { - margin-top: 2rem; - margin-left: 0.5rem; - font-size: 0.75rem; -} - -.d--panels .versionContainer.panel h3 { - font-size: 0.75rem; - border-bottom: none; - padding-bottom: 0; - margin-bottom: 0.25rem; -} - -.d--panels .versionContainer.panel span.ownerid-label { - display: block; -} - -.d--panels .versionContainer.panel span.ownerid-label:empty { - display: none; -} - -.d--panels #panel-bookmark .bi-bookmark-fill.listed { - fill: black; -} - -.d--panels #panel-search[data-has-results="false"] { - background: #fdd116; -} - -.d--panels #panel-share #urlForm > div { - margin-bottom: 1rem; -} - -.d--panels #panel-share .form-control-row { - display: flex; - flex-direction: row; -} - -.d--panels #panel-share .form-control-row input[type="text"] { - margin-bottom: 0; -} - -.d--panels #panel-share .form-control-row button { - padding: 0.5rem; -} - -.d--panels #panel-share .form-control-row button:hover { - fill: #fff; -} - -nav.pagination-container { - display: flex; - justify-content: space-around; - align-items: center; -} - -nav.pagination-container a svg { - height: 1.5rem; - width: 1.5rem; -} - -@media only screen and (max-width: 62em) { - nav.pagination-container { - display: flex; - } - nav.pagination-container .page-advance-link { - text-align: right; - } -} - -.d--search-form { - margin-left: -0.5rem; - margin-right: -0.5rem; -} - -.d--search-form label { - white-space: nowrap; -} - -.d--search-form button.btn { - padding: 8px; - justify-content: center; -} - -.results-options { - display: flex; - flex-wrap: wrap; - gap: 1rem; - justify-content: space-between; - padding: 0.125rem; - margin-left: -0.5rem; - margin-right: -0.5rem; -} - -.results-options button svg { - height: 1.5rem; - width: 1.5rem; -} - -.results-options .btn-group .btn { - border-radius: 0; -} - -.results-options .btn-group .btn:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} - -.results-options .btn-group .btn:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.results-options .btn-toolbar { - flex-wrap: nowrap; -} - -.results-options .btn-toolbar button + button { - margin-left: 0.25rem; -} - -body svg.untoggled { - display: none; -} - -body.hide-highlights svg.toggled { - display: none; -} - -body.hide-highlights svg.untoggled { - display: block; -} - -article.result + article.result { - margin-top: 1rem; -} - -.highlight { - position: absolute; - background: greenyellow; - opacity: 0.4; -} - -.highlight_1, .solr_highlight_1 { - background: #ffff00; -} - -.highlight_2, .solr_highlight_2 { - background: #00ff00; -} - -.highlight_3, .solr_highlight_3 { - background: #ff9900; -} - -.highlight_4, .solr_highlight_4 { - background: #00ffcc; -} - -.highlight_5, .solr_highlight_5 { - background: #00cccc; -} - -.highlight_6, .solr_highlight_6 { - background: #0099cc; -} - -mark { - font-weight: bold; -} - -mark::before, -mark::after { - -webkit-clip-path: inset(100%); - clip-path: inset(100%); - clip: rect(1px, 1px, 1px, 1px); - height: 1px; - overflow: hidden; - position: absolute; - white-space: nowrap; - width: 1px; -} - -mark::before { - content: " [highlight start] "; -} - -mark::after { - content: " [highlight end] "; -} - -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} - -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f6f6f6; - background-image: linear-gradient(to bottom, whitesmoke, #f9f9f9); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFF9F9F9', GradientType=0); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - border-radius: 4px; -} - -.progress .bar { - width: 0%; - height: 100%; - color: white; - float: left; - font-size: 12px; - text-align: center; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #0d90d1; - background-image: linear-gradient(to bottom, #149bdf, #0480be); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF149BDF', endColorstr='#FF0480BE', GradientType=0); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-sizing: border-box; - transition: width 0.6s ease; -} - -.progress .bar + .bar { - box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); -} - -.progress-striped .bar { - background-color: #149bdf; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 40px 40px; -} - -.progress.active .bar { - animation: progress-bar-stripes 2s linear infinite; -} - -.progress-danger .bar, .progress .bar-danger { - background-color: #dd514b; - background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFC43C35', GradientType=0); -} - -.progress-danger.progress-striped .bar, .progress-striped .bar-danger { - background-color: #ee5f5b; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-success .bar, .progress .bar-success { - background-color: #5db95d; - background-image: linear-gradient(to bottom, #62c462, #57a957); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF57A957', GradientType=0); -} - -.progress-success.progress-striped .bar, .progress-striped .bar-success { - background-color: #62c462; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-info .bar, .progress .bar-info { - background-color: #4bb1cf; - background-image: linear-gradient(to bottom, #5bc0de, #339bb9); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF339BB9', GradientType=0); -} - -.progress-info.progress-striped .bar, .progress-striped .bar-info { - background-color: #5bc0de; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -.progress-warning .bar, .progress .bar-warning { - background-color: #f9a732; - background-image: linear-gradient(to bottom, #fbb450, #f89406); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); -} - -.progress-warning.progress-striped .bar, .progress-striped .bar-warning { - background-color: #fbb450; - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} - -li[data-view-target] { - display: none; -} - -main[data-view="1up"] li[data-view-target~="1up"] { - display: list-item; -} - -main[data-view="2up"] li[data-view-target~="2up"] { - display: list-item; -} - -main[data-view="page"] li[data-view-target~="page"] { - display: list-item; -} - -main[data-view][data-format="plaintext"] li[data-view-target~="page"] { - display: list-item; -} - -.download fieldset { - margin-top: 0.5rem; -} - -.download fieldset legend { - /* font-weight: bold; */ -} - -.download fieldset legend { - margin-bottom: 0.25rem; -} - -.download .form-control label { - padding-top: 0rem; - padding-bottom: 0rem; - font-size: 0.875rem; -} - -.form-download-module .form-control { - display: flex; - align-items: center; -} - -.form-download-module fieldset[data-download-format-target] { - display: none; -} - -.form-download-module[data-format="image-jpeg"] fieldset[data-download-format-target~="image-jpeg"] { - display: block; -} - -.form-download-module[data-format="image-tiff"] fieldset[data-download-format-target~="image-tiff"] { - display: block; -} - -.download-image-resolution { - color: #4f5a65; -} - -.form-control[data-view-target] { - display: none; -} - -main[data-view="thumb"] .form-control[data-view-target~="thumb"] { - display: flex; -} - -.alert[data-full-pdf-access="deny"][data-view-target="thumb"] { - display: none; -} - -main[data-view="thumb"] .form-download-module[data-full-pdf-access="deny"] fieldset { - display: none; -} - -main[data-view="thumb"] .form-download-module[data-full-pdf-access="deny"] button[type="submit"] { - display: none; -} - -main[data-view="thumb"] .form-download-module[data-full-pdf-access="deny"] .alert[data-full-pdf-access="deny"][data-view-target="thumb"] { - display: block; -} - -main[data-view="1up"] .form-control[data-view-target~="1up"] { - display: flex; -} - -main[data-view="page"] .form-control[data-view-target~="page"] { - display: flex; -} - -main[data-view="2up"] .form-control[data-view-target~="2up"] { - display: flex; -} - -main[data-view="search"] .form-control[data-view-target~="search"] { - display: flex; -} - -#download-selected-pages-output { - font-size: 90%; - color: #666; - margin-left: 0rem; - margin-bottom: 0.5rem; -} - -#download-selected-pages-output ul { - display: inline; - list-style: none; - padding: 0px; -} - -#download-selected-pages-output li { - display: inline; -} - -#download-selected-pages-output li::after { - content: ", "; -} - -#download-selected-pages-output li:last-child::after { - content: ""; -} - -.form-download-module input + label { - cursor: pointer; -} - -.form-download-module input[disabled] + label { - opacity: 0.4; - pointer-events: none; -} - -.form-download-module input[disabled] ~ * { - opacity: 0.4; - pointer-events: none; -} - -.form-download-module input[type="radio"] { - position: static; - width: auto; - height: auto; - clip: unset; - margin-top: 0; - margin-bottom: 0.25rem; -} - -.form-download-module input[type="radio"] + label { - padding-left: 0.5rem; -} - -.form-download-module input[type="radio"] + label:before { - display: none; -} - -#action-clear-selection { - justify-content: center; -} - -#modal-download .modal__content > div > div { - margin: 1rem; -} - -#selection-contents { - white-space: nowrap; -} - -button[data-action="toggle-highlights"] { - display: none; -} - -._hj-widget-container { - display: none !important; -} diff --git a/pt/web/2021/dist/js/main.js b/pt/web/2021/dist/js/main.js deleted file mode 100644 index b10971ee0..000000000 --- a/pt/web/2021/dist/js/main.js +++ /dev/null @@ -1,33636 +0,0 @@ -/******/ (function() { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./node_modules/core-js/internals/a-function.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/a-function.js ***! - \******************************************************/ -/***/ (function(module) { - -module.exports = function (it) { - if (typeof it != 'function') { - throw TypeError(String(it) + ' is not a function'); - } - - return it; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/a-possible-prototype.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/a-possible-prototype.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -module.exports = function (it) { - if (!isObject(it) && it !== null) { - throw TypeError("Can't set " + String(it) + ' as a prototype'); - } - - return it; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/add-to-unscopables.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/add-to-unscopables.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var UNSCOPABLES = wellKnownSymbol('unscopables'); -var ArrayPrototype = Array.prototype; // Array.prototype[@@unscopables] -// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - -if (ArrayPrototype[UNSCOPABLES] == undefined) { - definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { - configurable: true, - value: create(null) - }); -} // add a key to Array.prototype[@@unscopables] - - -module.exports = function (key) { - ArrayPrototype[UNSCOPABLES][key] = true; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/advance-string-index.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/advance-string-index.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt; // `AdvanceStringIndex` abstract operation -// https://tc39.es/ecma262/#sec-advancestringindex - - -module.exports = function (S, index, unicode) { - return index + (unicode ? charAt(S, index).length : 1); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/an-instance.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/an-instance.js ***! - \*******************************************************/ -/***/ (function(module) { - -module.exports = function (it, Constructor, name) { - if (!(it instanceof Constructor)) { - throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); - } - - return it; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/an-object.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/an-object.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -module.exports = function (it) { - if (!isObject(it)) { - throw TypeError(String(it) + ' is not an object'); - } - - return it; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-buffer-native.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/array-buffer-native.js ***! - \***************************************************************/ -/***/ (function(module) { - -module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined'; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-buffer-view-core.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/array-buffer-view-core.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); - -var Int8Array = global.Int8Array; -var Int8ArrayPrototype = Int8Array && Int8Array.prototype; -var Uint8ClampedArray = global.Uint8ClampedArray; -var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; -var TypedArray = Int8Array && getPrototypeOf(Int8Array); -var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); -var ObjectPrototype = Object.prototype; -var isPrototypeOf = ObjectPrototype.isPrototypeOf; -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); // Fixing native typed arrays in Opera Presto crashes the browser, see #595 - -var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; -var TYPED_ARRAY_TAG_REQIRED = false; -var NAME; -var TypedArrayConstructorsList = { - Int8Array: 1, - Uint8Array: 1, - Uint8ClampedArray: 1, - Int16Array: 2, - Uint16Array: 2, - Int32Array: 4, - Uint32Array: 4, - Float32Array: 4, - Float64Array: 8 -}; -var BigIntArrayConstructorsList = { - BigInt64Array: 8, - BigUint64Array: 8 -}; - -var isView = function isView(it) { - if (!isObject(it)) return false; - var klass = classof(it); - return klass === 'DataView' || has(TypedArrayConstructorsList, klass) || has(BigIntArrayConstructorsList, klass); -}; - -var isTypedArray = function isTypedArray(it) { - if (!isObject(it)) return false; - var klass = classof(it); - return has(TypedArrayConstructorsList, klass) || has(BigIntArrayConstructorsList, klass); -}; - -var aTypedArray = function aTypedArray(it) { - if (isTypedArray(it)) return it; - throw TypeError('Target is not a typed array'); -}; - -var aTypedArrayConstructor = function aTypedArrayConstructor(C) { - if (setPrototypeOf) { - if (isPrototypeOf.call(TypedArray, C)) return C; - } else for (var ARRAY in TypedArrayConstructorsList) { - if (has(TypedArrayConstructorsList, NAME)) { - var TypedArrayConstructor = global[ARRAY]; - - if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { - return C; - } - } - } - - throw TypeError('Target is not a typed array constructor'); -}; - -var exportTypedArrayMethod = function exportTypedArrayMethod(KEY, property, forced) { - if (!DESCRIPTORS) return; - if (forced) for (var ARRAY in TypedArrayConstructorsList) { - var TypedArrayConstructor = global[ARRAY]; - - if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { - delete TypedArrayConstructor.prototype[KEY]; - } - } - - if (!TypedArrayPrototype[KEY] || forced) { - redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); - } -}; - -var exportTypedArrayStaticMethod = function exportTypedArrayStaticMethod(KEY, property, forced) { - var ARRAY, TypedArrayConstructor; - if (!DESCRIPTORS) return; - - if (setPrototypeOf) { - if (forced) for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global[ARRAY]; - - if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { - delete TypedArrayConstructor[KEY]; - } - } - - if (!TypedArray[KEY] || forced) { - // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable - try { - return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property); - } catch (error) { - /* empty */ - } - } else return; - } - - for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global[ARRAY]; - - if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { - redefine(TypedArrayConstructor, KEY, property); - } - } -}; - -for (NAME in TypedArrayConstructorsList) { - if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false; -} // WebKit bug - typed arrays constructors prototype is Object.prototype - - -if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { - // eslint-disable-next-line no-shadow - TypedArray = function TypedArray() { - throw TypeError('Incorrect invocation'); - }; - - if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { - if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); - } -} - -if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { - TypedArrayPrototype = TypedArray.prototype; - if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { - if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); - } -} // WebKit bug - one more object in Uint8ClampedArray prototype chain - - -if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { - setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); -} - -if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) { - TYPED_ARRAY_TAG_REQIRED = true; - defineProperty(TypedArrayPrototype, TO_STRING_TAG, { - get: function get() { - return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; - } - }); - - for (NAME in TypedArrayConstructorsList) { - if (global[NAME]) { - createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); - } - } -} - -module.exports = { - NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, - TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, - aTypedArray: aTypedArray, - aTypedArrayConstructor: aTypedArrayConstructor, - exportTypedArrayMethod: exportTypedArrayMethod, - exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, - isView: isView, - isTypedArray: isTypedArray, - TypedArray: TypedArray, - TypedArrayPrototype: TypedArrayPrototype -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-buffer.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/array-buffer.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toIndex = __webpack_require__(/*! ../internals/to-index */ "./node_modules/core-js/internals/to-index.js"); - -var IEEE754 = __webpack_require__(/*! ../internals/ieee754 */ "./node_modules/core-js/internals/ieee754.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); - -var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var arrayFill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var ARRAY_BUFFER = 'ArrayBuffer'; -var DATA_VIEW = 'DataView'; -var PROTOTYPE = 'prototype'; -var WRONG_LENGTH = 'Wrong length'; -var WRONG_INDEX = 'Wrong index'; -var NativeArrayBuffer = global[ARRAY_BUFFER]; -var $ArrayBuffer = NativeArrayBuffer; -var $DataView = global[DATA_VIEW]; -var $DataViewPrototype = $DataView && $DataView[PROTOTYPE]; -var ObjectPrototype = Object.prototype; -var RangeError = global.RangeError; -var packIEEE754 = IEEE754.pack; -var unpackIEEE754 = IEEE754.unpack; - -var packInt8 = function packInt8(number) { - return [number & 0xFF]; -}; - -var packInt16 = function packInt16(number) { - return [number & 0xFF, number >> 8 & 0xFF]; -}; - -var packInt32 = function packInt32(number) { - return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; -}; - -var unpackInt32 = function unpackInt32(buffer) { - return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; -}; - -var packFloat32 = function packFloat32(number) { - return packIEEE754(number, 23, 4); -}; - -var packFloat64 = function packFloat64(number) { - return packIEEE754(number, 52, 8); -}; - -var addGetter = function addGetter(Constructor, key) { - defineProperty(Constructor[PROTOTYPE], key, { - get: function get() { - return getInternalState(this)[key]; - } - }); -}; - -var get = function get(view, count, index, isLittleEndian) { - var intIndex = toIndex(index); - var store = getInternalState(view); - if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); - var bytes = getInternalState(store.buffer).bytes; - var start = intIndex + store.byteOffset; - var pack = bytes.slice(start, start + count); - return isLittleEndian ? pack : pack.reverse(); -}; - -var set = function set(view, count, index, conversion, value, isLittleEndian) { - var intIndex = toIndex(index); - var store = getInternalState(view); - if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); - var bytes = getInternalState(store.buffer).bytes; - var start = intIndex + store.byteOffset; - var pack = conversion(+value); - - for (var i = 0; i < count; i++) { - bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; - } -}; - -if (!NATIVE_ARRAY_BUFFER) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer, ARRAY_BUFFER); - var byteLength = toIndex(length); - setInternalState(this, { - bytes: arrayFill.call(new Array(byteLength), 0), - byteLength: byteLength - }); - if (!DESCRIPTORS) this.byteLength = byteLength; - }; - - $DataView = function DataView(buffer, byteOffset, byteLength) { - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = getInternalState(buffer).byteLength; - var offset = toInteger(byteOffset); - if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); - setInternalState(this, { - buffer: buffer, - byteLength: byteLength, - byteOffset: offset - }); - - if (!DESCRIPTORS) { - this.buffer = buffer; - this.byteLength = byteLength; - this.byteOffset = offset; - } - }; - - if (DESCRIPTORS) { - addGetter($ArrayBuffer, 'byteLength'); - addGetter($DataView, 'buffer'); - addGetter($DataView, 'byteLength'); - addGetter($DataView, 'byteOffset'); - } - - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset) { - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset) { - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset - /* , littleEndian */ - ) { - var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset - /* , littleEndian */ - ) { - var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset - /* , littleEndian */ - ) { - return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); - }, - getUint32: function getUint32(byteOffset - /* , littleEndian */ - ) { - return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; - }, - getFloat32: function getFloat32(byteOffset - /* , littleEndian */ - ) { - return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); - }, - getFloat64: function getFloat64(byteOffset - /* , littleEndian */ - ) { - return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); - }, - setInt8: function setInt8(byteOffset, value) { - set(this, 1, byteOffset, packInt8, value); - }, - setUint8: function setUint8(byteOffset, value) { - set(this, 1, byteOffset, packInt8, value); - }, - setInt16: function setInt16(byteOffset, value - /* , littleEndian */ - ) { - set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setUint16: function setUint16(byteOffset, value - /* , littleEndian */ - ) { - set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setInt32: function setInt32(byteOffset, value - /* , littleEndian */ - ) { - set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setUint32: function setUint32(byteOffset, value - /* , littleEndian */ - ) { - set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setFloat32: function setFloat32(byteOffset, value - /* , littleEndian */ - ) { - set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setFloat64: function setFloat64(byteOffset, value - /* , littleEndian */ - ) { - set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); - } - }); -} else { - if (!fails(function () { - NativeArrayBuffer(1); - }) || !fails(function () { - new NativeArrayBuffer(-1); // eslint-disable-line no-new - }) || fails(function () { - new NativeArrayBuffer(); // eslint-disable-line no-new - - new NativeArrayBuffer(1.5); // eslint-disable-line no-new - - new NativeArrayBuffer(NaN); // eslint-disable-line no-new - - return NativeArrayBuffer.name != ARRAY_BUFFER; - })) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer); - return new NativeArrayBuffer(toIndex(length)); - }; - - var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE]; - - for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { - if (!((key = keys[j++]) in $ArrayBuffer)) { - createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); - } - } - - ArrayBufferPrototype.constructor = $ArrayBuffer; - } // WebKit bug - the same parent prototype for typed arrays and data view - - - if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) { - setPrototypeOf($DataViewPrototype, ObjectPrototype); - } // iOS Safari 7.x bug - - - var testView = new $DataView(new $ArrayBuffer(2)); - var nativeSetInt8 = $DataViewPrototype.setInt8; - testView.setInt8(0, 2147483648); - testView.setInt8(1, 2147483649); - if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, { - setInt8: function setInt8(byteOffset, value) { - nativeSetInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value) { - nativeSetInt8.call(this, byteOffset, value << 24 >> 24); - } - }, { - unsafe: true - }); -} - -setToStringTag($ArrayBuffer, ARRAY_BUFFER); -setToStringTag($DataView, DATA_VIEW); -module.exports = { - ArrayBuffer: $ArrayBuffer, - DataView: $DataView -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-copy-within.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/array-copy-within.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var min = Math.min; // `Array.prototype.copyWithin` method implementation -// https://tc39.es/ecma262/#sec-array.prototype.copywithin - -module.exports = [].copyWithin || function copyWithin(target -/* = 0 */ -, start -/* = 0, end = @length */ -) { - var O = toObject(this); - var len = toLength(O.length); - var to = toAbsoluteIndex(target, len); - var from = toAbsoluteIndex(start, len); - var end = arguments.length > 2 ? arguments[2] : undefined; - var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); - var inc = 1; - - if (from < to && to < from + count) { - inc = -1; - from += count - 1; - to += count - 1; - } - - while (count-- > 0) { - if (from in O) O[to] = O[from];else delete O[to]; - to += inc; - from += inc; - } - - return O; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-fill.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/array-fill.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); // `Array.prototype.fill` method implementation -// https://tc39.es/ecma262/#sec-array.prototype.fill - - -module.exports = function fill(value -/* , start = 0, end = @length */ -) { - var O = toObject(this); - var length = toLength(O.length); - var argumentsLength = arguments.length; - var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); - var end = argumentsLength > 2 ? arguments[2] : undefined; - var endPos = end === undefined ? length : toAbsoluteIndex(end, length); - - while (endPos > index) { - O[index++] = value; - } - - return O; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-for-each.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/array-for-each.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var STRICT_METHOD = arrayMethodIsStrict('forEach'); -var USES_TO_LENGTH = arrayMethodUsesToLength('forEach'); // `Array.prototype.forEach` method implementation -// https://tc39.es/ecma262/#sec-array.prototype.foreach - -module.exports = !STRICT_METHOD || !USES_TO_LENGTH ? function forEach(callbackfn -/* , thisArg */ -) { - return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); -} : [].forEach; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-from.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/array-from.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js"); - -var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); - -var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); // `Array.from` method implementation -// https://tc39.es/ecma262/#sec-array.from - - -module.exports = function from(arrayLike -/* , mapfn = undefined, thisArg = undefined */ -) { - var O = toObject(arrayLike); - var C = typeof this == 'function' ? this : Array; - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iteratorMethod = getIteratorMethod(O); - var index = 0; - var length, result, step, iterator, next, value; - if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); // if the target is not iterable or it's an array with the default iterator - use a simple case - - if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { - iterator = iteratorMethod.call(O); - next = iterator.next; - result = new C(); - - for (; !(step = next.call(iterator)).done; index++) { - value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; - createProperty(result, index, value); - } - } else { - length = toLength(O.length); - result = new C(length); - - for (; length > index; index++) { - value = mapping ? mapfn(O[index], index) : O[index]; - createProperty(result, index, value); - } - } - - result.length = index; - return result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-includes.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/array-includes.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); // `Array.prototype.{ indexOf, includes }` methods implementation - - -var createMethod = function createMethod(IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; // eslint-disable-next-line no-self-compare - - if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not - } else for (; length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; - } - return !IS_INCLUDES && -1; - }; -}; - -module.exports = { - // `Array.prototype.includes` method - // https://tc39.es/ecma262/#sec-array.prototype.includes - includes: createMethod(true), - // `Array.prototype.indexOf` method - // https://tc39.es/ecma262/#sec-array.prototype.indexof - indexOf: createMethod(false) -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-iteration.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/array-iteration.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); - -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); - -var push = [].push; // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation - -var createMethod = function createMethod(TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_OUT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - return function ($this, callbackfn, that, specificCreate) { - var O = toObject($this); - var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var create = specificCreate || arraySpeciesCreate; - var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined; - var value, result; - - for (; length > index; index++) { - if (NO_HOLES || index in self) { - value = self[index]; - result = boundFunction(value, index, O); - - if (TYPE) { - if (IS_MAP) target[index] = result; // map - else if (result) switch (TYPE) { - case 3: - return true; - // some - - case 5: - return value; - // find - - case 6: - return index; - // findIndex - - case 2: - push.call(target, value); - // filter - } else switch (TYPE) { - case 4: - return false; - // every - - case 7: - push.call(target, value); - // filterOut - } - } - } - } - - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; - }; -}; - -module.exports = { - // `Array.prototype.forEach` method - // https://tc39.es/ecma262/#sec-array.prototype.foreach - forEach: createMethod(0), - // `Array.prototype.map` method - // https://tc39.es/ecma262/#sec-array.prototype.map - map: createMethod(1), - // `Array.prototype.filter` method - // https://tc39.es/ecma262/#sec-array.prototype.filter - filter: createMethod(2), - // `Array.prototype.some` method - // https://tc39.es/ecma262/#sec-array.prototype.some - some: createMethod(3), - // `Array.prototype.every` method - // https://tc39.es/ecma262/#sec-array.prototype.every - every: createMethod(4), - // `Array.prototype.find` method - // https://tc39.es/ecma262/#sec-array.prototype.find - find: createMethod(5), - // `Array.prototype.findIndex` method - // https://tc39.es/ecma262/#sec-array.prototype.findIndex - findIndex: createMethod(6), - // `Array.prototype.filterOut` method - // https://github.com/tc39/proposal-array-filtering - filterOut: createMethod(7) -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-last-index-of.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/array-last-index-of.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var min = Math.min; -var nativeLastIndexOf = [].lastIndexOf; -var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; -var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method - -var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { - ACCESSORS: true, - 1: 0 -}); -var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH; // `Array.prototype.lastIndexOf` method implementation -// https://tc39.es/ecma262/#sec-array.prototype.lastindexof - -module.exports = FORCED ? function lastIndexOf(searchElement -/* , fromIndex = @[*-1] */ -) { - // convert -0 to +0 - if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0; - var O = toIndexedObject(this); - var length = toLength(O.length); - var index = length - 1; - if (arguments.length > 1) index = min(index, toInteger(arguments[1])); - if (index < 0) index = length + index; - - for (; index >= 0; index--) { - if (index in O && O[index] === searchElement) return index || 0; - } - - return -1; -} : nativeLastIndexOf; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-method-has-species-support.js": -/*!****************************************************************************!*\ - !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***! - \****************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); - -var SPECIES = wellKnownSymbol('species'); - -module.exports = function (METHOD_NAME) { - // We can't use this feature detection in V8 since it causes - // deoptimization and serious performance degradation - // https://github.com/zloirock/core-js/issues/677 - return V8_VERSION >= 51 || !fails(function () { - var array = []; - var constructor = array.constructor = {}; - - constructor[SPECIES] = function () { - return { - foo: 1 - }; - }; - - return array[METHOD_NAME](Boolean).foo !== 1; - }); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-method-is-strict.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/array-method-is-strict.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -module.exports = function (METHOD_NAME, argument) { - var method = [][METHOD_NAME]; - return !!method && fails(function () { - // eslint-disable-next-line no-useless-call,no-throw-literal - method.call(null, argument || function () { - throw 1; - }, 1); - }); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-method-uses-to-length.js": -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/internals/array-method-uses-to-length.js ***! - \***********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var defineProperty = Object.defineProperty; -var cache = {}; - -var thrower = function thrower(it) { - throw it; -}; - -module.exports = function (METHOD_NAME, options) { - if (has(cache, METHOD_NAME)) return cache[METHOD_NAME]; - if (!options) options = {}; - var method = [][METHOD_NAME]; - var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false; - var argument0 = has(options, 0) ? options[0] : thrower; - var argument1 = has(options, 1) ? options[1] : undefined; - return cache[METHOD_NAME] = !!method && !fails(function () { - if (ACCESSORS && !DESCRIPTORS) return true; - var O = { - length: -1 - }; - if (ACCESSORS) defineProperty(O, 1, { - enumerable: true, - get: thrower - });else O[1] = 1; - method.call(O, argument0, argument1); - }); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-reduce.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/array-reduce.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); // `Array.prototype.{ reduce, reduceRight }` methods implementation - - -var createMethod = function createMethod(IS_RIGHT) { - return function (that, callbackfn, argumentsLength, memo) { - aFunction(callbackfn); - var O = toObject(that); - var self = IndexedObject(O); - var length = toLength(O.length); - var index = IS_RIGHT ? length - 1 : 0; - var i = IS_RIGHT ? -1 : 1; - if (argumentsLength < 2) while (true) { - if (index in self) { - memo = self[index]; - index += i; - break; - } - - index += i; - - if (IS_RIGHT ? index < 0 : length <= index) { - throw TypeError('Reduce of empty array with no initial value'); - } - } - - for (; IS_RIGHT ? index >= 0 : length > index; index += i) { - if (index in self) { - memo = callbackfn(memo, self[index], index, O); - } - } - - return memo; - }; -}; - -module.exports = { - // `Array.prototype.reduce` method - // https://tc39.es/ecma262/#sec-array.prototype.reduce - left: createMethod(false), - // `Array.prototype.reduceRight` method - // https://tc39.es/ecma262/#sec-array.prototype.reduceright - right: createMethod(true) -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/array-species-create.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/array-species-create.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var SPECIES = wellKnownSymbol('species'); // `ArraySpeciesCreate` abstract operation -// https://tc39.es/ecma262/#sec-arrayspeciescreate - -module.exports = function (originalArray, length) { - var C; - - if (isArray(originalArray)) { - C = originalArray.constructor; // cross-realm fallback - - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;else if (isObject(C)) { - C = C[SPECIES]; - if (C === null) C = undefined; - } - } - - return new (C === undefined ? Array : C)(length === 0 ? 0 : length); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js": -/*!****************************************************************************!*\ - !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***! - \****************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js"); // call something on iterator step with safe closing on error - - -module.exports = function (iterator, fn, value, ENTRIES) { - try { - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); // 7.4.6 IteratorClose(iterator, completion) - } catch (error) { - iteratorClose(iterator); - throw error; - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/check-correctness-of-iteration.js": -/*!**************************************************************************!*\ - !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***! - \**************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var ITERATOR = wellKnownSymbol('iterator'); -var SAFE_CLOSING = false; - -try { - var called = 0; - var iteratorWithReturn = { - next: function next() { - return { - done: !!called++ - }; - }, - 'return': function _return() { - SAFE_CLOSING = true; - } - }; - - iteratorWithReturn[ITERATOR] = function () { - return this; - }; // eslint-disable-next-line no-throw-literal - - - Array.from(iteratorWithReturn, function () { - throw 2; - }); -} catch (error) { - /* empty */ -} - -module.exports = function (exec, SKIP_CLOSING) { - if (!SKIP_CLOSING && !SAFE_CLOSING) return false; - var ITERATION_SUPPORT = false; - - try { - var object = {}; - - object[ITERATOR] = function () { - return { - next: function next() { - return { - done: ITERATION_SUPPORT = true - }; - } - }; - }; - - exec(object); - } catch (error) { - /* empty */ - } - - return ITERATION_SUPPORT; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/classof-raw.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/classof-raw.js ***! - \*******************************************************/ -/***/ (function(module) { - -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/classof.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/classof.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); - -var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); // ES3 wrong here - -var CORRECT_ARGUMENTS = classofRaw(function () { - return arguments; -}()) == 'Arguments'; // fallback for IE11 Script Access Denied error - -var tryGet = function tryGet(it, key) { - try { - return it[key]; - } catch (error) { - /* empty */ - } -}; // getting tag from ES6+ `Object.prototype.toString` - - -module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case - : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case - : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback - : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/collection-strong.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/collection-strong.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); - -var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); - -var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var fastKey = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").fastKey; - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var setInternalState = InternalStateModule.set; -var internalStateGetterFor = InternalStateModule.getterFor; -module.exports = { - getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); - setInternalState(that, { - type: CONSTRUCTOR_NAME, - index: create(null), - first: undefined, - last: undefined, - size: 0 - }); - if (!DESCRIPTORS) that.size = 0; - if (iterable != undefined) iterate(iterable, that[ADDER], { - that: that, - AS_ENTRIES: IS_MAP - }); - }); - var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); - - var define = function define(that, key, value) { - var state = getInternalState(that); - var entry = getEntry(that, key); - var previous, index; // change existing entry - - if (entry) { - entry.value = value; // create new entry - } else { - state.last = entry = { - index: index = fastKey(key, true), - key: key, - value: value, - previous: previous = state.last, - next: undefined, - removed: false - }; - if (!state.first) state.first = entry; - if (previous) previous.next = entry; - if (DESCRIPTORS) state.size++;else that.size++; // add to index - - if (index !== 'F') state.index[index] = entry; - } - - return that; - }; - - var getEntry = function getEntry(that, key) { - var state = getInternalState(that); // fast case - - var index = fastKey(key); - var entry; - if (index !== 'F') return state.index[index]; // frozen object case - - for (entry = state.first; entry; entry = entry.next) { - if (entry.key == key) return entry; - } - }; - - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear() { - var that = this; - var state = getInternalState(that); - var data = state.index; - var entry = state.first; - - while (entry) { - entry.removed = true; - if (entry.previous) entry.previous = entry.previous.next = undefined; - delete data[entry.index]; - entry = entry.next; - } - - state.first = state.last = undefined; - if (DESCRIPTORS) state.size = 0;else that.size = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function _delete(key) { - var that = this; - var state = getInternalState(that); - var entry = getEntry(that, key); - - if (entry) { - var next = entry.next; - var prev = entry.previous; - delete state.index[entry.index]; - entry.removed = true; - if (prev) prev.next = next; - if (next) next.previous = prev; - if (state.first == entry) state.first = next; - if (state.last == entry) state.last = prev; - if (DESCRIPTORS) state.size--;else that.size--; - } - - return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn - /* , that = undefined */ - ) { - var state = getInternalState(this); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var entry; - - while (entry = entry ? entry.next : state.first) { - boundFunction(entry.value, entry.key, this); // revert to the last existing entry - - while (entry && entry.removed) { - entry = entry.previous; - } - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key) { - return !!getEntry(this, key); - } - }); - redefineAll(C.prototype, IS_MAP ? { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key) { - var entry = getEntry(this, key); - return entry && entry.value; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value) { - return define(this, key === 0 ? 0 : key, value); - } - } : { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value) { - return define(this, value = value === 0 ? 0 : value, value); - } - }); - if (DESCRIPTORS) defineProperty(C.prototype, 'size', { - get: function get() { - return getInternalState(this).size; - } - }); - return C; - }, - setStrong: function setStrong(C, CONSTRUCTOR_NAME, IS_MAP) { - var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; - var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); - var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - - defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { - setInternalState(this, { - type: ITERATOR_NAME, - target: iterated, - state: getInternalCollectionState(iterated), - kind: kind, - last: undefined - }); - }, function () { - var state = getInternalIteratorState(this); - var kind = state.kind; - var entry = state.last; // revert to the last existing entry - - while (entry && entry.removed) { - entry = entry.previous; - } // get next entry - - - if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { - // or finish the iteration - state.target = undefined; - return { - value: undefined, - done: true - }; - } // return step by kind - - - if (kind == 'keys') return { - value: entry.key, - done: false - }; - if (kind == 'values') return { - value: entry.value, - done: false - }; - return { - value: [entry.key, entry.value], - done: false - }; - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); // add [@@species], 23.1.2.2, 23.2.2.2 - - setSpecies(CONSTRUCTOR_NAME); - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/collection-weak.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/collection-weak.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); - -var getWeakData = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").getWeakData; - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); - -var ArrayIterationModule = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js"); - -var $has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var setInternalState = InternalStateModule.set; -var internalStateGetterFor = InternalStateModule.getterFor; -var find = ArrayIterationModule.find; -var findIndex = ArrayIterationModule.findIndex; -var id = 0; // fallback for uncaught frozen keys - -var uncaughtFrozenStore = function uncaughtFrozenStore(store) { - return store.frozen || (store.frozen = new UncaughtFrozenStore()); -}; - -var UncaughtFrozenStore = function UncaughtFrozenStore() { - this.entries = []; -}; - -var findUncaughtFrozen = function findUncaughtFrozen(store, key) { - return find(store.entries, function (it) { - return it[0] === key; - }); -}; - -UncaughtFrozenStore.prototype = { - get: function get(key) { - var entry = findUncaughtFrozen(this, key); - if (entry) return entry[1]; - }, - has: function has(key) { - return !!findUncaughtFrozen(this, key); - }, - set: function set(key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) entry[1] = value;else this.entries.push([key, value]); - }, - 'delete': function _delete(key) { - var index = findIndex(this.entries, function (it) { - return it[0] === key; - }); - if (~index) this.entries.splice(index, 1); - return !!~index; - } -}; -module.exports = { - getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); - setInternalState(that, { - type: CONSTRUCTOR_NAME, - id: id++, - frozen: undefined - }); - if (iterable != undefined) iterate(iterable, that[ADDER], { - that: that, - AS_ENTRIES: IS_MAP - }); - }); - var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); - - var define = function define(that, key, value) { - var state = getInternalState(that); - var data = getWeakData(anObject(key), true); - if (data === true) uncaughtFrozenStore(state).set(key, value);else data[state.id] = value; - return that; - }; - - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function _delete(key) { - var state = getInternalState(this); - if (!isObject(key)) return false; - var data = getWeakData(key); - if (data === true) return uncaughtFrozenStore(state)['delete'](key); - return data && $has(data, state.id) && delete data[state.id]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key) { - var state = getInternalState(this); - if (!isObject(key)) return false; - var data = getWeakData(key); - if (data === true) return uncaughtFrozenStore(state).has(key); - return data && $has(data, state.id); - } - }); - redefineAll(C.prototype, IS_MAP ? { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key) { - var state = getInternalState(this); - - if (isObject(key)) { - var data = getWeakData(key); - if (data === true) return uncaughtFrozenStore(state).get(key); - return data ? data[state.id] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value) { - return define(this, key, value); - } - } : { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value) { - return define(this, value, true); - } - }); - return C; - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/collection.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/collection.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js"); - -var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); - -module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { - var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; - var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; - var ADDER = IS_MAP ? 'set' : 'add'; - var NativeConstructor = global[CONSTRUCTOR_NAME]; - var NativePrototype = NativeConstructor && NativeConstructor.prototype; - var Constructor = NativeConstructor; - var exported = {}; - - var fixMethod = function fixMethod(KEY) { - var nativeMethod = NativePrototype[KEY]; - redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) { - nativeMethod.call(this, value === 0 ? 0 : value); - return this; - } : KEY == 'delete' ? function (key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); - } : KEY == 'get' ? function get(key) { - return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); - } : KEY == 'has' ? function has(key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); - } : function set(key, value) { - nativeMethod.call(this, key === 0 ? 0 : key, value); - return this; - }); - }; // eslint-disable-next-line max-len - - - if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { - new NativeConstructor().entries().next(); - })))) { - // create collection constructor - Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); - InternalMetadataModule.REQUIRED = true; - } else if (isForced(CONSTRUCTOR_NAME, true)) { - var instance = new Constructor(); // early implementations not supports chaining - - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - - var THROWS_ON_PRIMITIVES = fails(function () { - instance.has(1); - }); // most early implementations doesn't supports iterables, most modern - not close it correctly - // eslint-disable-next-line no-new - - var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { - new NativeConstructor(iterable); - }); // for early implementations -0 and +0 not the same - - var BUGGY_ZERO = !IS_WEAK && fails(function () { - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new NativeConstructor(); - var index = 5; - - while (index--) { - $instance[ADDER](index, index); - } - - return !$instance.has(-0); - }); - - if (!ACCEPT_ITERABLES) { - Constructor = wrapper(function (dummy, iterable) { - anInstance(dummy, Constructor, CONSTRUCTOR_NAME); - var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); - if (iterable != undefined) iterate(iterable, that[ADDER], { - that: that, - AS_ENTRIES: IS_MAP - }); - return that; - }); - Constructor.prototype = NativePrototype; - NativePrototype.constructor = Constructor; - } - - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - - if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); // weak collections should not contains .clear method - - if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; - } - - exported[CONSTRUCTOR_NAME] = Constructor; - $({ - global: true, - forced: Constructor != NativeConstructor - }, exported); - setToStringTag(Constructor, CONSTRUCTOR_NAME); - if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); - return Constructor; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/copy-constructor-properties.js": -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! - \***********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); - -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -module.exports = function (target, source) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/correct-is-regexp-logic.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var MATCH = wellKnownSymbol('match'); - -module.exports = function (METHOD_NAME) { - var regexp = /./; - - try { - '/./'[METHOD_NAME](regexp); - } catch (error1) { - try { - regexp[MATCH] = false; - return '/./'[METHOD_NAME](regexp); - } catch (error2) { - /* empty */ - } - } - - return false; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/correct-prototype-getter.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -module.exports = !fails(function () { - function F() { - /* empty */ - } - - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/create-html.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/create-html.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var quot = /"/g; // B.2.3.2.1 CreateHTML(string, tag, attribute, value) -// https://tc39.es/ecma262/#sec-createhtml - -module.exports = function (string, tag, attribute, value) { - var S = String(requireObjectCoercible(string)); - var p1 = '<' + tag; - if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/create-iterator-constructor.js": -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***! - \***********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype; - -var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); - -var returnThis = function returnThis() { - return this; -}; - -module.exports = function (IteratorConstructor, NAME, next) { - var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = create(IteratorPrototype, { - next: createPropertyDescriptor(1, next) - }); - setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); - Iterators[TO_STRING_TAG] = returnThis; - return IteratorConstructor; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js": -/*!**************************************************************************!*\ - !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***! - \**************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); - -module.exports = DESCRIPTORS ? function (object, key, value) { - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/create-property-descriptor.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! - \**********************************************************************/ -/***/ (function(module) { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/create-property.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/create-property.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); - -module.exports = function (object, key, value) { - var propertyKey = toPrimitive(key); - if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));else object[propertyKey] = value; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/date-to-primitive.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/date-to-primitive.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -module.exports = function (hint) { - if (hint !== 'string' && hint !== 'number' && hint !== 'default') { - throw TypeError('Incorrect hint'); - } - - return toPrimitive(anObject(this), hint !== 'number'); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/define-iterator.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/define-iterator.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); - -var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js"); - -var IteratorPrototype = IteratorsCore.IteratorPrototype; -var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; -var ITERATOR = wellKnownSymbol('iterator'); -var KEYS = 'keys'; -var VALUES = 'values'; -var ENTRIES = 'entries'; - -var returnThis = function returnThis() { - return this; -}; - -module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); - - var getIterationMethod = function getIterationMethod(KIND) { - if (KIND === DEFAULT && defaultIterator) return defaultIterator; - if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; - - switch (KIND) { - case KEYS: - return function keys() { - return new IteratorConstructor(this, KIND); - }; - - case VALUES: - return function values() { - return new IteratorConstructor(this, KIND); - }; - - case ENTRIES: - return function entries() { - return new IteratorConstructor(this, KIND); - }; - } - - return function () { - return new IteratorConstructor(this); - }; - }; - - var TO_STRING_TAG = NAME + ' Iterator'; - var INCORRECT_VALUES_NAME = false; - var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; - var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; - var CurrentIteratorPrototype, methods, KEY; // fix native - - if (anyNativeIterator) { - CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); - - if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { - if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { - if (setPrototypeOf) { - setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); - } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { - createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); - } - } // Set @@toStringTag to native iterators - - - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); - if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; - } - } // fix Array#{values, @@iterator}.name in V8 / FF - - - if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - INCORRECT_VALUES_NAME = true; - - defaultIterator = function values() { - return nativeIterator.call(this); - }; - } // define iterator - - - if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); - } - - Iterators[NAME] = defaultIterator; // export additional methods - - if (DEFAULT) { - methods = { - values: getIterationMethod(VALUES), - keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), - entries: getIterationMethod(ENTRIES) - }; - if (FORCED) for (KEY in methods) { - if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); - } - } else $({ - target: NAME, - proto: true, - forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME - }, methods); - } - - return methods; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/define-well-known-symbol.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/define-well-known-symbol.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js"); - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -module.exports = function (NAME) { - var _Symbol = path.Symbol || (path.Symbol = {}); - - if (!has(_Symbol, NAME)) defineProperty(_Symbol, NAME, { - value: wrappedWellKnownSymbolModule.f(NAME) - }); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/descriptors.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/descriptors.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); // Detect IE8's incomplete defineProperty implementation - - -module.exports = !fails(function () { - return Object.defineProperty({}, 1, { - get: function get() { - return 7; - } - })[1] != 7; -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/document-create-element.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/document-create-element.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var document = global.document; // typeof document.createElement is 'object' in old IE - -var EXISTS = isObject(document) && isObject(document.createElement); - -module.exports = function (it) { - return EXISTS ? document.createElement(it) : {}; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/dom-iterables.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/dom-iterables.js ***! - \*********************************************************/ -/***/ (function(module) { - -// iterable DOM collections -// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods -module.exports = { - CSSRuleList: 0, - CSSStyleDeclaration: 0, - CSSValueList: 0, - ClientRectList: 0, - DOMRectList: 0, - DOMStringList: 0, - DOMTokenList: 1, - DataTransferItemList: 0, - FileList: 0, - HTMLAllCollection: 0, - HTMLCollection: 0, - HTMLFormElement: 0, - HTMLSelectElement: 0, - MediaList: 0, - MimeTypeArray: 0, - NamedNodeMap: 0, - NodeList: 1, - PaintRequestList: 0, - Plugin: 0, - PluginArray: 0, - SVGLengthList: 0, - SVGNumberList: 0, - SVGPathSegList: 0, - SVGPointList: 0, - SVGStringList: 0, - SVGTransformList: 0, - SourceBufferList: 0, - StyleSheetList: 0, - TextTrackCueList: 0, - TextTrackList: 0, - TouchList: 0 -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/engine-is-ios.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/engine-is-ios.js ***! - \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); - -module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent); - -/***/ }), - -/***/ "./node_modules/core-js/internals/engine-is-node.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/engine-is-node.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -module.exports = classof(global.process) == 'process'; - -/***/ }), - -/***/ "./node_modules/core-js/internals/engine-is-webos-webkit.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/engine-is-webos-webkit.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); - -module.exports = /web0s(?!.*chrome)/i.test(userAgent); - -/***/ }), - -/***/ "./node_modules/core-js/internals/engine-user-agent.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/engine-user-agent.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -module.exports = getBuiltIn('navigator', 'userAgent') || ''; - -/***/ }), - -/***/ "./node_modules/core-js/internals/engine-v8-version.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/engine-v8-version.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); - -var process = global.process; -var versions = process && process.versions; -var v8 = versions && versions.v8; -var match, version; - -if (v8) { - match = v8.split('.'); - version = match[0] + match[1]; -} else if (userAgent) { - match = userAgent.match(/Edge\/(\d+)/); - - if (!match || match[1] >= 74) { - match = userAgent.match(/Chrome\/(\d+)/); - if (match) version = match[1]; - } -} - -module.exports = version && +version; - -/***/ }), - -/***/ "./node_modules/core-js/internals/enum-bug-keys.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! - \*********************************************************/ -/***/ (function(module) { - -// IE8- don't enum bug keys -module.exports = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf']; - -/***/ }), - -/***/ "./node_modules/core-js/internals/export.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/internals/export.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); - -var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); - -var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); -/* - options.target - name of the target object - options.global - target is the global object - options.stat - export as static methods of target - options.proto - export as prototype methods of target - options.real - real prototype method for the `pure` version - options.forced - export even if the native feature is available - options.bind - bind methods to the target, required for the `pure` version - options.wrap - wrap constructors to preventing global pollution, required for the `pure` version - options.unsafe - use the simple assignment of property instead of delete + defineProperty - options.sham - add a flag to not completely full polyfills - options.enumerable - export as enumerable property - options.noTargetGet - prevent calling a getter on target -*/ - - -module.exports = function (options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - - if (GLOBAL) { - target = global; - } else if (STATIC) { - target = global[TARGET] || setGlobal(TARGET, {}); - } else { - target = (global[TARGET] || {}).prototype; - } - - if (target) for (key in source) { - sourceProperty = source[key]; - - if (options.noTargetGet) { - descriptor = getOwnPropertyDescriptor(target, key); - targetProperty = descriptor && descriptor.value; - } else targetProperty = target[key]; - - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target - - if (!FORCED && targetProperty !== undefined) { - if (_typeof(sourceProperty) === _typeof(targetProperty)) continue; - copyConstructorProperties(sourceProperty, targetProperty); - } // add a flag to not completely full polyfills - - - if (options.sham || targetProperty && targetProperty.sham) { - createNonEnumerableProperty(sourceProperty, 'sham', true); - } // extend global - - - redefine(target, key, sourceProperty, options); - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/fails.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/internals/fails.js ***! - \*************************************************/ -/***/ (function(module) { - -module.exports = function (exec) { - try { - return !!exec(); - } catch (error) { - return true; - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js": -/*!******************************************************************************!*\ - !*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***! - \******************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - // TODO: Remove from `core-js@4` since it's moved to entry points - -__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var SPECIES = wellKnownSymbol('species'); -var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { - // #replace needs built-in support for named groups. - // #match works fine because it just return the exec results, even if it has - // a "grops" property. - var re = /./; - - re.exec = function () { - var result = []; - result.groups = { - a: '7' - }; - return result; - }; - - return ''.replace(re, '$') !== '7'; -}); // IE <= 11 replaces $0 with the whole match, as if it was $& -// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 - -var REPLACE_KEEPS_$0 = function () { - return 'a'.replace(/./, '$0') === '$0'; -}(); - -var REPLACE = wellKnownSymbol('replace'); // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string - -var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = function () { - if (/./[REPLACE]) { - return /./[REPLACE]('a', '$0') === ''; - } - - return false; -}(); // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec -// Weex JS has frozen built-in prototypes, so use try / catch wrapper - - -var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { - var re = /(?:)/; - var originalExec = re.exec; - - re.exec = function () { - return originalExec.apply(this, arguments); - }; - - var result = 'ab'.split(re); - return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; -}); - -module.exports = function (KEY, length, exec, sham) { - var SYMBOL = wellKnownSymbol(KEY); - var DELEGATES_TO_SYMBOL = !fails(function () { - // String methods call symbol-named RegEp methods - var O = {}; - - O[SYMBOL] = function () { - return 7; - }; - - return ''[KEY](O) != 7; - }); - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { - // Symbol-named RegExp methods call .exec - var execCalled = false; - var re = /a/; - - if (KEY === 'split') { - // We can't use real regex here since it causes deoptimization - // and serious performance degradation in V8 - // https://github.com/zloirock/core-js/issues/306 - re = {}; // RegExp[@@split] doesn't call the regex's exec method, but first creates - // a new one. We need to return the patched regex when creating the new one. - - re.constructor = {}; - - re.constructor[SPECIES] = function () { - return re; - }; - - re.flags = ''; - re[SYMBOL] = /./[SYMBOL]; - } - - re.exec = function () { - execCalled = true; - return null; - }; - - re[SYMBOL](''); - return !execCalled; - }); - - if (!DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0 && !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE) || KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) { - var nativeRegExpMethod = /./[SYMBOL]; - var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { - if (DELEGATES_TO_SYMBOL && !forceStringMethod) { - // The native String method already delegates to @@method (this - // polyfilled function), leasing to infinite recursion. - // We avoid it by directly calling the native @@method method. - return { - done: true, - value: nativeRegExpMethod.call(regexp, str, arg2) - }; - } - - return { - done: true, - value: nativeMethod.call(str, regexp, arg2) - }; - } - - return { - done: false - }; - }, { - REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, - REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE - }); - var stringMethod = methods[0]; - var regexMethod = methods[1]; - redefine(String.prototype, KEY, stringMethod); - redefine(RegExp.prototype, SYMBOL, length == 2 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function (string, arg) { - return regexMethod.call(string, this, arg); - } // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function (string) { - return regexMethod.call(string, this); - }); - } - - if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/flatten-into-array.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/flatten-into-array.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); // `FlattenIntoArray` abstract operation -// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray - - -var flattenIntoArray = function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { - var targetIndex = start; - var sourceIndex = 0; - var mapFn = mapper ? bind(mapper, thisArg, 3) : false; - var element; - - while (sourceIndex < sourceLen) { - if (sourceIndex in source) { - element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; - - if (depth > 0 && isArray(element)) { - targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; - } else { - if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); - target[targetIndex] = element; - } - - targetIndex++; - } - - sourceIndex++; - } - - return targetIndex; -}; - -module.exports = flattenIntoArray; - -/***/ }), - -/***/ "./node_modules/core-js/internals/freezing.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/freezing.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -module.exports = !fails(function () { - return Object.isExtensible(Object.preventExtensions({})); -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/function-bind-context.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/internals/function-bind-context.js ***! - \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); // optional / simple context binding - - -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - - switch (length) { - case 0: - return function () { - return fn.call(that); - }; - - case 1: - return function (a) { - return fn.call(that, a); - }; - - case 2: - return function (a, b) { - return fn.call(that, a, b); - }; - - case 3: - return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - - return function () - /* ...args */ - { - return fn.apply(that, arguments); - }; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/function-bind.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/function-bind.js ***! - \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var slice = [].slice; -var factories = {}; - -var construct = function construct(C, argsLength, args) { - if (!(argsLength in factories)) { - for (var list = [], i = 0; i < argsLength; i++) { - list[i] = 'a[' + i + ']'; - } // eslint-disable-next-line no-new-func - - - factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); - } - - return factories[argsLength](C, args); -}; // `Function.prototype.bind` method implementation -// https://tc39.es/ecma262/#sec-function.prototype.bind - - -module.exports = Function.bind || function bind(that -/* , ...args */ -) { - var fn = aFunction(this); - var partArgs = slice.call(arguments, 1); - - var boundFunction = function bound() - /* args... */ - { - var args = partArgs.concat(slice.call(arguments)); - return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); - }; - - if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype; - return boundFunction; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/get-built-in.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/get-built-in.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var aFunction = function aFunction(variable) { - return typeof variable == 'function' ? variable : undefined; -}; - -module.exports = function (namespace, method) { - return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/get-iterator-method.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/get-iterator-method.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); - -var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var ITERATOR = wellKnownSymbol('iterator'); - -module.exports = function (it) { - if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/get-iterator.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/get-iterator.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); - -module.exports = function (it) { - var iteratorMethod = getIteratorMethod(it); - - if (typeof iteratorMethod != 'function') { - throw TypeError(String(it) + ' is not iterable'); - } - - return anObject(iteratorMethod.call(it)); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/get-substitution.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/get-substitution.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var floor = Math.floor; -var replace = ''.replace; -var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; -var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; // https://tc39.es/ecma262/#sec-getsubstitution - -module.exports = function (matched, str, position, captures, namedCaptures, replacement) { - var tailPos = position + matched.length; - var m = captures.length; - var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; - - if (namedCaptures !== undefined) { - namedCaptures = toObject(namedCaptures); - symbols = SUBSTITUTION_SYMBOLS; - } - - return replace.call(replacement, symbols, function (match, ch) { - var capture; - - switch (ch.charAt(0)) { - case '$': - return '$'; - - case '&': - return matched; - - case '`': - return str.slice(0, position); - - case "'": - return str.slice(tailPos); - - case '<': - capture = namedCaptures[ch.slice(1, -1)]; - break; - - default: - // \d\d? - var n = +ch; - if (n === 0) return match; - - if (n > m) { - var f = floor(n / 10); - if (f === 0) return match; - if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); - return match; - } - - capture = captures[n - 1]; - } - - return capture === undefined ? '' : capture; - }); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/global.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/internals/global.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var check = function check(it) { - return it && it.Math == Math && it; -}; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - - -module.exports = // eslint-disable-next-line no-undef -check((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) == 'object' && globalThis) || check((typeof window === "undefined" ? "undefined" : _typeof(window)) == 'object' && window) || check((typeof self === "undefined" ? "undefined" : _typeof(self)) == 'object' && self) || check((typeof __webpack_require__.g === "undefined" ? "undefined" : _typeof(__webpack_require__.g)) == 'object' && __webpack_require__.g) || // eslint-disable-next-line no-new-func -function () { - return this; -}() || Function('return this')(); - -/***/ }), - -/***/ "./node_modules/core-js/internals/has.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/internals/has.js ***! - \***********************************************/ -/***/ (function(module) { - -var hasOwnProperty = {}.hasOwnProperty; - -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/hidden-keys.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/hidden-keys.js ***! - \*******************************************************/ -/***/ (function(module) { - -module.exports = {}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/host-report-errors.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/host-report-errors.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -module.exports = function (a, b) { - var console = global.console; - - if (console && console.error) { - arguments.length === 1 ? console.error(a) : console.error(a, b); - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/html.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/html.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -module.exports = getBuiltIn('document', 'documentElement'); - -/***/ }), - -/***/ "./node_modules/core-js/internals/ie8-dom-define.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); // Thank's IE8 for his funny defineProperty - - -module.exports = !DESCRIPTORS && !fails(function () { - return Object.defineProperty(createElement('div'), 'a', { - get: function get() { - return 7; - } - }).a != 7; -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/ieee754.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/ieee754.js ***! - \***************************************************/ -/***/ (function(module) { - -// IEEE754 conversions based on https://github.com/feross/ieee754 -// eslint-disable-next-line no-shadow-restricted-names -var Infinity = 1 / 0; -var abs = Math.abs; -var pow = Math.pow; -var floor = Math.floor; -var log = Math.log; -var LN2 = Math.LN2; - -var pack = function pack(number, mantissaLength, bytes) { - var buffer = new Array(bytes); - var exponentLength = bytes * 8 - mantissaLength - 1; - var eMax = (1 << exponentLength) - 1; - var eBias = eMax >> 1; - var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; - var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; - var index = 0; - var exponent, mantissa, c; - number = abs(number); // eslint-disable-next-line no-self-compare - - if (number != number || number === Infinity) { - // eslint-disable-next-line no-self-compare - mantissa = number != number ? 1 : 0; - exponent = eMax; - } else { - exponent = floor(log(number) / LN2); - - if (number * (c = pow(2, -exponent)) < 1) { - exponent--; - c *= 2; - } - - if (exponent + eBias >= 1) { - number += rt / c; - } else { - number += rt * pow(2, 1 - eBias); - } - - if (number * c >= 2) { - exponent++; - c /= 2; - } - - if (exponent + eBias >= eMax) { - mantissa = 0; - exponent = eMax; - } else if (exponent + eBias >= 1) { - mantissa = (number * c - 1) * pow(2, mantissaLength); - exponent = exponent + eBias; - } else { - mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); - exponent = 0; - } - } - - for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8) { - ; - } - - exponent = exponent << mantissaLength | mantissa; - exponentLength += mantissaLength; - - for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8) { - ; - } - - buffer[--index] |= sign * 128; - return buffer; -}; - -var unpack = function unpack(buffer, mantissaLength) { - var bytes = buffer.length; - var exponentLength = bytes * 8 - mantissaLength - 1; - var eMax = (1 << exponentLength) - 1; - var eBias = eMax >> 1; - var nBits = exponentLength - 7; - var index = bytes - 1; - var sign = buffer[index--]; - var exponent = sign & 127; - var mantissa; - sign >>= 7; - - for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8) { - ; - } - - mantissa = exponent & (1 << -nBits) - 1; - exponent >>= -nBits; - nBits += mantissaLength; - - for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8) { - ; - } - - if (exponent === 0) { - exponent = 1 - eBias; - } else if (exponent === eMax) { - return mantissa ? NaN : sign ? -Infinity : Infinity; - } else { - mantissa = mantissa + pow(2, mantissaLength); - exponent = exponent - eBias; - } - - return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); -}; - -module.exports = { - pack: pack, - unpack: unpack -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/indexed-object.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/indexed-object.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); - -var split = ''.split; // fallback for non-array-like ES3 and non-enumerable old V8 strings - -module.exports = fails(function () { - // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 - // eslint-disable-next-line no-prototype-builtins - return !Object('z').propertyIsEnumerable(0); -}) ? function (it) { - return classof(it) == 'String' ? split.call(it, '') : Object(it); -} : Object; - -/***/ }), - -/***/ "./node_modules/core-js/internals/inherit-if-required.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/inherit-if-required.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); // makes subclassing work correct for wrapped built-ins - - -module.exports = function ($this, dummy, Wrapper) { - var NewTarget, NewTargetPrototype; - if ( // it can work only with native `setPrototypeOf` - setPrototypeOf && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this - typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) setPrototypeOf($this, NewTargetPrototype); - return $this; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/inspect-source.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/inspect-source.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); - -var functionToString = Function.toString; // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper - -if (typeof store.inspectSource != 'function') { - store.inspectSource = function (it) { - return functionToString.call(it); - }; -} - -module.exports = store.inspectSource; - -/***/ }), - -/***/ "./node_modules/core-js/internals/internal-metadata.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/internal-metadata.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); - -var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); - -var METADATA = uid('meta'); -var id = 0; - -var isExtensible = Object.isExtensible || function () { - return true; -}; - -var setMetadata = function setMetadata(it) { - defineProperty(it, METADATA, { - value: { - objectID: 'O' + ++id, - // object ID - weakData: {} // weak collections IDs - - } - }); -}; - -var fastKey = function fastKey(it, create) { - // return a primitive with prefix - if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - - if (!has(it, METADATA)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return 'F'; // not necessary to add metadata - - if (!create) return 'E'; // add missing metadata - - setMetadata(it); // return object ID - } - - return it[METADATA].objectID; -}; - -var getWeakData = function getWeakData(it, create) { - if (!has(it, METADATA)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return true; // not necessary to add metadata - - if (!create) return false; // add missing metadata - - setMetadata(it); // return the store of weak collections IDs - } - - return it[METADATA].weakData; -}; // add metadata on freeze-family methods calling - - -var onFreeze = function onFreeze(it) { - if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it); - return it; -}; - -var meta = module.exports = { - REQUIRED: false, - fastKey: fastKey, - getWeakData: getWeakData, - onFreeze: onFreeze -}; -hiddenKeys[METADATA] = true; - -/***/ }), - -/***/ "./node_modules/core-js/internals/internal-state.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/internal-state.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var shared = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); - -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); - -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); - -var WeakMap = global.WeakMap; -var set, get, has; - -var enforce = function enforce(it) { - return has(it) ? get(it) : set(it, {}); -}; - -var getterFor = function getterFor(TYPE) { - return function (it) { - var state; - - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError('Incompatible receiver, ' + TYPE + ' required'); - } - - return state; - }; -}; - -if (NATIVE_WEAK_MAP) { - var store = shared.state || (shared.state = new WeakMap()); - var wmget = store.get; - var wmhas = store.has; - var wmset = store.set; - - set = function set(it, metadata) { - metadata.facade = it; - wmset.call(store, it, metadata); - return metadata; - }; - - get = function get(it) { - return wmget.call(store, it) || {}; - }; - - has = function has(it) { - return wmhas.call(store, it); - }; -} else { - var STATE = sharedKey('state'); - hiddenKeys[STATE] = true; - - set = function set(it, metadata) { - metadata.facade = it; - createNonEnumerableProperty(it, STATE, metadata); - return metadata; - }; - - get = function get(it) { - return objectHas(it, STATE) ? it[STATE] : {}; - }; - - has = function has(it) { - return objectHas(it, STATE); - }; -} - -module.exports = { - set: set, - get: get, - has: has, - enforce: enforce, - getterFor: getterFor -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/is-array-iterator-method.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); - -var ITERATOR = wellKnownSymbol('iterator'); -var ArrayPrototype = Array.prototype; // check on default Array iterator - -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/is-array.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/is-array.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); // `IsArray` abstract operation -// https://tc39.es/ecma262/#sec-isarray - - -module.exports = Array.isArray || function isArray(arg) { - return classof(arg) == 'Array'; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/is-forced.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-forced.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var replacement = /#|\.prototype\./; - -var isForced = function isForced(feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection; -}; - -var normalize = isForced.normalize = function (string) { - return String(string).replace(replacement, '.').toLowerCase(); -}; - -var data = isForced.data = {}; -var NATIVE = isForced.NATIVE = 'N'; -var POLYFILL = isForced.POLYFILL = 'P'; -module.exports = isForced; - -/***/ }), - -/***/ "./node_modules/core-js/internals/is-integer.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/is-integer.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var floor = Math.floor; // `Number.isInteger` method implementation -// https://tc39.es/ecma262/#sec-number.isinteger - -module.exports = function isInteger(it) { - return !isObject(it) && isFinite(it) && floor(it) === it; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/is-object.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-object.js ***! - \*****************************************************/ -/***/ (function(module) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -module.exports = function (it) { - return _typeof(it) === 'object' ? it !== null : typeof it === 'function'; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/is-pure.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/is-pure.js ***! - \***************************************************/ -/***/ (function(module) { - -module.exports = false; - -/***/ }), - -/***/ "./node_modules/core-js/internals/is-regexp.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-regexp.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var MATCH = wellKnownSymbol('match'); // `IsRegExp` abstract operation -// https://tc39.es/ecma262/#sec-isregexp - -module.exports = function (it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/iterate.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/iterate.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); - -var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); - -var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js"); - -var Result = function Result(stopped, result) { - this.stopped = stopped; - this.result = result; -}; - -module.exports = function (iterable, unboundFunction, options) { - var that = options && options.that; - var AS_ENTRIES = !!(options && options.AS_ENTRIES); - var IS_ITERATOR = !!(options && options.IS_ITERATOR); - var INTERRUPTED = !!(options && options.INTERRUPTED); - var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); - var iterator, iterFn, index, length, result, next, step; - - var stop = function stop(condition) { - if (iterator) iteratorClose(iterator); - return new Result(true, condition); - }; - - var callFn = function callFn(value) { - if (AS_ENTRIES) { - anObject(value); - return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); - } - - return INTERRUPTED ? fn(value, stop) : fn(value); - }; - - if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); // optimisation for array iterators - - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = toLength(iterable.length); length > index; index++) { - result = callFn(iterable[index]); - if (result && result instanceof Result) return result; - } - - return new Result(false); - } - - iterator = iterFn.call(iterable); - } - - next = iterator.next; - - while (!(step = next.call(iterator)).done) { - try { - result = callFn(step.value); - } catch (error) { - iteratorClose(iterator); - throw error; - } - - if (_typeof(result) == 'object' && result && result instanceof Result) return result; - } - - return new Result(false); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/iterator-close.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/iterator-close.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -module.exports = function (iterator) { - var returnMethod = iterator['return']; - - if (returnMethod !== undefined) { - return anObject(returnMethod.call(iterator)).value; - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/iterators-core.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/iterators-core.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var ITERATOR = wellKnownSymbol('iterator'); -var BUGGY_SAFARI_ITERATORS = false; - -var returnThis = function returnThis() { - return this; -}; // `%IteratorPrototype%` object -// https://tc39.es/ecma262/#sec-%iteratorprototype%-object - - -var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; - -if ([].keys) { - arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next` - - if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;else { - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; - } -} - -var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { - var test = {}; // FF44- legacy iterators case - - return IteratorPrototype[ITERATOR].call(test) !== test; -}); -if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() - -if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) { - createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); -} - -module.exports = { - IteratorPrototype: IteratorPrototype, - BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/iterators.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/iterators.js ***! - \*****************************************************/ -/***/ (function(module) { - -module.exports = {}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/math-expm1.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/math-expm1.js ***! - \******************************************************/ -/***/ (function(module) { - -var nativeExpm1 = Math.expm1; -var exp = Math.exp; // `Math.expm1` method implementation -// https://tc39.es/ecma262/#sec-math.expm1 - -module.exports = !nativeExpm1 // Old FF bug -|| nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 // Tor Browser bug -|| nativeExpm1(-2e-17) != -2e-17 ? function expm1(x) { - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1; -} : nativeExpm1; - -/***/ }), - -/***/ "./node_modules/core-js/internals/math-fround.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/math-fround.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js"); - -var abs = Math.abs; -var pow = Math.pow; -var EPSILON = pow(2, -52); -var EPSILON32 = pow(2, -23); -var MAX32 = pow(2, 127) * (2 - EPSILON32); -var MIN32 = pow(2, -126); - -var roundTiesToEven = function roundTiesToEven(n) { - return n + 1 / EPSILON - 1 / EPSILON; -}; // `Math.fround` method implementation -// https://tc39.es/ecma262/#sec-math.fround - - -module.exports = Math.fround || function fround(x) { - var $abs = abs(x); - var $sign = sign(x); - var a, result; - if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); // eslint-disable-next-line no-self-compare - - if (result > MAX32 || result != result) return $sign * Infinity; - return $sign * result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/math-log1p.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/math-log1p.js ***! - \******************************************************/ -/***/ (function(module) { - -var log = Math.log; // `Math.log1p` method implementation -// https://tc39.es/ecma262/#sec-math.log1p - -module.exports = Math.log1p || function log1p(x) { - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/math-sign.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/math-sign.js ***! - \*****************************************************/ -/***/ (function(module) { - -// `Math.sign` method implementation -// https://tc39.es/ecma262/#sec-math.sign -module.exports = Math.sign || function sign(x) { - // eslint-disable-next-line no-self-compare - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/microtask.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/microtask.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; - -var macrotask = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set; - -var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js"); - -var IS_WEBOS_WEBKIT = __webpack_require__(/*! ../internals/engine-is-webos-webkit */ "./node_modules/core-js/internals/engine-is-webos-webkit.js"); - -var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); - -var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; -var document = global.document; -var process = global.process; -var Promise = global.Promise; // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` - -var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); -var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; -var flush, head, last, notify, toggle, node, promise, then; // modern engines have queueMicrotask method - -if (!queueMicrotask) { - flush = function flush() { - var parent, fn; - if (IS_NODE && (parent = process.domain)) parent.exit(); - - while (head) { - fn = head.fn; - head = head.next; - - try { - fn(); - } catch (error) { - if (head) notify();else last = undefined; - throw error; - } - } - - last = undefined; - if (parent) parent.enter(); - }; // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 - // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 - - - if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { - toggle = true; - node = document.createTextNode(''); - new MutationObserver(flush).observe(node, { - characterData: true - }); - - notify = function notify() { - node.data = toggle = !toggle; - }; // environments with maybe non-completely correct, but existent Promise - - } else if (Promise && Promise.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - promise = Promise.resolve(undefined); - then = promise.then; - - notify = function notify() { - then.call(promise, flush); - }; // Node.js without promises - - } else if (IS_NODE) { - notify = function notify() { - process.nextTick(flush); - }; // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - - } else { - notify = function notify() { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } -} - -module.exports = queueMicrotask || function (fn) { - var task = { - fn: fn, - next: undefined - }; - if (last) last.next = task; - - if (!head) { - head = task; - notify(); - } - - last = task; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/native-promise-constructor.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/internals/native-promise-constructor.js ***! - \**********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -module.exports = global.Promise; - -/***/ }), - -/***/ "./node_modules/core-js/internals/native-symbol.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/native-symbol.js ***! - \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -module.exports = !!Object.getOwnPropertySymbols && !fails(function () { - // Chrome 38 Symbol has incorrect toString conversion - // eslint-disable-next-line no-undef - return !String(Symbol()); -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/native-url.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/native-url.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var ITERATOR = wellKnownSymbol('iterator'); -module.exports = !fails(function () { - var url = new URL('b?a=1&b=2&c=3', 'http://a'); - var searchParams = url.searchParams; - var result = ''; - url.pathname = 'c%20d'; - searchParams.forEach(function (value, key) { - searchParams['delete']('b'); - result += key + value; - }); - return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] // throws in Edge - || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' // not punycoded in Edge - || new URL('http://тест').host !== 'xn--e1aybc' // not escaped in Chrome 62- - || new URL('http://a#б').hash !== '#%D0%B1' // fails in Chrome 66- - || result !== 'a1c3' // throws in Safari - || new URL('http://x', undefined).host !== 'x'; -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/native-weak-map.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/native-weak-map.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); - -var WeakMap = global.WeakMap; -module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); - -/***/ }), - -/***/ "./node_modules/core-js/internals/new-promise-capability.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/new-promise-capability.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var PromiseCapability = function PromiseCapability(C) { - var resolve, reject; - this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); -}; // 25.4.1.5 NewPromiseCapability(C) - - -module.exports.f = function (C) { - return new PromiseCapability(C); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/not-a-regexp.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/not-a-regexp.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); - -module.exports = function (it) { - if (isRegExp(it)) { - throw TypeError("The method doesn't accept regular expressions"); - } - - return it; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/number-is-finite.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/number-is-finite.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var globalIsFinite = global.isFinite; // `Number.isFinite` method -// https://tc39.es/ecma262/#sec-number.isfinite - -module.exports = Number.isFinite || function isFinite(it) { - return typeof it == 'number' && globalIsFinite(it); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/number-parse-float.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/number-parse-float.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; - -var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); - -var $parseFloat = global.parseFloat; -var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; // `parseFloat` method -// https://tc39.es/ecma262/#sec-parsefloat-string - -module.exports = FORCED ? function parseFloat(string) { - var trimmedString = trim(String(string)); - var result = $parseFloat(trimmedString); - return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; -} : $parseFloat; - -/***/ }), - -/***/ "./node_modules/core-js/internals/number-parse-int.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/number-parse-int.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; - -var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); - -var $parseInt = global.parseInt; -var hex = /^[+-]?0[Xx]/; -var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; // `parseInt` method -// https://tc39.es/ecma262/#sec-parseint-string-radix - -module.exports = FORCED ? function parseInt(string, radix) { - var S = trim(String(string)); - return $parseInt(S, radix >>> 0 || (hex.test(S) ? 16 : 10)); -} : $parseInt; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-assign.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/object-assign.js ***! - \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); - -var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); - -var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); - -var nativeAssign = Object.assign; -var defineProperty = Object.defineProperty; // `Object.assign` method -// https://tc39.es/ecma262/#sec-object.assign - -module.exports = !nativeAssign || fails(function () { - // should have correct order of operations (Edge bug) - if (DESCRIPTORS && nativeAssign({ - b: 1 - }, nativeAssign(defineProperty({}, 'a', { - enumerable: true, - get: function get() { - defineProperty(this, 'b', { - value: 3, - enumerable: false - }); - } - }), { - b: 2 - })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug) - - var A = {}; - var B = {}; // eslint-disable-next-line no-undef - - var symbol = Symbol(); - var alphabet = 'abcdefghijklmnopqrst'; - A[symbol] = 7; - alphabet.split('').forEach(function (chr) { - B[chr] = chr; - }); - return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; -}) ? function assign(target, source) { - // eslint-disable-line no-unused-vars - var T = toObject(target); - var argumentsLength = arguments.length; - var index = 1; - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - var propertyIsEnumerable = propertyIsEnumerableModule.f; - - while (argumentsLength > index) { - var S = IndexedObject(arguments[index++]); - var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); - var length = keys.length; - var j = 0; - var key; - - while (length > j) { - key = keys[j++]; - if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; - } - } - - return T; -} : nativeAssign; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-create.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/object-create.js ***! - \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); - -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); - -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); - -var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); - -var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); - -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); - -var GT = '>'; -var LT = '<'; -var PROTOTYPE = 'prototype'; -var SCRIPT = 'script'; -var IE_PROTO = sharedKey('IE_PROTO'); - -var EmptyConstructor = function EmptyConstructor() { - /* empty */ -}; - -var scriptTag = function scriptTag(content) { - return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; -}; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype - - -var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX(activeXDocument) { - activeXDocument.write(scriptTag('')); - activeXDocument.close(); - var temp = activeXDocument.parentWindow.Object; - activeXDocument = null; // avoid memory leak - - return temp; -}; // Create object with fake `null` prototype: use iframe Object with cleared prototype - - -var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame() { - // Thrash, waste and sodomy: IE GC bug - var iframe = documentCreateElement('iframe'); - var JS = 'java' + SCRIPT + ':'; - var iframeDocument; - iframe.style.display = 'none'; - html.appendChild(iframe); // https://github.com/zloirock/core-js/issues/475 - - iframe.src = String(JS); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(scriptTag('document.F=Object')); - iframeDocument.close(); - return iframeDocument.F; -}; // Check for document.domain and active x support -// No need to use active x approach when document.domain is not set -// see https://github.com/es-shims/es5-shim/issues/150 -// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 -// avoid IE GC bug - - -var activeXDocument; - -var _NullProtoObject = function NullProtoObject() { - try { - /* global ActiveXObject */ - activeXDocument = document.domain && new ActiveXObject('htmlfile'); - } catch (error) { - /* ignore */ - } - - _NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); - var length = enumBugKeys.length; - - while (length--) { - delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]]; - } - - return _NullProtoObject(); -}; - -hiddenKeys[IE_PROTO] = true; // `Object.create` method -// https://tc39.es/ecma262/#sec-object.create - -module.exports = Object.create || function create(O, Properties) { - var result; - - if (O !== null) { - EmptyConstructor[PROTOTYPE] = anObject(O); - result = new EmptyConstructor(); - EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill - - result[IE_PROTO] = O; - } else result = _NullProtoObject(); - - return Properties === undefined ? result : defineProperties(result, Properties); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-define-properties.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/object-define-properties.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); // `Object.defineProperties` method -// https://tc39.es/ecma262/#sec-object.defineproperties - - -module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = objectKeys(Properties); - var length = keys.length; - var index = 0; - var key; - - while (length > index) { - definePropertyModule.f(O, key = keys[index++], Properties[key]); - } - - return O; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-define-property.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-define-property.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var nativeDefineProperty = Object.defineProperty; // `Object.defineProperty` method -// https://tc39.es/ecma262/#sec-object.defineproperty - -exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return nativeDefineProperty(O, P, Attributes); - } catch (error) { - /* empty */ - } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js": -/*!******************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); - -var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method -// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - -exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { - /* empty */ - } - if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-get-own-property-names-external.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-names-external.js ***! - \**********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var nativeGetOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; - -var toString = {}.toString; -var windowNames = (typeof window === "undefined" ? "undefined" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; - -var getWindowNames = function getWindowNames(it) { - try { - return nativeGetOwnPropertyNames(it); - } catch (error) { - return windowNames.slice(); - } -}; // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window - - -module.exports.f = function getOwnPropertyNames(it) { - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it)); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-get-own-property-names.js": -/*!*************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); - -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); - -var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method -// https://tc39.es/ecma262/#sec-object.getownpropertynames - -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js": -/*!***************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - -exports.f = Object.getOwnPropertySymbols; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-get-prototype-of.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); - -var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); - -var IE_PROTO = sharedKey('IE_PROTO'); -var ObjectPrototype = Object.prototype; // `Object.getPrototypeOf` method -// https://tc39.es/ecma262/#sec-object.getprototypeof - -module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } - - return O instanceof Object ? ObjectPrototype : null; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-keys-internal.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/object-keys-internal.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; - -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); - -module.exports = function (object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - - for (key in O) { - !has(hiddenKeys, key) && has(O, key) && result.push(key); - } // Don't enum bug & hidden keys - - - while (names.length > i) { - if (has(O, key = names[i++])) { - ~indexOf(result, key) || result.push(key); - } - } - - return result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-keys.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/object-keys.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); - -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); // `Object.keys` method -// https://tc39.es/ecma262/#sec-object.keys - - -module.exports = Object.keys || function keys(O) { - return internalObjectKeys(O, enumBugKeys); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js": -/*!*************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - -"use strict"; - - -var nativePropertyIsEnumerable = {}.propertyIsEnumerable; -var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug - -var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ - 1: 2 -}, 1); // `Object.prototype.propertyIsEnumerable` method implementation -// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable - -exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; -} : nativePropertyIsEnumerable; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-prototype-accessors-forced.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-prototype-accessors-forced.js ***! - \*****************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); // Forced replacement object prototype accessors methods - - -module.exports = IS_PURE || !fails(function () { - var key = Math.random(); // In FF throws only define methods - // eslint-disable-next-line no-undef, no-useless-call - - __defineSetter__.call(null, key, function () { - /* empty */ - }); - - delete global[key]; -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-set-prototype-of.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js"); // `Object.setPrototypeOf` method -// https://tc39.es/ecma262/#sec-object.setprototypeof -// Works with __proto__ only. Old v8 can't work with null proto objects. - -/* eslint-disable no-proto */ - - -module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { - var CORRECT_SETTER = false; - var test = {}; - var setter; - - try { - setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; - setter.call(test, []); - CORRECT_SETTER = test instanceof Array; - } catch (error) { - /* empty */ - } - - return function setPrototypeOf(O, proto) { - anObject(O); - aPossiblePrototype(proto); - if (CORRECT_SETTER) setter.call(O, proto);else O.__proto__ = proto; - return O; - }; -}() : undefined); - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-to-array.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/object-to-array.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var propertyIsEnumerable = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js").f; // `Object.{ entries, values }` methods implementation - - -var createMethod = function createMethod(TO_ENTRIES) { - return function (it) { - var O = toIndexedObject(it); - var keys = objectKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - - while (length > i) { - key = keys[i++]; - - if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { - result.push(TO_ENTRIES ? [key, O[key]] : O[key]); - } - } - - return result; - }; -}; - -module.exports = { - // `Object.entries` method - // https://tc39.es/ecma262/#sec-object.entries - entries: createMethod(true), - // `Object.values` method - // https://tc39.es/ecma262/#sec-object.values - values: createMethod(false) -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/object-to-string.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/object-to-string.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); - -var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); // `Object.prototype.toString` method implementation -// https://tc39.es/ecma262/#sec-object.prototype.tostring - - -module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { - return '[object ' + classof(this) + ']'; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/own-keys.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/own-keys.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); - -var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); // all object keys, includes non-enumerable and symbols - - -module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/path.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/path.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -module.exports = global; - -/***/ }), - -/***/ "./node_modules/core-js/internals/perform.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/perform.js ***! - \***************************************************/ -/***/ (function(module) { - -module.exports = function (exec) { - try { - return { - error: false, - value: exec() - }; - } catch (error) { - return { - error: true, - value: error - }; - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/promise-resolve.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/promise-resolve.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js"); - -module.exports = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) return x; - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/redefine-all.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/redefine-all.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -module.exports = function (target, src, options) { - for (var key in src) { - redefine(target, key, src[key], options); - } - - return target; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/redefine.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/redefine.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); - -var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var getInternalState = InternalStateModule.get; -var enforceInternalState = InternalStateModule.enforce; -var TEMPLATE = String(String).split('String'); -(module.exports = function (O, key, value, options) { - var unsafe = options ? !!options.unsafe : false; - var simple = options ? !!options.enumerable : false; - var noTargetGet = options ? !!options.noTargetGet : false; - var state; - - if (typeof value == 'function') { - if (typeof key == 'string' && !has(value, 'name')) { - createNonEnumerableProperty(value, 'name', key); - } - - state = enforceInternalState(value); - - if (!state.source) { - state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); - } - } - - if (O === global) { - if (simple) O[key] = value;else setGlobal(key, value); - return; - } else if (!unsafe) { - delete O[key]; - } else if (!noTargetGet && O[key]) { - simple = true; - } - - if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, 'toString', function toString() { - return typeof this == 'function' && getInternalState(this).source || inspectSource(this); -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/regexp-exec-abstract.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var classof = __webpack_require__(/*! ./classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); - -var regexpExec = __webpack_require__(/*! ./regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); // `RegExpExec` abstract operation -// https://tc39.es/ecma262/#sec-regexpexec - - -module.exports = function (R, S) { - var exec = R.exec; - - if (typeof exec === 'function') { - var result = exec.call(R, S); - - if (_typeof(result) !== 'object') { - throw TypeError('RegExp exec method returned something other than an Object or null'); - } - - return result; - } - - if (classof(R) !== 'RegExp') { - throw TypeError('RegExp#exec called on incompatible receiver'); - } - - return regexpExec.call(R, S); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/regexp-exec.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/regexp-exec.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var regexpFlags = __webpack_require__(/*! ./regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); - -var stickyHelpers = __webpack_require__(/*! ./regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js"); - -var nativeExec = RegExp.prototype.exec; // This always refers to the native implementation, because the -// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, -// which loads this file before patching the method. - -var nativeReplace = String.prototype.replace; -var patchedExec = nativeExec; - -var UPDATES_LAST_INDEX_WRONG = function () { - var re1 = /a/; - var re2 = /b*/g; - nativeExec.call(re1, 'a'); - nativeExec.call(re2, 'a'); - return re1.lastIndex !== 0 || re2.lastIndex !== 0; -}(); - -var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; // nonparticipating capturing group, copied from es5-shim's String#split patch. - -var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; -var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; - -if (PATCH) { - patchedExec = function exec(str) { - var re = this; - var lastIndex, reCopy, match, i; - var sticky = UNSUPPORTED_Y && re.sticky; - var flags = regexpFlags.call(re); - var source = re.source; - var charsAdded = 0; - var strCopy = str; - - if (sticky) { - flags = flags.replace('y', ''); - - if (flags.indexOf('g') === -1) { - flags += 'g'; - } - - strCopy = String(str).slice(re.lastIndex); // Support anchored sticky behavior. - - if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { - source = '(?: ' + source + ')'; - strCopy = ' ' + strCopy; - charsAdded++; - } // ^(? + rx + ) is needed, in combination with some str slicing, to - // simulate the 'y' flag. - - - reCopy = new RegExp('^(?:' + source + ')', flags); - } - - if (NPCG_INCLUDED) { - reCopy = new RegExp('^' + source + '$(?!\\s)', flags); - } - - if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; - match = nativeExec.call(sticky ? reCopy : re, strCopy); - - if (sticky) { - if (match) { - match.input = match.input.slice(charsAdded); - match[0] = match[0].slice(charsAdded); - match.index = re.lastIndex; - re.lastIndex += match[0].length; - } else re.lastIndex = 0; - } else if (UPDATES_LAST_INDEX_WRONG && match) { - re.lastIndex = re.global ? match.index + match[0].length : lastIndex; - } - - if (NPCG_INCLUDED && match && match.length > 1) { - // Fix browsers whose `exec` methods don't consistently return `undefined` - // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ - nativeReplace.call(match[0], reCopy, function () { - for (i = 1; i < arguments.length - 2; i++) { - if (arguments[i] === undefined) match[i] = undefined; - } - }); - } - - return match; - }; -} - -module.exports = patchedExec; - -/***/ }), - -/***/ "./node_modules/core-js/internals/regexp-flags.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/regexp-flags.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); // `RegExp.prototype.flags` getter implementation -// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags - - -module.exports = function () { - var that = anObject(this); - var result = ''; - if (that.global) result += 'g'; - if (that.ignoreCase) result += 'i'; - if (that.multiline) result += 'm'; - if (that.dotAll) result += 's'; - if (that.unicode) result += 'u'; - if (that.sticky) result += 'y'; - return result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/regexp-sticky-helpers.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; - - -var fails = __webpack_require__(/*! ./fails */ "./node_modules/core-js/internals/fails.js"); // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, -// so we use an intermediate function. - - -function RE(s, f) { - return RegExp(s, f); -} - -exports.UNSUPPORTED_Y = fails(function () { - // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError - var re = RE('a', 'y'); - re.lastIndex = 2; - return re.exec('abcd') != null; -}); -exports.BROKEN_CARET = fails(function () { - // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 - var re = RE('^r', 'gy'); - re.lastIndex = 2; - return re.exec('str') != null; -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/require-object-coercible.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/require-object-coercible.js ***! - \********************************************************************/ -/***/ (function(module) { - -// `RequireObjectCoercible` abstract operation -// https://tc39.es/ecma262/#sec-requireobjectcoercible -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/same-value.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/same-value.js ***! - \******************************************************/ -/***/ (function(module) { - -// `SameValue` abstract operation -// https://tc39.es/ecma262/#sec-samevalue -module.exports = Object.is || function is(x, y) { - // eslint-disable-next-line no-self-compare - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/set-global.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/set-global.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -module.exports = function (key, value) { - try { - createNonEnumerableProperty(global, key, value); - } catch (error) { - global[key] = value; - } - - return value; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/set-species.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/set-species.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var SPECIES = wellKnownSymbol('species'); - -module.exports = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = definePropertyModule.f; - - if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { - defineProperty(Constructor, SPECIES, { - configurable: true, - get: function get() { - return this; - } - }); - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/set-to-string-tag.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/set-to-string-tag.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -module.exports = function (it, TAG, STATIC) { - if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty(it, TO_STRING_TAG, { - configurable: true, - value: TAG - }); - } -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/shared-key.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/shared-key.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); - -var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); - -var keys = shared('keys'); - -module.exports = function (key) { - return keys[key] || (keys[key] = uid(key)); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/shared-store.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/shared-store.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); - -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || setGlobal(SHARED, {}); -module.exports = store; - -/***/ }), - -/***/ "./node_modules/core-js/internals/shared.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/internals/shared.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: '3.8.3', - mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2021 Denis Pushkarev (zloirock.ru)' -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/species-constructor.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/species-constructor.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var SPECIES = wellKnownSymbol('species'); // `SpeciesConstructor` abstract operation -// https://tc39.es/ecma262/#sec-speciesconstructor - -module.exports = function (O, defaultConstructor) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-html-forced.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/string-html-forced.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); // check the existence of a method, lowercase -// of a tag and escaping quotes in arguments - - -module.exports = function (METHOD_NAME) { - return fails(function () { - var test = ''[METHOD_NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-multibyte.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/string-multibyte.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); // `String.prototype.{ codePointAt, at }` methods implementation - - -var createMethod = function createMethod(CONVERT_TO_STRING) { - return function ($this, pos) { - var S = String(requireObjectCoercible($this)); - var position = toInteger(pos); - var size = S.length; - var first, second; - if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; - first = S.charCodeAt(position); - return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - }; -}; - -module.exports = { - // `String.prototype.codePointAt` method - // https://tc39.es/ecma262/#sec-string.prototype.codepointat - codeAt: createMethod(false), - // `String.prototype.at` method - // https://github.com/mathiasbynens/String.prototype.at - charAt: createMethod(true) -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-pad-webkit-bug.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/internals/string-pad-webkit-bug.js ***! - \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// https://github.com/zloirock/core-js/issues/280 -var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); // eslint-disable-next-line unicorn/no-unsafe-regex - - -module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-pad.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/string-pad.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// https://github.com/tc39/proposal-string-pad-start-end -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var ceil = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation - -var createMethod = function createMethod(IS_END) { - return function ($this, maxLength, fillString) { - var S = String(requireObjectCoercible($this)); - var stringLength = S.length; - var fillStr = fillString === undefined ? ' ' : String(fillString); - var intMaxLength = toLength(maxLength); - var fillLen, stringFiller; - if (intMaxLength <= stringLength || fillStr == '') return S; - fillLen = intMaxLength - stringLength; - stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); - if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); - return IS_END ? S + stringFiller : stringFiller + S; - }; -}; - -module.exports = { - // `String.prototype.padStart` method - // https://tc39.es/ecma262/#sec-string.prototype.padstart - start: createMethod(false), - // `String.prototype.padEnd` method - // https://tc39.es/ecma262/#sec-string.prototype.padend - end: createMethod(true) -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-punycode-to-ascii.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/string-punycode-to-ascii.js ***! - \********************************************************************/ -/***/ (function(module) { - -"use strict"; - // based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js - -var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - -var base = 36; -var tMin = 1; -var tMax = 26; -var skew = 38; -var damp = 700; -var initialBias = 72; -var initialN = 128; // 0x80 - -var delimiter = '-'; // '\x2D' - -var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars - -var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - -var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; -var baseMinusTMin = base - tMin; -var floor = Math.floor; -var stringFromCharCode = String.fromCharCode; -/** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - */ - -var ucs2decode = function ucs2decode(string) { - var output = []; - var counter = 0; - var length = string.length; - - while (counter < length) { - var value = string.charCodeAt(counter++); - - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - var extra = string.charCodeAt(counter++); - - if ((extra & 0xFC00) == 0xDC00) { - // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - - return output; -}; -/** - * Converts a digit/integer into a basic code point. - */ - - -var digitToBasic = function digitToBasic(digit) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26); -}; -/** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - */ - - -var adapt = function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - - for (; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; -/** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - */ -// eslint-disable-next-line max-statements - - -var encode = function encode(input) { - var output = []; // Convert the input in UCS-2 to an array of Unicode code points. - - input = ucs2decode(input); // Cache the length. - - var inputLength = input.length; // Initialize the state. - - var n = initialN; - var delta = 0; - var bias = initialBias; - var i, currentValue; // Handle the basic code points. - - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - var basicLength = output.length; // number of basic code points. - - var handledCPCount = basicLength; // number of code points that have been handled; - // Finish the basic string with a delimiter unless it's empty. - - if (basicLength) { - output.push(delimiter); - } // Main encoding loop: - - - while (handledCPCount < inputLength) { - // All non-basic code points < n have been handled already. Find the next larger one: - var m = maxInt; - - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } // Increase `delta` enough to advance the decoder's state to , but guard against overflow. - - - var handledCPCountPlusOne = handledCPCount + 1; - - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - throw RangeError(OVERFLOW_ERROR); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - - if (currentValue < n && ++delta > maxInt) { - throw RangeError(OVERFLOW_ERROR); - } - - if (currentValue == n) { - // Represent delta as a generalized variable-length integer. - var q = delta; - - for (var k = base;; - /* no condition */ - k += base) { - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) break; - var qMinusT = q - t; - var baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - } - - return output.join(''); -}; - -module.exports = function (input) { - var encoded = []; - var labels = input.toLowerCase().replace(regexSeparators, ".").split('.'); - var i, label; - - for (i = 0; i < labels.length; i++) { - label = labels[i]; - encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); - } - - return encoded.join('.'); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-repeat.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/string-repeat.js ***! - \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); // `String.prototype.repeat` method implementation -// https://tc39.es/ecma262/#sec-string.prototype.repeat - - -module.exports = ''.repeat || function repeat(count) { - var str = String(requireObjectCoercible(this)); - var result = ''; - var n = toInteger(count); - if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); - - for (; n > 0; (n >>>= 1) && (str += str)) { - if (n & 1) result += str; - } - - return result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-trim-forced.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/string-trim-forced.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); - -var non = "\u200B\x85\u180E"; // check that a method works with the correct list -// of whitespaces and has a correct name - -module.exports = function (METHOD_NAME) { - return fails(function () { - return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; - }); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/string-trim.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/string-trim.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); - -var whitespace = '[' + whitespaces + ']'; -var ltrim = RegExp('^' + whitespace + whitespace + '*'); -var rtrim = RegExp(whitespace + whitespace + '*$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation - -var createMethod = function createMethod(TYPE) { - return function ($this) { - var string = String(requireObjectCoercible($this)); - if (TYPE & 1) string = string.replace(ltrim, ''); - if (TYPE & 2) string = string.replace(rtrim, ''); - return string; - }; -}; - -module.exports = { - // `String.prototype.{ trimLeft, trimStart }` methods - // https://tc39.es/ecma262/#sec-string.prototype.trimstart - start: createMethod(1), - // `String.prototype.{ trimRight, trimEnd }` methods - // https://tc39.es/ecma262/#sec-string.prototype.trimend - end: createMethod(2), - // `String.prototype.trim` method - // https://tc39.es/ecma262/#sec-string.prototype.trim - trim: createMethod(3) -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/task.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/task.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); - -var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); - -var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); - -var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js"); - -var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); - -var location = global.location; -var set = global.setImmediate; -var clear = global.clearImmediate; -var process = global.process; -var MessageChannel = global.MessageChannel; -var Dispatch = global.Dispatch; -var counter = 0; -var queue = {}; -var ONREADYSTATECHANGE = 'onreadystatechange'; -var defer, channel, port; - -var run = function run(id) { - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } -}; - -var runner = function runner(id) { - return function () { - run(id); - }; -}; - -var listener = function listener(event) { - run(event.data); -}; - -var post = function post(id) { - // old engines have not location.origin - global.postMessage(id + '', location.protocol + '//' + location.host); -}; // Node.js 0.9+ & IE10+ has setImmediate, otherwise: - - -if (!set || !clear) { - set = function setImmediate(fn) { - var args = []; - var i = 1; - - while (arguments.length > i) { - args.push(arguments[i++]); - } - - queue[++counter] = function () { - // eslint-disable-next-line no-new-func - (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); - }; - - defer(counter); - return counter; - }; - - clear = function clearImmediate(id) { - delete queue[id]; - }; // Node.js 0.8- - - - if (IS_NODE) { - defer = function defer(id) { - process.nextTick(runner(id)); - }; // Sphere (JS game engine) Dispatch API - - } else if (Dispatch && Dispatch.now) { - defer = function defer(id) { - Dispatch.now(runner(id)); - }; // Browsers with MessageChannel, includes WebWorkers - // except iOS - https://github.com/zloirock/core-js/issues/624 - - } else if (MessageChannel && !IS_IOS) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = bind(port.postMessage, port, 1); // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) { - defer = post; - global.addEventListener('message', listener, false); // IE8- - } else if (ONREADYSTATECHANGE in createElement('script')) { - defer = function defer(id) { - html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { - html.removeChild(this); - run(id); - }; - }; // Rest old browsers - - } else { - defer = function defer(id) { - setTimeout(runner(id), 0); - }; - } -} - -module.exports = { - set: set, - clear: clear -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/this-number-value.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/this-number-value.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); // `thisNumberValue` abstract operation -// https://tc39.es/ecma262/#sec-thisnumbervalue - - -module.exports = function (value) { - if (typeof value != 'number' && classof(value) != 'Number') { - throw TypeError('Incorrect invocation'); - } - - return +value; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-absolute-index.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/to-absolute-index.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var max = Math.max; -var min = Math.min; // Helper for a popular repeating case of the spec: -// Let integer be ? ToInteger(index). -// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). - -module.exports = function (index, length) { - var integer = toInteger(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-index.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/to-index.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); // `ToIndex` abstract operation -// https://tc39.es/ecma262/#sec-toindex - - -module.exports = function (it) { - if (it === undefined) return 0; - var number = toInteger(it); - var length = toLength(number); - if (number !== length) throw RangeError('Wrong length or index'); - return length; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-indexed-object.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/to-indexed-object.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// toObject with fallback for non-array-like ES3 strings -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -module.exports = function (it) { - return IndexedObject(requireObjectCoercible(it)); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-integer.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/to-integer.js ***! - \******************************************************/ -/***/ (function(module) { - -var ceil = Math.ceil; -var floor = Math.floor; // `ToInteger` abstract operation -// https://tc39.es/ecma262/#sec-tointeger - -module.exports = function (argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-length.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/to-length.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var min = Math.min; // `ToLength` abstract operation -// https://tc39.es/ecma262/#sec-tolength - -module.exports = function (argument) { - return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-object.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/to-object.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); // `ToObject` abstract operation -// https://tc39.es/ecma262/#sec-toobject - - -module.exports = function (argument) { - return Object(requireObjectCoercible(argument)); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-offset.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/to-offset.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toPositiveInteger = __webpack_require__(/*! ../internals/to-positive-integer */ "./node_modules/core-js/internals/to-positive-integer.js"); - -module.exports = function (it, BYTES) { - var offset = toPositiveInteger(it); - if (offset % BYTES) throw RangeError('Wrong offset'); - return offset; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-positive-integer.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/to-positive-integer.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -module.exports = function (it) { - var result = toInteger(it); - if (result < 0) throw RangeError("The argument can't be less than 0"); - return result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-primitive.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/to-primitive.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); // `ToPrimitive` abstract operation -// https://tc39.es/ecma262/#sec-toprimitive -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string - - -module.exports = function (input, PREFERRED_STRING) { - if (!isObject(input)) return input; - var fn, val; - if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; - if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/to-string-tag-support.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/internals/to-string-tag-support.js ***! - \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var test = {}; -test[TO_STRING_TAG] = 'z'; -module.exports = String(test) === '[object z]'; - -/***/ }), - -/***/ "./node_modules/core-js/internals/typed-array-constructor.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/typed-array-constructor.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js"); - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toIndex = __webpack_require__(/*! ../internals/to-index */ "./node_modules/core-js/internals/to-index.js"); - -var toOffset = __webpack_require__(/*! ../internals/to-offset */ "./node_modules/core-js/internals/to-offset.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); - -var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; - -var typedArrayFrom = __webpack_require__(/*! ../internals/typed-array-from */ "./node_modules/core-js/internals/typed-array-from.js"); - -var forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; - -var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); - -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var nativeDefineProperty = definePropertyModule.f; -var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; -var round = Math.round; -var RangeError = global.RangeError; -var ArrayBuffer = ArrayBufferModule.ArrayBuffer; -var DataView = ArrayBufferModule.DataView; -var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; -var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; -var TypedArray = ArrayBufferViewCore.TypedArray; -var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; -var isTypedArray = ArrayBufferViewCore.isTypedArray; -var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; -var WRONG_LENGTH = 'Wrong length'; - -var fromList = function fromList(C, list) { - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor(C))(length); - - while (length > index) { - result[index] = list[index++]; - } - - return result; -}; - -var addGetter = function addGetter(it, key) { - nativeDefineProperty(it, key, { - get: function get() { - return getInternalState(this)[key]; - } - }); -}; - -var isArrayBuffer = function isArrayBuffer(it) { - var klass; - return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; -}; - -var isTypedArrayIndex = function isTypedArrayIndex(target, key) { - return isTypedArray(target) && _typeof(key) != 'symbol' && key in target && String(+key) == String(key); -}; - -var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { - return isTypedArrayIndex(target, key = toPrimitive(key, true)) ? createPropertyDescriptor(2, target[key]) : nativeGetOwnPropertyDescriptor(target, key); -}; - -var wrappedDefineProperty = function defineProperty(target, key, descriptor) { - if (isTypedArrayIndex(target, key = toPrimitive(key, true)) && isObject(descriptor) && has(descriptor, 'value') && !has(descriptor, 'get') && !has(descriptor, 'set') // TODO: add validation descriptor w/o calling accessors - && !descriptor.configurable && (!has(descriptor, 'writable') || descriptor.writable) && (!has(descriptor, 'enumerable') || descriptor.enumerable)) { - target[key] = descriptor.value; - return target; - } - - return nativeDefineProperty(target, key, descriptor); -}; - -if (DESCRIPTORS) { - if (!NATIVE_ARRAY_BUFFER_VIEWS) { - getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; - definePropertyModule.f = wrappedDefineProperty; - addGetter(TypedArrayPrototype, 'buffer'); - addGetter(TypedArrayPrototype, 'byteOffset'); - addGetter(TypedArrayPrototype, 'byteLength'); - addGetter(TypedArrayPrototype, 'length'); - } - - $({ - target: 'Object', - stat: true, - forced: !NATIVE_ARRAY_BUFFER_VIEWS - }, { - getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, - defineProperty: wrappedDefineProperty - }); - - module.exports = function (TYPE, wrapper, CLAMPED) { - var BYTES = TYPE.match(/\d+$/)[0] / 8; - var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; - var GETTER = 'get' + TYPE; - var SETTER = 'set' + TYPE; - var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; - var TypedArrayConstructor = NativeTypedArrayConstructor; - var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; - var exported = {}; - - var getter = function getter(that, index) { - var data = getInternalState(that); - return data.view[GETTER](index * BYTES + data.byteOffset, true); - }; - - var setter = function setter(that, index, value) { - var data = getInternalState(that); - if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; - data.view[SETTER](index * BYTES + data.byteOffset, value, true); - }; - - var addElement = function addElement(that, index) { - nativeDefineProperty(that, index, { - get: function get() { - return getter(this, index); - }, - set: function set(value) { - return setter(this, index, value); - }, - enumerable: true - }); - }; - - if (!NATIVE_ARRAY_BUFFER_VIEWS) { - TypedArrayConstructor = wrapper(function (that, data, offset, $length) { - anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); - var index = 0; - var byteOffset = 0; - var buffer, byteLength, length; - - if (!isObject(data)) { - length = toIndex(data); - byteLength = length * BYTES; - buffer = new ArrayBuffer(byteLength); - } else if (isArrayBuffer(data)) { - buffer = data; - byteOffset = toOffset(offset, BYTES); - var $len = data.byteLength; - - if ($length === undefined) { - if ($len % BYTES) throw RangeError(WRONG_LENGTH); - byteLength = $len - byteOffset; - if (byteLength < 0) throw RangeError(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH); - } - - length = byteLength / BYTES; - } else if (isTypedArray(data)) { - return fromList(TypedArrayConstructor, data); - } else { - return typedArrayFrom.call(TypedArrayConstructor, data); - } - - setInternalState(that, { - buffer: buffer, - byteOffset: byteOffset, - byteLength: byteLength, - length: length, - view: new DataView(buffer) - }); - - while (index < length) { - addElement(that, index++); - } - }); - if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); - TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); - } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { - TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { - anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); - return inheritIfRequired(function () { - if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); - if (isArrayBuffer(data)) return $length !== undefined ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) : typedArrayOffset !== undefined ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) : new NativeTypedArrayConstructor(data); - if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); - return typedArrayFrom.call(TypedArrayConstructor, data); - }(), dummy, TypedArrayConstructor); - }); - if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); - forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { - if (!(key in TypedArrayConstructor)) { - createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); - } - }); - TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; - } - - if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); - } - - if (TYPED_ARRAY_TAG) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); - } - - exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; - $({ - global: true, - forced: TypedArrayConstructor != NativeTypedArrayConstructor, - sham: !NATIVE_ARRAY_BUFFER_VIEWS - }, exported); - - if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { - createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); - } - - if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); - } - - setSpecies(CONSTRUCTOR_NAME); - }; -} else module.exports = function () { - /* empty */ -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js ***! - \*************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -/* eslint-disable no-new */ -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); - -var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").NATIVE_ARRAY_BUFFER_VIEWS; - -var ArrayBuffer = global.ArrayBuffer; -var Int8Array = global.Int8Array; -module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { - Int8Array(1); -}) || !fails(function () { - new Int8Array(-1); -}) || !checkCorrectnessOfIteration(function (iterable) { - new Int8Array(); - new Int8Array(null); - new Int8Array(1.5); - new Int8Array(iterable); -}, true) || fails(function () { - // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill - return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; -}); - -/***/ }), - -/***/ "./node_modules/core-js/internals/typed-array-from.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/typed-array-from.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); - -var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js"); - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); - -var aTypedArrayConstructor = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").aTypedArrayConstructor; - -module.exports = function from(source -/* , mapfn, thisArg */ -) { - var O = toObject(source); - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iteratorMethod = getIteratorMethod(O); - var i, length, result, step, iterator, next; - - if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { - iterator = iteratorMethod.call(O); - next = iterator.next; - O = []; - - while (!(step = next.call(iterator)).done) { - O.push(step.value); - } - } - - if (mapping && argumentsLength > 2) { - mapfn = bind(mapfn, arguments[2], 2); - } - - length = toLength(O.length); - result = new (aTypedArrayConstructor(this))(length); - - for (i = 0; length > i; i++) { - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - - return result; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/uid.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/internals/uid.js ***! - \***********************************************/ -/***/ (function(module) { - -var id = 0; -var postfix = Math.random(); - -module.exports = function (key) { - return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/use-symbol-as-uid.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); - -module.exports = NATIVE_SYMBOL // eslint-disable-next-line no-undef -&& !Symbol.sham // eslint-disable-next-line no-undef -&& _typeof(Symbol.iterator) == 'symbol'; - -/***/ }), - -/***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/internals/well-known-symbol-wrapped.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -exports.f = wellKnownSymbol; - -/***/ }), - -/***/ "./node_modules/core-js/internals/well-known-symbol.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/well-known-symbol.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); - -var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); - -var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); - -var WellKnownSymbolsStore = shared('wks'); -var _Symbol = global.Symbol; -var createWellKnownSymbol = USE_SYMBOL_AS_UID ? _Symbol : _Symbol && _Symbol.withoutSetter || uid; - -module.exports = function (name) { - if (!has(WellKnownSymbolsStore, name)) { - if (NATIVE_SYMBOL && has(_Symbol, name)) WellKnownSymbolsStore[name] = _Symbol[name];else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); - } - - return WellKnownSymbolsStore[name]; -}; - -/***/ }), - -/***/ "./node_modules/core-js/internals/whitespaces.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/whitespaces.js ***! - \*******************************************************/ -/***/ (function(module) { - -// a string of all valid unicode whitespaces -// eslint-disable-next-line max-len -module.exports = "\t\n\x0B\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF"; - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array-buffer.constructor.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array-buffer.constructor.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var arrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js"); - -var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); - -var ARRAY_BUFFER = 'ArrayBuffer'; -var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; -var NativeArrayBuffer = global[ARRAY_BUFFER]; // `ArrayBuffer` constructor -// https://tc39.es/ecma262/#sec-arraybuffer-constructor - -$({ - global: true, - forced: NativeArrayBuffer !== ArrayBuffer -}, { - ArrayBuffer: ArrayBuffer -}); -setSpecies(ARRAY_BUFFER); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array-buffer.slice.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array-buffer.slice.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var ArrayBuffer = ArrayBufferModule.ArrayBuffer; -var DataView = ArrayBufferModule.DataView; -var nativeArrayBufferSlice = ArrayBuffer.prototype.slice; -var INCORRECT_SLICE = fails(function () { - return !new ArrayBuffer(2).slice(1, undefined).byteLength; -}); // `ArrayBuffer.prototype.slice` method -// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice - -$({ - target: 'ArrayBuffer', - proto: true, - unsafe: true, - forced: INCORRECT_SLICE -}, { - slice: function slice(start, end) { - if (nativeArrayBufferSlice !== undefined && end === undefined) { - return nativeArrayBufferSlice.call(anObject(this), start); // FF fix - } - - var length = anObject(this).byteLength; - var first = toAbsoluteIndex(start, length); - var fin = toAbsoluteIndex(end === undefined ? length : end, length); - var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first)); - var viewSource = new DataView(this); - var viewTarget = new DataView(result); - var index = 0; - - while (first < fin) { - viewTarget.setUint8(index++, viewSource.getUint8(first++)); - } - - return result; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.concat.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.concat.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); - -var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); - -var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); - -var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); -var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; -var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; // We can't use this feature detection in V8 since it causes -// deoptimization and serious performance degradation -// https://github.com/zloirock/core-js/issues/679 - -var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { - var array = []; - array[IS_CONCAT_SPREADABLE] = false; - return array.concat()[0] !== array; -}); -var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); - -var isConcatSpreadable = function isConcatSpreadable(O) { - if (!isObject(O)) return false; - var spreadable = O[IS_CONCAT_SPREADABLE]; - return spreadable !== undefined ? !!spreadable : isArray(O); -}; - -var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; // `Array.prototype.concat` method -// https://tc39.es/ecma262/#sec-array.prototype.concat -// with adding support of @@isConcatSpreadable and @@species - -$({ - target: 'Array', - proto: true, - forced: FORCED -}, { - concat: function concat(arg) { - // eslint-disable-line no-unused-vars - var O = toObject(this); - var A = arraySpeciesCreate(O, 0); - var n = 0; - var i, k, length, len, E; - - for (i = -1, length = arguments.length; i < length; i++) { - E = i === -1 ? O : arguments[i]; - - if (isConcatSpreadable(E)) { - len = toLength(E.length); - if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); - - for (k = 0; k < len; k++, n++) { - if (k in E) createProperty(A, n, E[k]); - } - } else { - if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); - createProperty(A, n++, E); - } - } - - A.length = n; - return A; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.copy-within.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.copy-within.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var copyWithin = __webpack_require__(/*! ../internals/array-copy-within */ "./node_modules/core-js/internals/array-copy-within.js"); - -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); // `Array.prototype.copyWithin` method -// https://tc39.es/ecma262/#sec-array.prototype.copywithin - - -$({ - target: 'Array', - proto: true -}, { - copyWithin: copyWithin -}); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - -addToUnscopables('copyWithin'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.every.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.every.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $every = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").every; - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var STRICT_METHOD = arrayMethodIsStrict('every'); -var USES_TO_LENGTH = arrayMethodUsesToLength('every'); // `Array.prototype.every` method -// https://tc39.es/ecma262/#sec-array.prototype.every - -$({ - target: 'Array', - proto: true, - forced: !STRICT_METHOD || !USES_TO_LENGTH -}, { - every: function every(callbackfn - /* , thisArg */ - ) { - return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.fill.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.fill.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js"); - -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); // `Array.prototype.fill` method -// https://tc39.es/ecma262/#sec-array.prototype.fill - - -$({ - target: 'Array', - proto: true -}, { - fill: fill -}); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - -addToUnscopables('fill'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.filter.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.filter.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").filter; - -var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); // Edge 14- issue - -var USES_TO_LENGTH = arrayMethodUsesToLength('filter'); // `Array.prototype.filter` method -// https://tc39.es/ecma262/#sec-array.prototype.filter -// with adding support of @@species - -$({ - target: 'Array', - proto: true, - forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH -}, { - filter: function filter(callbackfn - /* , thisArg */ - ) { - return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.find-index.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.find-index.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $findIndex = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").findIndex; - -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var FIND_INDEX = 'findIndex'; -var SKIPS_HOLES = true; -var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX); // Shouldn't skip holes - -if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { - SKIPS_HOLES = false; -}); // `Array.prototype.findIndex` method -// https://tc39.es/ecma262/#sec-array.prototype.findindex - -$({ - target: 'Array', - proto: true, - forced: SKIPS_HOLES || !USES_TO_LENGTH -}, { - findIndex: function findIndex(callbackfn - /* , that = undefined */ - ) { - return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - -addToUnscopables(FIND_INDEX); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.find.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.find.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $find = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").find; - -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var FIND = 'find'; -var SKIPS_HOLES = true; -var USES_TO_LENGTH = arrayMethodUsesToLength(FIND); // Shouldn't skip holes - -if (FIND in []) Array(1)[FIND](function () { - SKIPS_HOLES = false; -}); // `Array.prototype.find` method -// https://tc39.es/ecma262/#sec-array.prototype.find - -$({ - target: 'Array', - proto: true, - forced: SKIPS_HOLES || !USES_TO_LENGTH -}, { - find: function find(callbackfn - /* , that = undefined */ - ) { - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - -addToUnscopables(FIND); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.flat-map.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.flat-map.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var flattenIntoArray = __webpack_require__(/*! ../internals/flatten-into-array */ "./node_modules/core-js/internals/flatten-into-array.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); // `Array.prototype.flatMap` method -// https://tc39.es/ecma262/#sec-array.prototype.flatmap - - -$({ - target: 'Array', - proto: true -}, { - flatMap: function flatMap(callbackfn - /* , thisArg */ - ) { - var O = toObject(this); - var sourceLen = toLength(O.length); - var A; - aFunction(callbackfn); - A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return A; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.flat.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.flat.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var flattenIntoArray = __webpack_require__(/*! ../internals/flatten-into-array */ "./node_modules/core-js/internals/flatten-into-array.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); // `Array.prototype.flat` method -// https://tc39.es/ecma262/#sec-array.prototype.flat - - -$({ - target: 'Array', - proto: true -}, { - flat: function flat() - /* depthArg = 1 */ - { - var depthArg = arguments.length ? arguments[0] : undefined; - var O = toObject(this); - var sourceLen = toLength(O.length); - var A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); - return A; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.for-each.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.for-each.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js"); // `Array.prototype.forEach` method -// https://tc39.es/ecma262/#sec-array.prototype.foreach - - -$({ - target: 'Array', - proto: true, - forced: [].forEach != forEach -}, { - forEach: forEach -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.from.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.from.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var from = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js"); - -var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); - -var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - Array.from(iterable); -}); // `Array.from` method -// https://tc39.es/ecma262/#sec-array.from - -$({ - target: 'Array', - stat: true, - forced: INCORRECT_ITERATION -}, { - from: from -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.includes.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.includes.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes; - -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { - ACCESSORS: true, - 1: 0 -}); // `Array.prototype.includes` method -// https://tc39.es/ecma262/#sec-array.prototype.includes - -$({ - target: 'Array', - proto: true, - forced: !USES_TO_LENGTH -}, { - includes: function includes(el - /* , fromIndex = 0 */ - ) { - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } -}); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - -addToUnscopables('includes'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.index-of.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.index-of.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var nativeIndexOf = [].indexOf; -var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; -var STRICT_METHOD = arrayMethodIsStrict('indexOf'); -var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { - ACCESSORS: true, - 1: 0 -}); // `Array.prototype.indexOf` method -// https://tc39.es/ecma262/#sec-array.prototype.indexof - -$({ - target: 'Array', - proto: true, - forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH -}, { - indexOf: function indexOf(searchElement - /* , fromIndex = 0 */ - ) { - return NEGATIVE_ZERO // convert -0 to +0 - ? nativeIndexOf.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.iterator.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.iterator.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); - -var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); - -var ARRAY_ITERATOR = 'Array Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); // `Array.prototype.entries` method -// https://tc39.es/ecma262/#sec-array.prototype.entries -// `Array.prototype.keys` method -// https://tc39.es/ecma262/#sec-array.prototype.keys -// `Array.prototype.values` method -// https://tc39.es/ecma262/#sec-array.prototype.values -// `Array.prototype[@@iterator]` method -// https://tc39.es/ecma262/#sec-array.prototype-@@iterator -// `CreateArrayIterator` internal method -// https://tc39.es/ecma262/#sec-createarrayiterator - -module.exports = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), - // target - index: 0, - // next index - kind: kind // kind - - }); // `%ArrayIteratorPrototype%.next` method - // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next -}, function () { - var state = getInternalState(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - - if (!target || index >= target.length) { - state.target = undefined; - return { - value: undefined, - done: true - }; - } - - if (kind == 'keys') return { - value: index, - done: false - }; - if (kind == 'values') return { - value: target[index], - done: false - }; - return { - value: [index, target[index]], - done: false - }; -}, 'values'); // argumentsList[@@iterator] is %ArrayProto_values% -// https://tc39.es/ecma262/#sec-createunmappedargumentsobject -// https://tc39.es/ecma262/#sec-createmappedargumentsobject - -Iterators.Arguments = Iterators.Array; // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.join.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.join.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var nativeJoin = [].join; -var ES3_STRINGS = IndexedObject != Object; -var STRICT_METHOD = arrayMethodIsStrict('join', ','); // `Array.prototype.join` method -// https://tc39.es/ecma262/#sec-array.prototype.join - -$({ - target: 'Array', - proto: true, - forced: ES3_STRINGS || !STRICT_METHOD -}, { - join: function join(separator) { - return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.last-index-of.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.last-index-of.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var lastIndexOf = __webpack_require__(/*! ../internals/array-last-index-of */ "./node_modules/core-js/internals/array-last-index-of.js"); // `Array.prototype.lastIndexOf` method -// https://tc39.es/ecma262/#sec-array.prototype.lastindexof - - -$({ - target: 'Array', - proto: true, - forced: lastIndexOf !== [].lastIndexOf -}, { - lastIndexOf: lastIndexOf -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.map.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.map.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map; - -var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); // FF49- issue - -var USES_TO_LENGTH = arrayMethodUsesToLength('map'); // `Array.prototype.map` method -// https://tc39.es/ecma262/#sec-array.prototype.map -// with adding support of @@species - -$({ - target: 'Array', - proto: true, - forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH -}, { - map: function map(callbackfn - /* , thisArg */ - ) { - return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.of.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.of.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); - -var ISNT_GENERIC = fails(function () { - function F() { - /* empty */ - } - - return !(Array.of.call(F) instanceof F); -}); // `Array.of` method -// https://tc39.es/ecma262/#sec-array.of -// WebKit Array.of isn't generic - -$({ - target: 'Array', - stat: true, - forced: ISNT_GENERIC -}, { - of: function of() - /* ...args */ - { - var index = 0; - var argumentsLength = arguments.length; - var result = new (typeof this == 'function' ? this : Array)(argumentsLength); - - while (argumentsLength > index) { - createProperty(result, index, arguments[index++]); - } - - result.length = argumentsLength; - return result; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.reduce-right.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.reduce-right.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $reduceRight = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").right; - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); - -var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); - -var STRICT_METHOD = arrayMethodIsStrict('reduceRight'); // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method - -var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { - 1: 0 -}); // Chrome 80-82 has a critical bug -// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 - -var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; // `Array.prototype.reduceRight` method -// https://tc39.es/ecma262/#sec-array.prototype.reduceright - -$({ - target: 'Array', - proto: true, - forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG -}, { - reduceRight: function reduceRight(callbackfn - /* , initialValue */ - ) { - return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.reduce.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.reduce.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").left; - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); - -var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); - -var STRICT_METHOD = arrayMethodIsStrict('reduce'); -var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { - 1: 0 -}); // Chrome 80-82 has a critical bug -// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 - -var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; // `Array.prototype.reduce` method -// https://tc39.es/ecma262/#sec-array.prototype.reduce - -$({ - target: 'Array', - proto: true, - forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG -}, { - reduce: function reduce(callbackfn - /* , initialValue */ - ) { - return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.reverse.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.reverse.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); - -var nativeReverse = [].reverse; -var test = [1, 2]; // `Array.prototype.reverse` method -// https://tc39.es/ecma262/#sec-array.prototype.reverse -// fix for Safari 12.0 bug -// https://bugs.webkit.org/show_bug.cgi?id=188794 - -$({ - target: 'Array', - proto: true, - forced: String(test) === String(test.reverse()) -}, { - reverse: function reverse() { - // eslint-disable-next-line no-self-assign - if (isArray(this)) this.length = this.length; - return nativeReverse.call(this); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.slice.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.slice.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); -var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { - ACCESSORS: true, - 0: 0, - 1: 2 -}); -var SPECIES = wellKnownSymbol('species'); -var nativeSlice = [].slice; -var max = Math.max; // `Array.prototype.slice` method -// https://tc39.es/ecma262/#sec-array.prototype.slice -// fallback for not array-like ES3 strings and DOM objects - -$({ - target: 'Array', - proto: true, - forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH -}, { - slice: function slice(start, end) { - var O = toIndexedObject(this); - var length = toLength(O.length); - var k = toAbsoluteIndex(start, length); - var fin = toAbsoluteIndex(end === undefined ? length : end, length); // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible - - var Constructor, result, n; - - if (isArray(O)) { - Constructor = O.constructor; // cross-realm fallback - - if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { - Constructor = undefined; - } else if (isObject(Constructor)) { - Constructor = Constructor[SPECIES]; - if (Constructor === null) Constructor = undefined; - } - - if (Constructor === Array || Constructor === undefined) { - return nativeSlice.call(O, k, fin); - } - } - - result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); - - for (n = 0; k < fin; k++, n++) { - if (k in O) createProperty(result, n, O[k]); - } - - result.length = n; - return result; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.some.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.some.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $some = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").some; - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var STRICT_METHOD = arrayMethodIsStrict('some'); -var USES_TO_LENGTH = arrayMethodUsesToLength('some'); // `Array.prototype.some` method -// https://tc39.es/ecma262/#sec-array.prototype.some - -$({ - target: 'Array', - proto: true, - forced: !STRICT_METHOD || !USES_TO_LENGTH -}, { - some: function some(callbackfn - /* , thisArg */ - ) { - return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.sort.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.sort.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); - -var test = []; -var nativeSort = test.sort; // IE8- - -var FAILS_ON_UNDEFINED = fails(function () { - test.sort(undefined); -}); // V8 bug - -var FAILS_ON_NULL = fails(function () { - test.sort(null); -}); // Old WebKit - -var STRICT_METHOD = arrayMethodIsStrict('sort'); -var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD; // `Array.prototype.sort` method -// https://tc39.es/ecma262/#sec-array.prototype.sort - -$({ - target: 'Array', - proto: true, - forced: FORCED -}, { - sort: function sort(comparefn) { - return comparefn === undefined ? nativeSort.call(toObject(this)) : nativeSort.call(toObject(this), aFunction(comparefn)); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.species.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.species.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); // `Array[@@species]` getter -// https://tc39.es/ecma262/#sec-get-array-@@species - - -setSpecies('Array'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.splice.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.splice.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); - -var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); - -var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); - -var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); - -var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); -var USES_TO_LENGTH = arrayMethodUsesToLength('splice', { - ACCESSORS: true, - 0: 0, - 1: 2 -}); -var max = Math.max; -var min = Math.min; -var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; -var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; // `Array.prototype.splice` method -// https://tc39.es/ecma262/#sec-array.prototype.splice -// with adding support of @@species - -$({ - target: 'Array', - proto: true, - forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH -}, { - splice: function splice(start, deleteCount - /* , ...items */ - ) { - var O = toObject(this); - var len = toLength(O.length); - var actualStart = toAbsoluteIndex(start, len); - var argumentsLength = arguments.length; - var insertCount, actualDeleteCount, A, k, from, to; - - if (argumentsLength === 0) { - insertCount = actualDeleteCount = 0; - } else if (argumentsLength === 1) { - insertCount = 0; - actualDeleteCount = len - actualStart; - } else { - insertCount = argumentsLength - 2; - actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart); - } - - if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { - throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); - } - - A = arraySpeciesCreate(O, actualDeleteCount); - - for (k = 0; k < actualDeleteCount; k++) { - from = actualStart + k; - if (from in O) createProperty(A, k, O[from]); - } - - A.length = actualDeleteCount; - - if (insertCount < actualDeleteCount) { - for (k = actualStart; k < len - actualDeleteCount; k++) { - from = k + actualDeleteCount; - to = k + insertCount; - if (from in O) O[to] = O[from];else delete O[to]; - } - - for (k = len; k > len - actualDeleteCount + insertCount; k--) { - delete O[k - 1]; - } - } else if (insertCount > actualDeleteCount) { - for (k = len - actualDeleteCount; k > actualStart; k--) { - from = k + actualDeleteCount - 1; - to = k + insertCount - 1; - if (from in O) O[to] = O[from];else delete O[to]; - } - } - - for (k = 0; k < insertCount; k++) { - O[k + actualStart] = arguments[k + 2]; - } - - O.length = len - actualDeleteCount + insertCount; - return A; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.unscopables.flat-map.js": -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.unscopables.flat-map.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -// this method was added to unscopables after implementation -// in popular engines, so it's moved to a separate module -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - - -addToUnscopables('flatMap'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.array.unscopables.flat.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.unscopables.flat.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -// this method was added to unscopables after implementation -// in popular engines, so it's moved to a separate module -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - - -addToUnscopables('flat'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.date.to-json.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.date.to-json.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var FORCED = fails(function () { - return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({ - toISOString: function toISOString() { - return 1; - } - }) !== 1; -}); // `Date.prototype.toJSON` method -// https://tc39.es/ecma262/#sec-date.prototype.tojson - -$({ - target: 'Date', - proto: true, - forced: FORCED -}, { - // eslint-disable-next-line no-unused-vars - toJSON: function toJSON(key) { - var O = toObject(this); - var pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.date.to-primitive.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es.date.to-primitive.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var dateToPrimitive = __webpack_require__(/*! ../internals/date-to-primitive */ "./node_modules/core-js/internals/date-to-primitive.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); -var DatePrototype = Date.prototype; // `Date.prototype[@@toPrimitive]` method -// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive - -if (!(TO_PRIMITIVE in DatePrototype)) { - createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.function.has-instance.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.function.has-instance.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var HAS_INSTANCE = wellKnownSymbol('hasInstance'); -var FunctionPrototype = Function.prototype; // `Function.prototype[@@hasInstance]` method -// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance - -if (!(HAS_INSTANCE in FunctionPrototype)) { - definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { - value: function value(O) { - if (typeof this != 'function' || !isObject(O)) return false; - if (!isObject(this.prototype)) return O instanceof this; // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - - while (O = getPrototypeOf(O)) { - if (this.prototype === O) return true; - } - - return false; - } - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.function.name.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.function.name.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var FunctionPrototype = Function.prototype; -var FunctionPrototypeToString = FunctionPrototype.toString; -var nameRE = /^\s*function ([^ (]*)/; -var NAME = 'name'; // Function instances `.name` property -// https://tc39.es/ecma262/#sec-function-instances-name - -if (DESCRIPTORS && !(NAME in FunctionPrototype)) { - defineProperty(FunctionPrototype, NAME, { - configurable: true, - get: function get() { - try { - return FunctionPrototypeToString.call(this).match(nameRE)[1]; - } catch (error) { - return ''; - } - } - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.json.to-string-tag.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.json.to-string-tag.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); // JSON[@@toStringTag] property -// https://tc39.es/ecma262/#sec-json-@@tostringtag - - -setToStringTag(global.JSON, 'JSON', true); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.map.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/modules/es.map.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); - -var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js/internals/collection-strong.js"); // `Map` constructor -// https://tc39.es/ecma262/#sec-map-objects - - -module.exports = collection('Map', function (init) { - return function Map() { - return init(this, arguments.length ? arguments[0] : undefined); - }; -}, collectionStrong); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.acosh.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.acosh.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var log1p = __webpack_require__(/*! ../internals/math-log1p */ "./node_modules/core-js/internals/math-log1p.js"); - -var nativeAcosh = Math.acosh; -var log = Math.log; -var sqrt = Math.sqrt; -var LN2 = Math.LN2; -var FORCED = !nativeAcosh // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 -|| Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 // Tor Browser bug: Math.acosh(Infinity) -> NaN -|| nativeAcosh(Infinity) != Infinity; // `Math.acosh` method -// https://tc39.es/ecma262/#sec-math.acosh - -$({ - target: 'Math', - stat: true, - forced: FORCED -}, { - acosh: function acosh(x) { - return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? log(x) + LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.asinh.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.asinh.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var nativeAsinh = Math.asinh; -var log = Math.log; -var sqrt = Math.sqrt; - -function asinh(x) { - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1)); -} // `Math.asinh` method -// https://tc39.es/ecma262/#sec-math.asinh -// Tor Browser bug: Math.asinh(0) -> -0 - - -$({ - target: 'Math', - stat: true, - forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) -}, { - asinh: asinh -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.atanh.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.atanh.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var nativeAtanh = Math.atanh; -var log = Math.log; // `Math.atanh` method -// https://tc39.es/ecma262/#sec-math.atanh -// Tor Browser bug: Math.atanh(-0) -> 0 - -$({ - target: 'Math', - stat: true, - forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) -}, { - atanh: function atanh(x) { - return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.cbrt.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.cbrt.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js"); - -var abs = Math.abs; -var pow = Math.pow; // `Math.cbrt` method -// https://tc39.es/ecma262/#sec-math.cbrt - -$({ - target: 'Math', - stat: true -}, { - cbrt: function cbrt(x) { - return sign(x = +x) * pow(abs(x), 1 / 3); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.clz32.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.clz32.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var floor = Math.floor; -var log = Math.log; -var LOG2E = Math.LOG2E; // `Math.clz32` method -// https://tc39.es/ecma262/#sec-math.clz32 - -$({ - target: 'Math', - stat: true -}, { - clz32: function clz32(x) { - return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.cosh.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.cosh.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); - -var nativeCosh = Math.cosh; -var abs = Math.abs; -var E = Math.E; // `Math.cosh` method -// https://tc39.es/ecma262/#sec-math.cosh - -$({ - target: 'Math', - stat: true, - forced: !nativeCosh || nativeCosh(710) === Infinity -}, { - cosh: function cosh(x) { - var t = expm1(abs(x) - 1) + 1; - return (t + 1 / (t * E * E)) * (E / 2); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.expm1.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.expm1.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); // `Math.expm1` method -// https://tc39.es/ecma262/#sec-math.expm1 - - -$({ - target: 'Math', - stat: true, - forced: expm1 != Math.expm1 -}, { - expm1: expm1 -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.fround.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.fround.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fround = __webpack_require__(/*! ../internals/math-fround */ "./node_modules/core-js/internals/math-fround.js"); // `Math.fround` method -// https://tc39.es/ecma262/#sec-math.fround - - -$({ - target: 'Math', - stat: true -}, { - fround: fround -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.hypot.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.hypot.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $hypot = Math.hypot; -var abs = Math.abs; -var sqrt = Math.sqrt; // Chrome 77 bug -// https://bugs.chromium.org/p/v8/issues/detail?id=9546 - -var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; // `Math.hypot` method -// https://tc39.es/ecma262/#sec-math.hypot - -$({ - target: 'Math', - stat: true, - forced: BUGGY -}, { - hypot: function hypot(value1, value2) { - // eslint-disable-line no-unused-vars - var sum = 0; - var i = 0; - var aLen = arguments.length; - var larg = 0; - var arg, div; - - while (i < aLen) { - arg = abs(arguments[i++]); - - if (larg < arg) { - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if (arg > 0) { - div = arg / larg; - sum += div * div; - } else sum += arg; - } - - return larg === Infinity ? Infinity : larg * sqrt(sum); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.imul.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.imul.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var nativeImul = Math.imul; -var FORCED = fails(function () { - return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2; -}); // `Math.imul` method -// https://tc39.es/ecma262/#sec-math.imul -// some WebKit versions fails with big numbers, some has wrong arity - -$({ - target: 'Math', - stat: true, - forced: FORCED -}, { - imul: function imul(x, y) { - var UINT16 = 0xFFFF; - var xn = +x; - var yn = +y; - var xl = UINT16 & xn; - var yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.log10.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.log10.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var log = Math.log; -var LOG10E = Math.LOG10E; // `Math.log10` method -// https://tc39.es/ecma262/#sec-math.log10 - -$({ - target: 'Math', - stat: true -}, { - log10: function log10(x) { - return log(x) * LOG10E; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.log1p.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.log1p.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var log1p = __webpack_require__(/*! ../internals/math-log1p */ "./node_modules/core-js/internals/math-log1p.js"); // `Math.log1p` method -// https://tc39.es/ecma262/#sec-math.log1p - - -$({ - target: 'Math', - stat: true -}, { - log1p: log1p -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.log2.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.log2.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var log = Math.log; -var LN2 = Math.LN2; // `Math.log2` method -// https://tc39.es/ecma262/#sec-math.log2 - -$({ - target: 'Math', - stat: true -}, { - log2: function log2(x) { - return log(x) / LN2; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.sign.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.sign.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js"); // `Math.sign` method -// https://tc39.es/ecma262/#sec-math.sign - - -$({ - target: 'Math', - stat: true -}, { - sign: sign -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.sinh.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.sinh.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); - -var abs = Math.abs; -var exp = Math.exp; -var E = Math.E; -var FORCED = fails(function () { - return Math.sinh(-2e-17) != -2e-17; -}); // `Math.sinh` method -// https://tc39.es/ecma262/#sec-math.sinh -// V8 near Chromium 38 has a problem with very small numbers - -$({ - target: 'Math', - stat: true, - forced: FORCED -}, { - sinh: function sinh(x) { - return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.tanh.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.tanh.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); - -var exp = Math.exp; // `Math.tanh` method -// https://tc39.es/ecma262/#sec-math.tanh - -$({ - target: 'Math', - stat: true -}, { - tanh: function tanh(x) { - var a = expm1(x = +x); - var b = expm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.to-string-tag.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.to-string-tag.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); // Math[@@toStringTag] property -// https://tc39.es/ecma262/#sec-math-@@tostringtag - - -setToStringTag(Math, 'Math', true); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.math.trunc.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.math.trunc.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var ceil = Math.ceil; -var floor = Math.floor; // `Math.trunc` method -// https://tc39.es/ecma262/#sec-math.trunc - -$({ - target: 'Math', - stat: true -}, { - trunc: function trunc(it) { - return (it > 0 ? floor : ceil)(it); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.constructor.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.constructor.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); - -var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; - -var NUMBER = 'Number'; -var NativeNumber = global[NUMBER]; -var NumberPrototype = NativeNumber.prototype; // Opera ~12 has broken Object#toString - -var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; // `ToNumber` abstract operation -// https://tc39.es/ecma262/#sec-tonumber - -var toNumber = function toNumber(argument) { - var it = toPrimitive(argument, false); - var first, third, radix, maxCode, digits, length, index, code; - - if (typeof it == 'string' && it.length > 2) { - it = trim(it); - first = it.charCodeAt(0); - - if (first === 43 || first === 45) { - third = it.charCodeAt(2); - if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix - } else if (first === 48) { - switch (it.charCodeAt(1)) { - case 66: - case 98: - radix = 2; - maxCode = 49; - break; - // fast equal of /^0b[01]+$/i - - case 79: - case 111: - radix = 8; - maxCode = 55; - break; - // fast equal of /^0o[0-7]+$/i - - default: - return +it; - } - - digits = it.slice(2); - length = digits.length; - - for (index = 0; index < length; index++) { - code = digits.charCodeAt(index); // parseInt parses a string to a first unavailable symbol - // but ToNumber should return NaN if a string contains unavailable symbols - - if (code < 48 || code > maxCode) return NaN; - } - - return parseInt(digits, radix); - } - } - - return +it; -}; // `Number` constructor -// https://tc39.es/ecma262/#sec-number-constructor - - -if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { - var NumberWrapper = function Number(value) { - var it = arguments.length < 1 ? 0 : value; - var dummy = this; - return dummy instanceof NumberWrapper // check on 1..constructor(foo) case - && (BROKEN_CLASSOF ? fails(function () { - NumberPrototype.valueOf.call(dummy); - }) : classof(dummy) != NUMBER) ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); - }; - - for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( // ES3: - 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES2015 (in case, if modules with ES2015 Number statics required before): - 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' + // ESNext - 'fromString,range').split(','), j = 0, key; keys.length > j; j++) { - if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { - defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); - } - } - - NumberWrapper.prototype = NumberPrototype; - NumberPrototype.constructor = NumberWrapper; - redefine(global, NUMBER, NumberWrapper); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.epsilon.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.epsilon.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); // `Number.EPSILON` constant -// https://tc39.es/ecma262/#sec-number.epsilon - - -$({ - target: 'Number', - stat: true -}, { - EPSILON: Math.pow(2, -52) -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.is-finite.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.is-finite.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var numberIsFinite = __webpack_require__(/*! ../internals/number-is-finite */ "./node_modules/core-js/internals/number-is-finite.js"); // `Number.isFinite` method -// https://tc39.es/ecma262/#sec-number.isfinite - - -$({ - target: 'Number', - stat: true -}, { - isFinite: numberIsFinite -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.is-integer.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.is-integer.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var isInteger = __webpack_require__(/*! ../internals/is-integer */ "./node_modules/core-js/internals/is-integer.js"); // `Number.isInteger` method -// https://tc39.es/ecma262/#sec-number.isinteger - - -$({ - target: 'Number', - stat: true -}, { - isInteger: isInteger -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.is-nan.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.is-nan.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); // `Number.isNaN` method -// https://tc39.es/ecma262/#sec-number.isnan - - -$({ - target: 'Number', - stat: true -}, { - isNaN: function isNaN(number) { - // eslint-disable-next-line no-self-compare - return number != number; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.is-safe-integer.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.is-safe-integer.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var isInteger = __webpack_require__(/*! ../internals/is-integer */ "./node_modules/core-js/internals/is-integer.js"); - -var abs = Math.abs; // `Number.isSafeInteger` method -// https://tc39.es/ecma262/#sec-number.issafeinteger - -$({ - target: 'Number', - stat: true -}, { - isSafeInteger: function isSafeInteger(number) { - return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.max-safe-integer.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.max-safe-integer.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); // `Number.MAX_SAFE_INTEGER` constant -// https://tc39.es/ecma262/#sec-number.max_safe_integer - - -$({ - target: 'Number', - stat: true -}, { - MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.min-safe-integer.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.min-safe-integer.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); // `Number.MIN_SAFE_INTEGER` constant -// https://tc39.es/ecma262/#sec-number.min_safe_integer - - -$({ - target: 'Number', - stat: true -}, { - MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.parse-float.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.parse-float.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var parseFloat = __webpack_require__(/*! ../internals/number-parse-float */ "./node_modules/core-js/internals/number-parse-float.js"); // `Number.parseFloat` method -// https://tc39.es/ecma262/#sec-number.parseFloat - - -$({ - target: 'Number', - stat: true, - forced: Number.parseFloat != parseFloat -}, { - parseFloat: parseFloat -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.parse-int.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.parse-int.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var parseInt = __webpack_require__(/*! ../internals/number-parse-int */ "./node_modules/core-js/internals/number-parse-int.js"); // `Number.parseInt` method -// https://tc39.es/ecma262/#sec-number.parseint - - -$({ - target: 'Number', - stat: true, - forced: Number.parseInt != parseInt -}, { - parseInt: parseInt -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.number.to-fixed.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.number.to-fixed.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ "./node_modules/core-js/internals/this-number-value.js"); - -var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var nativeToFixed = 1.0.toFixed; -var floor = Math.floor; - -var pow = function pow(x, n, acc) { - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); -}; - -var log = function log(x) { - var n = 0; - var x2 = x; - - while (x2 >= 4096) { - n += 12; - x2 /= 4096; - } - - while (x2 >= 2) { - n += 1; - x2 /= 2; - } - - return n; -}; - -var FORCED = nativeToFixed && (0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128.0.toFixed(0) !== '1000000000000000128') || !fails(function () { - // V8 ~ Android 4.3- - nativeToFixed.call({}); -}); // `Number.prototype.toFixed` method -// https://tc39.es/ecma262/#sec-number.prototype.tofixed - -$({ - target: 'Number', - proto: true, - forced: FORCED -}, { - // eslint-disable-next-line max-statements - toFixed: function toFixed(fractionDigits) { - var number = thisNumberValue(this); - var fractDigits = toInteger(fractionDigits); - var data = [0, 0, 0, 0, 0, 0]; - var sign = ''; - var result = '0'; - var e, z, j, k; - - var multiply = function multiply(n, c) { - var index = -1; - var c2 = c; - - while (++index < 6) { - c2 += n * data[index]; - data[index] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } - }; - - var divide = function divide(n) { - var index = 6; - var c = 0; - - while (--index >= 0) { - c += data[index]; - data[index] = floor(c / n); - c = c % n * 1e7; - } - }; - - var dataToString = function dataToString() { - var index = 6; - var s = ''; - - while (--index >= 0) { - if (s !== '' || index === 0 || data[index] !== 0) { - var t = String(data[index]); - s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t; - } - } - - return s; - }; - - if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); // eslint-disable-next-line no-self-compare - - if (number != number) return 'NaN'; - if (number <= -1e21 || number >= 1e21) return String(number); - - if (number < 0) { - sign = '-'; - number = -number; - } - - if (number > 1e-21) { - e = log(number * pow(2, 69, 1)) - 69; - z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - - if (e > 0) { - multiply(0, z); - j = fractDigits; - - while (j >= 7) { - multiply(1e7, 0); - j -= 7; - } - - multiply(pow(10, j, 1), 0); - j = e - 1; - - while (j >= 23) { - divide(1 << 23); - j -= 23; - } - - divide(1 << j); - multiply(1, 1); - divide(2); - result = dataToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - result = dataToString() + repeat.call('0', fractDigits); - } - } - - if (fractDigits > 0) { - k = result.length; - result = sign + (k <= fractDigits ? '0.' + repeat.call('0', fractDigits - k) + result : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); - } else { - result = sign + result; - } - - return result; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.assign.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.assign.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js"); // `Object.assign` method -// https://tc39.es/ecma262/#sec-object.assign - - -$({ - target: 'Object', - stat: true, - forced: Object.assign !== assign -}, { - assign: assign -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.define-getter.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.define-getter.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); // `Object.prototype.__defineGetter__` method -// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ - - -if (DESCRIPTORS) { - $({ - target: 'Object', - proto: true, - forced: FORCED - }, { - __defineGetter__: function __defineGetter__(P, getter) { - definePropertyModule.f(toObject(this), P, { - get: aFunction(getter), - enumerable: true, - configurable: true - }); - } - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.define-setter.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.define-setter.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); // `Object.prototype.__defineSetter__` method -// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ - - -if (DESCRIPTORS) { - $({ - target: 'Object', - proto: true, - forced: FORCED - }, { - __defineSetter__: function __defineSetter__(P, setter) { - definePropertyModule.f(toObject(this), P, { - set: aFunction(setter), - enumerable: true, - configurable: true - }); - } - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.entries.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.entries.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $entries = __webpack_require__(/*! ../internals/object-to-array */ "./node_modules/core-js/internals/object-to-array.js").entries; // `Object.entries` method -// https://tc39.es/ecma262/#sec-object.entries - - -$({ - target: 'Object', - stat: true -}, { - entries: function entries(O) { - return $entries(O); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.freeze.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.freeze.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze; - -var nativeFreeze = Object.freeze; -var FAILS_ON_PRIMITIVES = fails(function () { - nativeFreeze(1); -}); // `Object.freeze` method -// https://tc39.es/ecma262/#sec-object.freeze - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES, - sham: !FREEZING -}, { - freeze: function freeze(it) { - return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.from-entries.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.from-entries.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); - -var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); // `Object.fromEntries` method -// https://github.com/tc39/proposal-object-from-entries - - -$({ - target: 'Object', - stat: true -}, { - fromEntries: function fromEntries(iterable) { - var obj = {}; - iterate(iterable, function (k, v) { - createProperty(obj, k, v); - }, { - AS_ENTRIES: true - }); - return obj; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var nativeGetOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var FAILS_ON_PRIMITIVES = fails(function () { - nativeGetOwnPropertyDescriptor(1); -}); -var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; // `Object.getOwnPropertyDescriptor` method -// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - -$({ - target: 'Object', - stat: true, - forced: FORCED, - sham: !DESCRIPTORS -}, { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { - return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js": -/*!********************************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); - -var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); // `Object.getOwnPropertyDescriptors` method -// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors - - -$({ - target: 'Object', - stat: true, - sham: !DESCRIPTORS -}, { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { - var O = toIndexedObject(object); - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - var keys = ownKeys(O); - var result = {}; - var index = 0; - var key, descriptor; - - while (keys.length > index) { - descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); - if (descriptor !== undefined) createProperty(result, key, descriptor); - } - - return result; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.get-own-property-names.js": -/*!**************************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.get-own-property-names.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var nativeGetOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js").f; - -var FAILS_ON_PRIMITIVES = fails(function () { - return !Object.getOwnPropertyNames(1); -}); // `Object.getOwnPropertyNames` method -// https://tc39.es/ecma262/#sec-object.getownpropertynames - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES -}, { - getOwnPropertyNames: nativeGetOwnPropertyNames -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.get-prototype-of.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.get-prototype-of.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var nativeGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); - -var FAILS_ON_PRIMITIVES = fails(function () { - nativeGetPrototypeOf(1); -}); // `Object.getPrototypeOf` method -// https://tc39.es/ecma262/#sec-object.getprototypeof - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES, - sham: !CORRECT_PROTOTYPE_GETTER -}, { - getPrototypeOf: function getPrototypeOf(it) { - return nativeGetPrototypeOf(toObject(it)); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.is-extensible.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.is-extensible.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var nativeIsExtensible = Object.isExtensible; -var FAILS_ON_PRIMITIVES = fails(function () { - nativeIsExtensible(1); -}); // `Object.isExtensible` method -// https://tc39.es/ecma262/#sec-object.isextensible - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES -}, { - isExtensible: function isExtensible(it) { - return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.is-frozen.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.is-frozen.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var nativeIsFrozen = Object.isFrozen; -var FAILS_ON_PRIMITIVES = fails(function () { - nativeIsFrozen(1); -}); // `Object.isFrozen` method -// https://tc39.es/ecma262/#sec-object.isfrozen - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES -}, { - isFrozen: function isFrozen(it) { - return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.is-sealed.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.is-sealed.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var nativeIsSealed = Object.isSealed; -var FAILS_ON_PRIMITIVES = fails(function () { - nativeIsSealed(1); -}); // `Object.isSealed` method -// https://tc39.es/ecma262/#sec-object.issealed - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES -}, { - isSealed: function isSealed(it) { - return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.is.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.is.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var is = __webpack_require__(/*! ../internals/same-value */ "./node_modules/core-js/internals/same-value.js"); // `Object.is` method -// https://tc39.es/ecma262/#sec-object.is - - -$({ - target: 'Object', - stat: true -}, { - is: is -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.keys.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.keys.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var nativeKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var FAILS_ON_PRIMITIVES = fails(function () { - nativeKeys(1); -}); // `Object.keys` method -// https://tc39.es/ecma262/#sec-object.keys - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES -}, { - keys: function keys(it) { - return nativeKeys(toObject(it)); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.lookup-getter.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.lookup-getter.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; // `Object.prototype.__lookupGetter__` method -// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ - - -if (DESCRIPTORS) { - $({ - target: 'Object', - proto: true, - forced: FORCED - }, { - __lookupGetter__: function __lookupGetter__(P) { - var O = toObject(this); - var key = toPrimitive(P, true); - var desc; - - do { - if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; - } while (O = getPrototypeOf(O)); - } - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.lookup-setter.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.lookup-setter.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; // `Object.prototype.__lookupSetter__` method -// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ - - -if (DESCRIPTORS) { - $({ - target: 'Object', - proto: true, - forced: FORCED - }, { - __lookupSetter__: function __lookupSetter__(P) { - var O = toObject(this); - var key = toPrimitive(P, true); - var desc; - - do { - if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; - } while (O = getPrototypeOf(O)); - } - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.prevent-extensions.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.prevent-extensions.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze; - -var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var nativePreventExtensions = Object.preventExtensions; -var FAILS_ON_PRIMITIVES = fails(function () { - nativePreventExtensions(1); -}); // `Object.preventExtensions` method -// https://tc39.es/ecma262/#sec-object.preventextensions - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES, - sham: !FREEZING -}, { - preventExtensions: function preventExtensions(it) { - return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.seal.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.seal.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze; - -var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var nativeSeal = Object.seal; -var FAILS_ON_PRIMITIVES = fails(function () { - nativeSeal(1); -}); // `Object.seal` method -// https://tc39.es/ecma262/#sec-object.seal - -$({ - target: 'Object', - stat: true, - forced: FAILS_ON_PRIMITIVES, - sham: !FREEZING -}, { - seal: function seal(it) { - return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.to-string.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.to-string.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js/internals/object-to-string.js"); // `Object.prototype.toString` method -// https://tc39.es/ecma262/#sec-object.prototype.tostring - - -if (!TO_STRING_TAG_SUPPORT) { - redefine(Object.prototype, 'toString', toString, { - unsafe: true - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.object.values.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.values.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $values = __webpack_require__(/*! ../internals/object-to-array */ "./node_modules/core-js/internals/object-to-array.js").values; // `Object.values` method -// https://tc39.es/ecma262/#sec-object.values - - -$({ - target: 'Object', - stat: true -}, { - values: function values(O) { - return $values(O); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.promise.finally.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.promise.finally.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js/internals/native-promise-constructor.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); // Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 - - -var NON_GENERIC = !!NativePromise && fails(function () { - NativePromise.prototype['finally'].call({ - then: function then() { - /* empty */ - } - }, function () { - /* empty */ - }); -}); // `Promise.prototype.finally` method -// https://tc39.es/ecma262/#sec-promise.prototype.finally - -$({ - target: 'Promise', - proto: true, - real: true, - forced: NON_GENERIC -}, { - 'finally': function _finally(onFinally) { - var C = speciesConstructor(this, getBuiltIn('Promise')); - var isFunction = typeof onFinally == 'function'; - return this.then(isFunction ? function (x) { - return promiseResolve(C, onFinally()).then(function () { - return x; - }); - } : onFinally, isFunction ? function (e) { - return promiseResolve(C, onFinally()).then(function () { - throw e; - }); - } : onFinally); - } -}); // patch native Promise.prototype for native async functions - -if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) { - redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.promise.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/es.promise.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js/internals/native-promise-constructor.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); - -var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); - -var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set; - -var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js"); - -var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js"); - -var hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ "./node_modules/core-js/internals/host-report-errors.js"); - -var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js"); - -var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); - -var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); - -var SPECIES = wellKnownSymbol('species'); -var PROMISE = 'Promise'; -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); -var PromiseConstructor = NativePromise; -var TypeError = global.TypeError; -var document = global.document; -var process = global.process; -var $fetch = getBuiltIn('fetch'); -var newPromiseCapability = newPromiseCapabilityModule.f; -var newGenericPromiseCapability = newPromiseCapability; -var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); -var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function'; -var UNHANDLED_REJECTION = 'unhandledrejection'; -var REJECTION_HANDLED = 'rejectionhandled'; -var PENDING = 0; -var FULFILLED = 1; -var REJECTED = 2; -var HANDLED = 1; -var UNHANDLED = 2; -var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; -var FORCED = isForced(PROMISE, function () { - var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); - - if (!GLOBAL_CORE_JS_PROMISE) { - // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // We can't detect it synchronously, so just check versions - if (V8_VERSION === 66) return true; // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test - - if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true; - } // We need Promise#finally in the pure version for preventing prototype pollution - - - if (IS_PURE && !PromiseConstructor.prototype['finally']) return true; // We can't use @@species feature detection in V8 since it causes - // deoptimization and performance degradation - // https://github.com/zloirock/core-js/issues/679 - - if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false; // Detect correctness of subclassing with @@species support - - var promise = PromiseConstructor.resolve(1); - - var FakePromise = function FakePromise(exec) { - exec(function () { - /* empty */ - }, function () { - /* empty */ - }); - }; - - var constructor = promise.constructor = {}; - constructor[SPECIES] = FakePromise; - return !(promise.then(function () { - /* empty */ - }) instanceof FakePromise); -}); -var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { - /* empty */ - }); -}); // helpers - -var isThenable = function isThenable(it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; -}; - -var notify = function notify(state, isReject) { - if (state.notified) return; - state.notified = true; - var chain = state.reactions; - microtask(function () { - var value = state.value; - var ok = state.state == FULFILLED; - var index = 0; // variable length - can't use forEach - - while (chain.length > index) { - var reaction = chain[index++]; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) onHandleUnhandled(state); - state.rejection = HANDLED; - } - - if (handler === true) result = value;else { - if (domain) domain.enter(); - result = handler(value); // can throw - - if (domain) { - domain.exit(); - exited = true; - } - } - - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (error) { - if (domain && !exited) domain.exit(); - reject(error); - } - } - - state.reactions = []; - state.notified = false; - if (isReject && !state.rejection) onUnhandled(state); - }); -}; - -var dispatchEvent = function dispatchEvent(name, promise, reason) { - var event, handler; - - if (DISPATCH_EVENT) { - event = document.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global.dispatchEvent(event); - } else event = { - promise: promise, - reason: reason - }; - - if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); -}; - -var onUnhandled = function onUnhandled(state) { - task.call(global, function () { - var promise = state.facade; - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE) { - process.emit('unhandledRejection', value, promise); - } else dispatchEvent(UNHANDLED_REJECTION, promise, value); - }); // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - - state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) throw result.value; - } - }); -}; - -var isUnhandled = function isUnhandled(state) { - return state.rejection !== HANDLED && !state.parent; -}; - -var onHandleUnhandled = function onHandleUnhandled(state) { - task.call(global, function () { - var promise = state.facade; - - if (IS_NODE) { - process.emit('rejectionHandled', promise); - } else dispatchEvent(REJECTION_HANDLED, promise, state.value); - }); -}; - -var bind = function bind(fn, state, unwrap) { - return function (value) { - fn(state, value, unwrap); - }; -}; - -var internalReject = function internalReject(state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - state.value = value; - state.state = REJECTED; - notify(state, true); -}; - -var internalResolve = function internalResolve(state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - - try { - if (state.facade === value) throw TypeError("Promise can't be resolved itself"); - var then = isThenable(value); - - if (then) { - microtask(function () { - var wrapper = { - done: false - }; - - try { - then.call(value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state)); - } catch (error) { - internalReject(wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify(state, false); - } - } catch (error) { - internalReject({ - done: false - }, error, state); - } -}; // constructor polyfill - - -if (FORCED) { - // 25.4.3.1 Promise(executor) - PromiseConstructor = function Promise(executor) { - anInstance(this, PromiseConstructor, PROMISE); - aFunction(executor); - Internal.call(this); - var state = getInternalState(this); - - try { - executor(bind(internalResolve, state), bind(internalReject, state)); - } catch (error) { - internalReject(state, error); - } - }; // eslint-disable-next-line no-unused-vars - - - Internal = function Promise(executor) { - setInternalState(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: [], - rejection: false, - state: PENDING, - value: undefined - }); - }; - - Internal.prototype = redefineAll(PromiseConstructor.prototype, { - // `Promise.prototype.then` method - // https://tc39.es/ecma262/#sec-promise.prototype.then - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = IS_NODE ? process.domain : undefined; - state.parent = true; - state.reactions.push(reaction); - if (state.state != PENDING) notify(state, false); - return reaction.promise; - }, - // `Promise.prototype.catch` method - // https://tc39.es/ecma262/#sec-promise.prototype.catch - 'catch': function _catch(onRejected) { - return this.then(undefined, onRejected); - } - }); - - OwnPromiseCapability = function OwnPromiseCapability() { - var promise = new Internal(); - var state = getInternalState(promise); - this.promise = promise; - this.resolve = bind(internalResolve, state); - this.reject = bind(internalReject, state); - }; - - newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) { - return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); - }; - - if (!IS_PURE && typeof NativePromise == 'function') { - nativeThen = NativePromise.prototype.then; // wrap native Promise#then for native async functions - - redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) { - var that = this; - return new PromiseConstructor(function (resolve, reject) { - nativeThen.call(that, resolve, reject); - }).then(onFulfilled, onRejected); // https://github.com/zloirock/core-js/issues/640 - }, { - unsafe: true - }); // wrap fetch result - - if (typeof $fetch == 'function') $({ - global: true, - enumerable: true, - forced: true - }, { - // eslint-disable-next-line no-unused-vars - fetch: function fetch(input - /* , init */ - ) { - return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); - } - }); - } -} - -$({ - global: true, - wrap: true, - forced: FORCED -}, { - Promise: PromiseConstructor -}); -setToStringTag(PromiseConstructor, PROMISE, false, true); -setSpecies(PROMISE); -PromiseWrapper = getBuiltIn(PROMISE); // statics - -$({ - target: PROMISE, - stat: true, - forced: FORCED -}, { - // `Promise.reject` method - // https://tc39.es/ecma262/#sec-promise.reject - reject: function reject(r) { - var capability = newPromiseCapability(this); - capability.reject.call(undefined, r); - return capability.promise; - } -}); -$({ - target: PROMISE, - stat: true, - forced: IS_PURE || FORCED -}, { - // `Promise.resolve` method - // https://tc39.es/ecma262/#sec-promise.resolve - resolve: function resolve(x) { - return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); - } -}); -$({ - target: PROMISE, - stat: true, - forced: INCORRECT_ITERATION -}, { - // `Promise.all` method - // https://tc39.es/ecma262/#sec-promise.all - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - $promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - }, - // `Promise.race` method - // https://tc39.es/ecma262/#sec-promise.race - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - iterate(iterable, function (promise) { - $promiseResolve.call(C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.apply.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.apply.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var nativeApply = getBuiltIn('Reflect', 'apply'); -var functionApply = Function.apply; // MS Edge argumentsList argument is optional - -var OPTIONAL_ARGUMENTS_LIST = !fails(function () { - nativeApply(function () { - /* empty */ - }); -}); // `Reflect.apply` method -// https://tc39.es/ecma262/#sec-reflect.apply - -$({ - target: 'Reflect', - stat: true, - forced: OPTIONAL_ARGUMENTS_LIST -}, { - apply: function apply(target, thisArgument, argumentsList) { - aFunction(target); - anObject(argumentsList); - return nativeApply ? nativeApply(target, thisArgument, argumentsList) : functionApply.call(target, thisArgument, argumentsList); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.construct.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.construct.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js/internals/function-bind.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var nativeConstruct = getBuiltIn('Reflect', 'construct'); // `Reflect.construct` method -// https://tc39.es/ecma262/#sec-reflect.construct -// MS Edge supports only 2 arguments and argumentsList argument is optional -// FF Nightly sets third argument as `new.target`, but does not create `this` from it - -var NEW_TARGET_BUG = fails(function () { - function F() { - /* empty */ - } - - return !(nativeConstruct(function () { - /* empty */ - }, [], F) instanceof F); -}); -var ARGS_BUG = !fails(function () { - nativeConstruct(function () { - /* empty */ - }); -}); -var FORCED = NEW_TARGET_BUG || ARGS_BUG; -$({ - target: 'Reflect', - stat: true, - forced: FORCED, - sham: FORCED -}, { - construct: function construct(Target, args - /* , newTarget */ - ) { - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); - - if (Target == newTarget) { - // w/o altered newTarget, optimization for 0-4 arguments - switch (args.length) { - case 0: - return new Target(); - - case 1: - return new Target(args[0]); - - case 2: - return new Target(args[0], args[1]); - - case 3: - return new Target(args[0], args[1], args[2]); - - case 4: - return new Target(args[0], args[1], args[2], args[3]); - } // w/o altered newTarget, lot of arguments case - - - var $args = [null]; - $args.push.apply($args, args); - return new (bind.apply(Target, $args))(); - } // with altered newTarget, not support built-in constructors - - - var proto = newTarget.prototype; - var instance = create(isObject(proto) ? proto : Object.prototype); - var result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.define-property.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.define-property.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); // MS Edge has broken Reflect.defineProperty - throwing instead of returning false - - -var ERROR_INSTEAD_OF_FALSE = fails(function () { - // eslint-disable-next-line no-undef - Reflect.defineProperty(definePropertyModule.f({}, 1, { - value: 1 - }), 1, { - value: 2 - }); -}); // `Reflect.defineProperty` method -// https://tc39.es/ecma262/#sec-reflect.defineproperty - -$({ - target: 'Reflect', - stat: true, - forced: ERROR_INSTEAD_OF_FALSE, - sham: !DESCRIPTORS -}, { - defineProperty: function defineProperty(target, propertyKey, attributes) { - anObject(target); - var key = toPrimitive(propertyKey, true); - anObject(attributes); - - try { - definePropertyModule.f(target, key, attributes); - return true; - } catch (error) { - return false; - } - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.delete-property.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.delete-property.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; // `Reflect.deleteProperty` method -// https://tc39.es/ecma262/#sec-reflect.deleteproperty - - -$({ - target: 'Reflect', - stat: true -}, { - deleteProperty: function deleteProperty(target, propertyKey) { - var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); - return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js": -/*!********************************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); // `Reflect.getOwnPropertyDescriptor` method -// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor - - -$({ - target: 'Reflect', - stat: true, - sham: !DESCRIPTORS -}, { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { - return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.get-prototype-of.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.get-prototype-of.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var objectGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); // `Reflect.getPrototypeOf` method -// https://tc39.es/ecma262/#sec-reflect.getprototypeof - - -$({ - target: 'Reflect', - stat: true, - sham: !CORRECT_PROTOTYPE_GETTER -}, { - getPrototypeOf: function getPrototypeOf(target) { - return objectGetPrototypeOf(anObject(target)); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.get.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.get.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); // `Reflect.get` method -// https://tc39.es/ecma262/#sec-reflect.get - - -function get(target, propertyKey -/* , receiver */ -) { - var receiver = arguments.length < 3 ? target : arguments[2]; - var descriptor, prototype; - if (anObject(target) === receiver) return target[propertyKey]; - if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') ? descriptor.value : descriptor.get === undefined ? undefined : descriptor.get.call(receiver); - if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); -} - -$({ - target: 'Reflect', - stat: true -}, { - get: get -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.has.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.has.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); // `Reflect.has` method -// https://tc39.es/ecma262/#sec-reflect.has - - -$({ - target: 'Reflect', - stat: true -}, { - has: function has(target, propertyKey) { - return propertyKey in target; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.is-extensible.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.is-extensible.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var objectIsExtensible = Object.isExtensible; // `Reflect.isExtensible` method -// https://tc39.es/ecma262/#sec-reflect.isextensible - -$({ - target: 'Reflect', - stat: true -}, { - isExtensible: function isExtensible(target) { - anObject(target); - return objectIsExtensible ? objectIsExtensible(target) : true; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.own-keys.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.own-keys.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); // `Reflect.ownKeys` method -// https://tc39.es/ecma262/#sec-reflect.ownkeys - - -$({ - target: 'Reflect', - stat: true -}, { - ownKeys: ownKeys -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.prevent-extensions.js": -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.prevent-extensions.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); // `Reflect.preventExtensions` method -// https://tc39.es/ecma262/#sec-reflect.preventextensions - - -$({ - target: 'Reflect', - stat: true, - sham: !FREEZING -}, { - preventExtensions: function preventExtensions(target) { - anObject(target); - - try { - var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); - if (objectPreventExtensions) objectPreventExtensions(target); - return true; - } catch (error) { - return false; - } - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.set-prototype-of.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.set-prototype-of.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js"); - -var objectSetPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); // `Reflect.setPrototypeOf` method -// https://tc39.es/ecma262/#sec-reflect.setprototypeof - - -if (objectSetPrototypeOf) $({ - target: 'Reflect', - stat: true -}, { - setPrototypeOf: function setPrototypeOf(target, proto) { - anObject(target); - aPossiblePrototype(proto); - - try { - objectSetPrototypeOf(target, proto); - return true; - } catch (error) { - return false; - } - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.reflect.set.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.reflect.set.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); // `Reflect.set` method -// https://tc39.es/ecma262/#sec-reflect.set - - -function set(target, propertyKey, V -/* , receiver */ -) { - var receiver = arguments.length < 4 ? target : arguments[3]; - var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); - var existingDescriptor, prototype; - - if (!ownDescriptor) { - if (isObject(prototype = getPrototypeOf(target))) { - return set(prototype, propertyKey, V, receiver); - } - - ownDescriptor = createPropertyDescriptor(0); - } - - if (has(ownDescriptor, 'value')) { - if (ownDescriptor.writable === false || !isObject(receiver)) return false; - - if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { - if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; - existingDescriptor.value = V; - definePropertyModule.f(receiver, propertyKey, existingDescriptor); - } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); - - return true; - } - - return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true); -} // MS Edge 17-18 Reflect.set allows setting the property to object -// with non-writable property on the prototype - - -var MS_EDGE_BUG = fails(function () { - var Constructor = function Constructor() { - /* empty */ - }; - - var object = definePropertyModule.f(new Constructor(), 'a', { - configurable: true - }); // eslint-disable-next-line no-undef - - return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; -}); -$({ - target: 'Reflect', - stat: true, - forced: MS_EDGE_BUG -}, { - set: set -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.regexp.constructor.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.regexp.constructor.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); - -var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; - -var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); - -var getFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); - -var stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var setInternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").set; - -var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var MATCH = wellKnownSymbol('match'); -var NativeRegExp = global.RegExp; -var RegExpPrototype = NativeRegExp.prototype; -var re1 = /a/g; -var re2 = /a/g; // "new" should create a new object, old webkit bug - -var CORRECT_NEW = new NativeRegExp(re1) !== re1; -var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; -var FORCED = DESCRIPTORS && isForced('RegExp', !CORRECT_NEW || UNSUPPORTED_Y || fails(function () { - re2[MATCH] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match - - return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; -})); // `RegExp` constructor -// https://tc39.es/ecma262/#sec-regexp-constructor - -if (FORCED) { - var RegExpWrapper = function RegExp(pattern, flags) { - var thisIsRegExp = this instanceof RegExpWrapper; - var patternIsRegExp = isRegExp(pattern); - var flagsAreUndefined = flags === undefined; - var sticky; - - if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) { - return pattern; - } - - if (CORRECT_NEW) { - if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source; - } else if (pattern instanceof RegExpWrapper) { - if (flagsAreUndefined) flags = getFlags.call(pattern); - pattern = pattern.source; - } - - if (UNSUPPORTED_Y) { - sticky = !!flags && flags.indexOf('y') > -1; - if (sticky) flags = flags.replace(/y/g, ''); - } - - var result = inheritIfRequired(CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); - if (UNSUPPORTED_Y && sticky) setInternalState(result, { - sticky: sticky - }); - return result; - }; - - var proxy = function proxy(key) { - key in RegExpWrapper || defineProperty(RegExpWrapper, key, { - configurable: true, - get: function get() { - return NativeRegExp[key]; - }, - set: function set(it) { - NativeRegExp[key] = it; - } - }); - }; - - var keys = getOwnPropertyNames(NativeRegExp); - var index = 0; - - while (keys.length > index) { - proxy(keys[index++]); - } - - RegExpPrototype.constructor = RegExpWrapper; - RegExpWrapper.prototype = RegExpPrototype; - redefine(global, 'RegExp', RegExpWrapper); -} // https://tc39.es/ecma262/#sec-get-regexp-@@species - - -setSpecies('RegExp'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.regexp.exec.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.regexp.exec.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var exec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); // `RegExp.prototype.exec` method -// https://tc39.es/ecma262/#sec-regexp.prototype.exec - - -$({ - target: 'RegExp', - proto: true, - forced: /./.exec !== exec -}, { - exec: exec -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.regexp.flags.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.regexp.flags.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var objectDefinePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var regExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); - -var UNSUPPORTED_Y = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js").UNSUPPORTED_Y; // `RegExp.prototype.flags` getter -// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags - - -if (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) { - objectDefinePropertyModule.f(RegExp.prototype, 'flags', { - configurable: true, - get: regExpFlags - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.regexp.to-string.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.regexp.to-string.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var flags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); - -var TO_STRING = 'toString'; -var RegExpPrototype = RegExp.prototype; -var nativeToString = RegExpPrototype[TO_STRING]; -var NOT_GENERIC = fails(function () { - return nativeToString.call({ - source: 'a', - flags: 'b' - }) != '/a/b'; -}); // FF44- RegExp#toString has a wrong name - -var INCORRECT_NAME = nativeToString.name != TO_STRING; // `RegExp.prototype.toString` method -// https://tc39.es/ecma262/#sec-regexp.prototype.tostring - -if (NOT_GENERIC || INCORRECT_NAME) { - redefine(RegExp.prototype, TO_STRING, function toString() { - var R = anObject(this); - var p = String(R.source); - var rf = R.flags; - var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); - return '/' + p + '/' + f; - }, { - unsafe: true - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.set.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/modules/es.set.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); - -var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js/internals/collection-strong.js"); // `Set` constructor -// https://tc39.es/ecma262/#sec-set-objects - - -module.exports = collection('Set', function (init) { - return function Set() { - return init(this, arguments.length ? arguments[0] : undefined); - }; -}, collectionStrong); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.anchor.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.anchor.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.anchor` method -// https://tc39.es/ecma262/#sec-string.prototype.anchor - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('anchor') -}, { - anchor: function anchor(name) { - return createHTML(this, 'a', 'name', name); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.big.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.big.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.big` method -// https://tc39.es/ecma262/#sec-string.prototype.big - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('big') -}, { - big: function big() { - return createHTML(this, 'big', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.blink.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.blink.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.blink` method -// https://tc39.es/ecma262/#sec-string.prototype.blink - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('blink') -}, { - blink: function blink() { - return createHTML(this, 'blink', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.bold.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.bold.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.bold` method -// https://tc39.es/ecma262/#sec-string.prototype.bold - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('bold') -}, { - bold: function bold() { - return createHTML(this, 'b', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.code-point-at.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.code-point-at.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt; // `String.prototype.codePointAt` method -// https://tc39.es/ecma262/#sec-string.prototype.codepointat - - -$({ - target: 'String', - proto: true -}, { - codePointAt: function codePointAt(pos) { - return codeAt(this, pos); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.ends-with.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.ends-with.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var nativeEndsWith = ''.endsWith; -var min = Math.min; -var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); // https://github.com/zloirock/core-js/pull/702 - -var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); - return descriptor && !descriptor.writable; -}(); // `String.prototype.endsWith` method -// https://tc39.es/ecma262/#sec-string.prototype.endswith - -$({ - target: 'String', - proto: true, - forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC -}, { - endsWith: function endsWith(searchString - /* , endPosition = @length */ - ) { - var that = String(requireObjectCoercible(this)); - notARegExp(searchString); - var endPosition = arguments.length > 1 ? arguments[1] : undefined; - var len = toLength(that.length); - var end = endPosition === undefined ? len : min(toLength(endPosition), len); - var search = String(searchString); - return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.fixed.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.fixed.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.fixed` method -// https://tc39.es/ecma262/#sec-string.prototype.fixed - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('fixed') -}, { - fixed: function fixed() { - return createHTML(this, 'tt', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.fontcolor.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.fontcolor.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.fontcolor` method -// https://tc39.es/ecma262/#sec-string.prototype.fontcolor - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('fontcolor') -}, { - fontcolor: function fontcolor(color) { - return createHTML(this, 'font', 'color', color); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.fontsize.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.fontsize.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.fontsize` method -// https://tc39.es/ecma262/#sec-string.prototype.fontsize - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('fontsize') -}, { - fontsize: function fontsize(size) { - return createHTML(this, 'font', 'size', size); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.from-code-point.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.from-code-point.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); - -var fromCharCode = String.fromCharCode; -var nativeFromCodePoint = String.fromCodePoint; // length should be 1, old FF problem - -var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; // `String.fromCodePoint` method -// https://tc39.es/ecma262/#sec-string.fromcodepoint - -$({ - target: 'String', - stat: true, - forced: INCORRECT_LENGTH -}, { - fromCodePoint: function fromCodePoint(x) { - // eslint-disable-line no-unused-vars - var elements = []; - var length = arguments.length; - var i = 0; - var code; - - while (length > i) { - code = +arguments[i++]; - if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point'); - elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)); - } - - return elements.join(''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.includes.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.includes.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js"); // `String.prototype.includes` method -// https://tc39.es/ecma262/#sec-string.prototype.includes - - -$({ - target: 'String', - proto: true, - forced: !correctIsRegExpLogic('includes') -}, { - includes: function includes(searchString - /* , position = 0 */ - ) { - return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.italics.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.italics.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.italics` method -// https://tc39.es/ecma262/#sec-string.prototype.italics - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('italics') -}, { - italics: function italics() { - return createHTML(this, 'i', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.iterator.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.iterator.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt; - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); - -var STRING_ITERATOR = 'String Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); // `String.prototype[@@iterator]` method -// https://tc39.es/ecma262/#sec-string.prototype-@@iterator - -defineIterator(String, 'String', function (iterated) { - setInternalState(this, { - type: STRING_ITERATOR, - string: String(iterated), - index: 0 - }); // `%StringIteratorPrototype%.next` method - // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next -}, function next() { - var state = getInternalState(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) return { - value: undefined, - done: true - }; - point = charAt(string, index); - state.index += point.length; - return { - value: point, - done: false - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.link.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.link.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.link` method -// https://tc39.es/ecma262/#sec-string.prototype.link - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('link') -}, { - link: function link(url) { - return createHTML(this, 'a', 'href', url); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.match.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.match.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); - -var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); // @@match logic - - -fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { - return [// `String.prototype.match` method - // https://tc39.es/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = requireObjectCoercible(this); - var matcher = regexp == undefined ? undefined : regexp[MATCH]; - return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, // `RegExp.prototype[@@match]` method - // https://tc39.es/ecma262/#sec-regexp.prototype-@@match - function (regexp) { - var res = maybeCallNative(nativeMatch, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - if (!rx.global) return regExpExec(rx, S); - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - - while ((result = regExpExec(rx, S)) !== null) { - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - n++; - } - - return n === 0 ? null : A; - }]; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.pad-end.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.pad-end.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $padEnd = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").end; - -var WEBKIT_BUG = __webpack_require__(/*! ../internals/string-pad-webkit-bug */ "./node_modules/core-js/internals/string-pad-webkit-bug.js"); // `String.prototype.padEnd` method -// https://tc39.es/ecma262/#sec-string.prototype.padend - - -$({ - target: 'String', - proto: true, - forced: WEBKIT_BUG -}, { - padEnd: function padEnd(maxLength - /* , fillString = ' ' */ - ) { - return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.pad-start.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.pad-start.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $padStart = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").start; - -var WEBKIT_BUG = __webpack_require__(/*! ../internals/string-pad-webkit-bug */ "./node_modules/core-js/internals/string-pad-webkit-bug.js"); // `String.prototype.padStart` method -// https://tc39.es/ecma262/#sec-string.prototype.padstart - - -$({ - target: 'String', - proto: true, - forced: WEBKIT_BUG -}, { - padStart: function padStart(maxLength - /* , fillString = ' ' */ - ) { - return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.raw.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.raw.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); // `String.raw` method -// https://tc39.es/ecma262/#sec-string.raw - - -$({ - target: 'String', - stat: true -}, { - raw: function raw(template) { - var rawTemplate = toIndexedObject(template.raw); - var literalSegments = toLength(rawTemplate.length); - var argumentsLength = arguments.length; - var elements = []; - var i = 0; - - while (literalSegments > i) { - elements.push(String(rawTemplate[i++])); - if (i < argumentsLength) elements.push(String(arguments[i])); - } - - return elements.join(''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.repeat.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.repeat.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js"); // `String.prototype.repeat` method -// https://tc39.es/ecma262/#sec-string.prototype.repeat - - -$({ - target: 'String', - proto: true -}, { - repeat: repeat -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.replace.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.replace.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); - -var getSubstitution = __webpack_require__(/*! ../internals/get-substitution */ "./node_modules/core-js/internals/get-substitution.js"); - -var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); - -var max = Math.max; -var min = Math.min; - -var maybeToString = function maybeToString(it) { - return it === undefined ? it : String(it); -}; // @@replace logic - - -fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) { - var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE; - var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0; - var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; - return [// `String.prototype.replace` method - // https://tc39.es/ecma262/#sec-string.prototype.replace - function replace(searchValue, replaceValue) { - var O = requireObjectCoercible(this); - var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; - return replacer !== undefined ? replacer.call(searchValue, O, replaceValue) : nativeReplace.call(String(O), searchValue, replaceValue); - }, // `RegExp.prototype[@@replace]` method - // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace - function (regexp, replaceValue) { - if (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0 || typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) { - var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); - if (res.done) return res.value; - } - - var rx = anObject(regexp); - var S = String(this); - var functionalReplace = typeof replaceValue === 'function'; - if (!functionalReplace) replaceValue = String(replaceValue); - var global = rx.global; - - if (global) { - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - } - - var results = []; - - while (true) { - var result = regExpExec(rx, S); - if (result === null) break; - results.push(result); - if (!global) break; - var matchStr = String(result[0]); - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - } - - var accumulatedResult = ''; - var nextSourcePosition = 0; - - for (var i = 0; i < results.length; i++) { - result = results[i]; - var matched = String(result[0]); - var position = max(min(toInteger(result.index), S.length), 0); - var captures = []; // NOTE: This is equivalent to - // captures = result.slice(1).map(maybeToString) - // but for some reason `nativeSlice.call(result, 1, result.length)` (called in - // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and - // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. - - for (var j = 1; j < result.length; j++) { - captures.push(maybeToString(result[j])); - } - - var namedCaptures = result.groups; - - if (functionalReplace) { - var replacerArgs = [matched].concat(captures, position, S); - if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); - var replacement = String(replaceValue.apply(undefined, replacerArgs)); - } else { - replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); - } - - if (position >= nextSourcePosition) { - accumulatedResult += S.slice(nextSourcePosition, position) + replacement; - nextSourcePosition = position + matched.length; - } - } - - return accumulatedResult + S.slice(nextSourcePosition); - }]; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.search.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.search.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var sameValue = __webpack_require__(/*! ../internals/same-value */ "./node_modules/core-js/internals/same-value.js"); - -var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); // @@search logic - - -fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) { - return [// `String.prototype.search` method - // https://tc39.es/ecma262/#sec-string.prototype.search - function search(regexp) { - var O = requireObjectCoercible(this); - var searcher = regexp == undefined ? undefined : regexp[SEARCH]; - return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, // `RegExp.prototype[@@search]` method - // https://tc39.es/ecma262/#sec-regexp.prototype-@@search - function (regexp) { - var res = maybeCallNative(nativeSearch, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - var previousLastIndex = rx.lastIndex; - if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; - var result = regExpExec(rx, S); - if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; - return result === null ? -1 : result.index; - }]; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.small.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.small.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.small` method -// https://tc39.es/ecma262/#sec-string.prototype.small - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('small') -}, { - small: function small() { - return createHTML(this, 'small', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.split.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.split.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); - -var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); - -var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var arrayPush = [].push; -var min = Math.min; -var MAX_UINT32 = 0xFFFFFFFF; // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError - -var SUPPORTS_Y = !fails(function () { - return !RegExp(MAX_UINT32, 'y'); -}); // @@split logic - -fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { - var internalSplit; - - if ('abbc'.split(/(b)*/)[1] == 'c' || 'test'.split(/(?:)/, -1).length != 4 || 'ab'.split(/(?:ab)*/).length != 2 || '.'.split(/(.?)(.?)/).length != 4 || '.'.split(/()()/).length > 1 || ''.split(/.?/).length) { - // based on es5-shim implementation, need to rework it - internalSplit = function internalSplit(separator, limit) { - var string = String(requireObjectCoercible(this)); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) return []; - if (separator === undefined) return [string]; // If `separator` is not a regex, use native split - - if (!isRegExp(separator)) { - return nativeSplit.call(string, separator, lim); - } - - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; // Make `global` and avoid `lastIndex` issues by working with a copy - - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var match, lastIndex, lastLength; - - while (match = regexpExec.call(separatorCopy, string)) { - lastIndex = separatorCopy.lastIndex; - - if (lastIndex > lastLastIndex) { - output.push(string.slice(lastLastIndex, match.index)); - if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); - lastLength = match[0].length; - lastLastIndex = lastIndex; - if (output.length >= lim) break; - } - - if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop - } - - if (lastLastIndex === string.length) { - if (lastLength || !separatorCopy.test('')) output.push(''); - } else output.push(string.slice(lastLastIndex)); - - return output.length > lim ? output.slice(0, lim) : output; - }; // Chakra, V8 - - } else if ('0'.split(undefined, 0).length) { - internalSplit = function internalSplit(separator, limit) { - return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); - }; - } else internalSplit = nativeSplit; - - return [// `String.prototype.split` method - // https://tc39.es/ecma262/#sec-string.prototype.split - function split(separator, limit) { - var O = requireObjectCoercible(this); - var splitter = separator == undefined ? undefined : separator[SPLIT]; - return splitter !== undefined ? splitter.call(separator, O, limit) : internalSplit.call(String(O), separator, limit); - }, // `RegExp.prototype[@@split]` method - // https://tc39.es/ecma262/#sec-regexp.prototype-@@split - // - // NOTE: This cannot be properly polyfilled in engines that don't support - // the 'y' flag. - function (regexp, limit) { - var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - var C = speciesConstructor(rx, RegExp); - var unicodeMatching = rx.unicode; - var flags = (rx.ignoreCase ? 'i' : '') + (rx.multiline ? 'm' : '') + (rx.unicode ? 'u' : '') + (SUPPORTS_Y ? 'y' : 'g'); // ^(? + rx + ) is needed, in combination with some S slicing, to - // simulate the 'y' flag. - - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) return []; - if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; - var p = 0; - var q = 0; - var A = []; - - while (q < S.length) { - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); - var e; - - if (z === null || (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p) { - q = advanceStringIndex(S, q, unicodeMatching); - } else { - A.push(S.slice(p, q)); - if (A.length === lim) return A; - - for (var i = 1; i <= z.length - 1; i++) { - A.push(z[i]); - if (A.length === lim) return A; - } - - q = p = e; - } - } - - A.push(S.slice(p)); - return A; - }]; -}, !SUPPORTS_Y); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.starts-with.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.starts-with.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js"); - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); - -var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var nativeStartsWith = ''.startsWith; -var min = Math.min; -var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); // https://github.com/zloirock/core-js/pull/702 - -var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); - return descriptor && !descriptor.writable; -}(); // `String.prototype.startsWith` method -// https://tc39.es/ecma262/#sec-string.prototype.startswith - -$({ - target: 'String', - proto: true, - forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC -}, { - startsWith: function startsWith(searchString - /* , position = 0 */ - ) { - var that = String(requireObjectCoercible(this)); - notARegExp(searchString); - var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = String(searchString); - return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search; - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.strike.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.strike.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.strike` method -// https://tc39.es/ecma262/#sec-string.prototype.strike - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('strike') -}, { - strike: function strike() { - return createHTML(this, 'strike', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.sub.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.sub.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.sub` method -// https://tc39.es/ecma262/#sec-string.prototype.sub - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('sub') -}, { - sub: function sub() { - return createHTML(this, 'sub', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.sup.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.sup.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); - -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.sup` method -// https://tc39.es/ecma262/#sec-string.prototype.sup - - -$({ - target: 'String', - proto: true, - forced: forcedStringHTMLMethod('sup') -}, { - sup: function sup() { - return createHTML(this, 'sup', '', ''); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.trim-end.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.trim-end.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $trimEnd = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").end; - -var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js"); - -var FORCED = forcedStringTrimMethod('trimEnd'); -var trimEnd = FORCED ? function trimEnd() { - return $trimEnd(this); -} : ''.trimEnd; // `String.prototype.{ trimEnd, trimRight }` methods -// https://tc39.es/ecma262/#sec-string.prototype.trimend -// https://tc39.es/ecma262/#String.prototype.trimright - -$({ - target: 'String', - proto: true, - forced: FORCED -}, { - trimEnd: trimEnd, - trimRight: trimEnd -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.trim-start.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.trim-start.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $trimStart = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").start; - -var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js"); - -var FORCED = forcedStringTrimMethod('trimStart'); -var trimStart = FORCED ? function trimStart() { - return $trimStart(this); -} : ''.trimStart; // `String.prototype.{ trimStart, trimLeft }` methods -// https://tc39.es/ecma262/#sec-string.prototype.trimstart -// https://tc39.es/ecma262/#String.prototype.trimleft - -$({ - target: 'String', - proto: true, - forced: FORCED -}, { - trimStart: trimStart, - trimLeft: trimStart -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.string.trim.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.trim.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var $trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; - -var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js"); // `String.prototype.trim` method -// https://tc39.es/ecma262/#sec-string.prototype.trim - - -$({ - target: 'String', - proto: true, - forced: forcedStringTrimMethod('trim') -}, { - trim: function trim() { - return $trim(this); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.async-iterator.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.async-iterator.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.asyncIterator` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.asynciterator - - -defineWellKnownSymbol('asyncIterator'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.description.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.description.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -// `Symbol.prototype.description` getter -// https://tc39.es/ecma262/#sec-symbol.prototype.description - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; - -var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); - -var NativeSymbol = global.Symbol; - -if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || // Safari 12 bug -NativeSymbol().description !== undefined)) { - var EmptyStringDescriptionStore = {}; // wrap Symbol constructor for correct work with undefined description - - var SymbolWrapper = function _Symbol() { - var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); - var result = this instanceof SymbolWrapper ? new NativeSymbol(description) // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' - : description === undefined ? NativeSymbol() : NativeSymbol(description); - if (description === '') EmptyStringDescriptionStore[result] = true; - return result; - }; - - copyConstructorProperties(SymbolWrapper, NativeSymbol); - var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; - symbolPrototype.constructor = SymbolWrapper; - var symbolToString = symbolPrototype.toString; - var native = String(NativeSymbol('test')) == 'Symbol(test)'; - var regexp = /^Symbol\((.*)\)[^)]+$/; - defineProperty(symbolPrototype, 'description', { - configurable: true, - get: function description() { - var symbol = isObject(this) ? this.valueOf() : this; - var string = symbolToString.call(symbol); - if (has(EmptyStringDescriptionStore, symbol)) return ''; - var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); - return desc === '' ? undefined : desc; - } - }); - $({ - global: true, - forced: true - }, { - Symbol: SymbolWrapper - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.has-instance.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.has-instance.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.hasInstance` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.hasinstance - - -defineWellKnownSymbol('hasInstance'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js": -/*!************************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.isConcatSpreadable` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable - - -defineWellKnownSymbol('isConcatSpreadable'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.iterator.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.iterator.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.iterator` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.iterator - - -defineWellKnownSymbol('iterator'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); - -var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); - -var nativeObjectCreate = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); - -var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); - -var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js"); - -var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); - -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); - -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); - -var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); - -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); - -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); - -var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js"); - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; - -var HIDDEN = sharedKey('hidden'); -var SYMBOL = 'Symbol'; -var PROTOTYPE = 'prototype'; -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(SYMBOL); -var ObjectPrototype = Object[PROTOTYPE]; -var $Symbol = global.Symbol; -var $stringify = getBuiltIn('JSON', 'stringify'); -var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; -var nativeDefineProperty = definePropertyModule.f; -var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; -var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; -var AllSymbols = shared('symbols'); -var ObjectPrototypeSymbols = shared('op-symbols'); -var StringToSymbolRegistry = shared('string-to-symbol-registry'); -var SymbolToStringRegistry = shared('symbol-to-string-registry'); -var WellKnownSymbolsStore = shared('wks'); -var QObject = global.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 - -var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 - -var setSymbolDescriptor = DESCRIPTORS && fails(function () { - return nativeObjectCreate(nativeDefineProperty({}, 'a', { - get: function get() { - return nativeDefineProperty(this, 'a', { - value: 7 - }).a; - } - })).a != 7; -}) ? function (O, P, Attributes) { - var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); - if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; - nativeDefineProperty(O, P, Attributes); - - if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { - nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); - } -} : nativeDefineProperty; - -var wrap = function wrap(tag, description) { - var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); - setInternalState(symbol, { - type: SYMBOL, - tag: tag, - description: description - }); - if (!DESCRIPTORS) symbol.description = description; - return symbol; -}; - -var isSymbol = USE_SYMBOL_AS_UID ? function (it) { - return _typeof(it) == 'symbol'; -} : function (it) { - return Object(it) instanceof $Symbol; -}; - -var $defineProperty = function defineProperty(O, P, Attributes) { - if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); - anObject(O); - var key = toPrimitive(P, true); - anObject(Attributes); - - if (has(AllSymbols, key)) { - if (!Attributes.enumerable) { - if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); - O[HIDDEN][key] = true; - } else { - if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; - Attributes = nativeObjectCreate(Attributes, { - enumerable: createPropertyDescriptor(0, false) - }); - } - - return setSymbolDescriptor(O, key, Attributes); - } - - return nativeDefineProperty(O, key, Attributes); -}; - -var $defineProperties = function defineProperties(O, Properties) { - anObject(O); - var properties = toIndexedObject(Properties); - var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); - $forEach(keys, function (key) { - if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); - }); - return O; -}; - -var $create = function create(O, Properties) { - return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); -}; - -var $propertyIsEnumerable = function propertyIsEnumerable(V) { - var P = toPrimitive(V, true); - var enumerable = nativePropertyIsEnumerable.call(this, P); - if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; - return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; -}; - -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { - var it = toIndexedObject(O); - var key = toPrimitive(P, true); - if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; - var descriptor = nativeGetOwnPropertyDescriptor(it, key); - - if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { - descriptor.enumerable = true; - } - - return descriptor; -}; - -var $getOwnPropertyNames = function getOwnPropertyNames(O) { - var names = nativeGetOwnPropertyNames(toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); - }); - return result; -}; - -var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { - var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; - var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { - result.push(AllSymbols[key]); - } - }); - return result; -}; // `Symbol` constructor -// https://tc39.es/ecma262/#sec-symbol-constructor - - -if (!NATIVE_SYMBOL) { - $Symbol = function _Symbol() { - if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); - var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); - var tag = uid(description); - - var setter = function setter(value) { - if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); - }; - - if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { - configurable: true, - set: setter - }); - return wrap(tag, description); - }; - - redefine($Symbol[PROTOTYPE], 'toString', function toString() { - return getInternalState(this).tag; - }); - redefine($Symbol, 'withoutSetter', function (description) { - return wrap(uid(description), description); - }); - propertyIsEnumerableModule.f = $propertyIsEnumerable; - definePropertyModule.f = $defineProperty; - getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; - getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; - getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; - - wrappedWellKnownSymbolModule.f = function (name) { - return wrap(wellKnownSymbol(name), name); - }; - - if (DESCRIPTORS) { - // https://github.com/tc39/proposal-Symbol-description - nativeDefineProperty($Symbol[PROTOTYPE], 'description', { - configurable: true, - get: function description() { - return getInternalState(this).description; - } - }); - - if (!IS_PURE) { - redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { - unsafe: true - }); - } - } -} - -$({ - global: true, - wrap: true, - forced: !NATIVE_SYMBOL, - sham: !NATIVE_SYMBOL -}, { - Symbol: $Symbol -}); -$forEach(objectKeys(WellKnownSymbolsStore), function (name) { - defineWellKnownSymbol(name); -}); -$({ - target: SYMBOL, - stat: true, - forced: !NATIVE_SYMBOL -}, { - // `Symbol.for` method - // https://tc39.es/ecma262/#sec-symbol.for - 'for': function _for(key) { - var string = String(key); - if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; - var symbol = $Symbol(string); - StringToSymbolRegistry[string] = symbol; - SymbolToStringRegistry[symbol] = string; - return symbol; - }, - // `Symbol.keyFor` method - // https://tc39.es/ecma262/#sec-symbol.keyfor - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); - if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; - }, - useSetter: function useSetter() { - USE_SETTER = true; - }, - useSimple: function useSimple() { - USE_SETTER = false; - } -}); -$({ - target: 'Object', - stat: true, - forced: !NATIVE_SYMBOL, - sham: !DESCRIPTORS -}, { - // `Object.create` method - // https://tc39.es/ecma262/#sec-object.create - create: $create, - // `Object.defineProperty` method - // https://tc39.es/ecma262/#sec-object.defineproperty - defineProperty: $defineProperty, - // `Object.defineProperties` method - // https://tc39.es/ecma262/#sec-object.defineproperties - defineProperties: $defineProperties, - // `Object.getOwnPropertyDescriptor` method - // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors - getOwnPropertyDescriptor: $getOwnPropertyDescriptor -}); -$({ - target: 'Object', - stat: true, - forced: !NATIVE_SYMBOL -}, { - // `Object.getOwnPropertyNames` method - // https://tc39.es/ecma262/#sec-object.getownpropertynames - getOwnPropertyNames: $getOwnPropertyNames, - // `Object.getOwnPropertySymbols` method - // https://tc39.es/ecma262/#sec-object.getownpropertysymbols - getOwnPropertySymbols: $getOwnPropertySymbols -}); // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives -// https://bugs.chromium.org/p/v8/issues/detail?id=3443 - -$({ - target: 'Object', - stat: true, - forced: fails(function () { - getOwnPropertySymbolsModule.f(1); - }) -}, { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - return getOwnPropertySymbolsModule.f(toObject(it)); - } -}); // `JSON.stringify` method behavior with symbols -// https://tc39.es/ecma262/#sec-json.stringify - -if ($stringify) { - var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { - var symbol = $Symbol(); // MS Edge converts symbol values to JSON as {} - - return $stringify([symbol]) != '[null]' // WebKit converts symbol values to JSON as null - || $stringify({ - a: symbol - }) != '{}' // V8 throws on boxed symbols - || $stringify(Object(symbol)) != '{}'; - }); - $({ - target: 'JSON', - stat: true, - forced: FORCED_JSON_STRINGIFY - }, { - // eslint-disable-next-line no-unused-vars - stringify: function stringify(it, replacer, space) { - var args = [it]; - var index = 1; - var $replacer; - - while (arguments.length > index) { - args.push(arguments[index++]); - } - - $replacer = replacer; - if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - - if (!isArray(replacer)) replacer = function replacer(key, value) { - if (typeof $replacer == 'function') value = $replacer.call(this, key, value); - if (!isSymbol(value)) return value; - }; - args[1] = replacer; - return $stringify.apply(null, args); - } - }); -} // `Symbol.prototype[@@toPrimitive]` method -// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive - - -if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { - createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); -} // `Symbol.prototype[@@toStringTag]` property -// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag - - -setToStringTag($Symbol, SYMBOL); -hiddenKeys[HIDDEN] = true; - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.match.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.match.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.match` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.match - - -defineWellKnownSymbol('match'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.replace.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.replace.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.replace` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.replace - - -defineWellKnownSymbol('replace'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.search.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.search.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.search` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.search - - -defineWellKnownSymbol('search'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.species.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.species.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.species` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.species - - -defineWellKnownSymbol('species'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.split.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.split.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.split` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.split - - -defineWellKnownSymbol('split'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.to-primitive.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.to-primitive.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.toPrimitive` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.toprimitive - - -defineWellKnownSymbol('toPrimitive'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.to-string-tag.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.to-string-tag.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.toStringTag` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.tostringtag - - -defineWellKnownSymbol('toStringTag'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.symbol.unscopables.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.symbol.unscopables.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.unscopables` well-known symbol -// https://tc39.es/ecma262/#sec-symbol.unscopables - - -defineWellKnownSymbol('unscopables'); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.copy-within.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.copy-within.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $copyWithin = __webpack_require__(/*! ../internals/array-copy-within */ "./node_modules/core-js/internals/array-copy-within.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.copyWithin` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin - -exportTypedArrayMethod('copyWithin', function copyWithin(target, start -/* , end */ -) { - return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.every.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.every.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $every = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").every; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.every` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every - -exportTypedArrayMethod('every', function every(callbackfn -/* , thisArg */ -) { - return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.fill.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.fill.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.fill` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill -// eslint-disable-next-line no-unused-vars - -exportTypedArrayMethod('fill', function fill(value -/* , start, end */ -) { - return $fill.apply(aTypedArray(this), arguments); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.filter.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.filter.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").filter; - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.filter` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter - -exportTypedArrayMethod('filter', function filter(callbackfn -/* , thisArg */ -) { - var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var C = speciesConstructor(this, this.constructor); - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor(C))(length); - - while (length > index) { - result[index] = list[index++]; - } - - return result; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.find-index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.find-index.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $findIndex = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").findIndex; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.findIndex` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex - -exportTypedArrayMethod('findIndex', function findIndex(predicate -/* , thisArg */ -) { - return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.find.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.find.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $find = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").find; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.find` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find - -exportTypedArrayMethod('find', function find(predicate -/* , thisArg */ -) { - return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.float32-array.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.float32-array.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Float32Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Float32', function (init) { - return function Float32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.float64-array.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.float64-array.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Float64Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Float64', function (init) { - return function Float64Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.for-each.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.for-each.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.forEach` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach - -exportTypedArrayMethod('forEach', function forEach(callbackfn -/* , thisArg */ -) { - $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.from.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.from.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js"); - -var exportTypedArrayStaticMethod = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").exportTypedArrayStaticMethod; - -var typedArrayFrom = __webpack_require__(/*! ../internals/typed-array-from */ "./node_modules/core-js/internals/typed-array-from.js"); // `%TypedArray%.from` method -// https://tc39.es/ecma262/#sec-%typedarray%.from - - -exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.includes.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.includes.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.includes` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes - -exportTypedArrayMethod('includes', function includes(searchElement -/* , fromIndex */ -) { - return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.index-of.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.index-of.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.indexOf` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof - -exportTypedArrayMethod('indexOf', function indexOf(searchElement -/* , fromIndex */ -) { - return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.int16-array.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.int16-array.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Int16Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Int16', function (init) { - return function Int16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.int32-array.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.int32-array.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Int32Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Int32', function (init) { - return function Int32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.int8-array.js": -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.int8-array.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Int8Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Int8', function (init) { - return function Int8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.iterator.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.iterator.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var ArrayIterators = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var ITERATOR = wellKnownSymbol('iterator'); -var Uint8Array = global.Uint8Array; -var arrayValues = ArrayIterators.values; -var arrayKeys = ArrayIterators.keys; -var arrayEntries = ArrayIterators.entries; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; -var CORRECT_ITER_NAME = !!nativeTypedArrayIterator && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); - -var typedArrayValues = function values() { - return arrayValues.call(aTypedArray(this)); -}; // `%TypedArray%.prototype.entries` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries - - -exportTypedArrayMethod('entries', function entries() { - return arrayEntries.call(aTypedArray(this)); -}); // `%TypedArray%.prototype.keys` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys - -exportTypedArrayMethod('keys', function keys() { - return arrayKeys.call(aTypedArray(this)); -}); // `%TypedArray%.prototype.values` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values - -exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME); // `%TypedArray%.prototype[@@iterator]` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator - -exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.join.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.join.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var $join = [].join; // `%TypedArray%.prototype.join` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join -// eslint-disable-next-line no-unused-vars - -exportTypedArrayMethod('join', function join(separator) { - return $join.apply(aTypedArray(this), arguments); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.last-index-of.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.last-index-of.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $lastIndexOf = __webpack_require__(/*! ../internals/array-last-index-of */ "./node_modules/core-js/internals/array-last-index-of.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.lastIndexOf` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof -// eslint-disable-next-line no-unused-vars - -exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement -/* , fromIndex */ -) { - return $lastIndexOf.apply(aTypedArray(this), arguments); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.map.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.map.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map; - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.map` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map - -exportTypedArrayMethod('map', function map(mapfn -/* , thisArg */ -) { - return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { - return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length); - }); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.of.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.of.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js"); - -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; -var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; // `%TypedArray%.of` method -// https://tc39.es/ecma262/#sec-%typedarray%.of - -exportTypedArrayStaticMethod('of', function of() -/* ...items */ -{ - var index = 0; - var length = arguments.length; - var result = new (aTypedArrayConstructor(this))(length); - - while (length > index) { - result[index] = arguments[index++]; - } - - return result; -}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.reduce-right.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.reduce-right.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $reduceRight = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").right; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.reduceRicht` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright - -exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn -/* , initialValue */ -) { - return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.reduce.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.reduce.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").left; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.reduce` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce - -exportTypedArrayMethod('reduce', function reduce(callbackfn -/* , initialValue */ -) { - return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.reverse.js": -/*!****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.reverse.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var floor = Math.floor; // `%TypedArray%.prototype.reverse` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse - -exportTypedArrayMethod('reverse', function reverse() { - var that = this; - var length = aTypedArray(that).length; - var middle = floor(length / 2); - var index = 0; - var value; - - while (index < middle) { - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } - - return that; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.set.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.set.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toOffset = __webpack_require__(/*! ../internals/to-offset */ "./node_modules/core-js/internals/to-offset.js"); - -var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var FORCED = fails(function () { - // eslint-disable-next-line no-undef - new Int8Array(1).set({}); -}); // `%TypedArray%.prototype.set` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set - -exportTypedArrayMethod('set', function set(arrayLike -/* , offset */ -) { - aTypedArray(this); - var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); - var length = this.length; - var src = toObject(arrayLike); - var len = toLength(src.length); - var index = 0; - if (len + offset > length) throw RangeError('Wrong length'); - - while (index < len) { - this[offset + index] = src[index++]; - } -}, FORCED); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.slice.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.slice.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var $slice = [].slice; -var FORCED = fails(function () { - // eslint-disable-next-line no-undef - new Int8Array(1).slice(); -}); // `%TypedArray%.prototype.slice` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice - -exportTypedArrayMethod('slice', function slice(start, end) { - var list = $slice.call(aTypedArray(this), start, end); - var C = speciesConstructor(this, this.constructor); - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor(C))(length); - - while (length > index) { - result[index] = list[index++]; - } - - return result; -}, FORCED); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.some.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.some.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var $some = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").some; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.some` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some - -exportTypedArrayMethod('some', function some(callbackfn -/* , thisArg */ -) { - return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.sort.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.sort.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var $sort = [].sort; // `%TypedArray%.prototype.sort` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort - -exportTypedArrayMethod('sort', function sort(comparefn) { - return $sort.call(aTypedArray(this), comparefn); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.subarray.js": -/*!*****************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.subarray.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); - -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); - -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.subarray` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray - -exportTypedArrayMethod('subarray', function subarray(begin, end) { - var O = aTypedArray(this); - var length = O.length; - var beginIndex = toAbsoluteIndex(begin, length); - return new (speciesConstructor(O, O.constructor))(O.buffer, O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)); -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.to-locale-string.js": -/*!*************************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.to-locale-string.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var Int8Array = global.Int8Array; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -var $toLocaleString = [].toLocaleString; -var $slice = [].slice; // iOS Safari 6.x fails here - -var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { - $toLocaleString.call(new Int8Array(1)); -}); -var FORCED = fails(function () { - return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString(); -}) || !fails(function () { - Int8Array.prototype.toLocaleString.call([1, 2]); -}); // `%TypedArray%.prototype.toLocaleString` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring - -exportTypedArrayMethod('toLocaleString', function toLocaleString() { - return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments); -}, FORCED); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.to-string.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.to-string.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var exportTypedArrayMethod = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").exportTypedArrayMethod; - -var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var Uint8Array = global.Uint8Array; -var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; -var arrayToString = [].toString; -var arrayJoin = [].join; - -if (fails(function () { - arrayToString.call({}); -})) { - arrayToString = function toString() { - return arrayJoin.call(this); - }; -} - -var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString; // `%TypedArray%.prototype.toString` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring - -exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.uint16-array.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.uint16-array.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Uint16Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Uint16', function (init) { - return function Uint16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.uint32-array.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.uint32-array.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Uint32Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Uint32', function (init) { - return function Uint32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.uint8-array.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.uint8-array.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Uint8Array` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Uint8', function (init) { - return function Uint8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js": -/*!****************************************************************************!*\ - !*** ./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); // `Uint8ClampedArray` constructor -// https://tc39.es/ecma262/#sec-typedarray-objects - - -createTypedArrayConstructor('Uint8', function (init) { - return function Uint8ClampedArray(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}, true); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.weak-map.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/es.weak-map.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); - -var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js"); - -var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); - -var collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ "./node_modules/core-js/internals/collection-weak.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var enforceIternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").enforce; - -var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js"); - -var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; -var isExtensible = Object.isExtensible; -var InternalWeakMap; - -var wrapper = function wrapper(init) { - return function WeakMap() { - return init(this, arguments.length ? arguments[0] : undefined); - }; -}; // `WeakMap` constructor -// https://tc39.es/ecma262/#sec-weakmap-constructor - - -var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); // IE11 WeakMap frozen keys fix -// We can't use feature detection because it crash some old IE builds -// https://github.com/zloirock/core-js/issues/485 - -if (NATIVE_WEAK_MAP && IS_IE11) { - InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); - InternalMetadataModule.REQUIRED = true; - var WeakMapPrototype = $WeakMap.prototype; - var nativeDelete = WeakMapPrototype['delete']; - var nativeHas = WeakMapPrototype.has; - var nativeGet = WeakMapPrototype.get; - var nativeSet = WeakMapPrototype.set; - redefineAll(WeakMapPrototype, { - 'delete': function _delete(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - return nativeDelete.call(this, key) || state.frozen['delete'](key); - } - - return nativeDelete.call(this, key); - }, - has: function has(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - return nativeHas.call(this, key) || state.frozen.has(key); - } - - return nativeHas.call(this, key); - }, - get: function get(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); - } - - return nativeGet.call(this, key); - }, - set: function set(key, value) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); - } else nativeSet.call(this, key, value); - - return this; - } - }); -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/es.weak-set.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/es.weak-set.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); - -var collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ "./node_modules/core-js/internals/collection-weak.js"); // `WeakSet` constructor -// https://tc39.es/ecma262/#sec-weakset-constructor - - -collection('WeakSet', function (init) { - return function WeakSet() { - return init(this, arguments.length ? arguments[0] : undefined); - }; -}, collectionWeak); - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.dom-collections.for-each.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js"); - -var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; // some Chrome versions have non-configurable methods on DOMTokenList - - if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { - createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); - } catch (error) { - CollectionPrototype.forEach = forEach; - } -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.dom-collections.iterator.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js"); - -var ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); - -var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var ITERATOR = wellKnownSymbol('iterator'); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var ArrayValues = ArrayIteratorMethods.values; - -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - - if (CollectionPrototype) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[ITERATOR] !== ArrayValues) try { - createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); - } catch (error) { - CollectionPrototype[ITERATOR] = ArrayValues; - } - - if (!CollectionPrototype[TO_STRING_TAG]) { - createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); - } - - if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { - createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); - } catch (error) { - CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; - } - } - } -} - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.immediate.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/web.immediate.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js"); - -var FORCED = !global.setImmediate || !global.clearImmediate; // http://w3c.github.io/setImmediate/ - -$({ - global: true, - bind: true, - enumerable: true, - forced: FORCED -}, { - // `setImmediate` method - // http://w3c.github.io/setImmediate/#si-setImmediate - setImmediate: task.set, - // `clearImmediate` method - // http://w3c.github.io/setImmediate/#si-clearImmediate - clearImmediate: task.clear -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.queue-microtask.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/web.queue-microtask.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js"); - -var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); - -var process = global.process; // `queueMicrotask` method -// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask - -$({ - global: true, - enumerable: true, - noTargetGet: true -}, { - queueMicrotask: function queueMicrotask(fn) { - var domain = IS_NODE && process.domain; - microtask(domain ? domain.bind(fn) : fn); - } -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.url-search-params.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/web.url-search-params.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` - -__webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); - -var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var hasOwn = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); - -var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); - -var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); - -var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); - -var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); - -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); - -var getIterator = __webpack_require__(/*! ../internals/get-iterator */ "./node_modules/core-js/internals/get-iterator.js"); - -var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); - -var $fetch = getBuiltIn('fetch'); -var Headers = getBuiltIn('Headers'); -var ITERATOR = wellKnownSymbol('iterator'); -var URL_SEARCH_PARAMS = 'URLSearchParams'; -var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); -var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); -var plus = /\+/g; -var sequences = Array(4); - -var percentSequence = function percentSequence(bytes) { - return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); -}; - -var percentDecode = function percentDecode(sequence) { - try { - return decodeURIComponent(sequence); - } catch (error) { - return sequence; - } -}; - -var deserialize = function deserialize(it) { - var result = it.replace(plus, ' '); - var bytes = 4; - - try { - return decodeURIComponent(result); - } catch (error) { - while (bytes) { - result = result.replace(percentSequence(bytes--), percentDecode); - } - - return result; - } -}; - -var find = /[!'()~]|%20/g; -var replace = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+' -}; - -var replacer = function replacer(match) { - return replace[match]; -}; - -var serialize = function serialize(it) { - return encodeURIComponent(it).replace(find, replacer); -}; - -var parseSearchParams = function parseSearchParams(result, query) { - if (query) { - var attributes = query.split('&'); - var index = 0; - var attribute, entry; - - while (index < attributes.length) { - attribute = attributes[index++]; - - if (attribute.length) { - entry = attribute.split('='); - result.push({ - key: deserialize(entry.shift()), - value: deserialize(entry.join('=')) - }); - } - } - } -}; - -var updateSearchParams = function updateSearchParams(query) { - this.entries.length = 0; - parseSearchParams(this.entries, query); -}; - -var validateArgumentsLength = function validateArgumentsLength(passed, required) { - if (passed < required) throw TypeError('Not enough arguments'); -}; - -var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { - setInternalState(this, { - type: URL_SEARCH_PARAMS_ITERATOR, - iterator: getIterator(getInternalParamsState(params).entries), - kind: kind - }); -}, 'Iterator', function next() { - var state = getInternalIteratorState(this); - var kind = state.kind; - var step = state.iterator.next(); - var entry = step.value; - - if (!step.done) { - step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; - } - - return step; -}); // `URLSearchParams` constructor -// https://url.spec.whatwg.org/#interface-urlsearchparams - -var URLSearchParamsConstructor = function URLSearchParams() -/* init */ -{ - anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); - var init = arguments.length > 0 ? arguments[0] : undefined; - var that = this; - var entries = []; - var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; - setInternalState(that, { - type: URL_SEARCH_PARAMS, - entries: entries, - updateURL: function updateURL() { - /* empty */ - }, - updateSearchParams: updateSearchParams - }); - - if (init !== undefined) { - if (isObject(init)) { - iteratorMethod = getIteratorMethod(init); - - if (typeof iteratorMethod === 'function') { - iterator = iteratorMethod.call(init); - next = iterator.next; - - while (!(step = next.call(iterator)).done) { - entryIterator = getIterator(anObject(step.value)); - entryNext = entryIterator.next; - if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done) throw TypeError('Expected sequence with length 2'); - entries.push({ - key: first.value + '', - value: second.value + '' - }); - } - } else for (key in init) { - if (hasOwn(init, key)) entries.push({ - key: key, - value: init[key] + '' - }); - } - } else { - parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); - } - } -}; - -var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; -redefineAll(URLSearchParamsPrototype, { - // `URLSearchParams.prototype.append` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-append - append: function append(name, value) { - validateArgumentsLength(arguments.length, 2); - var state = getInternalParamsState(this); - state.entries.push({ - key: name + '', - value: value + '' - }); - state.updateURL(); - }, - // `URLSearchParams.prototype.delete` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-delete - 'delete': function _delete(name) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var key = name + ''; - var index = 0; - - while (index < entries.length) { - if (entries[index].key === key) entries.splice(index, 1);else index++; - } - - state.updateURL(); - }, - // `URLSearchParams.prototype.get` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-get - get: function get(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - - for (; index < entries.length; index++) { - if (entries[index].key === key) return entries[index].value; - } - - return null; - }, - // `URLSearchParams.prototype.getAll` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-getall - getAll: function getAll(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var result = []; - var index = 0; - - for (; index < entries.length; index++) { - if (entries[index].key === key) result.push(entries[index].value); - } - - return result; - }, - // `URLSearchParams.prototype.has` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-has - has: function has(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - - while (index < entries.length) { - if (entries[index++].key === key) return true; - } - - return false; - }, - // `URLSearchParams.prototype.set` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-set - set: function set(name, value) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var found = false; - var key = name + ''; - var val = value + ''; - var index = 0; - var entry; - - for (; index < entries.length; index++) { - entry = entries[index]; - - if (entry.key === key) { - if (found) entries.splice(index--, 1);else { - found = true; - entry.value = val; - } - } - } - - if (!found) entries.push({ - key: key, - value: val - }); - state.updateURL(); - }, - // `URLSearchParams.prototype.sort` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-sort - sort: function sort() { - var state = getInternalParamsState(this); - var entries = state.entries; // Array#sort is not stable in some engines - - var slice = entries.slice(); - var entry, entriesIndex, sliceIndex; - entries.length = 0; - - for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { - entry = slice[sliceIndex]; - - for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { - if (entries[entriesIndex].key > entry.key) { - entries.splice(entriesIndex, 0, entry); - break; - } - } - - if (entriesIndex === sliceIndex) entries.push(entry); - } - - state.updateURL(); - }, - // `URLSearchParams.prototype.forEach` method - forEach: function forEach(callback - /* , thisArg */ - ) { - var entries = getInternalParamsState(this).entries; - var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); - var index = 0; - var entry; - - while (index < entries.length) { - entry = entries[index++]; - boundFunction(entry.value, entry.key, this); - } - }, - // `URLSearchParams.prototype.keys` method - keys: function keys() { - return new URLSearchParamsIterator(this, 'keys'); - }, - // `URLSearchParams.prototype.values` method - values: function values() { - return new URLSearchParamsIterator(this, 'values'); - }, - // `URLSearchParams.prototype.entries` method - entries: function entries() { - return new URLSearchParamsIterator(this, 'entries'); - } -}, { - enumerable: true -}); // `URLSearchParams.prototype[@@iterator]` method - -redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); // `URLSearchParams.prototype.toString` method -// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior - -redefine(URLSearchParamsPrototype, 'toString', function toString() { - var entries = getInternalParamsState(this).entries; - var result = []; - var index = 0; - var entry; - - while (index < entries.length) { - entry = entries[index++]; - result.push(serialize(entry.key) + '=' + serialize(entry.value)); - } - - return result.join('&'); -}, { - enumerable: true -}); -setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); -$({ - global: true, - forced: !USE_NATIVE_URL -}, { - URLSearchParams: URLSearchParamsConstructor -}); // Wrap `fetch` for correct work with polyfilled `URLSearchParams` -// https://github.com/zloirock/core-js/issues/674 - -if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { - $({ - global: true, - enumerable: true, - forced: true - }, { - fetch: function fetch(input - /* , init */ - ) { - var args = [input]; - var init, body, headers; - - if (arguments.length > 1) { - init = arguments[1]; - - if (isObject(init)) { - body = init.body; - - if (classof(body) === URL_SEARCH_PARAMS) { - headers = init.headers ? new Headers(init.headers) : new Headers(); - - if (!headers.has('content-type')) { - headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); - } - - init = create(init, { - body: createPropertyDescriptor(0, String(body)), - headers: createPropertyDescriptor(0, headers) - }); - } - } - - args.push(init); - } - - return $fetch.apply(this, args); - } - }); -} - -module.exports = { - URLSearchParams: URLSearchParamsConstructor, - getState: getInternalParamsState -}; - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.url.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/web.url.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js"); - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); - -var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js"); - -var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); - -var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); - -var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); - -var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); - -var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); - -var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js"); - -var arrayFrom = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js"); - -var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt; - -var toASCII = __webpack_require__(/*! ../internals/string-punycode-to-ascii */ "./node_modules/core-js/internals/string-punycode-to-ascii.js"); - -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); - -var URLSearchParamsModule = __webpack_require__(/*! ../modules/web.url-search-params */ "./node_modules/core-js/modules/web.url-search-params.js"); - -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); - -var NativeURL = global.URL; -var URLSearchParams = URLSearchParamsModule.URLSearchParams; -var getInternalSearchParamsState = URLSearchParamsModule.getState; -var setInternalState = InternalStateModule.set; -var getInternalURLState = InternalStateModule.getterFor('URL'); -var floor = Math.floor; -var pow = Math.pow; -var INVALID_AUTHORITY = 'Invalid authority'; -var INVALID_SCHEME = 'Invalid scheme'; -var INVALID_HOST = 'Invalid host'; -var INVALID_PORT = 'Invalid port'; -var ALPHA = /[A-Za-z]/; -var ALPHANUMERIC = /[\d+-.A-Za-z]/; -var DIGIT = /\d/; -var HEX_START = /^(0x|0X)/; -var OCT = /^[0-7]+$/; -var DEC = /^\d+$/; -var HEX = /^[\dA-Fa-f]+$/; // eslint-disable-next-line no-control-regex - -var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; // eslint-disable-next-line no-control-regex - -var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; // eslint-disable-next-line no-control-regex - -var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; // eslint-disable-next-line no-control-regex - -var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; -var EOF; - -var parseHost = function parseHost(url, input) { - var result, codePoints, index; - - if (input.charAt(0) == '[') { - if (input.charAt(input.length - 1) != ']') return INVALID_HOST; - result = parseIPv6(input.slice(1, -1)); - if (!result) return INVALID_HOST; - url.host = result; // opaque host - } else if (!isSpecial(url)) { - if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; - result = ''; - codePoints = arrayFrom(input); - - for (index = 0; index < codePoints.length; index++) { - result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); - } - - url.host = result; - } else { - input = toASCII(input); - if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; - result = parseIPv4(input); - if (result === null) return INVALID_HOST; - url.host = result; - } -}; - -var parseIPv4 = function parseIPv4(input) { - var parts = input.split('.'); - var partsLength, numbers, index, part, radix, number, ipv4; - - if (parts.length && parts[parts.length - 1] == '') { - parts.pop(); - } - - partsLength = parts.length; - if (partsLength > 4) return input; - numbers = []; - - for (index = 0; index < partsLength; index++) { - part = parts[index]; - if (part == '') return input; - radix = 10; - - if (part.length > 1 && part.charAt(0) == '0') { - radix = HEX_START.test(part) ? 16 : 8; - part = part.slice(radix == 8 ? 1 : 2); - } - - if (part === '') { - number = 0; - } else { - if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; - number = parseInt(part, radix); - } - - numbers.push(number); - } - - for (index = 0; index < partsLength; index++) { - number = numbers[index]; - - if (index == partsLength - 1) { - if (number >= pow(256, 5 - partsLength)) return null; - } else if (number > 255) return null; - } - - ipv4 = numbers.pop(); - - for (index = 0; index < numbers.length; index++) { - ipv4 += numbers[index] * pow(256, 3 - index); - } - - return ipv4; -}; // eslint-disable-next-line max-statements - - -var parseIPv6 = function parseIPv6(input) { - var address = [0, 0, 0, 0, 0, 0, 0, 0]; - var pieceIndex = 0; - var compress = null; - var pointer = 0; - var value, length, numbersSeen, ipv4Piece, number, swaps, swap; - - var char = function char() { - return input.charAt(pointer); - }; - - if (char() == ':') { - if (input.charAt(1) != ':') return; - pointer += 2; - pieceIndex++; - compress = pieceIndex; - } - - while (char()) { - if (pieceIndex == 8) return; - - if (char() == ':') { - if (compress !== null) return; - pointer++; - pieceIndex++; - compress = pieceIndex; - continue; - } - - value = length = 0; - - while (length < 4 && HEX.test(char())) { - value = value * 16 + parseInt(char(), 16); - pointer++; - length++; - } - - if (char() == '.') { - if (length == 0) return; - pointer -= length; - if (pieceIndex > 6) return; - numbersSeen = 0; - - while (char()) { - ipv4Piece = null; - - if (numbersSeen > 0) { - if (char() == '.' && numbersSeen < 4) pointer++;else return; - } - - if (!DIGIT.test(char())) return; - - while (DIGIT.test(char())) { - number = parseInt(char(), 10); - if (ipv4Piece === null) ipv4Piece = number;else if (ipv4Piece == 0) return;else ipv4Piece = ipv4Piece * 10 + number; - if (ipv4Piece > 255) return; - pointer++; - } - - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - numbersSeen++; - if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; - } - - if (numbersSeen != 4) return; - break; - } else if (char() == ':') { - pointer++; - if (!char()) return; - } else if (char()) return; - - address[pieceIndex++] = value; - } - - if (compress !== null) { - swaps = pieceIndex - compress; - pieceIndex = 7; - - while (pieceIndex != 0 && swaps > 0) { - swap = address[pieceIndex]; - address[pieceIndex--] = address[compress + swaps - 1]; - address[compress + --swaps] = swap; - } - } else if (pieceIndex != 8) return; - - return address; -}; - -var findLongestZeroSequence = function findLongestZeroSequence(ipv6) { - var maxIndex = null; - var maxLength = 1; - var currStart = null; - var currLength = 0; - var index = 0; - - for (; index < 8; index++) { - if (ipv6[index] !== 0) { - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - - currStart = null; - currLength = 0; - } else { - if (currStart === null) currStart = index; - ++currLength; - } - } - - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - - return maxIndex; -}; - -var serializeHost = function serializeHost(host) { - var result, index, compress, ignore0; // ipv4 - - if (typeof host == 'number') { - result = []; - - for (index = 0; index < 4; index++) { - result.unshift(host % 256); - host = floor(host / 256); - } - - return result.join('.'); // ipv6 - } else if (_typeof(host) == 'object') { - result = ''; - compress = findLongestZeroSequence(host); - - for (index = 0; index < 8; index++) { - if (ignore0 && host[index] === 0) continue; - if (ignore0) ignore0 = false; - - if (compress === index) { - result += index ? ':' : '::'; - ignore0 = true; - } else { - result += host[index].toString(16); - if (index < 7) result += ':'; - } - } - - return '[' + result + ']'; - } - - return host; -}; - -var C0ControlPercentEncodeSet = {}; -var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { - ' ': 1, - '"': 1, - '<': 1, - '>': 1, - '`': 1 -}); -var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { - '#': 1, - '?': 1, - '{': 1, - '}': 1 -}); -var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { - '/': 1, - ':': 1, - ';': 1, - '=': 1, - '@': 1, - '[': 1, - '\\': 1, - ']': 1, - '^': 1, - '|': 1 -}); - -var percentEncode = function percentEncode(char, set) { - var code = codeAt(char, 0); - return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); -}; - -var specialSchemes = { - ftp: 21, - file: null, - http: 80, - https: 443, - ws: 80, - wss: 443 -}; - -var isSpecial = function isSpecial(url) { - return has(specialSchemes, url.scheme); -}; - -var includesCredentials = function includesCredentials(url) { - return url.username != '' || url.password != ''; -}; - -var cannotHaveUsernamePasswordPort = function cannotHaveUsernamePasswordPort(url) { - return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; -}; - -var isWindowsDriveLetter = function isWindowsDriveLetter(string, normalized) { - var second; - return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|'); -}; - -var startsWithWindowsDriveLetter = function startsWithWindowsDriveLetter(string) { - var third; - return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || (third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'); -}; - -var shortenURLsPath = function shortenURLsPath(url) { - var path = url.path; - var pathSize = path.length; - - if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { - path.pop(); - } -}; - -var isSingleDot = function isSingleDot(segment) { - return segment === '.' || segment.toLowerCase() === '%2e'; -}; - -var isDoubleDot = function isDoubleDot(segment) { - segment = segment.toLowerCase(); - return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; -}; // States: - - -var SCHEME_START = {}; -var SCHEME = {}; -var NO_SCHEME = {}; -var SPECIAL_RELATIVE_OR_AUTHORITY = {}; -var PATH_OR_AUTHORITY = {}; -var RELATIVE = {}; -var RELATIVE_SLASH = {}; -var SPECIAL_AUTHORITY_SLASHES = {}; -var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; -var AUTHORITY = {}; -var HOST = {}; -var HOSTNAME = {}; -var PORT = {}; -var FILE = {}; -var FILE_SLASH = {}; -var FILE_HOST = {}; -var PATH_START = {}; -var PATH = {}; -var CANNOT_BE_A_BASE_URL_PATH = {}; -var QUERY = {}; -var FRAGMENT = {}; // eslint-disable-next-line max-statements - -var parseURL = function parseURL(url, input, stateOverride, base) { - var state = stateOverride || SCHEME_START; - var pointer = 0; - var buffer = ''; - var seenAt = false; - var seenBracket = false; - var seenPasswordToken = false; - var codePoints, char, bufferCodePoints, failure; - - if (!stateOverride) { - url.scheme = ''; - url.username = ''; - url.password = ''; - url.host = null; - url.port = null; - url.path = []; - url.query = null; - url.fragment = null; - url.cannotBeABaseURL = false; - input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); - } - - input = input.replace(TAB_AND_NEW_LINE, ''); - codePoints = arrayFrom(input); - - while (pointer <= codePoints.length) { - char = codePoints[pointer]; - - switch (state) { - case SCHEME_START: - if (char && ALPHA.test(char)) { - buffer += char.toLowerCase(); - state = SCHEME; - } else if (!stateOverride) { - state = NO_SCHEME; - continue; - } else return INVALID_SCHEME; - - break; - - case SCHEME: - if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { - buffer += char.toLowerCase(); - } else if (char == ':') { - if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host)) return; - url.scheme = buffer; - - if (stateOverride) { - if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; - return; - } - - buffer = ''; - - if (url.scheme == 'file') { - state = FILE; - } else if (isSpecial(url) && base && base.scheme == url.scheme) { - state = SPECIAL_RELATIVE_OR_AUTHORITY; - } else if (isSpecial(url)) { - state = SPECIAL_AUTHORITY_SLASHES; - } else if (codePoints[pointer + 1] == '/') { - state = PATH_OR_AUTHORITY; - pointer++; - } else { - url.cannotBeABaseURL = true; - url.path.push(''); - state = CANNOT_BE_A_BASE_URL_PATH; - } - } else if (!stateOverride) { - buffer = ''; - state = NO_SCHEME; - pointer = 0; - continue; - } else return INVALID_SCHEME; - - break; - - case NO_SCHEME: - if (!base || base.cannotBeABaseURL && char != '#') return INVALID_SCHEME; - - if (base.cannotBeABaseURL && char == '#') { - url.scheme = base.scheme; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - url.cannotBeABaseURL = true; - state = FRAGMENT; - break; - } - - state = base.scheme == 'file' ? FILE : RELATIVE; - continue; - - case SPECIAL_RELATIVE_OR_AUTHORITY: - if (char == '/' && codePoints[pointer + 1] == '/') { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - pointer++; - } else { - state = RELATIVE; - continue; - } - - break; - - case PATH_OR_AUTHORITY: - if (char == '/') { - state = AUTHORITY; - break; - } else { - state = PATH; - continue; - } - - case RELATIVE: - url.scheme = base.scheme; - - if (char == EOF) { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '/' || char == '\\' && isSpecial(url)) { - state = RELATIVE_SLASH; - } else if (char == '?') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.path.pop(); - state = PATH; - continue; - } - - break; - - case RELATIVE_SLASH: - if (isSpecial(url) && (char == '/' || char == '\\')) { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - } else if (char == '/') { - state = AUTHORITY; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - state = PATH; - continue; - } - - break; - - case SPECIAL_AUTHORITY_SLASHES: - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - if (char != '/' || buffer.charAt(pointer + 1) != '/') continue; - pointer++; - break; - - case SPECIAL_AUTHORITY_IGNORE_SLASHES: - if (char != '/' && char != '\\') { - state = AUTHORITY; - continue; - } - - break; - - case AUTHORITY: - if (char == '@') { - if (seenAt) buffer = '%40' + buffer; - seenAt = true; - bufferCodePoints = arrayFrom(buffer); - - for (var i = 0; i < bufferCodePoints.length; i++) { - var codePoint = bufferCodePoints[i]; - - if (codePoint == ':' && !seenPasswordToken) { - seenPasswordToken = true; - continue; - } - - var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); - if (seenPasswordToken) url.password += encodedCodePoints;else url.username += encodedCodePoints; - } - - buffer = ''; - } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) { - if (seenAt && buffer == '') return INVALID_AUTHORITY; - pointer -= arrayFrom(buffer).length + 1; - buffer = ''; - state = HOST; - } else buffer += char; - - break; - - case HOST: - case HOSTNAME: - if (stateOverride && url.scheme == 'file') { - state = FILE_HOST; - continue; - } else if (char == ':' && !seenBracket) { - if (buffer == '') return INVALID_HOST; - failure = parseHost(url, buffer); - if (failure) return failure; - buffer = ''; - state = PORT; - if (stateOverride == HOSTNAME) return; - } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) { - if (isSpecial(url) && buffer == '') return INVALID_HOST; - if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; - failure = parseHost(url, buffer); - if (failure) return failure; - buffer = ''; - state = PATH_START; - if (stateOverride) return; - continue; - } else { - if (char == '[') seenBracket = true;else if (char == ']') seenBracket = false; - buffer += char; - } - - break; - - case PORT: - if (DIGIT.test(char)) { - buffer += char; - } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) { - if (buffer != '') { - var port = parseInt(buffer, 10); - if (port > 0xFFFF) return INVALID_PORT; - url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port; - buffer = ''; - } - - if (stateOverride) return; - state = PATH_START; - continue; - } else return INVALID_PORT; - - break; - - case FILE: - url.scheme = 'file'; - if (char == '/' || char == '\\') state = FILE_SLASH;else if (base && base.scheme == 'file') { - if (char == EOF) { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '?') { - url.host = base.host; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - url.host = base.host; - url.path = base.path.slice(); - shortenURLsPath(url); - } - - state = PATH; - continue; - } - } else { - state = PATH; - continue; - } - break; - - case FILE_SLASH: - if (char == '/' || char == '\\') { - state = FILE_HOST; - break; - } - - if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);else url.host = base.host; - } - - state = PATH; - continue; - - case FILE_HOST: - if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { - if (!stateOverride && isWindowsDriveLetter(buffer)) { - state = PATH; - } else if (buffer == '') { - url.host = ''; - if (stateOverride) return; - state = PATH_START; - } else { - failure = parseHost(url, buffer); - if (failure) return failure; - if (url.host == 'localhost') url.host = ''; - if (stateOverride) return; - buffer = ''; - state = PATH_START; - } - - continue; - } else buffer += char; - - break; - - case PATH_START: - if (isSpecial(url)) { - state = PATH; - if (char != '/' && char != '\\') continue; - } else if (!stateOverride && char == '?') { - url.query = ''; - state = QUERY; - } else if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - state = PATH; - if (char != '/') continue; - } - - break; - - case PATH: - if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) { - if (isDoubleDot(buffer)) { - shortenURLsPath(url); - - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else if (isSingleDot(buffer)) { - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else { - if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { - if (url.host) url.host = ''; - buffer = buffer.charAt(0) + ':'; // normalize windows drive letter - } - - url.path.push(buffer); - } - - buffer = ''; - - if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { - while (url.path.length > 1 && url.path[0] === '') { - url.path.shift(); - } - } - - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } - } else { - buffer += percentEncode(char, pathPercentEncodeSet); - } - - break; - - case CANNOT_BE_A_BASE_URL_PATH: - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); - } - - break; - - case QUERY: - if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - if (char == "'" && isSpecial(url)) url.query += '%27';else if (char == '#') url.query += '%23';else url.query += percentEncode(char, C0ControlPercentEncodeSet); - } - - break; - - case FRAGMENT: - if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet); - break; - } - - pointer++; - } -}; // `URL` constructor -// https://url.spec.whatwg.org/#url-class - - -var URLConstructor = function URL(url -/* , base */ -) { - var that = anInstance(this, URLConstructor, 'URL'); - var base = arguments.length > 1 ? arguments[1] : undefined; - var urlString = String(url); - var state = setInternalState(that, { - type: 'URL' - }); - var baseState, failure; - - if (base !== undefined) { - if (base instanceof URLConstructor) baseState = getInternalURLState(base);else { - failure = parseURL(baseState = {}, String(base)); - if (failure) throw TypeError(failure); - } - } - - failure = parseURL(state, urlString, null, baseState); - if (failure) throw TypeError(failure); - var searchParams = state.searchParams = new URLSearchParams(); - var searchParamsState = getInternalSearchParamsState(searchParams); - searchParamsState.updateSearchParams(state.query); - - searchParamsState.updateURL = function () { - state.query = String(searchParams) || null; - }; - - if (!DESCRIPTORS) { - that.href = serializeURL.call(that); - that.origin = getOrigin.call(that); - that.protocol = getProtocol.call(that); - that.username = getUsername.call(that); - that.password = getPassword.call(that); - that.host = getHost.call(that); - that.hostname = getHostname.call(that); - that.port = getPort.call(that); - that.pathname = getPathname.call(that); - that.search = getSearch.call(that); - that.searchParams = getSearchParams.call(that); - that.hash = getHash.call(that); - } -}; - -var URLPrototype = URLConstructor.prototype; - -var serializeURL = function serializeURL() { - var url = getInternalURLState(this); - var scheme = url.scheme; - var username = url.username; - var password = url.password; - var host = url.host; - var port = url.port; - var path = url.path; - var query = url.query; - var fragment = url.fragment; - var output = scheme + ':'; - - if (host !== null) { - output += '//'; - - if (includesCredentials(url)) { - output += username + (password ? ':' + password : '') + '@'; - } - - output += serializeHost(host); - if (port !== null) output += ':' + port; - } else if (scheme == 'file') output += '//'; - - output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; - if (query !== null) output += '?' + query; - if (fragment !== null) output += '#' + fragment; - return output; -}; - -var getOrigin = function getOrigin() { - var url = getInternalURLState(this); - var scheme = url.scheme; - var port = url.port; - if (scheme == 'blob') try { - return new URL(scheme.path[0]).origin; - } catch (error) { - return 'null'; - } - if (scheme == 'file' || !isSpecial(url)) return 'null'; - return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); -}; - -var getProtocol = function getProtocol() { - return getInternalURLState(this).scheme + ':'; -}; - -var getUsername = function getUsername() { - return getInternalURLState(this).username; -}; - -var getPassword = function getPassword() { - return getInternalURLState(this).password; -}; - -var getHost = function getHost() { - var url = getInternalURLState(this); - var host = url.host; - var port = url.port; - return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port; -}; - -var getHostname = function getHostname() { - var host = getInternalURLState(this).host; - return host === null ? '' : serializeHost(host); -}; - -var getPort = function getPort() { - var port = getInternalURLState(this).port; - return port === null ? '' : String(port); -}; - -var getPathname = function getPathname() { - var url = getInternalURLState(this); - var path = url.path; - return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; -}; - -var getSearch = function getSearch() { - var query = getInternalURLState(this).query; - return query ? '?' + query : ''; -}; - -var getSearchParams = function getSearchParams() { - return getInternalURLState(this).searchParams; -}; - -var getHash = function getHash() { - var fragment = getInternalURLState(this).fragment; - return fragment ? '#' + fragment : ''; -}; - -var accessorDescriptor = function accessorDescriptor(getter, setter) { - return { - get: getter, - set: setter, - configurable: true, - enumerable: true - }; -}; - -if (DESCRIPTORS) { - defineProperties(URLPrototype, { - // `URL.prototype.href` accessors pair - // https://url.spec.whatwg.org/#dom-url-href - href: accessorDescriptor(serializeURL, function (href) { - var url = getInternalURLState(this); - var urlString = String(href); - var failure = parseURL(url, urlString); - if (failure) throw TypeError(failure); - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - // `URL.prototype.origin` getter - // https://url.spec.whatwg.org/#dom-url-origin - origin: accessorDescriptor(getOrigin), - // `URL.prototype.protocol` accessors pair - // https://url.spec.whatwg.org/#dom-url-protocol - protocol: accessorDescriptor(getProtocol, function (protocol) { - var url = getInternalURLState(this); - parseURL(url, String(protocol) + ':', SCHEME_START); - }), - // `URL.prototype.username` accessors pair - // https://url.spec.whatwg.org/#dom-url-username - username: accessorDescriptor(getUsername, function (username) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(username)); - if (cannotHaveUsernamePasswordPort(url)) return; - url.username = ''; - - for (var i = 0; i < codePoints.length; i++) { - url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - // `URL.prototype.password` accessors pair - // https://url.spec.whatwg.org/#dom-url-password - password: accessorDescriptor(getPassword, function (password) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(password)); - if (cannotHaveUsernamePasswordPort(url)) return; - url.password = ''; - - for (var i = 0; i < codePoints.length; i++) { - url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - // `URL.prototype.host` accessors pair - // https://url.spec.whatwg.org/#dom-url-host - host: accessorDescriptor(getHost, function (host) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) return; - parseURL(url, String(host), HOST); - }), - // `URL.prototype.hostname` accessors pair - // https://url.spec.whatwg.org/#dom-url-hostname - hostname: accessorDescriptor(getHostname, function (hostname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) return; - parseURL(url, String(hostname), HOSTNAME); - }), - // `URL.prototype.port` accessors pair - // https://url.spec.whatwg.org/#dom-url-port - port: accessorDescriptor(getPort, function (port) { - var url = getInternalURLState(this); - if (cannotHaveUsernamePasswordPort(url)) return; - port = String(port); - if (port == '') url.port = null;else parseURL(url, port, PORT); - }), - // `URL.prototype.pathname` accessors pair - // https://url.spec.whatwg.org/#dom-url-pathname - pathname: accessorDescriptor(getPathname, function (pathname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) return; - url.path = []; - parseURL(url, pathname + '', PATH_START); - }), - // `URL.prototype.search` accessors pair - // https://url.spec.whatwg.org/#dom-url-search - search: accessorDescriptor(getSearch, function (search) { - var url = getInternalURLState(this); - search = String(search); - - if (search == '') { - url.query = null; - } else { - if ('?' == search.charAt(0)) search = search.slice(1); - url.query = ''; - parseURL(url, search, QUERY); - } - - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - // `URL.prototype.searchParams` getter - // https://url.spec.whatwg.org/#dom-url-searchparams - searchParams: accessorDescriptor(getSearchParams), - // `URL.prototype.hash` accessors pair - // https://url.spec.whatwg.org/#dom-url-hash - hash: accessorDescriptor(getHash, function (hash) { - var url = getInternalURLState(this); - hash = String(hash); - - if (hash == '') { - url.fragment = null; - return; - } - - if ('#' == hash.charAt(0)) hash = hash.slice(1); - url.fragment = ''; - parseURL(url, hash, FRAGMENT); - }) - }); -} // `URL.prototype.toJSON` method -// https://url.spec.whatwg.org/#dom-url-tojson - - -redefine(URLPrototype, 'toJSON', function toJSON() { - return serializeURL.call(this); -}, { - enumerable: true -}); // `URL.prototype.toString` method -// https://url.spec.whatwg.org/#URL-stringification-behavior - -redefine(URLPrototype, 'toString', function toString() { - return serializeURL.call(this); -}, { - enumerable: true -}); - -if (NativeURL) { - var nativeCreateObjectURL = NativeURL.createObjectURL; - var nativeRevokeObjectURL = NativeURL.revokeObjectURL; // `URL.createObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL - // eslint-disable-next-line no-unused-vars - - if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { - return nativeCreateObjectURL.apply(NativeURL, arguments); - }); // `URL.revokeObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL - // eslint-disable-next-line no-unused-vars - - if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { - return nativeRevokeObjectURL.apply(NativeURL, arguments); - }); -} - -setToStringTag(URLConstructor, 'URL'); -$({ - global: true, - forced: !USE_NATIVE_URL, - sham: !DESCRIPTORS -}, { - URL: URLConstructor -}); - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.url.to-json.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/web.url.to-json.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; - - -var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); // `URL.prototype.toJSON` method -// https://url.spec.whatwg.org/#dom-url-tojson - - -$({ - target: 'URL', - proto: true, - enumerable: true -}, { - toJSON: function toJSON() { - return URL.prototype.toString.call(this); - } -}); - -/***/ }), - -/***/ "./node_modules/lodash/_Symbol.js": -/*!****************************************!*\ - !*** ./node_modules/lodash/_Symbol.js ***! - \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); -/** Built-in value references. */ - - -var _Symbol = root.Symbol; -module.exports = _Symbol; - -/***/ }), - -/***/ "./node_modules/lodash/_baseGetTag.js": -/*!********************************************!*\ - !*** ./node_modules/lodash/_baseGetTag.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var _Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), - getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"), - objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js"); -/** `Object#toString` result references. */ - - -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; -/** Built-in value references. */ - -var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - - return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); -} - -module.exports = baseGetTag; - -/***/ }), - -/***/ "./node_modules/lodash/_baseTrim.js": -/*!******************************************!*\ - !*** ./node_modules/lodash/_baseTrim.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ "./node_modules/lodash/_trimmedEndIndex.js"); -/** Used to match leading whitespace. */ - - -var reTrimStart = /^\s+/; -/** - * The base implementation of `_.trim`. - * - * @private - * @param {string} string The string to trim. - * @returns {string} Returns the trimmed string. - */ - -function baseTrim(string) { - return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') : string; -} - -module.exports = baseTrim; - -/***/ }), - -/***/ "./node_modules/lodash/_freeGlobal.js": -/*!********************************************!*\ - !*** ./node_modules/lodash/_freeGlobal.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = (typeof __webpack_require__.g === "undefined" ? "undefined" : _typeof(__webpack_require__.g)) == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; -module.exports = freeGlobal; - -/***/ }), - -/***/ "./node_modules/lodash/_getRawTag.js": -/*!*******************************************!*\ - !*** ./node_modules/lodash/_getRawTag.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var _Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); -/** Used for built-in method references. */ - - -var objectProto = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString = objectProto.toString; -/** Built-in value references. */ - -var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - - return result; -} - -module.exports = getRawTag; - -/***/ }), - -/***/ "./node_modules/lodash/_objectToString.js": -/*!************************************************!*\ - !*** ./node_modules/lodash/_objectToString.js ***! - \************************************************/ -/***/ (function(module) { - -/** Used for built-in method references. */ -var objectProto = Object.prototype; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString = objectProto.toString; -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - -function objectToString(value) { - return nativeObjectToString.call(value); -} - -module.exports = objectToString; - -/***/ }), - -/***/ "./node_modules/lodash/_root.js": -/*!**************************************!*\ - !*** ./node_modules/lodash/_root.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); -/** Detect free variable `self`. */ - - -var freeSelf = (typeof self === "undefined" ? "undefined" : _typeof(self)) == 'object' && self && self.Object === Object && self; -/** Used as a reference to the global object. */ - -var root = freeGlobal || freeSelf || Function('return this')(); -module.exports = root; - -/***/ }), - -/***/ "./node_modules/lodash/_trimmedEndIndex.js": -/*!*************************************************!*\ - !*** ./node_modules/lodash/_trimmedEndIndex.js ***! - \*************************************************/ -/***/ (function(module) { - -/** Used to match a single whitespace character. */ -var reWhitespace = /\s/; -/** - * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the last non-whitespace character. - */ - -function trimmedEndIndex(string) { - var index = string.length; - - while (index-- && reWhitespace.test(string.charAt(index))) {} - - return index; -} - -module.exports = trimmedEndIndex; - -/***/ }), - -/***/ "./node_modules/lodash/debounce.js": -/*!*****************************************!*\ - !*** ./node_modules/lodash/debounce.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), - now = __webpack_require__(/*! ./now */ "./node_modules/lodash/now.js"), - toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js"); -/** Error message constants. */ - - -var FUNC_ERROR_TEXT = 'Expected a function'; -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeMax = Math.max, - nativeMin = Math.min; -/** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - -function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - - wait = toNumber(wait) || 0; - - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; // Start the timer for the trailing edge. - - timerId = setTimeout(timerExpired, wait); // Invoke the leading edge. - - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; - return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - - return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait; - } - - function timerExpired() { - var time = now(); - - if (shouldInvoke(time)) { - return trailingEdge(time); - } // Restart the timer. - - - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - - if (trailing && lastArgs) { - return invokeFunc(time); - } - - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - - if (maxing) { - // Handle invocations in a tight loop. - clearTimeout(timerId); - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - - return result; - } - - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; -} - -module.exports = debounce; - -/***/ }), - -/***/ "./node_modules/lodash/isObject.js": -/*!*****************************************!*\ - !*** ./node_modules/lodash/isObject.js ***! - \*****************************************/ -/***/ (function(module) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = _typeof(value); - - return value != null && (type == 'object' || type == 'function'); -} - -module.exports = isObject; - -/***/ }), - -/***/ "./node_modules/lodash/isObjectLike.js": -/*!*********************************************!*\ - !*** ./node_modules/lodash/isObjectLike.js ***! - \*********************************************/ -/***/ (function(module) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && _typeof(value) == 'object'; -} - -module.exports = isObjectLike; - -/***/ }), - -/***/ "./node_modules/lodash/isSymbol.js": -/*!*****************************************!*\ - !*** ./node_modules/lodash/isSymbol.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), - isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); -/** `Object#toString` result references. */ - - -var symbolTag = '[object Symbol]'; -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - -function isSymbol(value) { - return _typeof(value) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag; -} - -module.exports = isSymbol; - -/***/ }), - -/***/ "./node_modules/lodash/now.js": -/*!************************************!*\ - !*** ./node_modules/lodash/now.js ***! - \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); -/** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ - - -var now = function now() { - return root.Date.now(); -}; - -module.exports = now; - -/***/ }), - -/***/ "./node_modules/lodash/toNumber.js": -/*!*****************************************!*\ - !*** ./node_modules/lodash/toNumber.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -var baseTrim = __webpack_require__(/*! ./_baseTrim */ "./node_modules/lodash/_baseTrim.js"), - isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), - isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); -/** Used as references for various `Number` constants. */ - - -var NAN = 0 / 0; -/** Used to detect bad signed hexadecimal string values. */ - -var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; -/** Used to detect binary string values. */ - -var reIsBinary = /^0b[01]+$/i; -/** Used to detect octal string values. */ - -var reIsOctal = /^0o[0-7]+$/i; -/** Built-in method references without a dependency on `root`. */ - -var freeParseInt = parseInt; -/** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - -function toNumber(value) { - if (typeof value == 'number') { - return value; - } - - if (isSymbol(value)) { - return NAN; - } - - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? other + '' : other; - } - - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - - value = baseTrim(value); - var isBinary = reIsBinary.test(value); - return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; -} - -module.exports = toNumber; - -/***/ }), - -/***/ "./node_modules/nanoevents/index.js": -/*!******************************************!*\ - !*** ./node_modules/nanoevents/index.js ***! - \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "createNanoEvents": function() { return /* binding */ createNanoEvents; } -/* harmony export */ }); -function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -var createNanoEvents = function createNanoEvents() { - return { - events: {}, - emit: function emit(event) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var _iterator = _createForOfIteratorHelper(this.events[event] || []), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var i = _step.value; - i.apply(void 0, args); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - }, - on: function on(event, cb) { - var _this = this; - - ; - (this.events[event] = this.events[event] || []).push(cb); - return function () { - return _this.events[event] = _this.events[event].filter(function (i) { - return i !== cb; - }); - }; - } - }; -}; - - - -/***/ }), - -/***/ "./node_modules/regenerator-runtime/runtime.js": -/*!*****************************************************!*\ - !*** ./node_modules/regenerator-runtime/runtime.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -/* module decorator */ module = __webpack_require__.nmd(module); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -var runtime = function (exports) { - "use strict"; - - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - var undefined; // More compressible than void 0. - - var $Symbol = typeof Symbol === "function" ? Symbol : {}; - var iteratorSymbol = $Symbol.iterator || "@@iterator"; - var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; - var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - - function define(obj, key, value) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - return obj[key]; - } - - try { - // IE 8 has a broken Object.defineProperty that only works on DOM objects. - define({}, ""); - } catch (err) { - define = function define(obj, key, value) { - return obj[key] = value; - }; - } - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. - - generator._invoke = makeInvokeMethod(innerFn, self, context); - return generator; - } - - exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - - function tryCatch(fn, obj, arg) { - try { - return { - type: "normal", - arg: fn.call(obj, arg) - }; - } catch (err) { - return { - type: "throw", - arg: err - }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - - var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - - function Generator() {} - - function GeneratorFunction() {} - - function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that - // don't natively support it. - - - var IteratorPrototype = {}; - - IteratorPrototype[iteratorSymbol] = function () { - return this; - }; - - var getProto = Object.getPrototypeOf; - var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - - if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; - } - - var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; - GeneratorFunctionPrototype.constructor = GeneratorFunction; - GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the - // Iterator interface in terms of a single ._invoke method. - - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function (method) { - define(prototype, method, function (arg) { - return this._invoke(method, arg); - }); - }); - } - - exports.isGeneratorFunction = function (genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" : false; - }; - - exports.mark = function (genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; - define(genFun, toStringTagSymbol, "GeneratorFunction"); - } - - genFun.prototype = Object.create(Gp); - return genFun; - }; // Within the body of any async function, `await x` is transformed to - // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test - // `hasOwn.call(value, "__await")` to determine if the yielded value is - // meant to be awaited. - - - exports.awrap = function (arg) { - return { - __await: arg - }; - }; - - function AsyncIterator(generator, PromiseImpl) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; - - if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { - return PromiseImpl.resolve(value.__await).then(function (value) { - invoke("next", value, resolve, reject); - }, function (err) { - invoke("throw", err, resolve, reject); - }); - } - - return PromiseImpl.resolve(value).then(function (unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. - result.value = unwrapped; - resolve(result); - }, function (error) { - // If a rejected Promise was yielded, throw the rejection back - // into the async generator function so it can be handled there. - return invoke("throw", error, resolve, reject); - }); - } - } - - var previousPromise; - - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new PromiseImpl(function (resolve, reject) { - invoke(method, arg, resolve, reject); - }); - } - - return previousPromise = // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - } // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - - - this._invoke = enqueue; - } - - defineIteratorMethods(AsyncIterator.prototype); - - AsyncIterator.prototype[asyncIteratorSymbol] = function () { - return this; - }; - - exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of - // AsyncIterator objects; they just return a Promise for the value of - // the final result produced by the iterator. - - exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { - if (PromiseImpl === void 0) PromiseImpl = Promise; - var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); - return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function (result) { - return result.done ? result.value : iter.next(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - - - return doneResult(); - } - - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; - - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } - - context.dispatchException(context.arg); - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } - - state = GenStateExecuting; - var record = tryCatch(innerFn, self, context); - - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done ? GenStateCompleted : GenStateSuspendedYield; - - if (record.arg === ContinueSentinel) { - continue; - } - - return { - value: record.arg, - done: context.done - }; - } else if (record.type === "throw") { - state = GenStateCompleted; // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. - - context.method = "throw"; - context.arg = record.arg; - } - } - }; - } // Call delegate.iterator[context.method](context.arg) and handle the - // result, either by returning a { value, done } result from the - // delegate iterator, or by modifying context.method and context.arg, - // setting context.delegate to null, and returning the ContinueSentinel. - - - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - - if (method === undefined) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; - - if (context.method === "throw") { - // Note: ["return"] must be used for ES3 parsing compatibility. - if (delegate.iterator["return"]) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined; - maybeInvokeDelegate(delegate, context); - - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; - } - } - - context.method = "throw"; - context.arg = new TypeError("The iterator does not provide a 'throw' method"); - } - - return ContinueSentinel; - } - - var record = tryCatch(method, delegate.iterator, context.arg); - - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } - - var info = record.arg; - - if (!info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; - } - - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield). - - context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. - - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined; - } - } else { - // Re-yield the result returned by the delegate method. - return info; - } // The delegate iterator is finished, so forget it and continue with - // the outer generator. - - - context.delegate = null; - return ContinueSentinel; - } // Define Generator.prototype.{next,throw,return} in terms of the - // unified ._invoke helper method. - - - defineIteratorMethods(Gp); - define(Gp, toStringTagSymbol, "Generator"); // A Generator should always return itself as the iterator object when the - // @@iterator function is called on it. Some browsers' implementations of the - // iterator prototype chain incorrectly implement this, causing the Generator - // object to not be returned from this call. This ensures that doesn't happen. - // See https://github.com/facebook/regenerator/issues/274 for more details. - - Gp[iteratorSymbol] = function () { - return this; - }; - - Gp.toString = function () { - return "[object Generator]"; - }; - - function pushTryEntry(locs) { - var entry = { - tryLoc: locs[0] - }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ - tryLoc: "root" - }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); - } - - exports.keys = function (object) { - var keys = []; - - for (var key in object) { - keys.push(key); - } - - keys.reverse(); // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - - return function next() { - while (keys.length) { - var key = keys.pop(); - - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - - - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, - next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined; - next.done = true; - return next; - }; - - return next.next = next; - } - } // Return an iterator with no values. - - - return { - next: doneResult - }; - } - - exports.values = values; - - function doneResult() { - return { - value: undefined, - done: true - }; - } - - Context.prototype = { - constructor: Context, - reset: function reset(skipTempReset) { - this.prev = 0; - this.next = 0; // Resetting context._sent for legacy support of Babel's - // function.sent implementation. - - this.sent = this._sent = undefined; - this.done = false; - this.delegate = null; - this.method = "next"; - this.arg = undefined; - this.tryEntries.forEach(resetTryEntry); - - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { - this[name] = undefined; - } - } - } - }, - stop: function stop() { - this.done = true; - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - dispatchException: function dispatchException(exception) { - if (this.done) { - throw exception; - } - - var context = this; - - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined; - } - - return !!caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - abrupt: function abrupt(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - - if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - complete: function complete(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - finish: function finish(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - "catch": function _catch(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - - return thrown; - } - } // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - - - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined; - } - - return ContinueSentinel; - } - }; // Regardless of whether this script is executing as a CommonJS module - // or not, return the runtime object so that we can declare the variable - // regeneratorRuntime in the outer scope, which allows this module to be - // injected easily by `bin/regenerator --include-runtime script.js`. - - return exports; -}( // If this script is executing as a CommonJS module, use module.exports -// as the regeneratorRuntime namespace. Otherwise create a new empty -// object. Either way, the resulting object will be used to initialize -// the regeneratorRuntime variable at the top of this file. -( false ? 0 : _typeof(module)) === "object" ? module.exports : {}); - -try { - regeneratorRuntime = runtime; -} catch (accidentalStrictMode) { - // This module should not be running in strict mode, so the above - // assignment should always work unless something is misconfigured. Just - // in case runtime.js accidentally runs in strict mode, we can escape - // strict mode using a global Function call. This could conceivably fail - // if a Content Security Policy forbids using Function, but in that case - // the proper solution is to fix the accidental strict mode problem. If - // you've misconfigured your bundler to force strict mode and applied a - // CSP to forbid Function, and you're not willing to fix either of those - // problems, please detail your unique predicament in a GitHub issue. - Function("r", "regeneratorRuntime = r")(runtime); -} - -/***/ }), - -/***/ "./node_modules/screenfull/dist/screenfull.js": -/*!****************************************************!*\ - !*** ./node_modules/screenfull/dist/screenfull.js ***! - \****************************************************/ -/***/ (function(module) { - -/*! -* screenfull -* v5.1.0 - 2020-12-24 -* (c) Sindre Sorhus; MIT License -*/ -(function () { - 'use strict'; - - var document = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? window.document : {}; - var isCommonjs = true && module.exports; - - var fn = function () { - var val; - var fnMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror'], // New WebKit - ['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror'], // Old WebKit - ['webkitRequestFullScreen', 'webkitCancelFullScreen', 'webkitCurrentFullScreenElement', 'webkitCancelFullScreen', 'webkitfullscreenchange', 'webkitfullscreenerror'], ['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror'], ['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError']]; - var i = 0; - var l = fnMap.length; - var ret = {}; - - for (; i < l; i++) { - val = fnMap[i]; - - if (val && val[1] in document) { - for (i = 0; i < val.length; i++) { - ret[fnMap[0][i]] = val[i]; - } - - return ret; - } - } - - return false; - }(); - - var eventNameMap = { - change: fn.fullscreenchange, - error: fn.fullscreenerror - }; - var screenfull = { - request: function request(element, options) { - return new Promise(function (resolve, reject) { - var onFullScreenEntered = function () { - this.off('change', onFullScreenEntered); - resolve(); - }.bind(this); - - this.on('change', onFullScreenEntered); - element = element || document.documentElement; - var returnPromise = element[fn.requestFullscreen](options); - - if (returnPromise instanceof Promise) { - returnPromise.then(onFullScreenEntered).catch(reject); - } - }.bind(this)); - }, - exit: function exit() { - return new Promise(function (resolve, reject) { - if (!this.isFullscreen) { - resolve(); - return; - } - - var onFullScreenExit = function () { - this.off('change', onFullScreenExit); - resolve(); - }.bind(this); - - this.on('change', onFullScreenExit); - var returnPromise = document[fn.exitFullscreen](); - - if (returnPromise instanceof Promise) { - returnPromise.then(onFullScreenExit).catch(reject); - } - }.bind(this)); - }, - toggle: function toggle(element, options) { - return this.isFullscreen ? this.exit() : this.request(element, options); - }, - onchange: function onchange(callback) { - this.on('change', callback); - }, - onerror: function onerror(callback) { - this.on('error', callback); - }, - on: function on(event, callback) { - var eventName = eventNameMap[event]; - - if (eventName) { - document.addEventListener(eventName, callback, false); - } - }, - off: function off(event, callback) { - var eventName = eventNameMap[event]; - - if (eventName) { - document.removeEventListener(eventName, callback, false); - } - }, - raw: fn - }; - - if (!fn) { - if (isCommonjs) { - module.exports = { - isEnabled: false - }; - } else { - window.screenfull = { - isEnabled: false - }; - } - - return; - } - - Object.defineProperties(screenfull, { - isFullscreen: { - get: function get() { - return Boolean(document[fn.fullscreenElement]); - } - }, - element: { - enumerable: true, - get: function get() { - return document[fn.fullscreenElement]; - } - }, - isEnabled: { - enumerable: true, - get: function get() { - // Coerce to boolean in case of old WebKit - return Boolean(document[fn.fullscreenEnabled]); - } - } - }); - - if (isCommonjs) { - module.exports = screenfull; - } else { - window.screenfull = screenfull; - } -})(); - -/***/ }), - -/***/ "./node_modules/shepherd.js/dist/js/shepherd.esm.js": -/*!**********************************************************!*\ - !*** ./node_modules/shepherd.js/dist/js/shepherd.esm.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/*! shepherd.js 8.3.1 */ -var isMergeableObject = function isMergeableObject(value) { - return isNonNullObject(value) && !isSpecial(value); -}; - -function isNonNullObject(value) { - return !!value && _typeof(value) === 'object'; -} - -function isSpecial(value) { - var stringValue = Object.prototype.toString.call(value); - return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value); -} // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 - - -var canUseSymbol = typeof Symbol === 'function' && Symbol.for; -var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; - -function isReactElement(value) { - return value.$$typeof === REACT_ELEMENT_TYPE; -} - -function emptyTarget(val) { - return Array.isArray(val) ? [] : {}; -} - -function cloneUnlessOtherwiseSpecified(value, options) { - return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value; -} - -function defaultArrayMerge(target, source, options) { - return target.concat(source).map(function (element) { - return cloneUnlessOtherwiseSpecified(element, options); - }); -} - -function getMergeFunction(key, options) { - if (!options.customMerge) { - return deepmerge; - } - - var customMerge = options.customMerge(key); - return typeof customMerge === 'function' ? customMerge : deepmerge; -} - -function getEnumerableOwnPropertySymbols(target) { - return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function (symbol) { - return target.propertyIsEnumerable(symbol); - }) : []; -} - -function getKeys(target) { - return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)); -} - -function propertyIsOnObject(object, property) { - try { - return property in object; - } catch (_) { - return false; - } -} // Protects from prototype poisoning and unexpected merging up the prototype chain. - - -function propertyIsUnsafe(target, key) { - return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, - && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, - && Object.propertyIsEnumerable.call(target, key)); // and also unsafe if they're nonenumerable. -} - -function mergeObject(target, source, options) { - var destination = {}; - - if (options.isMergeableObject(target)) { - getKeys(target).forEach(function (key) { - destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); - }); - } - - getKeys(source).forEach(function (key) { - if (propertyIsUnsafe(target, key)) { - return; - } - - if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { - destination[key] = getMergeFunction(key, options)(target[key], source[key], options); - } else { - destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); - } - }); - return destination; -} - -function deepmerge(target, source, options) { - options = options || {}; - options.arrayMerge = options.arrayMerge || defaultArrayMerge; - options.isMergeableObject = options.isMergeableObject || isMergeableObject; // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge() - // implementations can use it. The caller may not replace it. - - options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified; - var sourceIsArray = Array.isArray(source); - var targetIsArray = Array.isArray(target); - var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; - - if (!sourceAndTargetTypesMatch) { - return cloneUnlessOtherwiseSpecified(source, options); - } else if (sourceIsArray) { - return options.arrayMerge(target, source, options); - } else { - return mergeObject(target, source, options); - } -} - -deepmerge.all = function deepmergeAll(array, options) { - if (!Array.isArray(array)) { - throw new Error('first argument should be an array'); - } - - return array.reduce(function (prev, next) { - return deepmerge(prev, next, options); - }, {}); -}; - -var deepmerge_1 = deepmerge; -var cjs = deepmerge_1; -/** - * Checks if `value` is classified as an `Element`. - * @param {*} value The param to check if it is an Element - */ - -function isElement$1(value) { - return value instanceof Element; -} -/** - * Checks if `value` is classified as an `HTMLElement`. - * @param {*} value The param to check if it is an HTMLElement - */ - - -function isHTMLElement$1(value) { - return value instanceof HTMLElement; -} -/** - * Checks if `value` is classified as a `Function` object. - * @param {*} value The param to check if it is a function - */ - - -function isFunction(value) { - return typeof value === 'function'; -} -/** - * Checks if `value` is classified as a `String` object. - * @param {*} value The param to check if it is a string - */ - - -function isString(value) { - return typeof value === 'string'; -} -/** - * Checks if `value` is undefined. - * @param {*} value The param to check if it is undefined - */ - - -function isUndefined(value) { - return value === undefined; -} - -var Evented = /*#__PURE__*/function () { - function Evented() { - _classCallCheck(this, Evented); - } - - _createClass(Evented, [{ - key: "on", - value: function on(event, handler, ctx) { - var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - - if (isUndefined(this.bindings)) { - this.bindings = {}; - } - - if (isUndefined(this.bindings[event])) { - this.bindings[event] = []; - } - - this.bindings[event].push({ - handler: handler, - ctx: ctx, - once: once - }); - return this; - } - }, { - key: "once", - value: function once(event, handler, ctx) { - return this.on(event, handler, ctx, true); - } - }, { - key: "off", - value: function off(event, handler) { - var _this = this; - - if (isUndefined(this.bindings) || isUndefined(this.bindings[event])) { - return this; - } - - if (isUndefined(handler)) { - delete this.bindings[event]; - } else { - this.bindings[event].forEach(function (binding, index) { - if (binding.handler === handler) { - _this.bindings[event].splice(index, 1); - } - }); - } - - return this; - } - }, { - key: "trigger", - value: function trigger(event) { - var _this2 = this; - - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - - if (!isUndefined(this.bindings) && this.bindings[event]) { - this.bindings[event].forEach(function (binding, index) { - var ctx = binding.ctx, - handler = binding.handler, - once = binding.once; - var context = ctx || _this2; - handler.apply(context, args); - - if (once) { - _this2.bindings[event].splice(index, 1); - } - }); - } - - return this; - } - }]); - - return Evented; -}(); -/** - * Binds all the methods on a JS Class to the `this` context of the class. - * Adapted from https://github.com/sindresorhus/auto-bind - * @param {object} self The `this` context of the class - * @return {object} The `this` context of the class - */ - - -function autoBind(self) { - var keys = Object.getOwnPropertyNames(self.constructor.prototype); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var val = self[key]; - - if (key !== 'constructor' && typeof val === 'function') { - self[key] = val.bind(self); - } - } - - return self; -} -/** - * Sets up the handler to determine if we should advance the tour - * @param {string} selector - * @param {Step} step The step instance - * @return {Function} - * @private - */ - - -function _setupAdvanceOnHandler(selector, step) { - return function (event) { - if (step.isOpen()) { - var targetIsEl = step.el && event.currentTarget === step.el; - var targetIsSelector = !isUndefined(selector) && event.currentTarget.matches(selector); - - if (targetIsSelector || targetIsEl) { - step.tour.next(); - } - } - }; -} -/** - * Bind the event handler for advanceOn - * @param {Step} step The step instance - */ - - -function bindAdvance(step) { - // An empty selector matches the step element - var _ref5 = step.options.advanceOn || {}, - event = _ref5.event, - selector = _ref5.selector; - - if (event) { - var handler = _setupAdvanceOnHandler(selector, step); // TODO: this should also bind/unbind on show/hide - - - var el; - - try { - el = document.querySelector(selector); - } catch (e) {// TODO - } - - if (!isUndefined(selector) && !el) { - return console.error("No element was found for the selector supplied to advanceOn: ".concat(selector)); - } else if (el) { - el.addEventListener(event, handler); - step.on('destroy', function () { - return el.removeEventListener(event, handler); - }); - } else { - document.body.addEventListener(event, handler, true); - step.on('destroy', function () { - return document.body.removeEventListener(event, handler, true); - }); - } - } else { - return console.error('advanceOn was defined, but no event name was passed.'); - } -} - -var top = 'top'; -var bottom = 'bottom'; -var right = 'right'; -var left = 'left'; -var auto = 'auto'; -var basePlacements = [top, bottom, right, left]; -var start = 'start'; -var end = 'end'; -var clippingParents = 'clippingParents'; -var viewport = 'viewport'; -var popper = 'popper'; -var reference = 'reference'; -var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { - return acc.concat([placement + "-" + start, placement + "-" + end]); -}, []); -var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { - return acc.concat([placement, placement + "-" + start, placement + "-" + end]); -}, []); // modifiers that need to read the DOM - -var beforeRead = 'beforeRead'; -var read = 'read'; -var afterRead = 'afterRead'; // pure-logic modifiers - -var beforeMain = 'beforeMain'; -var main = 'main'; -var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) - -var beforeWrite = 'beforeWrite'; -var write = 'write'; -var afterWrite = 'afterWrite'; -var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; - -function getNodeName(element) { - return element ? (element.nodeName || '').toLowerCase() : null; -} - -function getWindow(node) { - if (node == null) { - return window; - } - - if (node.toString() !== '[object Window]') { - var ownerDocument = node.ownerDocument; - return ownerDocument ? ownerDocument.defaultView || window : window; - } - - return node; -} - -function isElement(node) { - var OwnElement = getWindow(node).Element; - return node instanceof OwnElement || node instanceof Element; -} - -function isHTMLElement(node) { - var OwnElement = getWindow(node).HTMLElement; - return node instanceof OwnElement || node instanceof HTMLElement; -} - -function isShadowRoot(node) { - // IE 11 has no ShadowRoot - if (typeof ShadowRoot === 'undefined') { - return false; - } - - var OwnElement = getWindow(node).ShadowRoot; - return node instanceof OwnElement || node instanceof ShadowRoot; -} // and applies them to the HTMLElements such as popper and arrow - - -function applyStyles(_ref) { - var state = _ref.state; - Object.keys(state.elements).forEach(function (name) { - var style = state.styles[name] || {}; - var attributes = state.attributes[name] || {}; - var element = state.elements[name]; // arrow is optional + virtual elements - - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } // Flow doesn't support to extend this property, but it's the most - // effective way to apply styles to an HTMLElement - // $FlowFixMe[cannot-write] - - - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (name) { - var value = attributes[name]; - - if (value === false) { - element.removeAttribute(name); - } else { - element.setAttribute(name, value === true ? '' : value); - } - }); - }); -} - -function effect$2(_ref2) { - var state = _ref2.state; - var initialStyles = { - popper: { - position: state.options.strategy, - left: '0', - top: '0', - margin: '0' - }, - arrow: { - position: 'absolute' - }, - reference: {} - }; - Object.assign(state.elements.popper.style, initialStyles.popper); - state.styles = initialStyles; - - if (state.elements.arrow) { - Object.assign(state.elements.arrow.style, initialStyles.arrow); - } - - return function () { - Object.keys(state.elements).forEach(function (name) { - var element = state.elements[name]; - var attributes = state.attributes[name] || {}; - var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them - - var style = styleProperties.reduce(function (style, property) { - style[property] = ''; - return style; - }, {}); // arrow is optional + virtual elements - - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (attribute) { - element.removeAttribute(attribute); - }); - }); - }; -} // eslint-disable-next-line import/no-unused-modules - - -var applyStyles$1 = { - name: 'applyStyles', - enabled: true, - phase: 'write', - fn: applyStyles, - effect: effect$2, - requires: ['computeStyles'] -}; - -function getBasePlacement(placement) { - return placement.split('-')[0]; -} - -function getBoundingClientRect(element) { - var rect = element.getBoundingClientRect(); - return { - width: rect.width, - height: rect.height, - top: rect.top, - right: rect.right, - bottom: rect.bottom, - left: rect.left, - x: rect.left, - y: rect.top - }; -} // means it doesn't take into account transforms. - - -function getLayoutRect(element) { - var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed. - // Fixes https://github.com/popperjs/popper-core/issues/1223 - - var width = element.offsetWidth; - var height = element.offsetHeight; - - if (Math.abs(clientRect.width - width) <= 1) { - width = clientRect.width; - } - - if (Math.abs(clientRect.height - height) <= 1) { - height = clientRect.height; - } - - return { - x: element.offsetLeft, - y: element.offsetTop, - width: width, - height: height - }; -} - -function contains(parent, child) { - var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method - - if (parent.contains(child)) { - return true; - } // then fallback to custom implementation with Shadow DOM support - else if (rootNode && isShadowRoot(rootNode)) { - var next = child; - - do { - if (next && parent.isSameNode(next)) { - return true; - } // $FlowFixMe[prop-missing]: need a better way to handle this... - - - next = next.parentNode || next.host; - } while (next); - } // Give up, the result is false - - - return false; -} - -function getComputedStyle(element) { - return getWindow(element).getComputedStyle(element); -} - -function isTableElement(element) { - return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; -} - -function getDocumentElement(element) { - // $FlowFixMe[incompatible-return]: assume body is always available - return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] - element.document) || window.document).documentElement; -} - -function getParentNode(element) { - if (getNodeName(element) === 'html') { - return element; - } - - return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle - // $FlowFixMe[incompatible-return] - // $FlowFixMe[prop-missing] - element.assignedSlot || // step into the shadow DOM of the parent of a slotted node - element.parentNode || ( // DOM Element detected - isShadowRoot(element) ? element.host : null) || // ShadowRoot detected - // $FlowFixMe[incompatible-call]: HTMLElement is a Node - getDocumentElement(element) // fallback - - ); -} - -function getTrueOffsetParent(element) { - if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 - getComputedStyle(element).position === 'fixed') { - return null; - } - - return element.offsetParent; -} // `.offsetParent` reports `null` for fixed elements, while absolute elements -// return the containing block - - -function getContainingBlock(element) { - var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1; - var isIE = navigator.userAgent.indexOf('Trident') !== -1; - - if (isIE && isHTMLElement(element)) { - // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport - var elementCss = getComputedStyle(element); - - if (elementCss.position === 'fixed') { - return null; - } - } - - var currentNode = getParentNode(element); - - while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { - var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that - // create a containing block. - // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block - - if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { - return currentNode; - } else { - currentNode = currentNode.parentNode; - } - } - - return null; -} // Gets the closest ancestor positioned element. Handles some edge cases, -// such as table ancestors and cross browser bugs. - - -function getOffsetParent(element) { - var window = getWindow(element); - var offsetParent = getTrueOffsetParent(element); - - while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') { - offsetParent = getTrueOffsetParent(offsetParent); - } - - if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) { - return window; - } - - return offsetParent || getContainingBlock(element) || window; -} - -function getMainAxisFromPlacement(placement) { - return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; -} - -var max = Math.max; -var min = Math.min; -var round = Math.round; - -function within(min$1, value, max$1) { - return max(min$1, min(value, max$1)); -} - -function getFreshSideObject() { - return { - top: 0, - right: 0, - bottom: 0, - left: 0 - }; -} - -function mergePaddingObject(paddingObject) { - return Object.assign({}, getFreshSideObject(), paddingObject); -} - -function expandToHashMap(value, keys) { - return keys.reduce(function (hashMap, key) { - hashMap[key] = value; - return hashMap; - }, {}); -} - -var toPaddingObject = function toPaddingObject(padding, state) { - padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { - placement: state.placement - })) : padding; - return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); -}; - -function arrow(_ref) { - var _state$modifiersData$; - - var state = _ref.state, - name = _ref.name, - options = _ref.options; - var arrowElement = state.elements.arrow; - var popperOffsets = state.modifiersData.popperOffsets; - var basePlacement = getBasePlacement(state.placement); - var axis = getMainAxisFromPlacement(basePlacement); - var isVertical = [left, right].indexOf(basePlacement) >= 0; - var len = isVertical ? 'height' : 'width'; - - if (!arrowElement || !popperOffsets) { - return; - } - - var paddingObject = toPaddingObject(options.padding, state); - var arrowRect = getLayoutRect(arrowElement); - var minProp = axis === 'y' ? top : left; - var maxProp = axis === 'y' ? bottom : right; - var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; - var startDiff = popperOffsets[axis] - state.rects.reference[axis]; - var arrowOffsetParent = getOffsetParent(arrowElement); - var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; - var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is - // outside of the popper bounds - - var min = paddingObject[minProp]; - var max = clientSize - arrowRect[len] - paddingObject[maxProp]; - var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; - var offset = within(min, center, max); // Prevents breaking syntax highlighting... - - var axisProp = axis; - state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); -} - -function effect$1(_ref2) { - var state = _ref2.state, - options = _ref2.options; - var _options$element = options.element, - arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; - - if (arrowElement == null) { - return; - } // CSS selector - - - if (typeof arrowElement === 'string') { - arrowElement = state.elements.popper.querySelector(arrowElement); - - if (!arrowElement) { - return; - } - } - - if (!contains(state.elements.popper, arrowElement)) { - return; - } - - state.elements.arrow = arrowElement; -} // eslint-disable-next-line import/no-unused-modules - - -var arrow$1 = { - name: 'arrow', - enabled: true, - phase: 'main', - fn: arrow, - effect: effect$1, - requires: ['popperOffsets'], - requiresIfExists: ['preventOverflow'] -}; -var unsetSides = { - top: 'auto', - right: 'auto', - bottom: 'auto', - left: 'auto' -}; // Round the offsets to the nearest suitable subpixel based on the DPR. -// Zooming can change the DPR, but it seems to report a value that will -// cleanly divide the values into the appropriate subpixels. - -function roundOffsetsByDPR(_ref) { - var x = _ref.x, - y = _ref.y; - var win = window; - var dpr = win.devicePixelRatio || 1; - return { - x: round(round(x * dpr) / dpr) || 0, - y: round(round(y * dpr) / dpr) || 0 - }; -} - -function mapToStyles(_ref2) { - var _Object$assign2; - - var popper = _ref2.popper, - popperRect = _ref2.popperRect, - placement = _ref2.placement, - offsets = _ref2.offsets, - position = _ref2.position, - gpuAcceleration = _ref2.gpuAcceleration, - adaptive = _ref2.adaptive, - roundOffsets = _ref2.roundOffsets; - - var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets, - _ref3$x = _ref3.x, - x = _ref3$x === void 0 ? 0 : _ref3$x, - _ref3$y = _ref3.y, - y = _ref3$y === void 0 ? 0 : _ref3$y; - - var hasX = offsets.hasOwnProperty('x'); - var hasY = offsets.hasOwnProperty('y'); - var sideX = left; - var sideY = top; - var win = window; - - if (adaptive) { - var offsetParent = getOffsetParent(popper); - var heightProp = 'clientHeight'; - var widthProp = 'clientWidth'; - - if (offsetParent === getWindow(popper)) { - offsetParent = getDocumentElement(popper); - - if (getComputedStyle(offsetParent).position !== 'static') { - heightProp = 'scrollHeight'; - widthProp = 'scrollWidth'; - } - } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it - - - offsetParent = offsetParent; - - if (placement === top) { - sideY = bottom; // $FlowFixMe[prop-missing] - - y -= offsetParent[heightProp] - popperRect.height; - y *= gpuAcceleration ? 1 : -1; - } - - if (placement === left) { - sideX = right; // $FlowFixMe[prop-missing] - - x -= offsetParent[widthProp] - popperRect.width; - x *= gpuAcceleration ? 1 : -1; - } - } - - var commonStyles = Object.assign({ - position: position - }, adaptive && unsetSides); - - if (gpuAcceleration) { - var _Object$assign; - - return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); - } - - return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); -} - -function computeStyles(_ref4) { - var state = _ref4.state, - options = _ref4.options; - var _options$gpuAccelerat = options.gpuAcceleration, - gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, - _options$adaptive = options.adaptive, - adaptive = _options$adaptive === void 0 ? true : _options$adaptive, - _options$roundOffsets = options.roundOffsets, - roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; - var commonStyles = { - placement: getBasePlacement(state.placement), - popper: state.elements.popper, - popperRect: state.rects.popper, - gpuAcceleration: gpuAcceleration - }; - - if (state.modifiersData.popperOffsets != null) { - state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive, - roundOffsets: roundOffsets - }))); - } - - if (state.modifiersData.arrow != null) { - state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.arrow, - position: 'absolute', - adaptive: false, - roundOffsets: roundOffsets - }))); - } - - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-placement': state.placement - }); -} // eslint-disable-next-line import/no-unused-modules - - -var computeStyles$1 = { - name: 'computeStyles', - enabled: true, - phase: 'beforeWrite', - fn: computeStyles, - data: {} -}; -var passive = { - passive: true -}; - -function effect(_ref) { - var state = _ref.state, - instance = _ref.instance, - options = _ref.options; - var _options$scroll = options.scroll, - scroll = _options$scroll === void 0 ? true : _options$scroll, - _options$resize = options.resize, - resize = _options$resize === void 0 ? true : _options$resize; - var window = getWindow(state.elements.popper); - var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); - - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.addEventListener('scroll', instance.update, passive); - }); - } - - if (resize) { - window.addEventListener('resize', instance.update, passive); - } - - return function () { - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.removeEventListener('scroll', instance.update, passive); - }); - } - - if (resize) { - window.removeEventListener('resize', instance.update, passive); - } - }; -} // eslint-disable-next-line import/no-unused-modules - - -var eventListeners = { - name: 'eventListeners', - enabled: true, - phase: 'write', - fn: function fn() {}, - effect: effect, - data: {} -}; -var hash$1 = { - left: 'right', - right: 'left', - bottom: 'top', - top: 'bottom' -}; - -function getOppositePlacement(placement) { - return placement.replace(/left|right|bottom|top/g, function (matched) { - return hash$1[matched]; - }); -} - -var hash = { - start: 'end', - end: 'start' -}; - -function getOppositeVariationPlacement(placement) { - return placement.replace(/start|end/g, function (matched) { - return hash[matched]; - }); -} - -function getWindowScroll(node) { - var win = getWindow(node); - var scrollLeft = win.pageXOffset; - var scrollTop = win.pageYOffset; - return { - scrollLeft: scrollLeft, - scrollTop: scrollTop - }; -} - -function getWindowScrollBarX(element) { - // If has a CSS width greater than the viewport, then this will be - // incorrect for RTL. - // Popper 1 is broken in this case and never had a bug report so let's assume - // it's not an issue. I don't think anyone ever specifies width on - // anyway. - // Browsers where the left scrollbar doesn't cause an issue report `0` for - // this (e.g. Edge 2019, IE11, Safari) - return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; -} - -function getViewportRect(element) { - var win = getWindow(element); - var html = getDocumentElement(element); - var visualViewport = win.visualViewport; - var width = html.clientWidth; - var height = html.clientHeight; - var x = 0; - var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper - // can be obscured underneath it. - // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even - // if it isn't open, so if this isn't available, the popper will be detected - // to overflow the bottom of the screen too early. - - if (visualViewport) { - width = visualViewport.width; - height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently) - // In Chrome, it returns a value very close to 0 (+/-) but contains rounding - // errors due to floating point numbers, so we need to check precision. - // Safari returns a number <= 0, usually < -1 when pinch-zoomed - // Feature detection fails in mobile emulation mode in Chrome. - // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < - // 0.001 - // Fallback here: "Not Safari" userAgent - - if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) { - x = visualViewport.offsetLeft; - y = visualViewport.offsetTop; - } - } - - return { - width: width, - height: height, - x: x + getWindowScrollBarX(element), - y: y - }; -} // of the `` and `` rect bounds if horizontally scrollable - - -function getDocumentRect(element) { - var _element$ownerDocumen; - - var html = getDocumentElement(element); - var winScroll = getWindowScroll(element); - var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; - var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); - var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); - var x = -winScroll.scrollLeft + getWindowScrollBarX(element); - var y = -winScroll.scrollTop; - - if (getComputedStyle(body || html).direction === 'rtl') { - x += max(html.clientWidth, body ? body.clientWidth : 0) - width; - } - - return { - width: width, - height: height, - x: x, - y: y - }; -} - -function isScrollParent(element) { - // Firefox wants us to check `-x` and `-y` variations as well - var _getComputedStyle = getComputedStyle(element), - overflow = _getComputedStyle.overflow, - overflowX = _getComputedStyle.overflowX, - overflowY = _getComputedStyle.overflowY; - - return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); -} - -function getScrollParent(node) { - if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { - // $FlowFixMe[incompatible-return]: assume body is always available - return node.ownerDocument.body; - } - - if (isHTMLElement(node) && isScrollParent(node)) { - return node; - } - - return getScrollParent(getParentNode(node)); -} -/* -given a DOM element, return the list of all scroll parents, up the list of ancesors -until we get to the top window object. This list is what we attach scroll listeners -to, because if any of these parent elements scroll, we'll need to re-calculate the -reference element's position. -*/ - - -function listScrollParents(element, list) { - var _element$ownerDocumen; - - if (list === void 0) { - list = []; - } - - var scrollParent = getScrollParent(element); - var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); - var win = getWindow(scrollParent); - var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; - var updatedList = list.concat(target); - return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here - updatedList.concat(listScrollParents(getParentNode(target))); -} - -function rectToClientRect(rect) { - return Object.assign({}, rect, { - left: rect.x, - top: rect.y, - right: rect.x + rect.width, - bottom: rect.y + rect.height - }); -} - -function getInnerBoundingClientRect(element) { - var rect = getBoundingClientRect(element); - rect.top = rect.top + element.clientTop; - rect.left = rect.left + element.clientLeft; - rect.bottom = rect.top + element.clientHeight; - rect.right = rect.left + element.clientWidth; - rect.width = element.clientWidth; - rect.height = element.clientHeight; - rect.x = rect.left; - rect.y = rect.top; - return rect; -} - -function getClientRectFromMixedType(element, clippingParent) { - return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element))); -} // A "clipping parent" is an overflowable container with the characteristic of -// clipping (or hiding) overflowing elements with a position different from -// `initial` - - -function getClippingParents(element) { - var clippingParents = listScrollParents(getParentNode(element)); - var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0; - var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; - - if (!isElement(clipperElement)) { - return []; - } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 - - - return clippingParents.filter(function (clippingParent) { - return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; - }); -} // Gets the maximum area that the element is visible in due to any number of -// clipping parents - - -function getClippingRect(element, boundary, rootBoundary) { - var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); - var clippingParents = [].concat(mainClippingParents, [rootBoundary]); - var firstClippingParent = clippingParents[0]; - var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { - var rect = getClientRectFromMixedType(element, clippingParent); - accRect.top = max(rect.top, accRect.top); - accRect.right = min(rect.right, accRect.right); - accRect.bottom = min(rect.bottom, accRect.bottom); - accRect.left = max(rect.left, accRect.left); - return accRect; - }, getClientRectFromMixedType(element, firstClippingParent)); - clippingRect.width = clippingRect.right - clippingRect.left; - clippingRect.height = clippingRect.bottom - clippingRect.top; - clippingRect.x = clippingRect.left; - clippingRect.y = clippingRect.top; - return clippingRect; -} - -function getVariation(placement) { - return placement.split('-')[1]; -} - -function computeOffsets(_ref) { - var reference = _ref.reference, - element = _ref.element, - placement = _ref.placement; - var basePlacement = placement ? getBasePlacement(placement) : null; - var variation = placement ? getVariation(placement) : null; - var commonX = reference.x + reference.width / 2 - element.width / 2; - var commonY = reference.y + reference.height / 2 - element.height / 2; - var offsets; - - switch (basePlacement) { - case top: - offsets = { - x: commonX, - y: reference.y - element.height - }; - break; - - case bottom: - offsets = { - x: commonX, - y: reference.y + reference.height - }; - break; - - case right: - offsets = { - x: reference.x + reference.width, - y: commonY - }; - break; - - case left: - offsets = { - x: reference.x - element.width, - y: commonY - }; - break; - - default: - offsets = { - x: reference.x, - y: reference.y - }; - } - - var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; - - if (mainAxis != null) { - var len = mainAxis === 'y' ? 'height' : 'width'; - - switch (variation) { - case start: - offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); - break; - - case end: - offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); - break; - } - } - - return offsets; -} - -function detectOverflow(state, options) { - if (options === void 0) { - options = {}; - } - - var _options = options, - _options$placement = _options.placement, - placement = _options$placement === void 0 ? state.placement : _options$placement, - _options$boundary = _options.boundary, - boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, - _options$rootBoundary = _options.rootBoundary, - rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, - _options$elementConte = _options.elementContext, - elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, - _options$altBoundary = _options.altBoundary, - altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, - _options$padding = _options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; - var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); - var altContext = elementContext === popper ? reference : popper; - var referenceElement = state.elements.reference; - var popperRect = state.rects.popper; - var element = state.elements[altBoundary ? altContext : elementContext]; - var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary); - var referenceClientRect = getBoundingClientRect(referenceElement); - var popperOffsets = computeOffsets({ - reference: referenceClientRect, - element: popperRect, - strategy: 'absolute', - placement: placement - }); - var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); - var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect - // 0 or negative = within the clipping rect - - var overflowOffsets = { - top: clippingClientRect.top - elementClientRect.top + paddingObject.top, - bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, - left: clippingClientRect.left - elementClientRect.left + paddingObject.left, - right: elementClientRect.right - clippingClientRect.right + paddingObject.right - }; - var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element - - if (elementContext === popper && offsetData) { - var offset = offsetData[placement]; - Object.keys(overflowOffsets).forEach(function (key) { - var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; - var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; - overflowOffsets[key] += offset[axis] * multiply; - }); - } - - return overflowOffsets; -} - -function computeAutoPlacement(state, options) { - if (options === void 0) { - options = {}; - } - - var _options = options, - placement = _options.placement, - boundary = _options.boundary, - rootBoundary = _options.rootBoundary, - padding = _options.padding, - flipVariations = _options.flipVariations, - _options$allowedAutoP = _options.allowedAutoPlacements, - allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; - var variation = getVariation(placement); - var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { - return getVariation(placement) === variation; - }) : basePlacements; - var allowedPlacements = placements$1.filter(function (placement) { - return allowedAutoPlacements.indexOf(placement) >= 0; - }); - - if (allowedPlacements.length === 0) { - allowedPlacements = placements$1; - } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... - - - var overflows = allowedPlacements.reduce(function (acc, placement) { - acc[placement] = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding - })[getBasePlacement(placement)]; - return acc; - }, {}); - return Object.keys(overflows).sort(function (a, b) { - return overflows[a] - overflows[b]; - }); -} - -function getExpandedFallbackPlacements(placement) { - if (getBasePlacement(placement) === auto) { - return []; - } - - var oppositePlacement = getOppositePlacement(placement); - return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; -} - -function flip(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - - if (state.modifiersData[name]._skip) { - return; - } - - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, - specifiedFallbackPlacements = options.fallbackPlacements, - padding = options.padding, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, - allowedAutoPlacements = options.allowedAutoPlacements; - var preferredPlacement = state.options.placement; - var basePlacement = getBasePlacement(preferredPlacement); - var isBasePlacement = basePlacement === preferredPlacement; - var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); - var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { - return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - flipVariations: flipVariations, - allowedAutoPlacements: allowedAutoPlacements - }) : placement); - }, []); - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var checksMap = new Map(); - var makeFallbackChecks = true; - var firstFittingPlacement = placements[0]; - - for (var i = 0; i < placements.length; i++) { - var placement = placements[i]; - - var _basePlacement = getBasePlacement(placement); - - var isStartVariation = getVariation(placement) === start; - var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; - var len = isVertical ? 'width' : 'height'; - var overflow = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - altBoundary: altBoundary, - padding: padding - }); - var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; - - if (referenceRect[len] > popperRect[len]) { - mainVariationSide = getOppositePlacement(mainVariationSide); - } - - var altVariationSide = getOppositePlacement(mainVariationSide); - var checks = []; - - if (checkMainAxis) { - checks.push(overflow[_basePlacement] <= 0); - } - - if (checkAltAxis) { - checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); - } - - if (checks.every(function (check) { - return check; - })) { - firstFittingPlacement = placement; - makeFallbackChecks = false; - break; - } - - checksMap.set(placement, checks); - } - - if (makeFallbackChecks) { - // `2` may be desired in some cases – research later - var numberOfChecks = flipVariations ? 3 : 1; - - var _loop = function _loop(_i) { - var fittingPlacement = placements.find(function (placement) { - var checks = checksMap.get(placement); - - if (checks) { - return checks.slice(0, _i).every(function (check) { - return check; - }); - } - }); - - if (fittingPlacement) { - firstFittingPlacement = fittingPlacement; - return "break"; - } - }; - - for (var _i = numberOfChecks; _i > 0; _i--) { - var _ret = _loop(_i); - - if (_ret === "break") break; - } - } - - if (state.placement !== firstFittingPlacement) { - state.modifiersData[name]._skip = true; - state.placement = firstFittingPlacement; - state.reset = true; - } -} // eslint-disable-next-line import/no-unused-modules - - -var flip$1 = { - name: 'flip', - enabled: true, - phase: 'main', - fn: flip, - requiresIfExists: ['offset'], - data: { - _skip: false - } -}; - -function getSideOffsets(overflow, rect, preventedOffsets) { - if (preventedOffsets === void 0) { - preventedOffsets = { - x: 0, - y: 0 - }; - } - - return { - top: overflow.top - rect.height - preventedOffsets.y, - right: overflow.right - rect.width + preventedOffsets.x, - bottom: overflow.bottom - rect.height + preventedOffsets.y, - left: overflow.left - rect.width - preventedOffsets.x - }; -} - -function isAnySideFullyClipped(overflow) { - return [top, right, bottom, left].some(function (side) { - return overflow[side] >= 0; - }); -} - -function hide(_ref) { - var state = _ref.state, - name = _ref.name; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var preventedOffsets = state.modifiersData.preventOverflow; - var referenceOverflow = detectOverflow(state, { - elementContext: 'reference' - }); - var popperAltOverflow = detectOverflow(state, { - altBoundary: true - }); - var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); - var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); - var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); - var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); - state.modifiersData[name] = { - referenceClippingOffsets: referenceClippingOffsets, - popperEscapeOffsets: popperEscapeOffsets, - isReferenceHidden: isReferenceHidden, - hasPopperEscaped: hasPopperEscaped - }; - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-reference-hidden': isReferenceHidden, - 'data-popper-escaped': hasPopperEscaped - }); -} // eslint-disable-next-line import/no-unused-modules - - -var hide$1 = { - name: 'hide', - enabled: true, - phase: 'main', - requiresIfExists: ['preventOverflow'], - fn: hide -}; - -function distanceAndSkiddingToXY(placement, rects, offset) { - var basePlacement = getBasePlacement(placement); - var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; - - var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { - placement: placement - })) : offset, - skidding = _ref[0], - distance = _ref[1]; - - skidding = skidding || 0; - distance = (distance || 0) * invertDistance; - return [left, right].indexOf(basePlacement) >= 0 ? { - x: distance, - y: skidding - } : { - x: skidding, - y: distance - }; -} - -function offset(_ref2) { - var state = _ref2.state, - options = _ref2.options, - name = _ref2.name; - var _options$offset = options.offset, - offset = _options$offset === void 0 ? [0, 0] : _options$offset; - var data = placements.reduce(function (acc, placement) { - acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); - return acc; - }, {}); - var _data$state$placement = data[state.placement], - x = _data$state$placement.x, - y = _data$state$placement.y; - - if (state.modifiersData.popperOffsets != null) { - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; - } - - state.modifiersData[name] = data; -} // eslint-disable-next-line import/no-unused-modules - - -var offset$1 = { - name: 'offset', - enabled: true, - phase: 'main', - requires: ['popperOffsets'], - fn: offset -}; - -function popperOffsets(_ref) { - var state = _ref.state, - name = _ref.name; // Offsets are the actual position the popper needs to have to be - // properly positioned near its reference element - // This is the most basic placement, and will be adjusted by - // the modifiers in the next step - - state.modifiersData[name] = computeOffsets({ - reference: state.rects.reference, - element: state.rects.popper, - strategy: 'absolute', - placement: state.placement - }); -} // eslint-disable-next-line import/no-unused-modules - - -var popperOffsets$1 = { - name: 'popperOffsets', - enabled: true, - phase: 'read', - fn: popperOffsets, - data: {} -}; - -function getAltAxis(axis) { - return axis === 'x' ? 'y' : 'x'; -} - -function preventOverflow(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - padding = options.padding, - _options$tether = options.tether, - tether = _options$tether === void 0 ? true : _options$tether, - _options$tetherOffset = options.tetherOffset, - tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; - var overflow = detectOverflow(state, { - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - altBoundary: altBoundary - }); - var basePlacement = getBasePlacement(state.placement); - var variation = getVariation(state.placement); - var isBasePlacement = !variation; - var mainAxis = getMainAxisFromPlacement(basePlacement); - var altAxis = getAltAxis(mainAxis); - var popperOffsets = state.modifiersData.popperOffsets; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { - placement: state.placement - })) : tetherOffset; - var data = { - x: 0, - y: 0 - }; - - if (!popperOffsets) { - return; - } - - if (checkMainAxis || checkAltAxis) { - var mainSide = mainAxis === 'y' ? top : left; - var altSide = mainAxis === 'y' ? bottom : right; - var len = mainAxis === 'y' ? 'height' : 'width'; - var offset = popperOffsets[mainAxis]; - var min$1 = popperOffsets[mainAxis] + overflow[mainSide]; - var max$1 = popperOffsets[mainAxis] - overflow[altSide]; - var additive = tether ? -popperRect[len] / 2 : 0; - var minLen = variation === start ? referenceRect[len] : popperRect[len]; - var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go - // outside the reference bounds - - var arrowElement = state.elements.arrow; - var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { - width: 0, - height: 0 - }; - var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); - var arrowPaddingMin = arrowPaddingObject[mainSide]; - var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want - // to include its full size in the calculation. If the reference is small - // and near the edge of a boundary, the popper can overflow even if the - // reference is not overflowing as well (e.g. virtual elements with no - // width or height) - - var arrowLen = within(0, referenceRect[len], arrowRect[len]); - var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue; - var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue; - var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); - var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; - var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0; - var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset; - var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue; - - if (checkMainAxis) { - var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); - popperOffsets[mainAxis] = preventedOffset; - data[mainAxis] = preventedOffset - offset; - } - - if (checkAltAxis) { - var _mainSide = mainAxis === 'x' ? top : left; - - var _altSide = mainAxis === 'x' ? bottom : right; - - var _offset = popperOffsets[altAxis]; - - var _min = _offset + overflow[_mainSide]; - - var _max = _offset - overflow[_altSide]; - - var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max); - - popperOffsets[altAxis] = _preventedOffset; - data[altAxis] = _preventedOffset - _offset; - } - } - - state.modifiersData[name] = data; -} // eslint-disable-next-line import/no-unused-modules - - -var preventOverflow$1 = { - name: 'preventOverflow', - enabled: true, - phase: 'main', - fn: preventOverflow, - requiresIfExists: ['offset'] -}; - -function getHTMLElementScroll(element) { - return { - scrollLeft: element.scrollLeft, - scrollTop: element.scrollTop - }; -} - -function getNodeScroll(node) { - if (node === getWindow(node) || !isHTMLElement(node)) { - return getWindowScroll(node); - } else { - return getHTMLElementScroll(node); - } -} // Composite means it takes into account transforms as well as layout. - - -function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { - if (isFixed === void 0) { - isFixed = false; - } - - var documentElement = getDocumentElement(offsetParent); - var rect = getBoundingClientRect(elementOrVirtualElement); - var isOffsetParentAnElement = isHTMLElement(offsetParent); - var scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - var offsets = { - x: 0, - y: 0 - }; - - if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { - if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 - isScrollParent(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - - if (isHTMLElement(offsetParent)) { - offsets = getBoundingClientRect(offsetParent); - offsets.x += offsetParent.clientLeft; - offsets.y += offsetParent.clientTop; - } else if (documentElement) { - offsets.x = getWindowScrollBarX(documentElement); - } - } - - return { - x: rect.left + scroll.scrollLeft - offsets.x, - y: rect.top + scroll.scrollTop - offsets.y, - width: rect.width, - height: rect.height - }; -} - -function order(modifiers) { - var map = new Map(); - var visited = new Set(); - var result = []; - modifiers.forEach(function (modifier) { - map.set(modifier.name, modifier); - }); // On visiting object, check for its dependencies and visit them recursively - - function sort(modifier) { - visited.add(modifier.name); - var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); - requires.forEach(function (dep) { - if (!visited.has(dep)) { - var depModifier = map.get(dep); - - if (depModifier) { - sort(depModifier); - } - } - }); - result.push(modifier); - } - - modifiers.forEach(function (modifier) { - if (!visited.has(modifier.name)) { - // check for visited object - sort(modifier); - } - }); - return result; -} - -function orderModifiers(modifiers) { - // order based on dependencies - var orderedModifiers = order(modifiers); // order based on phase - - return modifierPhases.reduce(function (acc, phase) { - return acc.concat(orderedModifiers.filter(function (modifier) { - return modifier.phase === phase; - })); - }, []); -} - -function debounce(fn) { - var pending; - return function () { - if (!pending) { - pending = new Promise(function (resolve) { - Promise.resolve().then(function () { - pending = undefined; - resolve(fn()); - }); - }); - } - - return pending; - }; -} - -function mergeByName(modifiers) { - var merged = modifiers.reduce(function (merged, current) { - var existing = merged[current.name]; - merged[current.name] = existing ? Object.assign({}, existing, current, { - options: Object.assign({}, existing.options, current.options), - data: Object.assign({}, existing.data, current.data) - }) : current; - return merged; - }, {}); // IE11 does not support Object.values - - return Object.keys(merged).map(function (key) { - return merged[key]; - }); -} - -var DEFAULT_OPTIONS = { - placement: 'bottom', - modifiers: [], - strategy: 'absolute' -}; - -function areValidElements() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return !args.some(function (element) { - return !(element && typeof element.getBoundingClientRect === 'function'); - }); -} - -function popperGenerator(generatorOptions) { - if (generatorOptions === void 0) { - generatorOptions = {}; - } - - var _generatorOptions = generatorOptions, - _generatorOptions$def = _generatorOptions.defaultModifiers, - defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, - _generatorOptions$def2 = _generatorOptions.defaultOptions, - defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; - return function createPopper(reference, popper, options) { - if (options === void 0) { - options = defaultOptions; - } - - var state = { - placement: 'bottom', - orderedModifiers: [], - options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), - modifiersData: {}, - elements: { - reference: reference, - popper: popper - }, - attributes: {}, - styles: {} - }; - var effectCleanupFns = []; - var isDestroyed = false; - var instance = { - state: state, - setOptions: function setOptions(options) { - cleanupModifierEffects(); - state.options = Object.assign({}, defaultOptions, state.options, options); - state.scrollParents = { - reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], - popper: listScrollParents(popper) - }; // Orders the modifiers based on their dependencies and `phase` - // properties - - var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers - - state.orderedModifiers = orderedModifiers.filter(function (m) { - return m.enabled; - }); // Validate the provided modifiers so that the consumer will get warned - - runModifierEffects(); - return instance.update(); - }, - // Sync update – it will always be executed, even if not necessary. This - // is useful for low frequency updates where sync behavior simplifies the - // logic. - // For high frequency updates (e.g. `resize` and `scroll` events), always - // prefer the async Popper#update method - forceUpdate: function forceUpdate() { - if (isDestroyed) { - return; - } - - var _state$elements = state.elements, - reference = _state$elements.reference, - popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements - // anymore - - if (!areValidElements(reference, popper)) { - return; - } // Store the reference and popper rects to be read by modifiers - - - state.rects = { - reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), - popper: getLayoutRect(popper) - }; // Modifiers have the ability to reset the current update cycle. The - // most common use case for this is the `flip` modifier changing the - // placement, which then needs to re-run all the modifiers, because the - // logic was previously ran for the previous placement and is therefore - // stale/incorrect - - state.reset = false; - state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier - // is filled with the initial data specified by the modifier. This means - // it doesn't persist and is fresh on each update. - // To ensure persistent data, use `${name}#persistent` - - state.orderedModifiers.forEach(function (modifier) { - return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); - }); - - for (var index = 0; index < state.orderedModifiers.length; index++) { - if (state.reset === true) { - state.reset = false; - index = -1; - continue; - } - - var _state$orderedModifie = state.orderedModifiers[index], - fn = _state$orderedModifie.fn, - _state$orderedModifie2 = _state$orderedModifie.options, - _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, - name = _state$orderedModifie.name; - - if (typeof fn === 'function') { - state = fn({ - state: state, - options: _options, - name: name, - instance: instance - }) || state; - } - } - }, - // Async and optimistically optimized update – it will not be executed if - // not necessary (debounced to run at most once-per-tick) - update: debounce(function () { - return new Promise(function (resolve) { - instance.forceUpdate(); - resolve(state); - }); - }), - destroy: function destroy() { - cleanupModifierEffects(); - isDestroyed = true; - } - }; - - if (!areValidElements(reference, popper)) { - return instance; - } - - instance.setOptions(options).then(function (state) { - if (!isDestroyed && options.onFirstUpdate) { - options.onFirstUpdate(state); - } - }); // Modifiers have the ability to execute arbitrary code before the first - // update cycle runs. They will be executed in the same order as the update - // cycle. This is useful when a modifier adds some persistent data that - // other modifiers need to use, but the modifier is run after the dependent - // one. - - function runModifierEffects() { - state.orderedModifiers.forEach(function (_ref3) { - var name = _ref3.name, - _ref3$options = _ref3.options, - options = _ref3$options === void 0 ? {} : _ref3$options, - effect = _ref3.effect; - - if (typeof effect === 'function') { - var cleanupFn = effect({ - state: state, - name: name, - instance: instance, - options: options - }); - - var noopFn = function noopFn() {}; - - effectCleanupFns.push(cleanupFn || noopFn); - } - }); - } - - function cleanupModifierEffects() { - effectCleanupFns.forEach(function (fn) { - return fn(); - }); - effectCleanupFns = []; - } - - return instance; - }; -} - -var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; -var createPopper = /*#__PURE__*/popperGenerator({ - defaultModifiers: defaultModifiers -}); // eslint-disable-next-line import/no-unused-modules - -function _extends() { - _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - - return _extends.apply(this, arguments); -} - -function _getCenteredStylePopperModifier() { - return [{ - name: 'applyStyles', - fn: function fn(_ref6) { - var state = _ref6.state; - Object.keys(state.elements).forEach(function (name) { - if (name !== 'popper') { - return; - } - - var style = { - position: 'fixed', - left: '50%', - top: '50%', - transform: 'translate(-50%, -50%)' - }; - var attributes = state.attributes[name] || {}; - var element = state.elements[name]; - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (name) { - var value = attributes[name]; - - if (value === false) { - element.removeAttribute(name); - } else { - element.setAttribute(name, value === true ? '' : value); - } - }); - }); - } - }, { - name: 'computeStyles', - options: { - adaptive: false - } - }]; -} -/** - * Generates the array of options for a tooltip that doesn't have a - * target element in the DOM -- and thus is positioned in the center - * of the view - * - * @param {Step} step The step instance - * @return {Object} The final Popper options object - */ - - -function makeCenteredPopper(step) { - var centeredStylePopperModifier = _getCenteredStylePopperModifier(); - - var popperOptions = { - placement: 'top', - strategy: 'fixed', - modifiers: [{ - name: 'focusAfterRender', - enabled: true, - phase: 'afterWrite', - fn: function fn() { - setTimeout(function () { - if (step.el) { - step.el.focus(); - } - }, 300); - } - }] - }; - popperOptions = _extends({}, popperOptions, { - modifiers: Array.from(new Set([].concat(_toConsumableArray(popperOptions.modifiers), _toConsumableArray(centeredStylePopperModifier)))) - }); - return popperOptions; -} -/** - * Ensure class prefix ends in `-` - * @param {string} prefix The prefix to prepend to the class names generated by nano-css - * @return {string} The prefix ending in `-` - */ - - -function normalizePrefix(prefix) { - if (!isString(prefix) || prefix === '') { - return ''; - } - - return prefix.charAt(prefix.length - 1) !== '-' ? "".concat(prefix, "-") : prefix; -} -/** - * Checks if options.attachTo.element is a string, and if so, tries to find the element - * @param {Step} step The step instance - * @returns {{element, on}} - * `element` is a qualified HTML Element - * `on` is a string position value - */ - - -function parseAttachTo(step) { - var options = step.options.attachTo || {}; - var returnOpts = Object.assign({}, options); - - if (isString(options.element)) { - // Can't override the element in user opts reference because we can't - // guarantee that the element will exist in the future. - try { - returnOpts.element = document.querySelector(options.element); - } catch (e) {// TODO - } - - if (!returnOpts.element) { - console.error("The element for this Shepherd step was not found ".concat(options.element)); - } - } - - return returnOpts; -} -/** - * Determines options for the tooltip and initializes - * `step.tooltip` as a Popper instance. - * @param {Step} step The step instance - */ - - -function setupTooltip(step) { - if (step.tooltip) { - step.tooltip.destroy(); - } - - var attachToOptions = parseAttachTo(step); - var target = attachToOptions.element; - var popperOptions = getPopperOptions(attachToOptions, step); - - if (step.isCentered()) { - target = document.body; - var content = step.shepherdElementComponent.getElement(); - content.classList.add('shepherd-centered'); - } - - step.tooltip = createPopper(target, step.el, popperOptions); - step.target = attachToOptions.element; - return popperOptions; -} -/** - * Create a unique id for steps, tours, modals, etc - * @return {string} - */ - - -function uuid() { - var d = Date.now(); - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = (d + Math.random() * 16) % 16 | 0; - d = Math.floor(d / 16); - return (c == 'x' ? r : r & 0x3 | 0x8).toString(16); - }); -} -/** - * Gets the `Popper` options from a set of base `attachTo` options - * @param attachToOptions - * @param {Step} step The step instance - * @return {Object} - * @private - */ - - -function getPopperOptions(attachToOptions, step) { - var popperOptions = { - modifiers: [{ - name: 'preventOverflow', - options: { - altAxis: true, - tether: false - } - }, { - name: 'focusAfterRender', - enabled: true, - phase: 'afterWrite', - fn: function fn() { - setTimeout(function () { - if (step.el) { - step.el.focus(); - } - }, 300); - } - }], - strategy: 'absolute' - }; - - if (step.isCentered()) { - popperOptions = makeCenteredPopper(step); - } else { - popperOptions.placement = attachToOptions.on; - } - - var defaultStepOptions = step.tour && step.tour.options && step.tour.options.defaultStepOptions; - - if (defaultStepOptions) { - popperOptions = _mergeModifiers(defaultStepOptions, popperOptions); - } - - popperOptions = _mergeModifiers(step.options, popperOptions); - return popperOptions; -} - -function _mergeModifiers(stepOptions, popperOptions) { - if (stepOptions.popperOptions) { - var mergedPopperOptions = Object.assign({}, popperOptions, stepOptions.popperOptions); - - if (stepOptions.popperOptions.modifiers && stepOptions.popperOptions.modifiers.length > 0) { - var names = stepOptions.popperOptions.modifiers.map(function (mod) { - return mod.name; - }); - var filteredModifiers = popperOptions.modifiers.filter(function (mod) { - return !names.includes(mod.name); - }); - mergedPopperOptions.modifiers = Array.from(new Set([].concat(_toConsumableArray(filteredModifiers), _toConsumableArray(stepOptions.popperOptions.modifiers)))); - } - - return mergedPopperOptions; - } - - return popperOptions; -} - -function noop() {} - -function assign(tar, src) { - // @ts-ignore - for (var k in src) { - tar[k] = src[k]; - } - - return tar; -} - -function run(fn) { - return fn(); -} - -function blank_object() { - return Object.create(null); -} - -function run_all(fns) { - fns.forEach(run); -} - -function is_function(thing) { - return typeof thing === 'function'; -} - -function safe_not_equal(a, b) { - return a != a ? b == b : a !== b || a && _typeof(a) === 'object' || typeof a === 'function'; -} - -function is_empty(obj) { - return Object.keys(obj).length === 0; -} - -function append(target, node) { - target.appendChild(node); -} - -function insert(target, node, anchor) { - target.insertBefore(node, anchor || null); -} - -function detach(node) { - node.parentNode.removeChild(node); -} - -function destroy_each(iterations, detaching) { - for (var i = 0; i < iterations.length; i += 1) { - if (iterations[i]) iterations[i].d(detaching); - } -} - -function element(name) { - return document.createElement(name); -} - -function svg_element(name) { - return document.createElementNS('http://www.w3.org/2000/svg', name); -} - -function text(data) { - return document.createTextNode(data); -} - -function space() { - return text(' '); -} - -function empty() { - return text(''); -} - -function listen(node, event, handler, options) { - node.addEventListener(event, handler, options); - return function () { - return node.removeEventListener(event, handler, options); - }; -} - -function attr(node, attribute, value) { - if (value == null) node.removeAttribute(attribute);else if (node.getAttribute(attribute) !== value) node.setAttribute(attribute, value); -} - -function set_attributes(node, attributes) { - // @ts-ignore - var descriptors = Object.getOwnPropertyDescriptors(node.__proto__); - - for (var key in attributes) { - if (attributes[key] == null) { - node.removeAttribute(key); - } else if (key === 'style') { - node.style.cssText = attributes[key]; - } else if (key === '__value') { - node.value = node[key] = attributes[key]; - } else if (descriptors[key] && descriptors[key].set) { - node[key] = attributes[key]; - } else { - attr(node, key, attributes[key]); - } - } -} - -function children(element) { - return Array.from(element.childNodes); -} - -function toggle_class(element, name, toggle) { - element.classList[toggle ? 'add' : 'remove'](name); -} - -var current_component; - -function set_current_component(component) { - current_component = component; -} - -function get_current_component() { - if (!current_component) throw new Error('Function called outside component initialization'); - return current_component; -} - -function onMount(fn) { - get_current_component().$$.on_mount.push(fn); -} - -function afterUpdate(fn) { - get_current_component().$$.after_update.push(fn); -} - -var dirty_components = []; -var binding_callbacks = []; -var render_callbacks = []; -var flush_callbacks = []; -var resolved_promise = Promise.resolve(); -var update_scheduled = false; - -function schedule_update() { - if (!update_scheduled) { - update_scheduled = true; - resolved_promise.then(flush); - } -} - -function add_render_callback(fn) { - render_callbacks.push(fn); -} - -var flushing = false; -var seen_callbacks = new Set(); - -function flush() { - if (flushing) return; - flushing = true; - - do { - // first, call beforeUpdate functions - // and update components - for (var i = 0; i < dirty_components.length; i += 1) { - var component = dirty_components[i]; - set_current_component(component); - update(component.$$); - } - - set_current_component(null); - dirty_components.length = 0; - - while (binding_callbacks.length) { - binding_callbacks.pop()(); - } // then, once components are updated, call - // afterUpdate functions. This may cause - // subsequent updates... - - - for (var _i2 = 0; _i2 < render_callbacks.length; _i2 += 1) { - var callback = render_callbacks[_i2]; - - if (!seen_callbacks.has(callback)) { - // ...so guard against infinite loops - seen_callbacks.add(callback); - callback(); - } - } - - render_callbacks.length = 0; - } while (dirty_components.length); - - while (flush_callbacks.length) { - flush_callbacks.pop()(); - } - - update_scheduled = false; - flushing = false; - seen_callbacks.clear(); -} - -function update($$) { - if ($$.fragment !== null) { - $$.update(); - run_all($$.before_update); - var dirty = $$.dirty; - $$.dirty = [-1]; - $$.fragment && $$.fragment.p($$.ctx, dirty); - $$.after_update.forEach(add_render_callback); - } -} - -var outroing = new Set(); -var outros; - -function group_outros() { - outros = { - r: 0, - c: [], - p: outros // parent group - - }; -} - -function check_outros() { - if (!outros.r) { - run_all(outros.c); - } - - outros = outros.p; -} - -function transition_in(block, local) { - if (block && block.i) { - outroing.delete(block); - block.i(local); - } -} - -function transition_out(block, local, detach, callback) { - if (block && block.o) { - if (outroing.has(block)) return; - outroing.add(block); - outros.c.push(function () { - outroing.delete(block); - - if (callback) { - if (detach) block.d(1); - callback(); - } - }); - block.o(local); - } -} - -function get_spread_update(levels, updates) { - var update = {}; - var to_null_out = {}; - var accounted_for = { - $$scope: 1 - }; - var i = levels.length; - - while (i--) { - var o = levels[i]; - var n = updates[i]; - - if (n) { - for (var key in o) { - if (!(key in n)) to_null_out[key] = 1; - } - - for (var _key3 in n) { - if (!accounted_for[_key3]) { - update[_key3] = n[_key3]; - accounted_for[_key3] = 1; - } - } - - levels[i] = n; - } else { - for (var _key4 in o) { - accounted_for[_key4] = 1; - } - } - } - - for (var _key5 in to_null_out) { - if (!(_key5 in update)) update[_key5] = undefined; - } - - return update; -} - -function create_component(block) { - block && block.c(); -} - -function mount_component(component, target, anchor, customElement) { - var _component$$$ = component.$$, - fragment = _component$$$.fragment, - on_mount = _component$$$.on_mount, - on_destroy = _component$$$.on_destroy, - after_update = _component$$$.after_update; - fragment && fragment.m(target, anchor); - - if (!customElement) { - // onMount happens before the initial afterUpdate - add_render_callback(function () { - var new_on_destroy = on_mount.map(run).filter(is_function); - - if (on_destroy) { - on_destroy.push.apply(on_destroy, _toConsumableArray(new_on_destroy)); - } else { - // Edge case - component was destroyed immediately, - // most likely as a result of a binding initialising - run_all(new_on_destroy); - } - - component.$$.on_mount = []; - }); - } - - after_update.forEach(add_render_callback); -} - -function destroy_component(component, detaching) { - var $$ = component.$$; - - if ($$.fragment !== null) { - run_all($$.on_destroy); - $$.fragment && $$.fragment.d(detaching); // TODO null out other refs, including component.$$ (but need to - // preserve final state?) - - $$.on_destroy = $$.fragment = null; - $$.ctx = []; - } -} - -function make_dirty(component, i) { - if (component.$$.dirty[0] === -1) { - dirty_components.push(component); - schedule_update(); - component.$$.dirty.fill(0); - } - - component.$$.dirty[i / 31 | 0] |= 1 << i % 31; -} - -function init(component, options, instance, create_fragment, not_equal, props) { - var dirty = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [-1]; - var parent_component = current_component; - set_current_component(component); - var $$ = component.$$ = { - fragment: null, - ctx: null, - // state - props: props, - update: noop, - not_equal: not_equal, - bound: blank_object(), - // lifecycle - on_mount: [], - on_destroy: [], - on_disconnect: [], - before_update: [], - after_update: [], - context: new Map(parent_component ? parent_component.$$.context : options.context || []), - // everything else - callbacks: blank_object(), - dirty: dirty, - skip_bound: false - }; - var ready = false; - $$.ctx = instance ? instance(component, options.props || {}, function (i, ret) { - var value = (arguments.length <= 2 ? 0 : arguments.length - 2) ? arguments.length <= 2 ? undefined : arguments[2] : ret; - - if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { - if (!$$.skip_bound && $$.bound[i]) $$.bound[i](value); - if (ready) make_dirty(component, i); - } - - return ret; - }) : []; - $$.update(); - ready = true; - run_all($$.before_update); // `false` as a special case of no DOM component - - $$.fragment = create_fragment ? create_fragment($$.ctx) : false; - - if (options.target) { - if (options.hydrate) { - var nodes = children(options.target); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - - $$.fragment && $$.fragment.l(nodes); - nodes.forEach(detach); - } else { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - $$.fragment && $$.fragment.c(); - } - - if (options.intro) transition_in(component.$$.fragment); - mount_component(component, options.target, options.anchor, options.customElement); - flush(); - } - - set_current_component(parent_component); -} -/** - * Base class for Svelte components. Used when dev=false. - */ - - -var SvelteComponent = /*#__PURE__*/function () { - function SvelteComponent() { - _classCallCheck(this, SvelteComponent); - } - - _createClass(SvelteComponent, [{ - key: "$destroy", - value: function $destroy() { - destroy_component(this, 1); - this.$destroy = noop; - } - }, { - key: "$on", - value: function $on(type, callback) { - var callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []); - callbacks.push(callback); - return function () { - var index = callbacks.indexOf(callback); - if (index !== -1) callbacks.splice(index, 1); - }; - } - }, { - key: "$set", - value: function $set($$props) { - if (this.$$set && !is_empty($$props)) { - this.$$.skip_bound = true; - this.$$set($$props); - this.$$.skip_bound = false; - } - } - }]); - - return SvelteComponent; -}(); -/* src/js/components/shepherd-button.svelte generated by Svelte v3.37.0 */ - - -function create_fragment$8(ctx) { - var button; - var button_aria_label_value; - var button_class_value; - var mounted; - var dispose; - return { - c: function c() { - button = element("button"); - attr(button, "aria-label", button_aria_label_value = - /*label*/ - ctx[3] ? - /*label*/ - ctx[3] : null); - attr(button, "class", button_class_value = "".concat( - /*classes*/ - ctx[1] || "", " shepherd-button ").concat( - /*secondary*/ - ctx[4] ? "shepherd-button-secondary" : "")); - button.disabled = - /*disabled*/ - ctx[2]; - attr(button, "tabindex", "0"); - }, - m: function m(target, anchor) { - insert(target, button, anchor); - button.innerHTML = - /*text*/ - ctx[5]; - - if (!mounted) { - dispose = listen(button, "click", function () { - if (is_function( - /*action*/ - ctx[0])) - /*action*/ - ctx[0].apply(this, arguments); - }); - mounted = true; - } - }, - p: function p(new_ctx, _ref7) { - var _ref8 = _slicedToArray(_ref7, 1), - dirty = _ref8[0]; - - ctx = new_ctx; - if (dirty & - /*text*/ - 32) button.innerHTML = - /*text*/ - ctx[5]; - - if (dirty & - /*label*/ - 8 && button_aria_label_value !== (button_aria_label_value = - /*label*/ - ctx[3] ? - /*label*/ - ctx[3] : null)) { - attr(button, "aria-label", button_aria_label_value); - } - - if (dirty & - /*classes, secondary*/ - 18 && button_class_value !== (button_class_value = "".concat( - /*classes*/ - ctx[1] || "", " shepherd-button ").concat( - /*secondary*/ - ctx[4] ? "shepherd-button-secondary" : ""))) { - attr(button, "class", button_class_value); - } - - if (dirty & - /*disabled*/ - 4) { - button.disabled = - /*disabled*/ - ctx[2]; - } - }, - i: noop, - o: noop, - d: function d(detaching) { - if (detaching) detach(button); - mounted = false; - dispose(); - } - }; -} - -function instance$8($$self, $$props, $$invalidate) { - var config = $$props.config, - step = $$props.step; - var action, classes, disabled, label, secondary, text; - - function getDisabled(disabled) { - if (isFunction(disabled)) { - return disabled = disabled.call(step); - } - - return disabled; - } - - $$self.$$set = function ($$props) { - if ("config" in $$props) $$invalidate(6, config = $$props.config); - if ("step" in $$props) $$invalidate(7, step = $$props.step); - }; - - $$self.$$.update = function () { - if ($$self.$$.dirty & - /*config, step*/ - 192) { - { - $$invalidate(0, action = config.action ? config.action.bind(step.tour) : null); - $$invalidate(1, classes = config.classes); - $$invalidate(2, disabled = config.disabled ? getDisabled(config.disabled) : false); - $$invalidate(3, label = config.label); - $$invalidate(4, secondary = config.secondary); - $$invalidate(5, text = config.text); - } - } - }; - - return [action, classes, disabled, label, secondary, text, config, step]; -} - -var Shepherd_button = /*#__PURE__*/function (_SvelteComponent) { - _inherits(Shepherd_button, _SvelteComponent); - - var _super = _createSuper(Shepherd_button); - - function Shepherd_button(options) { - var _this3; - - _classCallCheck(this, Shepherd_button); - - _this3 = _super.call(this); - init(_assertThisInitialized(_this3), options, instance$8, create_fragment$8, safe_not_equal, { - config: 6, - step: 7 - }); - return _this3; - } - - return Shepherd_button; -}(SvelteComponent); -/* src/js/components/shepherd-footer.svelte generated by Svelte v3.37.0 */ - - -function get_each_context(ctx, list, i) { - var child_ctx = ctx.slice(); - child_ctx[2] = list[i]; - return child_ctx; -} // (24:4) {#if buttons} - - -function create_if_block$3(ctx) { - var each_1_anchor; - var current; - var each_value = - /*buttons*/ - ctx[1]; - var each_blocks = []; - - for (var i = 0; i < each_value.length; i += 1) { - each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)); - } - - var out = function out(i) { - return transition_out(each_blocks[i], 1, 1, function () { - each_blocks[i] = null; - }); - }; - - return { - c: function c() { - for (var _i3 = 0; _i3 < each_blocks.length; _i3 += 1) { - each_blocks[_i3].c(); - } - - each_1_anchor = empty(); - }, - m: function m(target, anchor) { - for (var _i4 = 0; _i4 < each_blocks.length; _i4 += 1) { - each_blocks[_i4].m(target, anchor); - } - - insert(target, each_1_anchor, anchor); - current = true; - }, - p: function p(ctx, dirty) { - if (dirty & - /*buttons, step*/ - 3) { - each_value = - /*buttons*/ - ctx[1]; - - var _i5; - - for (_i5 = 0; _i5 < each_value.length; _i5 += 1) { - var child_ctx = get_each_context(ctx, each_value, _i5); - - if (each_blocks[_i5]) { - each_blocks[_i5].p(child_ctx, dirty); - - transition_in(each_blocks[_i5], 1); - } else { - each_blocks[_i5] = create_each_block(child_ctx); - - each_blocks[_i5].c(); - - transition_in(each_blocks[_i5], 1); - - each_blocks[_i5].m(each_1_anchor.parentNode, each_1_anchor); - } - } - - group_outros(); - - for (_i5 = each_value.length; _i5 < each_blocks.length; _i5 += 1) { - out(_i5); - } - - check_outros(); - } - }, - i: function i(local) { - if (current) return; - - for (var _i6 = 0; _i6 < each_value.length; _i6 += 1) { - transition_in(each_blocks[_i6]); - } - - current = true; - }, - o: function o(local) { - each_blocks = each_blocks.filter(Boolean); - - for (var _i7 = 0; _i7 < each_blocks.length; _i7 += 1) { - transition_out(each_blocks[_i7]); - } - - current = false; - }, - d: function d(detaching) { - destroy_each(each_blocks, detaching); - if (detaching) detach(each_1_anchor); - } - }; -} // (25:8) {#each buttons as config} - - -function create_each_block(ctx) { - var shepherdbutton; - var current; - shepherdbutton = new Shepherd_button({ - props: { - config: - /*config*/ - ctx[2], - step: - /*step*/ - ctx[0] - } - }); - return { - c: function c() { - create_component(shepherdbutton.$$.fragment); - }, - m: function m(target, anchor) { - mount_component(shepherdbutton, target, anchor); - current = true; - }, - p: function p(ctx, dirty) { - var shepherdbutton_changes = {}; - if (dirty & - /*buttons*/ - 2) shepherdbutton_changes.config = - /*config*/ - ctx[2]; - if (dirty & - /*step*/ - 1) shepherdbutton_changes.step = - /*step*/ - ctx[0]; - shepherdbutton.$set(shepherdbutton_changes); - }, - i: function i(local) { - if (current) return; - transition_in(shepherdbutton.$$.fragment, local); - current = true; - }, - o: function o(local) { - transition_out(shepherdbutton.$$.fragment, local); - current = false; - }, - d: function d(detaching) { - destroy_component(shepherdbutton, detaching); - } - }; -} - -function create_fragment$7(ctx) { - var footer; - var current; - var if_block = - /*buttons*/ - ctx[1] && create_if_block$3(ctx); - return { - c: function c() { - footer = element("footer"); - if (if_block) if_block.c(); - attr(footer, "class", "shepherd-footer"); - }, - m: function m(target, anchor) { - insert(target, footer, anchor); - if (if_block) if_block.m(footer, null); - current = true; - }, - p: function p(ctx, _ref9) { - var _ref10 = _slicedToArray(_ref9, 1), - dirty = _ref10[0]; - - if ( - /*buttons*/ - ctx[1]) { - if (if_block) { - if_block.p(ctx, dirty); - - if (dirty & - /*buttons*/ - 2) { - transition_in(if_block, 1); - } - } else { - if_block = create_if_block$3(ctx); - if_block.c(); - transition_in(if_block, 1); - if_block.m(footer, null); - } - } else if (if_block) { - group_outros(); - transition_out(if_block, 1, 1, function () { - if_block = null; - }); - check_outros(); - } - }, - i: function i(local) { - if (current) return; - transition_in(if_block); - current = true; - }, - o: function o(local) { - transition_out(if_block); - current = false; - }, - d: function d(detaching) { - if (detaching) detach(footer); - if (if_block) if_block.d(); - } - }; -} - -function instance$7($$self, $$props, $$invalidate) { - var buttons; - var step = $$props.step; - - $$self.$$set = function ($$props) { - if ("step" in $$props) $$invalidate(0, step = $$props.step); - }; - - $$self.$$.update = function () { - if ($$self.$$.dirty & - /*step*/ - 1) { - $$invalidate(1, buttons = step.options.buttons); - } - }; - - return [step, buttons]; -} - -var Shepherd_footer = /*#__PURE__*/function (_SvelteComponent2) { - _inherits(Shepherd_footer, _SvelteComponent2); - - var _super2 = _createSuper(Shepherd_footer); - - function Shepherd_footer(options) { - var _this4; - - _classCallCheck(this, Shepherd_footer); - - _this4 = _super2.call(this); - init(_assertThisInitialized(_this4), options, instance$7, create_fragment$7, safe_not_equal, { - step: 0 - }); - return _this4; - } - - return Shepherd_footer; -}(SvelteComponent); -/* src/js/components/shepherd-cancel-icon.svelte generated by Svelte v3.37.0 */ - - -function create_fragment$6(ctx) { - var button; - var span; - var button_aria_label_value; - var mounted; - var dispose; - return { - c: function c() { - button = element("button"); - span = element("span"); - span.textContent = "×"; - attr(span, "aria-hidden", "true"); - attr(button, "aria-label", button_aria_label_value = - /*cancelIcon*/ - ctx[0].label ? - /*cancelIcon*/ - ctx[0].label : "Close Tour"); - attr(button, "class", "shepherd-cancel-icon"); - attr(button, "type", "button"); - }, - m: function m(target, anchor) { - insert(target, button, anchor); - append(button, span); - - if (!mounted) { - dispose = listen(button, "click", - /*handleCancelClick*/ - ctx[1]); - mounted = true; - } - }, - p: function p(ctx, _ref11) { - var _ref12 = _slicedToArray(_ref11, 1), - dirty = _ref12[0]; - - if (dirty & - /*cancelIcon*/ - 1 && button_aria_label_value !== (button_aria_label_value = - /*cancelIcon*/ - ctx[0].label ? - /*cancelIcon*/ - ctx[0].label : "Close Tour")) { - attr(button, "aria-label", button_aria_label_value); - } - }, - i: noop, - o: noop, - d: function d(detaching) { - if (detaching) detach(button); - mounted = false; - dispose(); - } - }; -} - -function instance$6($$self, $$props, $$invalidate) { - var cancelIcon = $$props.cancelIcon, - step = $$props.step; - /** - * Add a click listener to the cancel link that cancels the tour - */ - - var handleCancelClick = function handleCancelClick(e) { - e.preventDefault(); - step.cancel(); - }; - - $$self.$$set = function ($$props) { - if ("cancelIcon" in $$props) $$invalidate(0, cancelIcon = $$props.cancelIcon); - if ("step" in $$props) $$invalidate(2, step = $$props.step); - }; - - return [cancelIcon, handleCancelClick, step]; -} - -var Shepherd_cancel_icon = /*#__PURE__*/function (_SvelteComponent3) { - _inherits(Shepherd_cancel_icon, _SvelteComponent3); - - var _super3 = _createSuper(Shepherd_cancel_icon); - - function Shepherd_cancel_icon(options) { - var _this5; - - _classCallCheck(this, Shepherd_cancel_icon); - - _this5 = _super3.call(this); - init(_assertThisInitialized(_this5), options, instance$6, create_fragment$6, safe_not_equal, { - cancelIcon: 0, - step: 2 - }); - return _this5; - } - - return Shepherd_cancel_icon; -}(SvelteComponent); -/* src/js/components/shepherd-title.svelte generated by Svelte v3.37.0 */ - - -function create_fragment$5(ctx) { - var h3; - return { - c: function c() { - h3 = element("h3"); - attr(h3, "id", - /*labelId*/ - ctx[1]); - attr(h3, "class", "shepherd-title"); - }, - m: function m(target, anchor) { - insert(target, h3, anchor); - /*h3_binding*/ - - ctx[3](h3); - }, - p: function p(ctx, _ref13) { - var _ref14 = _slicedToArray(_ref13, 1), - dirty = _ref14[0]; - - if (dirty & - /*labelId*/ - 2) { - attr(h3, "id", - /*labelId*/ - ctx[1]); - } - }, - i: noop, - o: noop, - d: function d(detaching) { - if (detaching) detach(h3); - /*h3_binding*/ - - ctx[3](null); - } - }; -} - -function instance$5($$self, $$props, $$invalidate) { - var labelId = $$props.labelId, - element = $$props.element, - title = $$props.title; - afterUpdate(function () { - if (isFunction(title)) { - $$invalidate(2, title = title()); - } - - $$invalidate(0, element.innerHTML = title, element); - }); - - function h3_binding($$value) { - binding_callbacks[$$value ? "unshift" : "push"](function () { - element = $$value; - $$invalidate(0, element); - }); - } - - $$self.$$set = function ($$props) { - if ("labelId" in $$props) $$invalidate(1, labelId = $$props.labelId); - if ("element" in $$props) $$invalidate(0, element = $$props.element); - if ("title" in $$props) $$invalidate(2, title = $$props.title); - }; - - return [element, labelId, title, h3_binding]; -} - -var Shepherd_title = /*#__PURE__*/function (_SvelteComponent4) { - _inherits(Shepherd_title, _SvelteComponent4); - - var _super4 = _createSuper(Shepherd_title); - - function Shepherd_title(options) { - var _this6; - - _classCallCheck(this, Shepherd_title); - - _this6 = _super4.call(this); - init(_assertThisInitialized(_this6), options, instance$5, create_fragment$5, safe_not_equal, { - labelId: 1, - element: 0, - title: 2 - }); - return _this6; - } - - return Shepherd_title; -}(SvelteComponent); -/* src/js/components/shepherd-header.svelte generated by Svelte v3.37.0 */ - - -function create_if_block_1$1(ctx) { - var shepherdtitle; - var current; - shepherdtitle = new Shepherd_title({ - props: { - labelId: - /*labelId*/ - ctx[0], - title: - /*title*/ - ctx[2] - } - }); - return { - c: function c() { - create_component(shepherdtitle.$$.fragment); - }, - m: function m(target, anchor) { - mount_component(shepherdtitle, target, anchor); - current = true; - }, - p: function p(ctx, dirty) { - var shepherdtitle_changes = {}; - if (dirty & - /*labelId*/ - 1) shepherdtitle_changes.labelId = - /*labelId*/ - ctx[0]; - if (dirty & - /*title*/ - 4) shepherdtitle_changes.title = - /*title*/ - ctx[2]; - shepherdtitle.$set(shepherdtitle_changes); - }, - i: function i(local) { - if (current) return; - transition_in(shepherdtitle.$$.fragment, local); - current = true; - }, - o: function o(local) { - transition_out(shepherdtitle.$$.fragment, local); - current = false; - }, - d: function d(detaching) { - destroy_component(shepherdtitle, detaching); - } - }; -} // (39:4) {#if cancelIcon && cancelIcon.enabled} - - -function create_if_block$2(ctx) { - var shepherdcancelicon; - var current; - shepherdcancelicon = new Shepherd_cancel_icon({ - props: { - cancelIcon: - /*cancelIcon*/ - ctx[3], - step: - /*step*/ - ctx[1] - } - }); - return { - c: function c() { - create_component(shepherdcancelicon.$$.fragment); - }, - m: function m(target, anchor) { - mount_component(shepherdcancelicon, target, anchor); - current = true; - }, - p: function p(ctx, dirty) { - var shepherdcancelicon_changes = {}; - if (dirty & - /*cancelIcon*/ - 8) shepherdcancelicon_changes.cancelIcon = - /*cancelIcon*/ - ctx[3]; - if (dirty & - /*step*/ - 2) shepherdcancelicon_changes.step = - /*step*/ - ctx[1]; - shepherdcancelicon.$set(shepherdcancelicon_changes); - }, - i: function i(local) { - if (current) return; - transition_in(shepherdcancelicon.$$.fragment, local); - current = true; - }, - o: function o(local) { - transition_out(shepherdcancelicon.$$.fragment, local); - current = false; - }, - d: function d(detaching) { - destroy_component(shepherdcancelicon, detaching); - } - }; -} - -function create_fragment$4(ctx) { - var header; - var t; - var current; - var if_block0 = - /*title*/ - ctx[2] && create_if_block_1$1(ctx); - var if_block1 = - /*cancelIcon*/ - ctx[3] && - /*cancelIcon*/ - ctx[3].enabled && create_if_block$2(ctx); - return { - c: function c() { - header = element("header"); - if (if_block0) if_block0.c(); - t = space(); - if (if_block1) if_block1.c(); - attr(header, "class", "shepherd-header"); - }, - m: function m(target, anchor) { - insert(target, header, anchor); - if (if_block0) if_block0.m(header, null); - append(header, t); - if (if_block1) if_block1.m(header, null); - current = true; - }, - p: function p(ctx, _ref15) { - var _ref16 = _slicedToArray(_ref15, 1), - dirty = _ref16[0]; - - if ( - /*title*/ - ctx[2]) { - if (if_block0) { - if_block0.p(ctx, dirty); - - if (dirty & - /*title*/ - 4) { - transition_in(if_block0, 1); - } - } else { - if_block0 = create_if_block_1$1(ctx); - if_block0.c(); - transition_in(if_block0, 1); - if_block0.m(header, t); - } - } else if (if_block0) { - group_outros(); - transition_out(if_block0, 1, 1, function () { - if_block0 = null; - }); - check_outros(); - } - - if ( - /*cancelIcon*/ - ctx[3] && - /*cancelIcon*/ - ctx[3].enabled) { - if (if_block1) { - if_block1.p(ctx, dirty); - - if (dirty & - /*cancelIcon*/ - 8) { - transition_in(if_block1, 1); - } - } else { - if_block1 = create_if_block$2(ctx); - if_block1.c(); - transition_in(if_block1, 1); - if_block1.m(header, null); - } - } else if (if_block1) { - group_outros(); - transition_out(if_block1, 1, 1, function () { - if_block1 = null; - }); - check_outros(); - } - }, - i: function i(local) { - if (current) return; - transition_in(if_block0); - transition_in(if_block1); - current = true; - }, - o: function o(local) { - transition_out(if_block0); - transition_out(if_block1); - current = false; - }, - d: function d(detaching) { - if (detaching) detach(header); - if (if_block0) if_block0.d(); - if (if_block1) if_block1.d(); - } - }; -} - -function instance$4($$self, $$props, $$invalidate) { - var labelId = $$props.labelId, - step = $$props.step; - var title, cancelIcon; - - $$self.$$set = function ($$props) { - if ("labelId" in $$props) $$invalidate(0, labelId = $$props.labelId); - if ("step" in $$props) $$invalidate(1, step = $$props.step); - }; - - $$self.$$.update = function () { - if ($$self.$$.dirty & - /*step*/ - 2) { - { - $$invalidate(2, title = step.options.title); - $$invalidate(3, cancelIcon = step.options.cancelIcon); - } - } - }; - - return [labelId, step, title, cancelIcon]; -} - -var Shepherd_header = /*#__PURE__*/function (_SvelteComponent5) { - _inherits(Shepherd_header, _SvelteComponent5); - - var _super5 = _createSuper(Shepherd_header); - - function Shepherd_header(options) { - var _this7; - - _classCallCheck(this, Shepherd_header); - - _this7 = _super5.call(this); - init(_assertThisInitialized(_this7), options, instance$4, create_fragment$4, safe_not_equal, { - labelId: 0, - step: 1 - }); - return _this7; - } - - return Shepherd_header; -}(SvelteComponent); -/* src/js/components/shepherd-text.svelte generated by Svelte v3.37.0 */ - - -function create_fragment$3(ctx) { - var div; - return { - c: function c() { - div = element("div"); - attr(div, "class", "shepherd-text"); - attr(div, "id", - /*descriptionId*/ - ctx[1]); - }, - m: function m(target, anchor) { - insert(target, div, anchor); - /*div_binding*/ - - ctx[3](div); - }, - p: function p(ctx, _ref17) { - var _ref18 = _slicedToArray(_ref17, 1), - dirty = _ref18[0]; - - if (dirty & - /*descriptionId*/ - 2) { - attr(div, "id", - /*descriptionId*/ - ctx[1]); - } - }, - i: noop, - o: noop, - d: function d(detaching) { - if (detaching) detach(div); - /*div_binding*/ - - ctx[3](null); - } - }; -} - -function instance$3($$self, $$props, $$invalidate) { - var descriptionId = $$props.descriptionId, - element = $$props.element, - step = $$props.step; - afterUpdate(function () { - var text = step.options.text; - - if (isFunction(text)) { - text = text.call(step); - } - - if (isHTMLElement$1(text)) { - element.appendChild(text); - } else { - $$invalidate(0, element.innerHTML = text, element); - } - }); - - function div_binding($$value) { - binding_callbacks[$$value ? "unshift" : "push"](function () { - element = $$value; - $$invalidate(0, element); - }); - } - - $$self.$$set = function ($$props) { - if ("descriptionId" in $$props) $$invalidate(1, descriptionId = $$props.descriptionId); - if ("element" in $$props) $$invalidate(0, element = $$props.element); - if ("step" in $$props) $$invalidate(2, step = $$props.step); - }; - - return [element, descriptionId, step, div_binding]; -} - -var Shepherd_text = /*#__PURE__*/function (_SvelteComponent6) { - _inherits(Shepherd_text, _SvelteComponent6); - - var _super6 = _createSuper(Shepherd_text); - - function Shepherd_text(options) { - var _this8; - - _classCallCheck(this, Shepherd_text); - - _this8 = _super6.call(this); - init(_assertThisInitialized(_this8), options, instance$3, create_fragment$3, safe_not_equal, { - descriptionId: 1, - element: 0, - step: 2 - }); - return _this8; - } - - return Shepherd_text; -}(SvelteComponent); -/* src/js/components/shepherd-content.svelte generated by Svelte v3.37.0 */ - - -function create_if_block_2(ctx) { - var shepherdheader; - var current; - shepherdheader = new Shepherd_header({ - props: { - labelId: - /*labelId*/ - ctx[1], - step: - /*step*/ - ctx[2] - } - }); - return { - c: function c() { - create_component(shepherdheader.$$.fragment); - }, - m: function m(target, anchor) { - mount_component(shepherdheader, target, anchor); - current = true; - }, - p: function p(ctx, dirty) { - var shepherdheader_changes = {}; - if (dirty & - /*labelId*/ - 2) shepherdheader_changes.labelId = - /*labelId*/ - ctx[1]; - if (dirty & - /*step*/ - 4) shepherdheader_changes.step = - /*step*/ - ctx[2]; - shepherdheader.$set(shepherdheader_changes); - }, - i: function i(local) { - if (current) return; - transition_in(shepherdheader.$$.fragment, local); - current = true; - }, - o: function o(local) { - transition_out(shepherdheader.$$.fragment, local); - current = false; - }, - d: function d(detaching) { - destroy_component(shepherdheader, detaching); - } - }; -} // (28:2) {#if !isUndefined(step.options.text)} - - -function create_if_block_1(ctx) { - var shepherdtext; - var current; - shepherdtext = new Shepherd_text({ - props: { - descriptionId: - /*descriptionId*/ - ctx[0], - step: - /*step*/ - ctx[2] - } - }); - return { - c: function c() { - create_component(shepherdtext.$$.fragment); - }, - m: function m(target, anchor) { - mount_component(shepherdtext, target, anchor); - current = true; - }, - p: function p(ctx, dirty) { - var shepherdtext_changes = {}; - if (dirty & - /*descriptionId*/ - 1) shepherdtext_changes.descriptionId = - /*descriptionId*/ - ctx[0]; - if (dirty & - /*step*/ - 4) shepherdtext_changes.step = - /*step*/ - ctx[2]; - shepherdtext.$set(shepherdtext_changes); - }, - i: function i(local) { - if (current) return; - transition_in(shepherdtext.$$.fragment, local); - current = true; - }, - o: function o(local) { - transition_out(shepherdtext.$$.fragment, local); - current = false; - }, - d: function d(detaching) { - destroy_component(shepherdtext, detaching); - } - }; -} // (35:2) {#if Array.isArray(step.options.buttons) && step.options.buttons.length} - - -function create_if_block$1(ctx) { - var shepherdfooter; - var current; - shepherdfooter = new Shepherd_footer({ - props: { - step: - /*step*/ - ctx[2] - } - }); - return { - c: function c() { - create_component(shepherdfooter.$$.fragment); - }, - m: function m(target, anchor) { - mount_component(shepherdfooter, target, anchor); - current = true; - }, - p: function p(ctx, dirty) { - var shepherdfooter_changes = {}; - if (dirty & - /*step*/ - 4) shepherdfooter_changes.step = - /*step*/ - ctx[2]; - shepherdfooter.$set(shepherdfooter_changes); - }, - i: function i(local) { - if (current) return; - transition_in(shepherdfooter.$$.fragment, local); - current = true; - }, - o: function o(local) { - transition_out(shepherdfooter.$$.fragment, local); - current = false; - }, - d: function d(detaching) { - destroy_component(shepherdfooter, detaching); - } - }; -} - -function create_fragment$2(ctx) { - var div; - var show_if_2 = !isUndefined( - /*step*/ - ctx[2].options.title) || - /*step*/ - ctx[2].options.cancelIcon && - /*step*/ - ctx[2].options.cancelIcon.enabled; - var t0; - var show_if_1 = !isUndefined( - /*step*/ - ctx[2].options.text); - var t1; - var show_if = Array.isArray( - /*step*/ - ctx[2].options.buttons) && - /*step*/ - ctx[2].options.buttons.length; - var current; - var if_block0 = show_if_2 && create_if_block_2(ctx); - var if_block1 = show_if_1 && create_if_block_1(ctx); - var if_block2 = show_if && create_if_block$1(ctx); - return { - c: function c() { - div = element("div"); - if (if_block0) if_block0.c(); - t0 = space(); - if (if_block1) if_block1.c(); - t1 = space(); - if (if_block2) if_block2.c(); - attr(div, "class", "shepherd-content"); - }, - m: function m(target, anchor) { - insert(target, div, anchor); - if (if_block0) if_block0.m(div, null); - append(div, t0); - if (if_block1) if_block1.m(div, null); - append(div, t1); - if (if_block2) if_block2.m(div, null); - current = true; - }, - p: function p(ctx, _ref19) { - var _ref20 = _slicedToArray(_ref19, 1), - dirty = _ref20[0]; - - if (dirty & - /*step*/ - 4) show_if_2 = !isUndefined( - /*step*/ - ctx[2].options.title) || - /*step*/ - ctx[2].options.cancelIcon && - /*step*/ - ctx[2].options.cancelIcon.enabled; - - if (show_if_2) { - if (if_block0) { - if_block0.p(ctx, dirty); - - if (dirty & - /*step*/ - 4) { - transition_in(if_block0, 1); - } - } else { - if_block0 = create_if_block_2(ctx); - if_block0.c(); - transition_in(if_block0, 1); - if_block0.m(div, t0); - } - } else if (if_block0) { - group_outros(); - transition_out(if_block0, 1, 1, function () { - if_block0 = null; - }); - check_outros(); - } - - if (dirty & - /*step*/ - 4) show_if_1 = !isUndefined( - /*step*/ - ctx[2].options.text); - - if (show_if_1) { - if (if_block1) { - if_block1.p(ctx, dirty); - - if (dirty & - /*step*/ - 4) { - transition_in(if_block1, 1); - } - } else { - if_block1 = create_if_block_1(ctx); - if_block1.c(); - transition_in(if_block1, 1); - if_block1.m(div, t1); - } - } else if (if_block1) { - group_outros(); - transition_out(if_block1, 1, 1, function () { - if_block1 = null; - }); - check_outros(); - } - - if (dirty & - /*step*/ - 4) show_if = Array.isArray( - /*step*/ - ctx[2].options.buttons) && - /*step*/ - ctx[2].options.buttons.length; - - if (show_if) { - if (if_block2) { - if_block2.p(ctx, dirty); - - if (dirty & - /*step*/ - 4) { - transition_in(if_block2, 1); - } - } else { - if_block2 = create_if_block$1(ctx); - if_block2.c(); - transition_in(if_block2, 1); - if_block2.m(div, null); - } - } else if (if_block2) { - group_outros(); - transition_out(if_block2, 1, 1, function () { - if_block2 = null; - }); - check_outros(); - } - }, - i: function i(local) { - if (current) return; - transition_in(if_block0); - transition_in(if_block1); - transition_in(if_block2); - current = true; - }, - o: function o(local) { - transition_out(if_block0); - transition_out(if_block1); - transition_out(if_block2); - current = false; - }, - d: function d(detaching) { - if (detaching) detach(div); - if (if_block0) if_block0.d(); - if (if_block1) if_block1.d(); - if (if_block2) if_block2.d(); - } - }; -} - -function instance$2($$self, $$props, $$invalidate) { - var descriptionId = $$props.descriptionId, - labelId = $$props.labelId, - step = $$props.step; - - $$self.$$set = function ($$props) { - if ("descriptionId" in $$props) $$invalidate(0, descriptionId = $$props.descriptionId); - if ("labelId" in $$props) $$invalidate(1, labelId = $$props.labelId); - if ("step" in $$props) $$invalidate(2, step = $$props.step); - }; - - return [descriptionId, labelId, step]; -} - -var Shepherd_content = /*#__PURE__*/function (_SvelteComponent7) { - _inherits(Shepherd_content, _SvelteComponent7); - - var _super7 = _createSuper(Shepherd_content); - - function Shepherd_content(options) { - var _this9; - - _classCallCheck(this, Shepherd_content); - - _this9 = _super7.call(this); - init(_assertThisInitialized(_this9), options, instance$2, create_fragment$2, safe_not_equal, { - descriptionId: 0, - labelId: 1, - step: 2 - }); - return _this9; - } - - return Shepherd_content; -}(SvelteComponent); -/* src/js/components/shepherd-element.svelte generated by Svelte v3.37.0 */ - - -function create_if_block(ctx) { - var div; - return { - c: function c() { - div = element("div"); - attr(div, "class", "shepherd-arrow"); - attr(div, "data-popper-arrow", ""); - }, - m: function m(target, anchor) { - insert(target, div, anchor); - }, - d: function d(detaching) { - if (detaching) detach(div); - } - }; -} - -function create_fragment$1(ctx) { - var div; - var t; - var shepherdcontent; - var div_aria_describedby_value; - var div_aria_labelledby_value; - var current; - var mounted; - var dispose; - var if_block = - /*step*/ - ctx[4].options.arrow && - /*step*/ - ctx[4].options.attachTo && - /*step*/ - ctx[4].options.attachTo.element && - /*step*/ - ctx[4].options.attachTo.on && create_if_block(); - shepherdcontent = new Shepherd_content({ - props: { - descriptionId: - /*descriptionId*/ - ctx[2], - labelId: - /*labelId*/ - ctx[3], - step: - /*step*/ - ctx[4] - } - }); - var div_levels = [{ - "aria-describedby": div_aria_describedby_value = !isUndefined( - /*step*/ - ctx[4].options.text) ? - /*descriptionId*/ - ctx[2] : null - }, { - "aria-labelledby": div_aria_labelledby_value = - /*step*/ - ctx[4].options.title ? - /*labelId*/ - ctx[3] : null - }, - /*dataStepId*/ - ctx[1], { - role: "dialog" - }, { - tabindex: "0" - }]; - var div_data = {}; - - for (var i = 0; i < div_levels.length; i += 1) { - div_data = assign(div_data, div_levels[i]); - } - - return { - c: function c() { - div = element("div"); - if (if_block) if_block.c(); - t = space(); - create_component(shepherdcontent.$$.fragment); - set_attributes(div, div_data); - toggle_class(div, "shepherd-has-cancel-icon", - /*hasCancelIcon*/ - ctx[5]); - toggle_class(div, "shepherd-has-title", - /*hasTitle*/ - ctx[6]); - toggle_class(div, "shepherd-element", true); - }, - m: function m(target, anchor) { - insert(target, div, anchor); - if (if_block) if_block.m(div, null); - append(div, t); - mount_component(shepherdcontent, div, null); - /*div_binding*/ - - ctx[13](div); - current = true; - - if (!mounted) { - dispose = listen(div, "keydown", - /*handleKeyDown*/ - ctx[7]); - mounted = true; - } - }, - p: function p(ctx, _ref21) { - var _ref22 = _slicedToArray(_ref21, 1), - dirty = _ref22[0]; - - if ( - /*step*/ - ctx[4].options.arrow && - /*step*/ - ctx[4].options.attachTo && - /*step*/ - ctx[4].options.attachTo.element && - /*step*/ - ctx[4].options.attachTo.on) { - if (if_block) ;else { - if_block = create_if_block(); - if_block.c(); - if_block.m(div, t); - } - } else if (if_block) { - if_block.d(1); - if_block = null; - } - - var shepherdcontent_changes = {}; - if (dirty & - /*descriptionId*/ - 4) shepherdcontent_changes.descriptionId = - /*descriptionId*/ - ctx[2]; - if (dirty & - /*labelId*/ - 8) shepherdcontent_changes.labelId = - /*labelId*/ - ctx[3]; - if (dirty & - /*step*/ - 16) shepherdcontent_changes.step = - /*step*/ - ctx[4]; - shepherdcontent.$set(shepherdcontent_changes); - set_attributes(div, div_data = get_spread_update(div_levels, [(!current || dirty & - /*step, descriptionId*/ - 20 && div_aria_describedby_value !== (div_aria_describedby_value = !isUndefined( - /*step*/ - ctx[4].options.text) ? - /*descriptionId*/ - ctx[2] : null)) && { - "aria-describedby": div_aria_describedby_value - }, (!current || dirty & - /*step, labelId*/ - 24 && div_aria_labelledby_value !== (div_aria_labelledby_value = - /*step*/ - ctx[4].options.title ? - /*labelId*/ - ctx[3] : null)) && { - "aria-labelledby": div_aria_labelledby_value - }, dirty & - /*dataStepId*/ - 2 && - /*dataStepId*/ - ctx[1], { - role: "dialog" - }, { - tabindex: "0" - }])); - toggle_class(div, "shepherd-has-cancel-icon", - /*hasCancelIcon*/ - ctx[5]); - toggle_class(div, "shepherd-has-title", - /*hasTitle*/ - ctx[6]); - toggle_class(div, "shepherd-element", true); - }, - i: function i(local) { - if (current) return; - transition_in(shepherdcontent.$$.fragment, local); - current = true; - }, - o: function o(local) { - transition_out(shepherdcontent.$$.fragment, local); - current = false; - }, - d: function d(detaching) { - if (detaching) detach(div); - if (if_block) if_block.d(); - destroy_component(shepherdcontent); - /*div_binding*/ - - ctx[13](null); - mounted = false; - dispose(); - } - }; -} - -var KEY_TAB = 9; -var KEY_ESC = 27; -var LEFT_ARROW = 37; -var RIGHT_ARROW = 39; - -function getClassesArray(classes) { - return classes.split(" ").filter(function (className) { - return !!className.length; - }); -} - -function instance$1($$self, $$props, $$invalidate) { - var classPrefix = $$props.classPrefix, - element = $$props.element, - descriptionId = $$props.descriptionId, - firstFocusableElement = $$props.firstFocusableElement, - focusableElements = $$props.focusableElements, - labelId = $$props.labelId, - lastFocusableElement = $$props.lastFocusableElement, - step = $$props.step, - dataStepId = $$props.dataStepId; - var hasCancelIcon, hasTitle, classes; - - var getElement = function getElement() { - return element; - }; - - onMount(function () { - // Get all elements that are focusable - $$invalidate(1, dataStepId = _defineProperty({}, "data-".concat(classPrefix, "shepherd-step-id"), step.id)); - $$invalidate(9, focusableElements = element.querySelectorAll("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]")); - $$invalidate(8, firstFocusableElement = focusableElements[0]); - $$invalidate(10, lastFocusableElement = focusableElements[focusableElements.length - 1]); - }); - afterUpdate(function () { - if (classes !== step.options.classes) { - updateDynamicClasses(); - } - }); - - function updateDynamicClasses() { - removeClasses(classes); - classes = step.options.classes; - addClasses(classes); - } - - function removeClasses(classes) { - if (isString(classes)) { - var oldClasses = getClassesArray(classes); - - if (oldClasses.length) { - var _element$classList; - - (_element$classList = element.classList).remove.apply(_element$classList, _toConsumableArray(oldClasses)); - } - } - } - - function addClasses(classes) { - if (isString(classes)) { - var newClasses = getClassesArray(classes); - - if (newClasses.length) { - var _element$classList2; - - (_element$classList2 = element.classList).add.apply(_element$classList2, _toConsumableArray(newClasses)); - } - } - } - /** - * Setup keydown events to allow closing the modal with ESC - * - * Borrowed from this great post! https://bitsofco.de/accessible-modal-dialog/ - * - * @private - */ - - - var handleKeyDown = function handleKeyDown(e) { - var _step = step, - tour = _step.tour; - - switch (e.keyCode) { - case KEY_TAB: - if (focusableElements.length === 0) { - e.preventDefault(); - break; - } // Backward tab - - - if (e.shiftKey) { - if (document.activeElement === firstFocusableElement || document.activeElement.classList.contains("shepherd-element")) { - e.preventDefault(); - lastFocusableElement.focus(); - } - } else { - if (document.activeElement === lastFocusableElement) { - e.preventDefault(); - firstFocusableElement.focus(); - } - } - - break; - - case KEY_ESC: - if (tour.options.exitOnEsc) { - step.cancel(); - } - - break; - - case LEFT_ARROW: - if (tour.options.keyboardNavigation) { - tour.back(); - } - - break; - - case RIGHT_ARROW: - if (tour.options.keyboardNavigation) { - tour.next(); - } - - break; - } - }; - - function div_binding($$value) { - binding_callbacks[$$value ? "unshift" : "push"](function () { - element = $$value; - $$invalidate(0, element); - }); - } - - $$self.$$set = function ($$props) { - if ("classPrefix" in $$props) $$invalidate(11, classPrefix = $$props.classPrefix); - if ("element" in $$props) $$invalidate(0, element = $$props.element); - if ("descriptionId" in $$props) $$invalidate(2, descriptionId = $$props.descriptionId); - if ("firstFocusableElement" in $$props) $$invalidate(8, firstFocusableElement = $$props.firstFocusableElement); - if ("focusableElements" in $$props) $$invalidate(9, focusableElements = $$props.focusableElements); - if ("labelId" in $$props) $$invalidate(3, labelId = $$props.labelId); - if ("lastFocusableElement" in $$props) $$invalidate(10, lastFocusableElement = $$props.lastFocusableElement); - if ("step" in $$props) $$invalidate(4, step = $$props.step); - if ("dataStepId" in $$props) $$invalidate(1, dataStepId = $$props.dataStepId); - }; - - $$self.$$.update = function () { - if ($$self.$$.dirty & - /*step*/ - 16) { - { - $$invalidate(5, hasCancelIcon = step.options && step.options.cancelIcon && step.options.cancelIcon.enabled); - $$invalidate(6, hasTitle = step.options && step.options.title); - } - } - }; - - return [element, dataStepId, descriptionId, labelId, step, hasCancelIcon, hasTitle, handleKeyDown, firstFocusableElement, focusableElements, lastFocusableElement, classPrefix, getElement, div_binding]; -} - -var Shepherd_element = /*#__PURE__*/function (_SvelteComponent8) { - _inherits(Shepherd_element, _SvelteComponent8); - - var _super8 = _createSuper(Shepherd_element); - - function Shepherd_element(options) { - var _this10; - - _classCallCheck(this, Shepherd_element); - - _this10 = _super8.call(this); - init(_assertThisInitialized(_this10), options, instance$1, create_fragment$1, safe_not_equal, { - classPrefix: 11, - element: 0, - descriptionId: 2, - firstFocusableElement: 8, - focusableElements: 9, - labelId: 3, - lastFocusableElement: 10, - step: 4, - dataStepId: 1, - getElement: 12 - }); - return _this10; - } - - _createClass(Shepherd_element, [{ - key: "getElement", - get: function get() { - return this.$$.ctx[12]; - } - }]); - - return Shepherd_element; -}(SvelteComponent); - -function createCommonjsModule(fn, module) { - return module = { - exports: {} - }, fn(module, module.exports), module.exports; -} - -var smoothscroll = createCommonjsModule(function (module, exports) { - /* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */ - (function () { - function polyfill() { - // aliases - var w = window; - var d = document; // return if scroll behavior is supported and polyfill is not forced - - if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) { - return; - } // globals - - - var Element = w.HTMLElement || w.Element; - var SCROLL_TIME = 468; // object gathering original scroll methods - - var original = { - scroll: w.scroll || w.scrollTo, - scrollBy: w.scrollBy, - elementScroll: Element.prototype.scroll || scrollElement, - scrollIntoView: Element.prototype.scrollIntoView - }; // define timing method - - var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now; - /** - * indicates if a the current browser is made by Microsoft - * @method isMicrosoftBrowser - * @param {String} userAgent - * @returns {Boolean} - */ - - function isMicrosoftBrowser(userAgent) { - var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/']; - return new RegExp(userAgentPatterns.join('|')).test(userAgent); - } - /* - * IE has rounding bug rounding down clientHeight and clientWidth and - * rounding up scrollHeight and scrollWidth causing false positives - * on hasScrollableSpace - */ - - - var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0; - /** - * changes scroll position inside an element - * @method scrollElement - * @param {Number} x - * @param {Number} y - * @returns {undefined} - */ - - function scrollElement(x, y) { - this.scrollLeft = x; - this.scrollTop = y; - } - /** - * returns result of applying ease math function to a number - * @method ease - * @param {Number} k - * @returns {Number} - */ - - - function ease(k) { - return 0.5 * (1 - Math.cos(Math.PI * k)); - } - /** - * indicates if a smooth behavior should be applied - * @method shouldBailOut - * @param {Number|Object} firstArg - * @returns {Boolean} - */ - - - function shouldBailOut(firstArg) { - if (firstArg === null || _typeof(firstArg) !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') { - // first argument is not an object/null - // or behavior is auto, instant or undefined - return true; - } - - if (_typeof(firstArg) === 'object' && firstArg.behavior === 'smooth') { - // first argument is an object and behavior is smooth - return false; - } // throw error when behavior is not supported - - - throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.'); - } - /** - * indicates if an element has scrollable space in the provided axis - * @method hasScrollableSpace - * @param {Node} el - * @param {String} axis - * @returns {Boolean} - */ - - - function hasScrollableSpace(el, axis) { - if (axis === 'Y') { - return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight; - } - - if (axis === 'X') { - return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth; - } - } - /** - * indicates if an element has a scrollable overflow property in the axis - * @method canOverflow - * @param {Node} el - * @param {String} axis - * @returns {Boolean} - */ - - - function canOverflow(el, axis) { - var overflowValue = w.getComputedStyle(el, null)['overflow' + axis]; - return overflowValue === 'auto' || overflowValue === 'scroll'; - } - /** - * indicates if an element can be scrolled in either axis - * @method isScrollable - * @param {Node} el - * @param {String} axis - * @returns {Boolean} - */ - - - function isScrollable(el) { - var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y'); - var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X'); - return isScrollableY || isScrollableX; - } - /** - * finds scrollable parent of an element - * @method findScrollableParent - * @param {Node} el - * @returns {Node} el - */ - - - function findScrollableParent(el) { - while (el !== d.body && isScrollable(el) === false) { - el = el.parentNode || el.host; - } - - return el; - } - /** - * self invoked function that, given a context, steps through scrolling - * @method step - * @param {Object} context - * @returns {undefined} - */ - - - function step(context) { - var time = now(); - var value; - var currentX; - var currentY; - var elapsed = (time - context.startTime) / SCROLL_TIME; // avoid elapsed times higher than one - - elapsed = elapsed > 1 ? 1 : elapsed; // apply easing to elapsed time - - value = ease(elapsed); - currentX = context.startX + (context.x - context.startX) * value; - currentY = context.startY + (context.y - context.startY) * value; - context.method.call(context.scrollable, currentX, currentY); // scroll more if we have not reached our destination - - if (currentX !== context.x || currentY !== context.y) { - w.requestAnimationFrame(step.bind(w, context)); - } - } - /** - * scrolls window or element with a smooth behavior - * @method smoothScroll - * @param {Object|Node} el - * @param {Number} x - * @param {Number} y - * @returns {undefined} - */ - - - function smoothScroll(el, x, y) { - var scrollable; - var startX; - var startY; - var method; - var startTime = now(); // define scroll context - - if (el === d.body) { - scrollable = w; - startX = w.scrollX || w.pageXOffset; - startY = w.scrollY || w.pageYOffset; - method = original.scroll; - } else { - scrollable = el; - startX = el.scrollLeft; - startY = el.scrollTop; - method = scrollElement; - } // scroll looping over a frame - - - step({ - scrollable: scrollable, - method: method, - startTime: startTime, - startX: startX, - startY: startY, - x: x, - y: y - }); - } // ORIGINAL METHODS OVERRIDES - // w.scroll and w.scrollTo - - - w.scroll = w.scrollTo = function () { - // avoid action when no arguments are passed - if (arguments[0] === undefined) { - return; - } // avoid smooth behavior if not required - - - if (shouldBailOut(arguments[0]) === true) { - original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : _typeof(arguments[0]) !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset, // use top prop, second argument if present or fallback to scrollY - arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset); - return; - } // LET THE SMOOTHNESS BEGIN! - - - smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset); - }; // w.scrollBy - - - w.scrollBy = function () { - // avoid action when no arguments are passed - if (arguments[0] === undefined) { - return; - } // avoid smooth behavior if not required - - - if (shouldBailOut(arguments[0])) { - original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : _typeof(arguments[0]) !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0); - return; - } // LET THE SMOOTHNESS BEGIN! - - - smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset)); - }; // Element.prototype.scroll and Element.prototype.scrollTo - - - Element.prototype.scroll = Element.prototype.scrollTo = function () { - // avoid action when no arguments are passed - if (arguments[0] === undefined) { - return; - } // avoid smooth behavior if not required - - - if (shouldBailOut(arguments[0]) === true) { - // if one number is passed, throw error to match Firefox implementation - if (typeof arguments[0] === 'number' && arguments[1] === undefined) { - throw new SyntaxError('Value could not be converted'); - } - - original.elementScroll.call(this, // use left prop, first number argument or fallback to scrollLeft - arguments[0].left !== undefined ? ~~arguments[0].left : _typeof(arguments[0]) !== 'object' ? ~~arguments[0] : this.scrollLeft, // use top prop, second argument or fallback to scrollTop - arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop); - return; - } - - var left = arguments[0].left; - var top = arguments[0].top; // LET THE SMOOTHNESS BEGIN! - - smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top); - }; // Element.prototype.scrollBy - - - Element.prototype.scrollBy = function () { - // avoid action when no arguments are passed - if (arguments[0] === undefined) { - return; - } // avoid smooth behavior if not required - - - if (shouldBailOut(arguments[0]) === true) { - original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop); - return; - } - - this.scroll({ - left: ~~arguments[0].left + this.scrollLeft, - top: ~~arguments[0].top + this.scrollTop, - behavior: arguments[0].behavior - }); - }; // Element.prototype.scrollIntoView - - - Element.prototype.scrollIntoView = function () { - // avoid smooth behavior if not required - if (shouldBailOut(arguments[0]) === true) { - original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]); - return; - } // LET THE SMOOTHNESS BEGIN! - - - var scrollableParent = findScrollableParent(this); - var parentRects = scrollableParent.getBoundingClientRect(); - var clientRects = this.getBoundingClientRect(); - - if (scrollableParent !== d.body) { - // reveal element inside parent - smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top); // reveal parent in viewport unless is fixed - - if (w.getComputedStyle(scrollableParent).position !== 'fixed') { - w.scrollBy({ - left: parentRects.left, - top: parentRects.top, - behavior: 'smooth' - }); - } - } else { - // reveal element in viewport - w.scrollBy({ - left: clientRects.left, - top: clientRects.top, - behavior: 'smooth' - }); - } - }; - } - - { - // commonjs - module.exports = { - polyfill: polyfill - }; - } - })(); -}); -smoothscroll.polyfill; -smoothscroll.polyfill(); -/** - * A class representing steps to be added to a tour. - * @extends {Evented} - */ - -var Step = /*#__PURE__*/function (_Evented) { - _inherits(Step, _Evented); - - var _super9 = _createSuper(Step); - - /** - * Create a step - * @param {Tour} tour The tour for the step - * @param {object} options The options for the step - * @param {boolean} options.arrow Whether to display the arrow for the tooltip or not. Defaults to `true`. - * @param {object} options.attachTo The element the step should be attached to on the page. - * An object with properties `element` and `on`. - * - * ```js - * const step = new Step(tour, { - * attachTo: { element: '.some .selector-path', on: 'left' }, - * ...moreOptions - * }); - * ``` - * - * If you don’t specify an attachTo the element will appear in the middle of the screen. - * If you omit the `on` portion of `attachTo`, the element will still be highlighted, but the tooltip will appear - * in the middle of the screen, without an arrow pointing to the target. - * @param {HTMLElement|string} options.attachTo.element An element selector string or a DOM element. - * @param {string} options.attachTo.on The optional direction to place the Popper tooltip relative to the element. - * - Possible string values: 'auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end' - * @param {Object} options.advanceOn An action on the page which should advance shepherd to the next step. - * It should be an object with a string `selector` and an `event` name - * ```js - * const step = new Step(tour, { - * advanceOn: { selector: '.some .selector-path', event: 'click' }, - * ...moreOptions - * }); - * ``` - * `event` doesn’t have to be an event inside the tour, it can be any event fired on any element on the page. - * You can also always manually advance the Tour by calling `myTour.next()`. - * @param {function} options.beforeShowPromise A function that returns a promise. - * When the promise resolves, the rest of the `show` code for the step will execute. - * @param {Object[]} options.buttons An array of buttons to add to the step. These will be rendered in a - * footer below the main body text. - * @param {function} options.buttons.button.action A function executed when the button is clicked on. - * It is automatically bound to the `tour` the step is associated with, so things like `this.next` will - * work inside the action. - * You can use action to skip steps or navigate to specific steps, with something like: - * ```js - * action() { - * return this.show('some_step_name'); - * } - * ``` - * @param {string} options.buttons.button.classes Extra classes to apply to the `` - * @param {boolean} options.buttons.button.disabled Should the button be disabled? - * @param {string} options.buttons.button.label The aria-label text of the button - * @param {boolean} options.buttons.button.secondary If true, a shepherd-button-secondary class is applied to the button - * @param {string} options.buttons.button.text The HTML text of the button - * @param {boolean} options.canClickTarget A boolean, that when set to false, will set `pointer-events: none` on the target - * @param {object} options.cancelIcon Options for the cancel icon - * @param {boolean} options.cancelIcon.enabled Should a cancel “✕” be shown in the header of the step? - * @param {string} options.cancelIcon.label The label to add for `aria-label` - * @param {string} options.classes A string of extra classes to add to the step's content element. - * @param {string} options.highlightClass An extra class to apply to the `attachTo` element when it is - * highlighted (that is, when its step is active). You can then target that selector in your CSS. - * @param {string} options.id The string to use as the `id` for the step. - * @param {number} options.modalOverlayOpeningPadding An amount of padding to add around the modal overlay opening - * @param {number} options.modalOverlayOpeningRadius An amount of border radius to add around the modal overlay opening - * @param {object} options.popperOptions Extra options to pass to Popper - * @param {boolean|Object} options.scrollTo Should the element be scrolled to when this step is shown? If true, uses the default `scrollIntoView`, - * if an object, passes that object as the params to `scrollIntoView` i.e. `{behavior: 'smooth', block: 'center'}` - * @param {function} options.scrollToHandler A function that lets you override the default scrollTo behavior and - * define a custom action to do the scrolling, and possibly other logic. - * @param {function} options.showOn A function that, when it returns `true`, will show the step. - * If it returns false, the step will be skipped. - * @param {string} options.text The text in the body of the step. It can be one of three types: - * ``` - * - HTML string - * - `HTMLElement` object - * - `Function` to be executed when the step is built. It must return one the two options above. - * ``` - * @param {string} options.title The step's title. It becomes an `h3` at the top of the step. It can be one of two types: - * ``` - * - HTML string - * - `Function` to be executed when the step is built. It must return HTML string. - * ``` - * @param {object} options.when You can define `show`, `hide`, etc events inside `when`. For example: - * ```js - * when: { - * show: function() { - * window.scrollTo(0, 0); - * } - * } - * ``` - * @return {Step} The newly created Step instance - */ - function Step(tour) { - var _this11; - - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, Step); - - _this11 = _super9.call(this, tour, options); - _this11.tour = tour; - _this11.classPrefix = _this11.tour.options ? normalizePrefix(_this11.tour.options.classPrefix) : ''; - _this11.styles = tour.styles; - autoBind(_assertThisInitialized(_this11)); - - _this11._setOptions(options); - - return _possibleConstructorReturn(_this11, _assertThisInitialized(_this11)); - } - /** - * Cancel the tour - * Triggers the `cancel` event - */ - - - _createClass(Step, [{ - key: "cancel", - value: function cancel() { - this.tour.cancel(); - this.trigger('cancel'); - } - /** - * Complete the tour - * Triggers the `complete` event - */ - - }, { - key: "complete", - value: function complete() { - this.tour.complete(); - this.trigger('complete'); - } - /** - * Remove the step, delete the step's element, and destroy the Popper instance for the step. - * Triggers `destroy` event - */ - - }, { - key: "destroy", - value: function destroy() { - if (this.tooltip) { - this.tooltip.destroy(); - this.tooltip = null; - } - - if (isHTMLElement$1(this.el) && this.el.parentNode) { - this.el.parentNode.removeChild(this.el); - this.el = null; - } - - this._updateStepTargetOnHide(); - - this.trigger('destroy'); - } - /** - * Returns the tour for the step - * @return {Tour} The tour instance - */ - - }, { - key: "getTour", - value: function getTour() { - return this.tour; - } - /** - * Hide the step - */ - - }, { - key: "hide", - value: function hide() { - this.tour.modal.hide(); - this.trigger('before-hide'); - - if (this.el) { - this.el.hidden = true; - } - - this._updateStepTargetOnHide(); - - this.trigger('hide'); - } - /** - * Checks if the step should be centered or not - * @return {boolean} True if the step is centered - */ - - }, { - key: "isCentered", - value: function isCentered() { - var attachToOptions = parseAttachTo(this); - return !attachToOptions.element || !attachToOptions.on; - } - /** - * Check if the step is open and visible - * @return {boolean} True if the step is open and visible - */ - - }, { - key: "isOpen", - value: function isOpen() { - return Boolean(this.el && !this.el.hidden); - } - /** - * Wraps `_show` and ensures `beforeShowPromise` resolves before calling show - * @return {*|Promise} - */ - - }, { - key: "show", - value: function show() { - var _this12 = this; - - if (isFunction(this.options.beforeShowPromise)) { - var beforeShowPromise = this.options.beforeShowPromise(); - - if (!isUndefined(beforeShowPromise)) { - return beforeShowPromise.then(function () { - return _this12._show(); - }); - } - } - - this._show(); - } - /** - * Updates the options of the step. - * - * @param {Object} options The options for the step - */ - - }, { - key: "updateStepOptions", - value: function updateStepOptions(options) { - Object.assign(this.options, options); - - if (this.shepherdElementComponent) { - this.shepherdElementComponent.$set({ - step: this - }); - } - } - /** - * Returns the element for the step - * @return {HTMLElement|null|undefined} The element instance. undefined if it has never been shown, null if it has been destroyed - */ - - }, { - key: "getElement", - value: function getElement() { - return this.el; - } - /** - * Returns the target for the step - * @return {HTMLElement|null|undefined} The element instance. undefined if it has never been shown, null if query string has not been found - */ - - }, { - key: "getTarget", - value: function getTarget() { - return this.target; - } - /** - * Creates Shepherd element for step based on options - * - * @return {Element} The DOM element for the step tooltip - * @private - */ - - }, { - key: "_createTooltipContent", - value: function _createTooltipContent() { - var descriptionId = "".concat(this.id, "-description"); - var labelId = "".concat(this.id, "-label"); - this.shepherdElementComponent = new Shepherd_element({ - target: this.tour.options.stepsContainer || document.body, - props: { - classPrefix: this.classPrefix, - descriptionId: descriptionId, - labelId: labelId, - step: this, - styles: this.styles - } - }); - return this.shepherdElementComponent.getElement(); - } - /** - * If a custom scrollToHandler is defined, call that, otherwise do the generic - * scrollIntoView call. - * - * @param {boolean|Object} scrollToOptions If true, uses the default `scrollIntoView`, - * if an object, passes that object as the params to `scrollIntoView` i.e. `{ behavior: 'smooth', block: 'center' }` - * @private - */ - - }, { - key: "_scrollTo", - value: function _scrollTo(scrollToOptions) { - var _parseAttachTo = parseAttachTo(this), - element = _parseAttachTo.element; - - if (isFunction(this.options.scrollToHandler)) { - this.options.scrollToHandler(element); - } else if (isElement$1(element) && typeof element.scrollIntoView === 'function') { - element.scrollIntoView(scrollToOptions); - } - } - /** - * _getClassOptions gets all possible classes for the step - * @param {Object} stepOptions The step specific options - * @returns {String} unique string from array of classes - * @private - */ - - }, { - key: "_getClassOptions", - value: function _getClassOptions(stepOptions) { - var defaultStepOptions = this.tour && this.tour.options && this.tour.options.defaultStepOptions; - var stepClasses = stepOptions.classes ? stepOptions.classes : ''; - var defaultStepOptionsClasses = defaultStepOptions && defaultStepOptions.classes ? defaultStepOptions.classes : ''; - var allClasses = [].concat(_toConsumableArray(stepClasses.split(' ')), _toConsumableArray(defaultStepOptionsClasses.split(' '))); - var uniqClasses = new Set(allClasses); - return Array.from(uniqClasses).join(' ').trim(); - } - /** - * Sets the options for the step, maps `when` to events, sets up buttons - * @param {Object} options The options for the step - * @private - */ - - }, { - key: "_setOptions", - value: function _setOptions() { - var _this13 = this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var tourOptions = this.tour && this.tour.options && this.tour.options.defaultStepOptions; - tourOptions = cjs({}, tourOptions || {}); - this.options = Object.assign({ - arrow: true - }, tourOptions, options); - var when = this.options.when; - this.options.classes = this._getClassOptions(options); - this.destroy(); - this.id = this.options.id || "step-".concat(uuid()); - - if (when) { - Object.keys(when).forEach(function (event) { - _this13.on(event, when[event], _this13); - }); - } - } - /** - * Create the element and set up the Popper instance - * @private - */ - - }, { - key: "_setupElements", - value: function _setupElements() { - if (!isUndefined(this.el)) { - this.destroy(); - } - - this.el = this._createTooltipContent(); - - if (this.options.advanceOn) { - bindAdvance(this); - } - - setupTooltip(this); - } - /** - * Triggers `before-show`, generates the tooltip DOM content, - * sets up a Popper instance for the tooltip, then triggers `show`. - * @private - */ - - }, { - key: "_show", - value: function _show() { - var _this14 = this; - - this.trigger('before-show'); - - this._setupElements(); - - if (!this.tour.modal) { - this.tour._setupModal(); - } - - this.tour.modal.setupForStep(this); - - this._styleTargetElementForStep(this); - - this.el.hidden = false; // start scrolling to target before showing the step - - if (this.options.scrollTo) { - setTimeout(function () { - _this14._scrollTo(_this14.options.scrollTo); - }); - } - - this.el.hidden = false; - var content = this.shepherdElementComponent.getElement(); - var target = this.target || document.body; - target.classList.add("".concat(this.classPrefix, "shepherd-enabled")); - target.classList.add("".concat(this.classPrefix, "shepherd-target")); - content.classList.add('shepherd-enabled'); - this.trigger('show'); - } - /** - * Modulates the styles of the passed step's target element, based on the step's options and - * the tour's `modal` option, to visually emphasize the element - * - * @param step The step object that attaches to the element - * @private - */ - - }, { - key: "_styleTargetElementForStep", - value: function _styleTargetElementForStep(step) { - var targetElement = step.target; - - if (!targetElement) { - return; - } - - if (step.options.highlightClass) { - targetElement.classList.add(step.options.highlightClass); - } - - if (step.options.canClickTarget === false) { - targetElement.classList.add('shepherd-target-click-disabled'); - } - } - /** - * When a step is hidden, remove the highlightClass and 'shepherd-enabled' - * and 'shepherd-target' classes - * @private - */ - - }, { - key: "_updateStepTargetOnHide", - value: function _updateStepTargetOnHide() { - var target = this.target || document.body; - - if (this.options.highlightClass) { - target.classList.remove(this.options.highlightClass); - } - - target.classList.remove('shepherd-target-click-disabled', "".concat(this.classPrefix, "shepherd-enabled"), "".concat(this.classPrefix, "shepherd-target")); - } - }]); - - return Step; -}(Evented); -/** - * Cleanup the steps and set pointerEvents back to 'auto' - * @param tour The tour object - */ - - -function cleanupSteps(tour) { - if (tour) { - var steps = tour.steps; - steps.forEach(function (step) { - if (step.options && step.options.canClickTarget === false && step.options.attachTo) { - if (step.target instanceof HTMLElement) { - step.target.classList.remove('shepherd-target-click-disabled'); - } - } - }); - } -} -/** - * Generates the svg path data for a rounded rectangle overlay - * @param {Object} dimension - Dimensions of rectangle. - * @param {number} width - Width. - * @param {number} height - Height. - * @param {number} [x=0] - Offset from top left corner in x axis. default 0. - * @param {number} [y=0] - Offset from top left corner in y axis. default 0. - * @param {number} [r=0] - Corner Radius. Keep this smaller than half of width or height. - * @returns {string} - Rounded rectangle overlay path data. - */ - - -function makeOverlayPath(_ref23) { - var width = _ref23.width, - height = _ref23.height, - _ref23$x = _ref23.x, - x = _ref23$x === void 0 ? 0 : _ref23$x, - _ref23$y = _ref23.y, - y = _ref23$y === void 0 ? 0 : _ref23$y, - _ref23$r = _ref23.r, - r = _ref23$r === void 0 ? 0 : _ref23$r; - var _window = window, - w = _window.innerWidth, - h = _window.innerHeight; - return "M".concat(w, ",").concat(h, "H0V0H").concat(w, "V").concat(h, "ZM").concat(x + r, ",").concat(y, "a").concat(r, ",").concat(r, ",0,0,0-").concat(r, ",").concat(r, "V").concat(height + y - r, "a").concat(r, ",").concat(r, ",0,0,0,").concat(r, ",").concat(r, "H").concat(width + x - r, "a").concat(r, ",").concat(r, ",0,0,0,").concat(r, "-").concat(r, "V").concat(y + r, "a").concat(r, ",").concat(r, ",0,0,0-").concat(r, "-").concat(r, "Z"); -} -/* src/js/components/shepherd-modal.svelte generated by Svelte v3.37.0 */ - - -function create_fragment(ctx) { - var svg; - var path; - var svg_class_value; - var mounted; - var dispose; - return { - c: function c() { - svg = svg_element("svg"); - path = svg_element("path"); - attr(path, "d", - /*pathDefinition*/ - ctx[2]); - attr(svg, "class", svg_class_value = "".concat( - /*modalIsVisible*/ - ctx[1] ? "shepherd-modal-is-visible" : "", " shepherd-modal-overlay-container")); - }, - m: function m(target, anchor) { - insert(target, svg, anchor); - append(svg, path); - /*svg_binding*/ - - ctx[11](svg); - - if (!mounted) { - dispose = listen(svg, "touchmove", - /*_preventModalOverlayTouch*/ - ctx[3]); - mounted = true; - } - }, - p: function p(ctx, _ref24) { - var _ref25 = _slicedToArray(_ref24, 1), - dirty = _ref25[0]; - - if (dirty & - /*pathDefinition*/ - 4) { - attr(path, "d", - /*pathDefinition*/ - ctx[2]); - } - - if (dirty & - /*modalIsVisible*/ - 2 && svg_class_value !== (svg_class_value = "".concat( - /*modalIsVisible*/ - ctx[1] ? "shepherd-modal-is-visible" : "", " shepherd-modal-overlay-container"))) { - attr(svg, "class", svg_class_value); - } - }, - i: noop, - o: noop, - d: function d(detaching) { - if (detaching) detach(svg); - /*svg_binding*/ - - ctx[11](null); - mounted = false; - dispose(); - } - }; -} - -function _getScrollParent(element) { - if (!element) { - return null; - } - - var isHtmlElement = element instanceof HTMLElement; - var overflowY = isHtmlElement && window.getComputedStyle(element).overflowY; - var isScrollable = overflowY !== "hidden" && overflowY !== "visible"; - - if (isScrollable && element.scrollHeight >= element.clientHeight) { - return element; - } - - return _getScrollParent(element.parentElement); -} -/** - * Get the visible height of the target element relative to its scrollParent. - * If there is no scroll parent, the height of the element is returned. - * - * @param {HTMLElement} element The target element - * @param {HTMLElement} [scrollParent] The scrollable parent element - * @returns {{y: number, height: number}} - * @private - */ - - -function _getVisibleHeight(element, scrollParent) { - var elementRect = element.getBoundingClientRect(); - var top = elementRect.y || elementRect.top; - var bottom = elementRect.bottom || top + elementRect.height; - - if (scrollParent) { - var scrollRect = scrollParent.getBoundingClientRect(); - var scrollTop = scrollRect.y || scrollRect.top; - var scrollBottom = scrollRect.bottom || scrollTop + scrollRect.height; - top = Math.max(top, scrollTop); - bottom = Math.min(bottom, scrollBottom); - } - - var height = Math.max(bottom - top, 0); // Default to 0 if height is negative - - return { - y: top, - height: height - }; -} - -function instance($$self, $$props, $$invalidate) { - var element = $$props.element, - openingProperties = $$props.openingProperties; - uuid(); - var modalIsVisible = false; - var rafId = undefined; - var pathDefinition; - closeModalOpening(); - - var getElement = function getElement() { - return element; - }; - - function closeModalOpening() { - $$invalidate(4, openingProperties = { - width: 0, - height: 0, - x: 0, - y: 0, - r: 0 - }); - } - - function hide() { - $$invalidate(1, modalIsVisible = false); // Ensure we cleanup all event listeners when we hide the modal - - _cleanupStepEventListeners(); - } - - function positionModal() { - var modalOverlayOpeningPadding = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var modalOverlayOpeningRadius = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var scrollParent = arguments.length > 2 ? arguments[2] : undefined; - var targetElement = arguments.length > 3 ? arguments[3] : undefined; - - if (targetElement) { - var _getVisibleHeight2 = _getVisibleHeight(targetElement, scrollParent), - y = _getVisibleHeight2.y, - height = _getVisibleHeight2.height; - - var _targetElement$getBou = targetElement.getBoundingClientRect(), - x = _targetElement$getBou.x, - width = _targetElement$getBou.width, - _left = _targetElement$getBou.left; // getBoundingClientRect is not consistent. Some browsers use x and y, while others use left and top - - - $$invalidate(4, openingProperties = { - width: width + modalOverlayOpeningPadding * 2, - height: height + modalOverlayOpeningPadding * 2, - x: (x || _left) - modalOverlayOpeningPadding, - y: y - modalOverlayOpeningPadding, - r: modalOverlayOpeningRadius - }); - } else { - closeModalOpening(); - } - } - - function setupForStep(step) { - // Ensure we move listeners from the previous step, before we setup new ones - _cleanupStepEventListeners(); - - if (step.tour.options.useModalOverlay) { - _styleForStep(step); - - show(); - } else { - hide(); - } - } - - function show() { - $$invalidate(1, modalIsVisible = true); - } - - var _preventModalBodyTouch = function _preventModalBodyTouch(e) { - e.preventDefault(); - }; - - var _preventModalOverlayTouch = function _preventModalOverlayTouch(e) { - e.stopPropagation(); - }; - /** - * Add touchmove event listener - * @private - */ - - - function _addStepEventListeners() { - // Prevents window from moving on touch. - window.addEventListener("touchmove", _preventModalBodyTouch, { - passive: false - }); - } - /** - * Cancel the requestAnimationFrame loop and remove touchmove event listeners - * @private - */ - - - function _cleanupStepEventListeners() { - if (rafId) { - cancelAnimationFrame(rafId); - rafId = undefined; - } - - window.removeEventListener("touchmove", _preventModalBodyTouch, { - passive: false - }); - } - /** - * Style the modal for the step - * @param {Step} step The step to style the opening for - * @private - */ - - - function _styleForStep(step) { - var _step$options = step.options, - modalOverlayOpeningPadding = _step$options.modalOverlayOpeningPadding, - modalOverlayOpeningRadius = _step$options.modalOverlayOpeningRadius; - - var scrollParent = _getScrollParent(step.target); // Setup recursive function to call requestAnimationFrame to update the modal opening position - - - var rafLoop = function rafLoop() { - rafId = undefined; - positionModal(modalOverlayOpeningPadding, modalOverlayOpeningRadius, scrollParent, step.target); - rafId = requestAnimationFrame(rafLoop); - }; - - rafLoop(); - - _addStepEventListeners(); - } - - function svg_binding($$value) { - binding_callbacks[$$value ? "unshift" : "push"](function () { - element = $$value; - $$invalidate(0, element); - }); - } - - $$self.$$set = function ($$props) { - if ("element" in $$props) $$invalidate(0, element = $$props.element); - if ("openingProperties" in $$props) $$invalidate(4, openingProperties = $$props.openingProperties); - }; - - $$self.$$.update = function () { - if ($$self.$$.dirty & - /*openingProperties*/ - 16) { - $$invalidate(2, pathDefinition = makeOverlayPath(openingProperties)); - } - }; - - return [element, modalIsVisible, pathDefinition, _preventModalOverlayTouch, openingProperties, getElement, closeModalOpening, hide, positionModal, setupForStep, show, svg_binding]; -} - -var Shepherd_modal = /*#__PURE__*/function (_SvelteComponent9) { - _inherits(Shepherd_modal, _SvelteComponent9); - - var _super10 = _createSuper(Shepherd_modal); - - function Shepherd_modal(options) { - var _this15; - - _classCallCheck(this, Shepherd_modal); - - _this15 = _super10.call(this); - init(_assertThisInitialized(_this15), options, instance, create_fragment, safe_not_equal, { - element: 0, - openingProperties: 4, - getElement: 5, - closeModalOpening: 6, - hide: 7, - positionModal: 8, - setupForStep: 9, - show: 10 - }); - return _this15; - } - - _createClass(Shepherd_modal, [{ - key: "getElement", - get: function get() { - return this.$$.ctx[5]; - } - }, { - key: "closeModalOpening", - get: function get() { - return this.$$.ctx[6]; - } - }, { - key: "hide", - get: function get() { - return this.$$.ctx[7]; - } - }, { - key: "positionModal", - get: function get() { - return this.$$.ctx[8]; - } - }, { - key: "setupForStep", - get: function get() { - return this.$$.ctx[9]; - } - }, { - key: "show", - get: function get() { - return this.$$.ctx[10]; - } - }]); - - return Shepherd_modal; -}(SvelteComponent); - -var Shepherd = new Evented(); -/** - * Class representing the site tour - * @extends {Evented} - */ - -var Tour = /*#__PURE__*/function (_Evented2) { - _inherits(Tour, _Evented2); - - var _super11 = _createSuper(Tour); - - /** - * @param {Object} options The options for the tour - * @param {boolean} options.confirmCancel If true, will issue a `window.confirm` before cancelling - * @param {string} options.confirmCancelMessage The message to display in the confirm dialog - * @param {string} options.classPrefix The prefix to add to the `shepherd-enabled` and `shepherd-target` class names as well as the `data-shepherd-step-id`. - * @param {Object} options.defaultStepOptions Default options for Steps ({@link Step#constructor}), created through `addStep` - * @param {boolean} options.exitOnEsc Exiting the tour with the escape key will be enabled unless this is explicitly - * set to false. - * @param {boolean} options.keyboardNavigation Navigating the tour via left and right arrow keys will be enabled - * unless this is explicitly set to false. - * @param {HTMLElement} options.stepsContainer An optional container element for the steps. - * If not set, the steps will be appended to `document.body`. - * @param {HTMLElement} options.modalContainer An optional container element for the modal. - * If not set, the modal will be appended to `document.body`. - * @param {object[] | Step[]} options.steps An array of step options objects or Step instances to initialize the tour with - * @param {string} options.tourName An optional "name" for the tour. This will be appended to the the tour's - * dynamically generated `id` property -- which is also set on the `body` element as the `data-shepherd-active-tour` attribute - * whenever the tour becomes active. - * @param {boolean} options.useModalOverlay Whether or not steps should be placed above a darkened - * modal overlay. If true, the overlay will create an opening around the target element so that it - * can remain interactive - * @returns {Tour} - */ - function Tour() { - var _this16; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Tour); - - _this16 = _super11.call(this, options); - autoBind(_assertThisInitialized(_this16)); - var defaultTourOptions = { - exitOnEsc: true, - keyboardNavigation: true - }; - _this16.options = Object.assign({}, defaultTourOptions, options); - _this16.classPrefix = normalizePrefix(_this16.options.classPrefix); - _this16.steps = []; - - _this16.addSteps(_this16.options.steps); // Pass these events onto the global Shepherd object - - - var events = ['active', 'cancel', 'complete', 'inactive', 'show', 'start']; - events.map(function (event) { - (function (e) { - _this16.on(e, function (opts) { - opts = opts || {}; - opts.tour = _assertThisInitialized(_this16); - Shepherd.trigger(e, opts); - }); - })(event); - }); - - _this16._setTourID(); - - return _possibleConstructorReturn(_this16, _assertThisInitialized(_this16)); - } - /** - * Adds a new step to the tour - * @param {Object|Step} options An object containing step options or a Step instance - * @param {number} index The optional index to insert the step at. If undefined, the step - * is added to the end of the array. - * @return {Step} The newly added step - */ - - - _createClass(Tour, [{ - key: "addStep", - value: function addStep(options, index) { - var step = options; - - if (!(step instanceof Step)) { - step = new Step(this, step); - } else { - step.tour = this; - } - - if (!isUndefined(index)) { - this.steps.splice(index, 0, step); - } else { - this.steps.push(step); - } - - return step; - } - /** - * Add multiple steps to the tour - * @param {Array | Array} steps The steps to add to the tour - */ - - }, { - key: "addSteps", - value: function addSteps(steps) { - var _this17 = this; - - if (Array.isArray(steps)) { - steps.forEach(function (step) { - _this17.addStep(step); - }); - } - - return this; - } - /** - * Go to the previous step in the tour - */ - - }, { - key: "back", - value: function back() { - var index = this.steps.indexOf(this.currentStep); - this.show(index - 1, false); - } - /** - * Calls _done() triggering the 'cancel' event - * If `confirmCancel` is true, will show a window.confirm before cancelling - */ - - }, { - key: "cancel", - value: function cancel() { - if (this.options.confirmCancel) { - var cancelMessage = this.options.confirmCancelMessage || 'Are you sure you want to stop the tour?'; - var stopTour = window.confirm(cancelMessage); - - if (stopTour) { - this._done('cancel'); - } - } else { - this._done('cancel'); - } - } - /** - * Calls _done() triggering the `complete` event - */ - - }, { - key: "complete", - value: function complete() { - this._done('complete'); - } - /** - * Gets the step from a given id - * @param {Number|String} id The id of the step to retrieve - * @return {Step} The step corresponding to the `id` - */ - - }, { - key: "getById", - value: function getById(id) { - return this.steps.find(function (step) { - return step.id === id; - }); - } - /** - * Gets the current step - * @returns {Step|null} - */ - - }, { - key: "getCurrentStep", - value: function getCurrentStep() { - return this.currentStep; - } - /** - * Hide the current step - */ - - }, { - key: "hide", - value: function hide() { - var currentStep = this.getCurrentStep(); - - if (currentStep) { - return currentStep.hide(); - } - } - /** - * Check if the tour is active - * @return {boolean} - */ - - }, { - key: "isActive", - value: function isActive() { - return Shepherd.activeTour === this; - } - /** - * Go to the next step in the tour - * If we are at the end, call `complete` - */ - - }, { - key: "next", - value: function next() { - var index = this.steps.indexOf(this.currentStep); - - if (index === this.steps.length - 1) { - this.complete(); - } else { - this.show(index + 1, true); - } - } - /** - * Removes the step from the tour - * @param {String} name The id for the step to remove - */ - - }, { - key: "removeStep", - value: function removeStep(name) { - var _this18 = this; - - var current = this.getCurrentStep(); // Find the step, destroy it and remove it from this.steps - - this.steps.some(function (step, i) { - if (step.id === name) { - if (step.isOpen()) { - step.hide(); - } - - step.destroy(); - - _this18.steps.splice(i, 1); - - return true; - } - }); - - if (current && current.id === name) { - this.currentStep = undefined; // If we have steps left, show the first one, otherwise just cancel the tour - - this.steps.length ? this.show(0) : this.cancel(); - } - } - /** - * Show a specific step in the tour - * @param {Number|String} key The key to look up the step by - * @param {Boolean} forward True if we are going forward, false if backward - */ - - }, { - key: "show", - value: function show() { - var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var forward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var step = isString(key) ? this.getById(key) : this.steps[key]; - - if (step) { - this._updateStateBeforeShow(); - - var shouldSkipStep = isFunction(step.options.showOn) && !step.options.showOn(); // If `showOn` returns false, we want to skip the step, otherwise, show the step like normal - - if (shouldSkipStep) { - this._skipStep(step, forward); - } else { - this.trigger('show', { - step: step, - previous: this.currentStep - }); - this.currentStep = step; - step.show(); - } - } - } - /** - * Start the tour - */ - - }, { - key: "start", - value: function start() { - this.trigger('start'); // Save the focused element before the tour opens - - this.focusedElBeforeOpen = document.activeElement; - this.currentStep = null; - - this._setupModal(); - - this._setupActiveTour(); - - this.next(); - } - /** - * Called whenever the tour is cancelled or completed, basically anytime we exit the tour - * @param {String} event The event name to trigger - * @private - */ - - }, { - key: "_done", - value: function _done(event) { - var index = this.steps.indexOf(this.currentStep); - - if (Array.isArray(this.steps)) { - this.steps.forEach(function (step) { - return step.destroy(); - }); - } - - cleanupSteps(this); - this.trigger(event, { - index: index - }); - Shepherd.activeTour = null; - this.trigger('inactive', { - tour: this - }); - - if (this.modal) { - this.modal.hide(); - } - - if (event === 'cancel' || event === 'complete') { - if (this.modal) { - var modalContainer = document.querySelector('.shepherd-modal-overlay-container'); - - if (modalContainer) { - modalContainer.remove(); - } - } - } // Focus the element that was focused before the tour started - - - if (isHTMLElement$1(this.focusedElBeforeOpen)) { - this.focusedElBeforeOpen.focus(); - } - } - /** - * Make this tour "active" - * @private - */ - - }, { - key: "_setupActiveTour", - value: function _setupActiveTour() { - this.trigger('active', { - tour: this - }); - Shepherd.activeTour = this; - } - /** - * _setupModal create the modal container and instance - * @private - */ - - }, { - key: "_setupModal", - value: function _setupModal() { - this.modal = new Shepherd_modal({ - target: this.options.modalContainer || document.body, - props: { - classPrefix: this.classPrefix, - styles: this.styles - } - }); - } - /** - * Called when `showOn` evaluates to false, to skip the step - * @param {Step} step The step to skip - * @param {Boolean} forward True if we are going forward, false if backward - * @private - */ - - }, { - key: "_skipStep", - value: function _skipStep(step, forward) { - var index = this.steps.indexOf(step); - var nextIndex = forward ? index + 1 : index - 1; - this.show(nextIndex, forward); - } - /** - * Before showing, hide the current step and if the tour is not - * already active, call `this._setupActiveTour`. - * @private - */ - - }, { - key: "_updateStateBeforeShow", - value: function _updateStateBeforeShow() { - if (this.currentStep) { - this.currentStep.hide(); - } - - if (!this.isActive()) { - this._setupActiveTour(); - } - } - /** - * Sets this.id to `${tourName}--${uuid}` - * @private - */ - - }, { - key: "_setTourID", - value: function _setTourID() { - var tourName = this.options.tourName || 'tour'; - this.id = "".concat(tourName, "--").concat(uuid()); - } - }]); - - return Tour; -}(Evented); - -Object.assign(Shepherd, { - Tour: Tour, - Step: Step -}); -/* harmony default export */ __webpack_exports__["default"] = (Shepherd); - -/***/ }), - -/***/ "./src/js/components/controls/helpinator.js": -/*!**************************************************!*\ - !*** ./src/js/components/controls/helpinator.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Helpinator": function() { return /* binding */ Helpinator; } -/* harmony export */ }); -/* harmony import */ var shepherd_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! shepherd.js */ "./node_modules/shepherd.js/dist/js/shepherd.esm.js"); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - - -var Helpinator = /*#__PURE__*/function () { - function Helpinator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Helpinator); - - this.input = options.input; - this.reader = options.reader; - this.steps = []; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_1__.createNanoEvents)(); - this.bindEvents(); - } - - _createClass(Helpinator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - this.maybeAutoStart(); - this.watchMediaQuery(); - var action = document.querySelector(this.input.trigger); - this.action = action; - action.addEventListener('click', function (event) { - if (event.shiftKey) { - _this.configureTour(true); - - return; - } - - _this.tour.start(); - }); - action.disabled = true; - this.configureTour(); - } - }, { - key: "configureTour", - value: function configureTour(doAlert) { - var _this2 = this; - - var self = this; - this.tour = new shepherd_js__WEBPACK_IMPORTED_MODULE_0__.default.Tour({ - defaultStepOptions: { - classes: 'shadow-md bg-purple-dark', - scrollTo: false, - popperOptions: { - modifiers: [{ - name: 'offset', - options: { - offset: [0, 25] - } - }] - } - }, - useModalOverlay: true - }); // event tracking - - this.tour.on('start', function (event) { - document.documentElement.dataset.inWalkthrough = true; - localStorage.setItem('walkthroughStarted', 'true'); - HT.analytics.trackEvent({ - category: 'PT.walkthrough', - action: 'start', - label: 'start' - }); - }); - this.tour.on('inactive', function (event) { - document.documentElement.dataset.inWalkthrough = false; - }); - this.tour.on('cancel', function (event) { - HT.analytics.trackEvent({ - category: 'PT.walkthrough', - action: "".concat(_this2.tour.currentStep.id, ":exit"), - label: "".concat(_this2.tour.currentStep.id, ":exit") - }); - }); // fetch data on startup - - var sourceUrl = '/cgi/pt/walkthrough-config/2021'; - fetch(sourceUrl).then(function (response) { - return response.json(); - }).then(function (data) { - data.forEach(function (step, idx, array) { - if (step['attachTo'] && step['attachTo'].element.indexOf('#panel-') > -1) { - // this is a panel - step['when'] = { - show: function show() { - var el = document.querySelector(step['attachTo'].element); - - if (el.nodeName == 'DETAILS') { - setTimeout(function () { - el.open = true; - }, 100); - } - } - }; - } - - if (step['attachTo'] && step['attachTo'].element.indexOf('data-action') > -1) { - step['attachTo'].element = "button[".concat(step.attachTo.element, "]"); - - step['showOn'] = function () { - var seq = self.reader.view.currentSeq; - var el = document.querySelector(".page[data-seq=\"".concat(seq, "\"] ").concat(step.attachTo.element)); - - if (el) { - return true; - } - - return false; - }; - } - - if (idx < array.length - 1) { - step['buttons'] = [{ - text: 'Exit', - secondary: true, - action: self.tour.cancel - }, { - text: 'Next', - action: _this2.tour.next - }]; - } else { - step['buttons'] = [{ - text: 'Done', - action: _this2.tour.complete - }]; - } - - _this2.tour.addStep(step); - }); // now the tour is ready - - _this2.action.disabled = false; - _this2._initialized = true; - - if (doAlert) { - window.alert("Tour updated"); - } - }); - } - }, { - key: "maybeAutoStart", - value: function maybeAutoStart() { - var self = this; - - if (document.referrer && document.referrer.indexOf('/cgi/pt') >= 0 && document.referrer.indexOf('skin=2019') >= 0) { - // probably coming from the 2019ed - if (localStorage.getItem('walkthroughStarted') != 'true') { - if (!window.matchMedia('( max-width: 700px )').matches) { - self.reader.on('ready', function () { - var interval; - var interval_idx = 0; - interval = setInterval(function () { - if (self._initialized) { - self.tour.start(); - clearInterval(interval); - } - - interval_idx += 1; - - if (interval_idx >= 50) { - // just punt - clearInterval(interval); - } - }, 100); - }); - } - } - } - } - }, { - key: "watchMediaQuery", - value: function watchMediaQuery() { - var _this3 = this; - - var mql = window.matchMedia('( max-width: 700px )'); - - if (mql.addEventListener) { - mql.addEventListener('change', function (event) { - if (event.matches) { - if (_this3.tour && _this3.tour.isActive()) { - _this3.tour.cancel(); - } - } - }); - } - } - }]); - - return Helpinator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/index.js": -/*!*********************************************!*\ - !*** ./src/js/components/controls/index.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Control": function() { return /* binding */ Control; } -/* harmony export */ }); -/* harmony import */ var _selectinator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./selectinator */ "./src/js/components/controls/selectinator.js"); -/* harmony import */ var _navigator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./navigator */ "./src/js/components/controls/navigator.js"); -/* harmony import */ var _screeninator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./screeninator */ "./src/js/components/controls/screeninator.js"); -/* harmony import */ var _viewinator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./viewinator */ "./src/js/components/controls/viewinator.js"); -/* harmony import */ var _zoominator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./zoominator */ "./src/js/components/controls/zoominator.js"); -/* harmony import */ var _minimizer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./minimizer */ "./src/js/components/controls/minimizer.js"); -/* harmony import */ var _searchinator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./searchinator */ "./src/js/components/controls/searchinator.js"); -/* harmony import */ var _jumpinator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./jumpinator */ "./src/js/components/controls/jumpinator.js"); -/* harmony import */ var _layoutinator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./layoutinator */ "./src/js/components/controls/layoutinator.js"); -/* harmony import */ var _helpinator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpinator */ "./src/js/components/controls/helpinator.js"); -// import {Rotator} from './rotator'; - - - - - - - - - - // import {Selectinator} from './selectinator' - -var Control = {}; -Control.Selectinator = _selectinator__WEBPACK_IMPORTED_MODULE_0__.Selectinator; -Control.Navigator = _navigator__WEBPACK_IMPORTED_MODULE_1__.Navigator; -Control.Screeninator = _screeninator__WEBPACK_IMPORTED_MODULE_2__.Screeninator; -Control.Viewinator = _viewinator__WEBPACK_IMPORTED_MODULE_3__.Viewinator; -Control.Zoominator = _zoominator__WEBPACK_IMPORTED_MODULE_4__.Zoominator; -Control.Minimizer = _minimizer__WEBPACK_IMPORTED_MODULE_5__.Minimizer; -Control.Searchinator = _searchinator__WEBPACK_IMPORTED_MODULE_6__.Searchinator; -Control.Jumpinator = _jumpinator__WEBPACK_IMPORTED_MODULE_7__.Jumpinator; -Control.Layoutinator = _layoutinator__WEBPACK_IMPORTED_MODULE_8__.Layoutinator; -Control.Helpinator = _helpinator__WEBPACK_IMPORTED_MODULE_9__.Helpinator; - - -/***/ }), - -/***/ "./src/js/components/controls/jumpinator.js": -/*!**************************************************!*\ - !*** ./src/js/components/controls/jumpinator.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Jumpinator": function() { return /* binding */ Jumpinator; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - -var Jumpinator = /*#__PURE__*/function () { - function Jumpinator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Jumpinator); - - this.input = options.input; - this.reader = options.reader; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - this.bindEvents(); - } - - _createClass(Jumpinator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - this._bindSections(); - - var action = document.querySelector(this.input.prompt); - - if (!action) { - return; - } - - var pageNumRange = this.reader.service.manifest.pageNumRange(); - this._hasPageNum = pageNumRange != null; - var promptHTML = "\n

    Jump to a page scan by page number or page scan sequence.

    \n
    \n

    \n

    Hints follow.

    \n

    Hints

    \n
      \n
    • Page numbers are entered as number, e.g. 10
    • \n
    • Page scan sequences are entered as #number, e.g. #10
    • \n
    • Use a page scan sequence between #1-#".concat(this.reader.service.manifest.totalSeq, "
    • \n
    • Use a page number between ").concat(pageNumRange, "
    • \n
    • Use + to jump ahead by a number of pages, e.g. +10
    • \n
    • Use - to jump back by a number of pages, e.g. -10
    • \n
    \n "); - - if (!pageNumRange) { - promptHTML = "\n

    Jump to a page scan by page scan sequence.

    \n
    \n

    \n

    Hints

    \n
      \n
    • Page scan sequences are entered as #number, e.g. #10
    • \n
    • Use a page scan sequence between #1-#".concat(this.reader.service.manifest.totalSeq, "
    • \n
    • Use + to jump ahead by a number of pages, e.g. +10
    • \n
    • Use - to jump back by a number of pages, e.g. -10
    • \n
    \n "); - } - - action.addEventListener('click', function (event) { - event.preventDefault(); - event.stopPropagation(); - var $dialog = bootbox.dialog( // `

    Jump to which page scan?

    `, - promptHTML, [{ - label: "Close", - class: 'btn-dismiss' - }, { - label: "Jump", - class: 'btn-dismiss btn btn-primary', - callback: function (modal) { - var input = modal.modal.querySelector('input[name="seq"]'); - var retval = this.handleValue(input.value); - - if (retval) { - return true; - } - - this.handleError($dialog); - return false; - }.bind(_this) - }], { - header: "Jump to page scan", - onShow: function onShow(modal) { - // modal.querySelector("input[name='seq']").value = '#' + seq; - modal.querySelector("input[name='seq']").focus(); - } - }); - var input_seq = $dialog.modal.querySelector('input[name="seq"]'); - input_seq.addEventListener('keydown', function (event) { - if (event.keyCode == 13) { - event.preventDefault(); - var retval = this.handleValue(input_seq.value); - - if (retval) { - $dialog.closeModal(); - return; - } - - this.handleError($dialog); - } - }.bind(_this)); - }); - } - }, { - key: "handleValue", - value: function handleValue(value) { - var seq; - var retval = true; - - if (value.substr(0, 1) == '+' || value.substr(0, 1) == '-') { - var delta = value.substr(0, 1) == '+' ? +1 : -1; - value = parseInt(value.substr(1), 10); - this.reader.jump(delta * value); - return true; - } - - if (value.substr(0, 2) == 'p.') { - // sequence - seq = this.reader.service.manifest.seq(value.substr(2)); - } else if (value.substr(0, 1) == 'p') { - seq = this.reader.service.manifest.seq(value.substr(1)); - } else if (value.substr(0, 1) == '#' || value.substr(0, 1) == 'n') { - seq = parseInt(value.substr(1), 10); - } else { - // seq = parseInt(value, 10); - seq = this.reader.service.manifest.seq(value); - } - - if (seq && seq >= 1 && seq <= this.reader.service.manifest.totalSeq) { - this.reader.trigger.push('action-prompt-seq'); - this.reader.display(seq); - } else { - retval = false; - } - - return retval; - } - }, { - key: "handleError", - value: function handleError($dialog) { - var div = $dialog.modal.querySelector('div[role="alert"]'); - var input = $dialog.modal.querySelector('input[name="seq"]'); - var value = input.value; - var possible = ''; - var pageNumRange = this.reader.service.manifest.pageNumRange(); - - if (pageNumRange) { - possible = "page number between ".concat(pageNumRange, " or "); - } - - possible += "a sequence between #1-#".concat(this.reader.service.manifest.totalSeq); - div.innerHTML = "

    Could not find a page scan that matched ".concat(value, "; enter a ").concat(possible, "."); - input.focus(); - } - }, { - key: "_bindSections", - value: function _bindSections() { - var _this2 = this; - - var panelSections = document.querySelector(this.input.sections); - panelSections.addEventListener('click', function (event) { - if (event.target.closest("a[data-seq]")) { - event.preventDefault(); - event.stopPropagation(); - var target = event.target.closest("a"); - var seq = target.dataset.seq; - - _this2.reader.display(seq); - } - }); - } - }]); - - return Jumpinator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/layoutinator.js": -/*!****************************************************!*\ - !*** ./src/js/components/controls/layoutinator.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Layoutinator": function() { return /* binding */ Layoutinator; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - - -var Layoutinator = /*#__PURE__*/function () { - function Layoutinator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Layoutinator); - - this.input = options.input; - this.reader = options.reader; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_1__.createNanoEvents)(); - this.bindEvents(); - } - - _createClass(Layoutinator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - this.$sidebar = document.querySelector(this.input.sidebar); - - this._bindLayoutTweaker(); - - this._bindSidebarToggle(); - - this.reader.on('show:reader', function () { - if (_this.$toggle.offsetHeight > 0) { - // narrow viewport - document.body.dataset.sidebarToggleState = 'closed'; - - _this.reader.$root.setAttribute('aria-hidden', false); - - _this.$toggle.setAttribute('aria-expanded', false); - } - }); - - var fixRootAria = function () { - if (this.$tweaker.offsetWidth > 0 && this.$tweaker.offsetHeight > 0) { - this.reader.$root.setAttribute('aria-hidden', false); - this.$toggle.setAttribute('aria-expanded', false); - document.body.dataset.sidebarToggleState = 'closed'; - } - }.bind(this); - - this.reader.on('resize', lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(fixRootAria, 100)); - } - }, { - key: "_bindSidebarToggle", - value: function _bindSidebarToggle() { - var _this2 = this; - - this.$toggle = document.querySelector(this.input.toggle); - this.$toggle.addEventListener('click', function (event) { - event.stopPropagation(); - document.body.dataset.sidebarToggleState = document.body.dataset.sidebarToggleState == 'closed' ? 'open' : 'closed'; - - _this2.$toggle.setAttribute('aria-expanded', document.body.dataset.sidebarToggleState == 'open'); - - _this2.reader.$root.setAttribute('aria-hidden', document.body.dataset.sidebarToggleState == 'open'); - }); - } - }, { - key: "_bindLayoutTweaker", - value: function _bindLayoutTweaker() { - var _this3 = this; - - this.$tweaker = document.querySelector(this.input.tweaker); - var isDragging = false; - var hasDragged = false; - var marginLeft = 0; - var lastClientX = -1; - var $tweakContainer = this.$tweaker.parentElement; - var $layoutContainer = this.input.$layoutContainer; - var $sidebar = this.$sidebar; - var classList = document.documentElement.classList; - var $body = document.body; - var gridSidebarColumnWidth = '--grid-sidebar-column-width'; // classList.add('ie'); - - if ( // classList.contains("mobile") || - classList.contains("ie") || document.documentElement.dataset.usesGrid == 'false') { - // just bind simple toggle - var action = this.$tweaker; - action.addEventListener('click', function (event) { - event.stopPropagation(); - $body.dataset.sidebarState = $body.dataset.sidebarState == 'closed' ? 'open' : 'closed'; - - _this3._updateTweakAttributes(); - }); - return; - } - - this.$tweaker.addEventListener('keyup', function (event) { - if (event.key == 'Enter' || event.key == 'Return') { - event.stopPropagation(); - $body.dataset.sidebarState = $body.dataset.sidebarState == 'closed' ? 'open' : 'closed'; - - _this3._updateTweakAttributes(); - } - }); - $tweakContainer.addEventListener('mousedown', function (event) { - var target = event.target.closest("button#action-tweak-sidebar,.d--sidebar--toggle--edge mq--wide"); - - if (!target) { - return; - } - - isDragging = true; - $layoutContainer.style.cursor = 'ew-resize'; - marginLeft = parseInt(window.getComputedStyle($layoutContainer).marginLeft, 10); - event.preventDefault(); - event.stopPropagation(); - }); - $layoutContainer.addEventListener('mousemove', function (event) { - if (isDragging) { - hasDragged = true; - var width = event.clientX - marginLeft; - lastClientX = event.clientX; - $body.style.setProperty(gridSidebarColumnWidth, "".concat(width, "px")); - - if ($body.dataset.sidebarState == 'closed') { - $body.dataset.sidebarState = 'open'; - - _this3._updateTweakAttributes(); - } - - event.preventDefault(); - } - }); - $layoutContainer.addEventListener('mouseup', function (event) { - isDragging = false; - var target = event.target.closest("button#action-tweak-sidebar,.d--sidebar--toggle--edge mq--wide"); - $body.dataset.gridSidebarColumnWidth = $body.style.getPropertyValue(gridSidebarColumnWidth); - - if (target == _this3.$tweaker && !hasDragged) { - document.body.dataset.sidebarState = document.body.dataset.sidebarState == 'open' ? 'closed' : 'open'; - - if (document.body.dataset.sidebarState == 'open' && $body.style.getPropertyValue(gridSidebarColumnWidth) == '0px') { - $body.style.setProperty(gridSidebarColumnWidth, null); - } - - _this3._updateTweakAttributes(); - } else { - if ($sidebar.offsetWidth <= 100) { - $body.style.setProperty(gridSidebarColumnWidth, '0px'); - document.body.dataset.sidebarState = 'closed'; - - _this3._updateTweakAttributes(false); - } - } - - HT.prefs.set({ - pt: { - sidebarToggleState: document.body.dataset.sidebarState - } - }); - hasDragged = false; - $layoutContainer.style.cursor = 'auto'; - }); - } - }, { - key: "_updateTweakAttributes", - value: function _updateTweakAttributes(expanded) { - var action = this.$tweaker; - - if (expanded === undefined) { - expanded = document.body.dataset.sidebarState == 'open'; - } - - action.setAttribute('aria-expanded', expanded); - action.setAttribute('aria-label', !expanded ? action.dataset.toggledLabel : action.dataset.untoggledLabel); - - if (action._tippy) { - action._tippy.setContent(action.getAttribute('aria-label')); - } - } - }]); - - return Layoutinator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/minimizer.js": -/*!*************************************************!*\ - !*** ./src/js/components/controls/minimizer.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Minimizer": function() { return /* binding */ Minimizer; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - -var Minimizer = /*#__PURE__*/function () { - function Minimizer() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Minimizer); - - this.input = options.input; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - this.bindEvents(); - } - - _createClass(Minimizer, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var action = document.querySelector(this.input.minimizer); - - if (action) { - action.addEventListener('click', function (event) { - var nextView = document.body.dataset.uiView == 'minimal' ? 'full' : 'minimal'; - document.body.dataset.uiView = nextView; - action.setAttribute('aria-label', nextView == 'minimal' ? action.dataset.toggledLabel : action.dataset.untoggledLabel); - - action._tippy.setContent(action.getAttribute('aria-label')); - - HT.prefs.set({ - pt: { - uiView: document.body.dataset.uiView - } - }); - }); - } - } - }]); - - return Minimizer; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/navigator.js": -/*!*************************************************!*\ - !*** ./src/js/components/controls/navigator.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Navigator": function() { return /* binding */ Navigator; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (_e) { function e(_x) { return _e.apply(this, arguments); } e.toString = function () { return _e.toString(); }; return e; }(function (e) { throw e; }), f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function (_e2) { function e(_x2) { return _e2.apply(this, arguments); } e.toString = function () { return _e2.toString(); }; return e; }(function (e) { didErr = true; err = e; }), f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - -var Navigator = /*#__PURE__*/function () { - function Navigator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Navigator); - - this.input = options.input; - this.reader = options.reader; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - this.bindEvents(); - } - - _createClass(Navigator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - var self = this; - - this._bindNavigation(); // this._bindRange(); - - - this._bindSequence(); - - this._bindResize(); - - this.reader.on('relocated', function (params) { - _this.sequenceEl.value = params.seq; - - if (_this.rangeEl) { - _this.rangeEl.value = params.seq; - - _this._updateRange(); - } - }); - this.reader.on('ready', function (params) { - _this._updateNavigationLabels(params); - }); - } - }, { - key: "_bindNavigation", - value: function _bindNavigation() { - var _this2 = this; - - this.nextEl = document.querySelector(this.input.next); - this.nextEl.addEventListener('click', function (event) { - _this2.reader.trigger.push('action-go-next'); - - _this2.reader.next(); - }); - this.prevEl = document.querySelector(this.input.prev); - this.prevEl.addEventListener('click', function (event) { - _this2.reader.trigger.push('action-go-prev'); - - _this2.reader.prev(); - }); - this.firstEl = document.querySelector(this.input.first); - this.firstEl.addEventListener('click', function (event) { - _this2.reader.trigger.push('action-go-first'); - - _this2.reader.first(); - }); - this.lastEl = document.querySelector(this.input.last); - this.lastEl.addEventListener('click', function (event) { - _this2.reader.trigger.push('action-go-last'); - - _this2.reader.last(); - }); - this.controlEls = [this.firstEl, this.nextEl, this.prevEl, this.lastEl]; - - this._setupDefaultNavigationLabels(); - } - }, { - key: "_setupDefaultNavigationLabels", - value: function _setupDefaultNavigationLabels() { - if (!this.reader.isRTL) { - return; - } - - this.controlEls.forEach(function (el) { - el.dataset.defaultLabel = el.getAttribute('aria-label'); - }); - } - }, { - key: "_updateNavigationLabels", - value: function _updateNavigationLabels(view) { - var _this3 = this; - - if (!this.reader.isRTL) { - return; - } - - this.controlEls.forEach(function (el) { - var currentLabel = el.getAttribute('aria-label'); - var newLabel; - - if (_this3.reader.view.isRTL && currentLabel != el.dataset.labelRtl) { - newLabel = el.dataset.labelRtl; - } else if (currentLabel != el.dataset.defaultLabel) { - newLabel = el.dataset.defaultLabel; - } - - if (newLabel) { - el.setAttribute('aria-label', newLabel); - - if (el._tippy) { - el._tippy.setContent(newLabel); - } - - ; - } - }); - } - }, { - key: "_bindRange", - value: function _bindRange() { - var _this4 = this; - - var rangeEl = this.rangeEl = document.querySelector(this.input.range); - var isIE = window.navigator.userAgent.indexOf("Trident/") > -1; - this.isRTL = rangeEl.getAttribute('dir') == 'rtl'; - rangeEl.addEventListener('change', function (event) { - if (self._mouseDown) { - if (isIE) { - self._updateRange(false); - } - - return; - } - - _this4.updateLocation(rangeEl); - }); - rangeEl.addEventListener('input', function (event) { - if (self._keyDown) { - self._keyDown = false; - return; - } - - _this4._updateRange(); - }); - rangeEl.addEventListener("mousedown", function (event) { - self._mouseDown = true; - }, false); - rangeEl.addEventListener("mouseup", function () { - self._mouseDown = false; - - if (isIE) { - self._change(); - - return; - } - - self._updateRange(); - }, false); - var isTouchDevice = ('ontouchstart' in document.documentElement); - - if (isTouchDevice) { - rangeEl.addEventListener('touchstart', function (event) { - self._mouseDown = true; - }); - rangeEl.addEventListener("touchend", function (event) { - self._mouseDown = false; - - if (isIE) { - self._change(); - - return; - } - - self._updateRange(); - }, false); - } - - rangeEl.addEventListener("keydown", function (event) { - if (event.key == 'ArrowLeft' || event.key == 'ArrowRight') { - self._keyDown = true; - } - }, false); - } - }, { - key: "_bindSequence", - value: function _bindSequence() { - var sequenceEl = this.sequenceEl = document.querySelector(this.input.sequence); - - var capture_value = function capture_value(event) { - sequenceEl.dataset.value = sequenceEl.value; - }; - - sequenceEl.addEventListener('click', capture_value, false); - sequenceEl.addEventListener('focus', capture_value, false); - - var handle_change = function (event) { - if (event.type == 'keydown') { - if (!(event.key == 'Enter' || event.key == 'Return' || event.key == 'ArrowUp' || event.key == 'ArrowDown')) { - return; - } - - event.preventDefault(); - event.stopPropagation(); - } - - var value = sequenceEl.value; - - if (value.match(/^\d+$/)) { - value = parseInt(value, 10); - - if (event.type == 'keydown') { - if (event.key == 'ArrowDown') { - value -= 1; - - if (value < 0) { - value = sequenceEl.dataset.max; - } - } else if (event.key == 'ArrowUp') { - value += 1; - - if (value > this.reader.service.manifest.totalSeq) { - value = 1; - } - } - } - - value = '#' + value; - } - - if (!this.handleValue(value)) { - sequenceEl.value = sequenceEl.dataset.value; - } - }.bind(this); - - sequenceEl.addEventListener('blur', handle_change); - sequenceEl.addEventListener('keydown', handle_change); - } - }, { - key: "_bindResize", - value: function _bindResize() { - var _this5 = this; - - if (window.ResizeObserver) { - var toolbar = document.querySelector(this.input.toolbar); - var resizeObserver = new ResizeObserver(function (entries) { - var _iterator = _createForOfIteratorHelper(entries), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var entry = _step.value; - console.log("--", entry, entry.target, entry.target.offsetWidth); - var offsetWidth = entry.target.offsetWidth; - - if (offsetWidth >= 770) { - if (_this5.rangeEl) { - _this5.rangeEl.parentElement.style.display = null; - } - - _this5.firstEl.style.display = null; - _this5.lastEl.style.display = null; - } else if (offsetWidth < 550) { - _this5.firstEl.style.display = 'none'; - _this5.lastEl.style.display = 'none'; - - if (_this5.rangeEl) { - _this5.rangeEl.parentElement.style.display = 'none'; - } - } else if (offsetWidth < 770) { - _this5.firstEl.style.display = null; - _this5.lastEl.style.display = null; - - if (_this5.rangeEl) { - _this5.rangeEl.parentElement.style.display = 'none'; - } - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - }); - resizeObserver.observe(this.reader.$root); - } - } - }, { - key: "updateLocation", - value: function updateLocation(el) { - this.reader.trigger.push("control-navigator-".concat(el.type)); - this.emitter.emit('updateLocation', { - seq: el.value, - trigger: "control-navigator-".concat(e.type) - }); - } - }, { - key: "_updateRange", - value: function _updateRange() { - this.sequenceEl.value = this.rangeEl.value; - - this._updateRangeBackground(); - - var value = parseFloat(this.rangeEl.value, 10); - var current_location = value; - var current_page = ''; - var max = parseFloat(this.rangeEl.max, 10); - var percentage = Math.floor(value / max * 100.0); - this.rangeEl.setAttribute('aria-valuenow', value); - this.rangeEl.setAttribute('aria-valuetext', "".concat(current_location, "/").concat(this.input.max)); - } - }, { - key: "_updateRangeBackground", - value: function _updateRangeBackground() { - var val = parseInt(this.rangeEl.value, 10); - var total = parseInt(this.rangeEl.max, 10); - var p = Math.ceil((val - 1) / (total - 1) * 100); - var fill = '#ff9f1a'; - var end = '#444'; - var dir = this.isRTL ? 'left' : 'right'; - this.rangeEl.style.background = "linear-gradient(to ".concat(dir, ", ").concat(fill, " 0%, ").concat(fill, " ").concat(p, "%, ").concat(end, " ").concat(p, "%, ").concat(end, " 100%)"); - } - }, { - key: "handleValue", - value: function handleValue(value) { - var seq; - var retval = true; - - if (value.substr(0, 1) == '+' || value.substr(0, 1) == '-') { - var delta = value.substr(0, 1) == '+' ? +1 : -1; - value = parseInt(value.substr(1), 10); - this.reader.trigger.push('action-navigator-seq'); - this.reader.jump(delta * value); - return true; - } - - if (value.substr(0, 2) == 'p.') { - // sequence - seq = this.reader.service.manifest.seq(value.substr(2).trim()); - } else if (value.substr(0, 1) == 'p') { - seq = this.reader.service.manifest.seq(value.substr(1).trim()); - } else if (value.substr(0, 1) == '#' || value.substr(0, 1) == 'n') { - seq = parseInt(value.substr(1), 10); - } else { - // seq = parseInt(value, 10); - seq = this.reader.service.manifest.seq(value); - } - - if (seq && seq >= 1 && seq <= this.reader.service.manifest.totalSeq) { - this.reader.trigger.push('action-navigator-seq'); - this.reader.display(seq); - } else { - retval = false; - } - - return retval; - } - }]); - - return Navigator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/screeninator.js": -/*!****************************************************!*\ - !*** ./src/js/components/controls/screeninator.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Screeninator": function() { return /* binding */ Screeninator; } -/* harmony export */ }); -/* harmony import */ var screenfull__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! screenfull */ "./node_modules/screenfull/dist/screenfull.js"); -/* harmony import */ var screenfull__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(screenfull__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - - -var Screeninator = /*#__PURE__*/function () { - function Screeninator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Screeninator); - - this.input = options.input; - this.reader = options.reader; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_1__.createNanoEvents)(); - this.bindEvents(); - } - - _createClass(Screeninator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - var action = document.querySelector(this.input.fullscreen); - - if (action) { - if ((screenfull__WEBPACK_IMPORTED_MODULE_0___default().isEnabled)) { - var el = this.reader.$root.parentNode; // document.documentElement - - action.addEventListener('click', function (event) { - var target = event.target.closest('button'); - screenfull__WEBPACK_IMPORTED_MODULE_0___default().toggle(el).then(function (args) {// this._updateState(target); - }); - }); - screenfull__WEBPACK_IMPORTED_MODULE_0___default().on('change', function (event) { - document.body.dataset.fullscreen = (screenfull__WEBPACK_IMPORTED_MODULE_0___default().isFullscreen); - - _this._updateState(action); - }); - } else { - action.style.display = 'none'; - } - } - } - }, { - key: "_updateState", - value: function _updateState(target) { - target.setAttribute('aria-label', (screenfull__WEBPACK_IMPORTED_MODULE_0___default().isFullscreen) ? target.dataset.toggledLabel : target.dataset.untoggledLabel); - - target._tippy.setContent(target.getAttribute('aria-label')); - } - }]); - - return Screeninator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/searchinator.js": -/*!****************************************************!*\ - !*** ./src/js/components/controls/searchinator.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Searchinator": function() { return /* binding */ Searchinator; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - -var Searchinator = /*#__PURE__*/function () { - function Searchinator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Searchinator); - - this.input = options.input; - this.reader = options.reader; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - this.searchStart = 1; - this.searchSize = 10; - this.searchSort = 'seq'; - this.showHighlights = true; - this.bindEvents(); - } - - _createClass(Searchinator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "emit", - value: function emit(event) { - var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.emitter.emit(event, params); - } - }, { - key: "clear", - value: function clear() { - var _this = this; - - setTimeout(function () { - _this.searchResultsContainer.innerHTML = ''; - }, 0); - this.searchInput.value = ''; - this.searchStart = 1; - this.searchPanel.dataset.hasResults = false; - this.emit('update', { - q1: null - }); - } - }, { - key: "submit", - value: function submit() { - var _this2 = this; - - var self = this; - var search_url = "/cgi/pt/search?id=".concat(HT.params.id, "&skin=2021&sz=25&q1=").concat(this.searchInput.value, "&start=").concat(this.searchStart, "&sort=").concat(this.searchSort); - - if (!this.showHighlights) { - search_url += '&hl=false'; - } - - if (HT.params.debug) { - search_url += "&debug=".concat(HT.params.debug); - } - - if (this.searchTarget.checked) { - // we have to make a form - this.searchResultsContainer.innerHTML = ''; - var form = document.createElement('form'); - form.style.display = 'none'; - form.setAttribute('action', '/cgi/pt/search'); - form.setAttribute('method', 'GET'); - form.setAttribute('target', '_blank'); - form.innerHTML = "\n \n \n \n \n \n \n "); - - if (HT.params.debug) { - form.innerHTML += ""); - } - - document.body.appendChild(form); - form.addEventListener('submit', function (event) { - document.body.removeChild(form); - }); - form.submit(); - return; - } - - this.searchResultsContainer.innerHTML = '

    Searching...
    '; - HT.update_status(this.searchResultsContainer.innerText); - this.clearButton.style.display = 'none'; - this.submitButton.classList.add('btn-loading'); - fetch(search_url, { - credentials: 'include' - }).then(function (response) { - return response.text(); - }).then(function (html) { - var parser = new DOMParser(); - - if (String.prototype.replaceAll) { - html = html.replaceAll('

    ', '

    ').replaceAll('

    ', ''); - } - - var doc = parser.parseFromString(html, 'text/html'); - var resultsContainer = doc.querySelector('.results-container'); - self.searchResultsContainer.innerHTML = ''; // use a combined querySelectorAll so all the classes are captured in document order - - var expr = '.alert,article,nav'; - var tmp = resultsContainer.querySelectorAll(expr); - - for (var ix = 0; ix < tmp.length; ix++) { - self.searchResultsContainer.appendChild(tmp[ix]); - } - - if (self.searchResultsContainer.querySelectorAll('article').length > 0) { - self.emit('update', { - q1: _this2.searchInput.value - }); - self.searchPanel.dataset.hasResults = true; - } else { - self.searchPanel.dataset.hasResults = false; - self.emit('update', { - q1: null - }); - } - - _this2.submitButton.classList.remove('btn-loading'); - - _this2.clearButton.style.display = null; // this will always match the first .alert - - var alertEl = self.searchResultsContainer.querySelector('.alert--summary,.alert-error'); - HT.update_status(alertEl.innerText); - alertEl.focus(); - }); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this3 = this; - - var self = this; - this.searchResultsContainer = document.querySelector(this.input.container); - var searchForm = this.searchForm = document.querySelector(this.input.form); - this.searchInput = searchForm.querySelector('input[name="q1"]'); - this.submitButton = searchForm.querySelector('button[data-action="submit-search"]'); - this.clearButton = searchForm.querySelector('button[data-action="clear-search"]'); - this.searchTarget = searchForm.querySelector('input[name="target"]'); - this.searchPanel = document.querySelector(this.input.panel); - this.searchResultsContainer.addEventListener('click', function (event) { - if (event.target.closest('a[data-seq]')) { - event.preventDefault(); - event.stopPropagation(); - var target = event.target.closest('a'); - var seq = target.dataset.seq; - - _this3.reader.display(seq); - - return; - } - - if (event.target.closest('a[data-start]')) { - event.preventDefault(); - event.stopPropagation(); - var target = event.target.closest('a'); - _this3.searchStart = target.dataset.start; - - _this3.submit(); - - return; - } - - if (event.target.closest('button[data-action="sort"]')) { - event.preventDefault(); - event.stopPropagation(); - var target = event.target.closest('button'); - var value = target.dataset.value; - - if (value != _this3.searchSort) { - _this3.searchSort = value; - - _this3.submit(); - } - - return; - } - - if (event.target.closest('button[data-action="toggle-highlights"]')) { - event.preventDefault(); - event.stopPropagation(); - var target = event.target.closest('button'); - target.classList.toggle("active"); - target.setAttribute('aria-pressed', target.classList.contains('active')); - _this3.showHighlights = !_this3.showHighlights; - document.body.dataset.showHighlights = _this3.showHighlights; - document.body.classList.toggle('hide-highlights', !_this3.showHighlights); - target.setAttribute('aria-label', _this3.showHighlights ? target.dataset.toggledLabel : target.dataset.untoggledLabel); - - target._tippy.setContent(target.getAttribute('aria-label')); - - return; - } // if ( event.target.closest('button[data-action="clear-search"]') ) { - // event.preventDefault(); - // event.stopPropagation(); - // var target = event.target.closest('button'); - // this.clear(); - // return; - // } - - }); - this.clearButton.addEventListener('click', function (event) { - event.preventDefault(); - event.stopPropagation(); - var target = event.target.closest('button'); - - _this3.clear(); - }); - this.searchTarget.addEventListener('change', function (event) { - HT.prefs.set({ - pt: { - submitTarget: _this3.searchTarget.checked - } - }); - }); - this.searchResultsContainer.addEventListener('change', function (event) { - var target = event.target.closest('input#action-start-jump'); - - if (target) { - var max = parseInt(target.max); - var min = parseInt(target.min); - var sz = parseInt(target.dataset.sz, 10); - var value = parseInt(target.value, 10); - - if (isNaN(value) || value > max || value < min) { - target.value = target.dataset.value; - alert("Please enter a number between ".concat(min, " - ").concat(max)); - return; - } - - var start = (value - 1) * sz + 1; // resubmit the form - - _this3.searchStart = start; - - _this3.submit(); - } - }); - searchForm.addEventListener('submit', function (event) { - event.preventDefault(); - _this3.searchStart = 1; - - _this3.submit(); - }); - var skipLink = document.querySelector('#skiplinks a[href="#input-search-text"]'); - - if (skipLink) { - skipLink.addEventListener('click', function (event) { - event.preventDefault(); - event.stopPropagation(); // this really shouldn't be here - - if (document.body.dataset.sidebarState == 'closed') { - document.body.dataset.sidebarState = 'open'; - } - - document.querySelector('#panel-search').open = true; - document.querySelector('#input-search-text').focus(); - }); - } - } - }]); - - return Searchinator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/selectinator.js": -/*!****************************************************!*\ - !*** ./src/js/components/controls/selectinator.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Selectinator": function() { return /* binding */ Selectinator; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - // import _ from 'lodash'; -// import array from 'lodash/array'; -// import collection from 'lodash/collection'; -// var _ = {}; -// _.each = collection.each; -// _.indexOf = array.indexOf; -// _.union = array.union; -// _.difference = array.difference; - -var checkboxEmptySvg = "\n \n"; -var checkboxCheckedSvg = "\n \n \n"; -var Selectinator = /*#__PURE__*/function () { - function Selectinator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Selectinator); - - // this.options = Object.assign({}, options); - this.reader = options.reader; - this.input = options.input; - this.datalist = this.input ? this.input.querySelector('ul') : null; // this.datalist = this.input.querySelector('ul.dropdown-menu'); - - this.link = options.link; - this.reset = options.reset; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - this._selection = {}; - this.bindEvents(); - } - - _createClass(Selectinator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - var self = this; - - if (!this.datalist) { - return; - } - - this.reader.on('ready', function () { - self.setup(); - }); - this.reset.addEventListener('click', function (event) { - event.preventDefault(); - event.stopPropagation(); - - this._clearSelection(); - }.bind(this)); // this.input.querySelector('button').addEventListener('click', (event) => { - // event.preventDefault(); - // event.stopPropagation(); - // this.open(); - // }); - - this.datalist.addEventListener('click', function (event) { - var target = event.target; - target = target.closest('a'); - - if (target && target.hasAttribute('href')) { - // this.modal.closeModal(); - event.preventDefault(); - event.stopPropagation(); - var seq = target.dataset.seq; - - _this.reader.display(seq); - } - }); - } - }, { - key: "setup", - value: function setup() { - if (!this._clickHandler) { - this._clickHandler = this.clickHandler.bind(this); - this.reader.view.container.addEventListener('click', this._clickHandler); - } - - var printable = this._getPageSelection(); - - this._updateSelectionLabel(printable.length); - - this._updateSelectionContents(printable); - - var manifest = this.reader.service.manifest; - var pages = this.reader.view.container.querySelectorAll('.page'); - - for (var i = 0; i < pages.length; i++) { - var page = pages[i]; - - if (!page.dataset.seq) { - continue; - } - - if (manifest.checkFeatures(page.dataset.seq, 'MISSING_PAGE')) { - continue; - } // - - - var button = document.createElement('button'); // button.classList.add('button', 'btn-mini', 'action-toggle-selection'); - - button.classList.add('action-toggle-selection', 'btn'); - button.dataset.seq = page.dataset.seq; - button.dataset.action = 'toggle'; - button.setAttribute('aria-label', "Select page scan #".concat(page.dataset.seq)); - button.setAttribute('type', 'button'); - button.setAttribute('aria-pressed', printable.indexOf(parseInt(page.dataset.seq, 10)) > -1); - button.setAttribute('data-tippy-role', 'tooltip'); - button.setAttribute('data-tippy-placement', 'auto'); - button.innerHTML = "".concat(checkboxEmptySvg).concat(checkboxCheckedSvg); - page.querySelector('.tag').insertBefore(button, page.querySelector('span')); - page.dataset.selected = button.getAttribute('aria-pressed'); - page.classList.toggle('page--selected', button.getAttribute('aria-pressed') == 'true'); - button.setAttribute('tabindex', page.getAttribute('tabindex')); - } - } - }, { - key: "clickHandler", - value: function clickHandler(event) { - var element = event.target.closest('button[data-action="toggle"]'); - - if (element) { - event.preventDefault(); - event.stopPropagation(); - var page = element.closest('.page'); - var checked = !(page.dataset.selected == "true"); - - this._addPageToSelection(page, element, event, true); - } - } - }, { - key: "render", - value: function render(slot, value) { - var span = this.output.querySelector("[data-slot=\"".concat(slot, "\"]")); - span.innerText = value; - } - }, { - key: "open", - value: function open() { - // using bootbox is a bit of a hack, but oh well... - this.modal = bootbox.dialog(this.datalist, [{ - label: 'Close', - class: 'btn-dismiss' - }], { - header: 'Page scans selected for download' - }); - } - /* SELECTION */ - - }, { - key: "_setSelection", - value: function _setSelection(printable) { - var key = "selection-" + this.reader.identifier; - - if (printable === null) { - sessionStorage.removeItem(key); - return; - } - - sessionStorage.setItem(key, JSON.stringify(printable.sort(function (a, b) { - return a - b; - }))); - } - }, { - key: "_addPageToSelection", - value: function _addPageToSelection(page, input, evt, toggle) { - var self = this; - var checked = !(page.dataset.selected == "true"); // if ( toggle ) { - // $input.prop('checked', checked); // ! $input.prop('checked')); - // } - - var seq = parseInt(page.dataset.seq, 10); // now deal with processing - - var printable = self._getPageSelection(); - - var is_adding = checked; // $input.prop('checked'); - - var to_process = [seq]; - page.dataset.selected = checked; - page.classList.toggle('page--selected', checked); - input.setAttribute('aria-pressed', checked); // page.setAttribute('aria-label', checked ? `Page scan ${seq} is selected for download` : ''); - - input.setAttribute('aria-label', checked ? "Page scan #".concat(seq, " is selected") : "Select page scan #".concat(seq)); - - if (input._tippy) { - input._tippy.setContent(input.getAttribute('aria-label')); - } - - if (evt && evt.shiftKey && self._last_selected_seq) { - // there should be an earlier selection - var prev_until; - var fn = checked ? function (seq) { - return printable.indexOf(seq) > -1; - } : function (seq) { - return printable.indexOf(seq) < 0; - }; - var start_seq; - var end_seq; - var delta; - - if (seq > self._last_selected_seq) { - start_seq = seq; - end_seq = self._last_selected_seq; - } else { - start_seq = self._last_selected_seq; - end_seq = seq; - } - - for (var prev_until_ = start_seq - 1; prev_until_ > end_seq; prev_until_--) { - prev_until = prev_until_; - - if (fn(prev_until_)) { - break; - } - } - - if (prev_until == 1 && printable.indexOf(1) < 0) { - bootbox.alert("

    Sorry.

    Shift-click selects the pages between this page and an earlier selection, and we didn't find an earlier selected page.

    "); - } else { - var container = this.reader.view.container; - - for (var prev = start_seq; prev >= prev_until; prev--) { - var page_prev = container.querySelector(".page[data-seq=\"".concat(prev, "\"]")); - - if (page_prev) { - page_prev.dataset.selected = checked; - page_prev.classList.toggle('page--selected', checked); - var prev_input = page_prev.querySelector('button.action-toggle-selection'); - prev_input.setAttribute('aria-pressed', checked); - prev_input.setAttribute('aria-label', checked ? "Page scan #".concat(prev, " is selected for download") : "Select page scan #".concat(prev)); - - if (prev_input._tippy) { - input._tippy.setContent(input.getAttribute('aria-label')); - } - } - - to_process.push(prev); - } - } - } - - if (is_adding) { - // printable = _.union(printable, to_process); - var set = new Set(printable.concat(to_process)); - printable = _toConsumableArray(set); - } else { - // printable = _.difference(printable, to_process) - var set = new Set(_toConsumableArray(printable).filter(function (x) { - return !to_process.includes(x); - })); - printable = _toConsumableArray(set); - } - - self._setSelection(printable); - - var num_printable = printable.length; - - self._updateSelectionLabel(num_printable); - - self._updateSelectionContents(printable); - - self._last_selected_seq = seq; - } - }, { - key: "_updateSelectionLabel", - value: function _updateSelectionLabel(num_printable) { - var msg = num_printable; - - if (msg == 0) { - msg = 'pages'; - } else if (msg == 1) { - msg = "1 page"; - } else { - msg = msg + " pages"; - } // this.link.innerText = this.link.dataset.template.replace('{PAGES}', msg); - // this.link.dataset.total = num_printable; - - - this.reset.style.visibility = num_printable == 0 ? 'hidden' : 'visible'; - return msg; - } - }, { - key: "_getPageSelection", - value: function _getPageSelection() { - var key = "selection-" + this.reader.identifier; - var printable = []; - - try { - printable = JSON.parse(sessionStorage.getItem(key) || "[]"); - } catch (e) {} - - return printable; - } - }, { - key: "_getFlattenedSelection", - value: function _getFlattenedSelection(printable) { - var list = []; // _.each(printable.sort(function(a, b) { return a - b; }), function(val) { - - printable.sort(function (a, b) { - return a - b; - }).forEach(function (val) { - if (list.length == 0) { - list.push([val, -1]); - } else { - var last = list[list.length - 1]; - - if (last[1] < 0 && val - last[0] == 1) { - last[1] = val; - } else if (val - last[1] == 1) { - last[1] = val; - } else { - list.push([val, -1]); - } - } - }); - - for (var i = 0; i < list.length; i++) { - var tmp = list[i]; - - if (tmp[1] < 0) { - list[i] = tmp[0]; - } else { - list[i] = tmp[0] + "-" + tmp[1]; - } - } - - return list; - } - }, { - key: "_updateSelectionContents", - value: function _updateSelectionContents(printable) { - var self = this; // var msg = this.input.querySelector('.msg'); - // var button = this.input.querySelector('button'); - - if (printable.length == 0) { - this.datalist.innerHTML = ''; - - if (HT.downloader && HT.downloader.selectRangeOption) { - HT.downloader.selectRangeOption('volume'); - } // msg.innerText = ''; - // button.disabled = true; - - - return; - } - - if (HT.downloader && HT.downloader.selectRangeOption) { - HT.downloader.selectRangeOption('selected-pages'); - } // button.disabled = false; - // msg.innerText = ` ${printable.length} ${printable.length == 1 ? 'page' : 'pages'}`; - - - this.datalist.innerHTML = ''; - - var list = self._getFlattenedSelection(printable); - - list.forEach(function (args) { - var s = args; - var postscript = "Selected page scans ".concat(args, ""); - - if (typeof args == "string") { - var tmp = args.split("-"); - s = tmp[0]; // postscript += " (" + ( parseInt(tmp[1], 10) - parseInt(tmp[0], 10) + 1 ) + " pages)"; - } - - var li = document.createElement('li'); - var link = document.createElement('a'); - var link_href = window.location.href.replace(/seq=\d+/, "seq=" + s).replace(/num=\d+/, ''); - - if (link_href.indexOf('seq=') < 0) { - link_href += (link_href.indexOf('&') > -1 ? '&' : ';') + "seq=".concat(s); - } - - link.setAttribute('href', link_href); - link.dataset.seq = s; // link.innerHTML = `${postscript}` - - link.innerHTML = "".concat(postscript); - li.appendChild(link); - self.datalist.appendChild(li); - }); - } - }, { - key: "_clearSelection", - value: function _clearSelection() { - var self = this; - var toggles = document.querySelectorAll('button.action-toggle-selection[aria-pressed="true"]'); - - for (var i = 0; i < toggles.length; i++) { - var toggle = toggles[i]; - toggle.setAttribute('aria-pressed', false); - toggle.parentNode.dataset.selected = false; - toggle.parentNode.classList.remove('page--selected'); - } - - self._setSelection(null); - - self._updateSelectionContents([]); - - self._updateSelectionLabel(0); - } - }]); - - return Selectinator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/viewinator.js": -/*!**************************************************!*\ - !*** ./src/js/components/controls/viewinator.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Viewinator": function() { return /* binding */ Viewinator; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - -var Viewinator = /*#__PURE__*/function () { - function Viewinator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Viewinator); - - this.input = options.input; - this.reader = options.reader; - this.emitter = new nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents(); - this.bindEvents(); - } - - _createClass(Viewinator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - var self = this; - var action = this.action = document.querySelector(this.input.view); - var reader = this.reader; - var possibles = { - format: {}, - view: {} - }; - this.possibles = possibles; - action.parentElement.querySelectorAll('button[data-role]').forEach(function (button) { - var role = button.dataset.role; - var value = button.dataset.value; - possibles[role][value] = button; - }); - action.addEventListener('show.bs.dropdown', function (event) { - action._tippy.disable(); - }); - action.addEventListener('hide.bs.dropdown', function (event) { - action._tippy.enable(); - }); - var actionSelectSvg = action.querySelector('svg'); - action.addEventListener('hidden.bs.dropdown', function (event) { - if (event.clickEvent) { - var target = event.clickEvent.target.closest("button"); - - if (!target) { - return; - } - - var role = target.dataset.role; - var currentView = reader.view.name; - var currentFormat = reader.options.format; - var targetView = currentView; - var targetFormat = currentFormat; - var actualTargetView = currentView; - - if (role == 'format') { - targetFormat = target.dataset.value; - } else if (role == 'view') { - targetView = target.dataset.value; - - if (targetView == 'page') { - if (currentFormat == 'plaintext') { - actualTargetView = 'page'; - } else { - actualTargetView = 'page'; - } - } else { - actualTargetView = targetView; - } - } // if ( targetView != currentView ) { - // actionSelectSvg.innerHTML = possibles.view[targetView].querySelector('svg').innerHTML; - // } - - - self.describe(targetView, targetFormat); - possibles.view[currentView].classList.remove('active'); - possibles.format[currentFormat].classList.remove('active'); - possibles.view[currentView].setAttribute('aria-current', false); - possibles.format[currentFormat].setAttribute('aria-current', false); - possibles.view[targetView].classList.add('active'); - possibles.format[targetFormat].classList.add('active'); - possibles.view[targetView].setAttribute('aria-current', true); - possibles.format[targetFormat].setAttribute('aria-current', true); - reader.options.format = targetFormat; - reader.restart({ - view: actualTargetView, - format: targetFormat, - clicked: 0 - }); - } - }); - var accessPlaintextButton = document.querySelector(this.input.accessPlaintext); - - if (accessPlaintextButton) { - accessPlaintextButton.addEventListener('click', function (event) { - _this.reader.restart({ - view: 'page', - format: 'plaintext' - }); - - return; - }); - } - - this.reader.on('configure', function (config) { - var view = self.reader.view.name; - var currentViewItem; - Object.keys(possibles.view).forEach(function (possible) { - if (possibles.view[possible].classList.contains('active')) { - currentViewItem = possibles.view[possible]; - } - }); - - if (currentViewItem && currentViewItem.dataset.view != view) { - currentViewItem.classList.remove('active'); - } - - possibles.view[view].classList.add('active'); // actionSelectSvg.innerHTML = possibles.view[view].querySelector('svg').innerHTML; - - self.describe(view, self.reader.options.format); - }); - - if (!this.reader.service.hasOcr) { - self.disable('plaintext', 'format'); - } - - if (!(this.reader.service.manifest.totalSeq > 1)) { - self.disable('2up'); - self.disable('thumb'); - } - } - }, { - key: "enable", - value: function enable(view) { - if (!this.possibles[key][view]) { - return; - } - - this.possibles.view[view].classList.remove('disabled'); - this.possibles.view[view].setAttribute('aria-disabled', false); - } - }, { - key: "disable", - value: function disable(view) { - var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'view'; - - if (!this.possibles[key][view]) { - return; - } - - this.possibles[key][view].classList.add('disabled'); - this.possibles[key][view].setAttribute('aria-disabled', true); - } - }, { - key: "describe", - value: function describe(view, format) { - var svg = this.action.querySelector('svg'); - var span = this.action.querySelector('span[data-role="description"]'); - var currentView = this.possibles.view[view]; - var currentFormat = this.possibles.format[format]; - span.innerText = "".concat(currentView.innerText.trim(), "/").concat(currentFormat.innerText.trim()); - svg.innerHTML = currentView.querySelector('svg').innerHTML; - } - }]); - - return Viewinator; -}(); - -/***/ }), - -/***/ "./src/js/components/controls/zoominator.js": -/*!**************************************************!*\ - !*** ./src/js/components/controls/zoominator.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Zoominator": function() { return /* binding */ Zoominator; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - -var Zoominator = /*#__PURE__*/function () { - function Zoominator() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Zoominator); - - this.scale = parseInt(options.scale || 1.0, 10); - this.input = options.input; - this.reader = options.reader; - this._possibles = {}; - this._possibles.image = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0]; - this._possibles.plaintext = [1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0]; - this.emitter = new nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents(); - this.bindEvents(); - } - - _createClass(Zoominator, [{ - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "possibles", - get: function get() { - if (this.reader && this.reader.view && this.reader.view.possibles) { - return this.reader.view.possibles; - } - - return this._possibles[this.reader.options.format]; - } - }, { - key: "bindEvents", - value: function bindEvents() { - var self = this; - document.addEventListener('click', function (event) { - var target = event.target.closest('button'); - - if (!target) { - return; - } - - if (target.classList.contains('action-zoom-in')) { - var idx = self.possibles.indexOf(self.scale); - idx += 1; - self.update(idx); - } else if (target.classList.contains('action-zoom-out')) { - var idx = self.possibles.indexOf(self.scale); - idx -= 1; - self.update(idx); - } else if (target.classList.contains('action-zoom-reset')) { - // self.update(-1); - var idx = self.possibles.indexOf(1); - self.update(idx); - } - }); - this.reader.on('configure', function (config) { - if (config.zoom === false) { - // this.input.zoom_in.disabled = true; - // this.input.zoom_out.disabled = true; - this.enable(document.querySelectorAll('.action-zoom-in'), false); - this.enable(document.querySelectorAll('.action-zoom-out'), false); - this.enable(document.querySelectorAll('.action-zoom-reset'), false); - } else { - this.scale = this.reader.view.scale || 1.0; - var idx = this.possibles.indexOf(this.scale); - - if (idx < 0) { - idx = 0; - } - - this.update(idx); // this.enable(document.querySelectorAll('.action-zoom-in'), ! ( idx == ( this.possibles.length - 1 ))) - // this.enable(document.querySelectorAll('.action-zoom-out'), ! ( idx == 0 )) - // this.input.zoom_in.disabled = ( idx == ( this.possibles.length - 1 ) ); - // this.input.zoom_out.disabled = ( idx == 0 ); - } - }.bind(this)); - } - }, { - key: "disable", - value: function disable(elements) { - elements.forEach(function (element) { - element.disabled = true; - }); - } - }, { - key: "enable", - value: function enable(elements, state) { - elements.forEach(function (element) { - element.disabled = !state; - }); - } - }, { - key: "update", - value: function update(idx) { - this.scale = this.possibles[idx]; - this.enable(document.querySelectorAll('.action-zoom-in'), !(idx == this.possibles.length - 1)); - this.enable(document.querySelectorAll('.action-zoom-out'), !(idx == 0)); - document.body.dataset.zoomedIn = this.scale > 1; // document.body.dataset.zoomedScale = this.scale; - // const fontSize = this.scale > 1 ? 1.25 * this.scale : 1.25; - - var fontSize = this.scale * 1.25; - document.body.style.setProperty('--page-text-font-size', "".concat(fontSize, "rem")); - this.reader.emit('redraw', { - scale: this.scale - }); - } - }, { - key: "check", - value: function check(value) { - return this.possibles.indexOf(value) > -1; - } - }]); - - return Zoominator; -}(); - -/***/ }), - -/***/ "./src/js/components/imgsrv.js": -/*!*************************************!*\ - !*** ./src/js/components/imgsrv.js ***! - \*************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Manifest": function() { return /* binding */ Manifest; }, -/* harmony export */ "Service": function() { return /* binding */ Service; }, -/* harmony export */ "Loader": function() { return /* binding */ Loader; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - - -var Manifest = /*#__PURE__*/function () { - function Manifest() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Manifest); - - this.options = Object.assign({}, options); - this.totalSeq = parseInt(options.totalSeq, 10); - this.defaultSeq = parseInt(options.defaultSeq, 10); - this.firstSeq = parseInt(options.firstSeq, 10); - this.defaultImage = { - height: parseInt(options.defaultHeight, 10), - width: parseInt(options.defaultWidth, 10), - rotation: 0 - }; - this.defaultImage.ratio = this.defaultImage.height / this.defaultImage.width; - this.featureList = options.featureList; - this.featureMap = {}; - this._seq2num = {}; - this._num2seq = {}; - this._pageNum = { - first: null, - last: null - }; - this.featureList.forEach(function (item) { - this.featureMap[item.seq] = item; - - if (item.pageNum && !this._seq2num[item.seq]) { - this._seq2num[item.seq] = item.pageNum; - this._num2seq[item.pageNum] = item.seq; - - if (this._pageNum.first == null) { - this._pageNum.first = item.pageNum; - } - - this._pageNum.last = item.pageNum; - } - }.bind(this)); - this.manifest = {}; - } - - _createClass(Manifest, [{ - key: "update", - value: function update(seq, meta) { - if (meta.rotation != null && meta.width === undefined) { - // just updating rotation - this.manifest[seq].rotation = meta.rotation; - return; - } - - if (meta.resolution != null && meta.width === undefined) { - this.manifest[seq].resolution = meta.resolution; - return; - } // ... which will help with switching lanes and rotating - - - if (this.manifest[seq] && this.manifest[seq].width) { - return; - } - - var ratio = this.defaultImage.width / meta.width; - this.manifest[seq] = { - width: this.defaultImage.width, - height: meta.height * ratio, - rotation: meta.rotation || 0, - ratio: meta.height / meta.width, - resolution: meta.resolution, - size: meta.size - }; - } - }, { - key: "meta", - value: function meta(seq) { - if (this.manifest[seq]) { - var meta = this.manifest[seq]; - - if (meta.rotation % 180 != 0) { - return { - height: meta.width, - width: meta.height, - rotation: meta.rotation - }; - } - - return meta; - } - - return this.defaultImage; - } - }, { - key: "rotateBy", - value: function rotateBy(seq, delta) { - var rotation; // this shouldn't happen - - if (!this.manifest[seq]) { - return; - } - - rotation = this.manifest[seq].rotation; - - if (rotation == 0) { - rotation = 360; - } - - rotation += delta; - rotation = rotation % 360; - this.manifest[seq].rotation = rotation; - } - }, { - key: "checkFeatures", - value: function checkFeatures(seq, feature) { - var data = this.featureMap[seq]; - - if (data && data.features) { - if (feature === undefined) { - return data.features.length > 1; - } - - ; - return data.features.indexOf(feature) > -1; - } - - return false; - } - }, { - key: "ownerid", - value: function ownerid(seq) { - var data = this.featureMap[seq]; - - if (data && data.ownerid) { - return data.ownerid; - } - - return null; - } - }, { - key: "physicalSeq", - value: function physicalSeq(seq) { - var data = this.featureMap[seq]; - - if (data && data.pseq) { - return data.pseq; - } - - return seq; - } - }, { - key: "pageNum", - value: function pageNum(seq) { - var prefixed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var value = this._seq2num[seq]; - - if (value) { - if (prefixed) { - value = "p.".concat(value); - } - - return value; - } - - return null; - } - }, { - key: "pageNumRange", - value: function pageNumRange() { - if (this._pageNum.first == null) { - return null; - } - - return "".concat(this._pageNum.first, "-").concat(this._pageNum.last); - } - }, { - key: "hasPageNum", - value: function hasPageNum() { - return !(this._pageNum.first == null); - } - }, { - key: "seq", - value: function seq(pageNum) { - return this._num2seq[pageNum] || pageNum; - } - }]); - - return Manifest; -}(); -var Service = /*#__PURE__*/function () { - function Service() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Service); - - this.manifest = new Manifest(options.manifest); - this.identifier = options.identifier; - this.q1 = options.q1; - this.debug = options.debug; - this.hasOcr = options.hasOcr; - this.allowFullDownload = options.allowFullDownload; - this.expiration = options.expiration; - this.loaders = {}; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - this.bindEvents(); - } - - _createClass(Service, [{ - key: "thumbnail", - value: function thumbnail() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var width = 250; // one size fits all - - var meta = this.manifest.meta(options.seq); - var rotation = meta.rotation || 0; - var params = []; - params.push("id=".concat(this.identifier)); - params.push("seq=".concat(options.seq)); - params.push("width=".concat(width)); - params.push("rotation=".concat(rotation)); - - if (this.debug) { - params.push("debug=".concat(this.debug)); - } - - return "/cgi/imgsrv/thumbnail?".concat(params.join(';')); - } - }, { - key: "image", - value: function image() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = 'image'; // options.mode == 'thumbnail' ? 'thumbnail' : 'image'; - - var param = this.bestFit(options); - var meta = this.manifest.meta(options.seq); - var rotation = meta.rotation || 0; - var params = []; - params.push("id=".concat(this.identifier)); - params.push("seq=".concat(options.seq)); - params.push("".concat(param.param, "=").concat(param.value)); - params.push("rotation=".concat(rotation)); - - if (this.debug) { - params.push("debug=".concat(this.debug)); - } - - if (options.expiration) { - params.push("_=".concat(options.expiration)); - } - - return "/cgi/imgsrv/".concat(action, "?").concat(params.join(';')); - } - }, { - key: "html", - value: function html() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - if (!this.hasOcr) { - return null; - } - - var url = "/cgi/imgsrv/html?id=".concat(this.identifier, ";seq=").concat(options.seq); - - if (this.q1) { - url += ";q1=".concat(this.q1); - } - - if (this.debug) { - url += ";debug=".concat(this.debug); - } - - if (options.expiration) { - url += ";_=".concat(options.expiration); - } - - return url; - } - }, { - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "bindEvents", - value: function bindEvents() {} - }, { - key: "bestFit", - value: function bestFit(params) { - // var possibles = [ 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 ]; - var possibles = [0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0]; - var max_possible = possibles[possibles.length - 1]; - var baseWidth = window.innerWidth >= 680 ? 680 : window.innerWidth * 0.95; - baseWidth = 680; - var retval = {}; // var scale = ( window.outerWidth >= 680 ) ? 1.0 : ( window.outerWidth * 0.95 / 680.0 ); - - if (params.width) { - retval.param = 'size'; - retval.value = possibles.find(function (possible) { - var check = baseWidth * possible; - return params.width <= check; - }); - - if (retval.value === undefined) { - // out of bounds! - retval.value = max_possible; - } - - retval.value *= window.devicePixelRatio; - retval.value = possibles.find(function (possible) { - return retval.value <= possible; - }) || max_possible; - } else if (params.height) { - // retval.param = 'height'; - // retval.value = params.height; - retval.param = 'size'; - var meta = this.manifest.meta(params.seq); - var r = meta.height / meta.width; - retval.value = possibles.find(function (possible) { - var check = baseWidth * possible * r; - return params.height <= check; - }); - - if (retval.value === undefined) { - retval.value = 4.0; - } - - retval.value *= window.devicePixelRatio; - retval.value = possibles.find(function (possible) { - return retval.value <= possible; - }) || max_possible; - } - - retval.value = Math.floor(retval.value * 100.0); - - if (HT.force_size) { - retval.value = HT.force_size; - } - - return retval; - } - }]); - - return Service; -}(); -var Events = { - LOADED: 'loaded', - LOADING: 'loading', - COMPLETE: 'complete', - ERROR: 'error', - PROMOTED: 'promoted', - DEMOTED: 'demoted' -}; -var Loader = /*#__PURE__*/function () { - function Loader() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Loader); - - this.reset(options.n_parallel); - - if (options.urls && options.urls.length) { - this.add(options.urls); - } - - this.name = options.name || '[loader]'; - this._fetched = {}; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - } - - _createClass(Loader, [{ - key: "reset", - value: function reset(n_parallel) { - this.loaded = {}; - this._loaded = []; - this._loading = []; - this._events = {}; - this._parallel = n_parallel || this._parallel; - this._slots = this._parallel; - this._queue = []; - this._errors = []; - this._complete = false; - this._paused = true; - this._previousOneWasAFunction = false; - this._insertionPoint = 0; - } - }, { - key: "limit", - value: function limit(n) { - if (arguments.length) { - var slots = this._parallel - n; - this._parallel = n; - this._slots += slots; - this.next(); - return this; - } - - return this._parallel; - } - }, { - key: "parallel", - value: function parallel(n) { - return this.limit(n); - } - }, { - key: "start", - value: function start(fn) { - this._paused = false; - this._complete = false; - - if (fn) { - this.on(Events.COMPETE, fn); - } - - this.next(); - return this; - } - }, { - key: "stop", - value: function stop() { - var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - this._paused = true; - - if (reset) { - this._queue = []; - this._errors = []; - this._fetched = {}; - } - - return this; - } - }, { - key: "add", - value: function add() { - var l = arguments.length - 1, - i = -1, - src, - insertAt, - index; - - for (l; l > i; --l) { - src = arguments[l]; - - if (Object.prototype.toString.call(src) === '[object Array]') { - this._previousOneWasAFunction = false; - this.add.apply(this, src); - } else if (typeof src === 'string' || src.hasOwnProperty('src')) { - insertAt = this._insertionPoint == 'last' ? this._queue.length : this._insertionPoint; - index = this.getIndex(src); - - if (index >= 0) { - this.changePosition(index, insertAt); - } else { - this._queue.splice(insertAt, 0, src); - } - - if (this._previousOneWasAFunction) { - this.once(src, this._previousOneWasAFunction); - } - - this._previousOneWasAFunction = false; //if(this._complete === true && this._paused === true){ - //this.start(); - //} - } else if (src.constructor && src.call && src.apply) { - this._previousOneWasAFunction = src; - } - } - - return this; - } - }, { - key: "queue", - value: function queue() { - var args = new Array(arguments.length), - l = args.length, - i = 0; - - if (!l) { - return this; - } - - for (i; i < l; i++) { - args[i] = arguments[i]; - } - - var insertAt = this._insertionPoint; - this._insertionPoint = 'last'; - this.add.apply(this, args); - this._insertionPoint = insertAt; - return this; - } - }, { - key: "getIndex", - value: function getIndex(src) { - var q = this._queue, - l = q.length, - i = 0; - - if (typeof src !== 'string') { - src = src.src; - } - - for (i; i < l; ++i) { - if (q[i] === src || q[i].src && q[i].src === src) { - return i; - } - } - - return -1; - } - }, { - key: "next", - value: function next() { - if (this._paused === true) { - return this; - } - - if (!this._queue.length) { - if (!this._complete) { - this._complete = true; - this._paused = true; - this.dispatch(Events.COMPLETE); - } - - return; - } - - while (this._loading.length < this._parallel && this._queue.length) { - var _queued = this._queue.shift(); - - if (_typeof(_queued) === 'object' && _queued.mimetype && _queued.mimetype.startsWith('text/')) { - this._loadText(_queued); - } else { - this._load(_queued); - } - } - - return this; - } - }, { - key: "_updateLoading", - value: function _updateLoading(src) { - var self = this; - var loading = self._loading, - l = loading.length, - i = 0; - - for (i; i < l; ++i) { - if (loading[i] == src) { - loading.splice(i, 1); - } - } - } - }, { - key: "_loadText", - value: function _loadText(src) { - var self = this; - var request_src = typeof src === 'string' ? src : src.src; - var is_restricted = false; - var is_error = false; - this._fetched[request_src] = this._fetched[request_src] || 0; - this._fetched[request_src] += 1; - HT.log(this._fetched[request_src] > 1 ? '!!!' : "--", "loadText", this._fetched[request_src], request_src); - - if (this._fetched[request_src] > 1) { - self._updateLoading(request_src); - - self._fetched[request_src] -= 1; - return this; - } - - fetch(request_src, { - credentials: 'include' - }).then(function (response) { - self._fetched[request_src] -= 1; - - if (!response.ok) { - // err = response.text(); - is_error = true; - } - - if (response.headers.get('x-hathitrust-access') == 'deny') { - is_restricted = true; - } - - if (response.headers.get('x-hathitrust-renew')) { - if (HT && HT.renew_auth) { - HT.renew_auth(response.headers.get('x-hathitrust-renew')); - } - } - - var chokeAllowed = response.headers.get('x-choke-allowed'); - var chokeDebt = response.headers.get('x-choke-debt'); - return response.text(); - }).then(function (text) { - if (is_restricted == 'true' && text) { - text = text.replace('RESTRICTED', 'ACCESS EXPIRED'); - } else {// nothing - } - - setTimeout(function () { - self._slots++; - - if (self._slots > self._parallel) { - self._slots = self._parallel; - } - - var loading = self._loading, - l = loading.length, - i = 0; - - for (i; i < l; ++i) { - if (loading[i] == src) { - loading.splice(i, 1); - } - } - - if (is_error) { - self._errors.push(src); - - self.dispatch(Events.ERROR, [src]); - self.dispatch(src, [null, src]); - } else { - // self._loaded.push(src); - // self.loaded[src] = text; - self.dispatch(Events.LOADED, [text, src]); - self.dispatch(src, [text, src]); - } - - self.next(); - }, 0); - }).catch(function (error) { - self._updateLoading(request_src); - - self._fetched[request_src] -= 1; - HT.post_error({ - message: error.message, - filename: error.fileName, - lineno: error.lineNumber, - colno: error.columnNumber, - error: { - stack: error.stack - }, - imgsrv_url: request_src - }); - }); // image.src = (typeof src === 'string') ? src : src.src; - - return this; - } - }, { - key: "_load", - value: function _load(src) { - var _this = this; - - var makeDone = function makeDone(self, src) { - return function done(image, err) { - image.onerror = image.onabort = image.onload = null; - self._slots++; - - if (self._slots > self._parallel) { - self._slots = self._parallel; - } - - var loading = self._loading, - l = loading.length, - i = 0; - - for (i; i < l; ++i) { - if (loading[i] == src) { - loading.splice(i, 1); - } - } - - if (err) { - self._errors.push(src); - - self.dispatch(Events.ERROR, [src]); - self.dispatch(src, [null, src]); - } else { - // self._loaded.push(src); - // self.loaded[src] = image; - self.dispatch(Events.LOADED, [image, src]); - self.dispatch(src, [image, src]); - } - - self.next(); - }; - }; - - var image = new Image(), - self = this, - done = makeDone(this, src); - - this._loading.push(src); - - this.dispatch(Events.LOADING, [src]); - - image.onerror = image.onabort = function () { - done(this, true); - }; - - image.onload = function () { - done(this); - }; - - var image_src = typeof src === 'string' ? src : src.src; - this._fetched[image_src] = this._fetched[image_src] || 0; - this._fetched[image_src] += 1; - HT.log(this._fetched[image_src] > 1 ? '!!!' : "--", this.name, this._fetched[image_src], image_src); - - if (this._fetched[image_src] > 1) { - self._fetched[image_src] -= 1; - - self._updateLoading(image_src); - - return this; - } - - fetch(image_src, { - credentials: 'include' - }).then(function (response) { - self._fetched[image_src] -= 1; - HT.log("$$$ fetched", _this._fetched[image_src], image_src); - - if (response.headers.get('x-hathitrust-access') == 'deny') { - image.dataset.restricted = true; - } - - if (response.headers.get('x-hathitrust-renew')) { - if (HT && HT.renew_auth) { - HT.renew_auth(response.headers.get('x-hathitrust-renew')); - } - } - - var chokeAllowed = response.headers.get('x-choke-allowed'); - var chokeDebt = response.headers.get('x-choke-debt'); - var resolution = response.headers.get('x-image-resolution'); - - if (resolution && _typeof(src) === 'object') { - src.resolution = resolution.replace("/1", "").replace(/\.0+ /, ' '); - } - - var size = response.headers.get('x-image-size'); - - if (size && _typeof(src) === 'object') { - var tmp = size.split('x'); - src.size = { - width: tmp[0], - height: tmp[1] - }; - } - - return response.blob(); - }).then(function (blob) { - if (image.dataset.restricted == 'true' && blob.text) { - blob.text().then(function (text) { - text = text.replace('RESTRICTED', 'ACCESS EXPIRED'); - blob = new Blob([text], { - type: 'image/svg+xml' - }); - var objectUrl = URL.createObjectURL(blob); - image.src = objectUrl; - image.dataset.usedBlob = true; - }); - } else { - var objectUrl = URL.createObjectURL(blob); - image.src = objectUrl; - } - }).catch(function (error) { - self._fetched[image_src] -= 1; - - self._updateLoading(image_src); - - HT.post_error({ - message: error.message, - filename: error.fileName, - lineno: error.lineNumber, - colno: error.columnNumber, - error: { - stack: error.stack - }, - imgsrv_url: image_src - }); - }); - return this; - } - }, { - key: "promote", - value: function promote(src) { - var index = this.getIndex(src); - - if (index <= 0) { - return this; - } - - return this.changePosition(index, 0); - } - }, { - key: "changePosition", - value: function changePosition(index, insertAt) { - if (index == insertAt) { - return this; - } - - var item = this._queue.splice(index, 1)[0]; - - this._queue.splice(insertAt, 0, item); - - if (index > insertAt) { - this.dispatch(Events.PROMOTED, [item, index, insertAt]); - } else { - this.dispatch(Events.DEMOTED, [item, index, insertAt]); - } - - return this; - } - }, { - key: "on", - value: function on(evt, fn) { - (this._events[evt] = this._events[evt] || []).push(fn); - return this; - } - }, { - key: "addEventListener", - value: function addEventListener(evt, fn) { - return this.on(evt, fn); - } - }, { - key: "off", - value: function off(evt, fn) { - if (this._events[evt]) { - if (fn) { - var evts = this._events[evt], - l = evts.length, - i = 0; - - for (i; i < l; ++i) { - if (evts[i] == fn) { - evts.splice(i, 1); - break; - } - } - } else { - this._events[evt] = []; - } - - return this; - } - } - }, { - key: "removeEventListener", - value: function removeEventListener(evt, fn) { - return this.off(evt, fn); - } - }, { - key: "once", - value: function once(evt, fn) { - var self = this; - - var wrapper = function wrapper() { - //https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var args = new Array(arguments.length), - l = args.length, - i = 0; - - for (i; i < l; ++i) { - args[i] = arguments[i]; - } - - self.off(evt, wrapper); - return fn.apply(this, args); - }; - - self.on(evt, wrapper); - return this; - } - }, { - key: "dispatch", - value: function dispatch(evt, args) { - var l = this._events[evt] && this._events[evt].length, - i = 0; - - if (l) { - for (i; i < l; ++i) { - try { - this._events[evt][i].apply(this, args); - } catch (e) { - console.log(e, this._events[evt]); - } - } - } - - return this; - } - }]); - - return Loader; -}(); -Loader.events = Events; - -/***/ }), - -/***/ "./src/js/components/messages.js": -/*!***************************************!*\ - !*** ./src/js/components/messages.js ***! - \***************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "messages": function() { return /* binding */ messages; } -/* harmony export */ }); -var messages = {}; -messages['ownerid'] = { - alert: "

    This may not have been your link's destination.

    ", - detail: "\n

    The link you followed was meant to go to a specific page \n by way of a version signature; unfortunately the signature \n could not be resolved.

    \n

    We would recommend contacting the owner of the \n referring website to let them know that their link \n may need to be updated.

    " -}; - - -/***/ }), - -/***/ "./src/js/components/views/base.js": -/*!*****************************************!*\ - !*** ./src/js/components/views/base.js ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "setfn": function() { return /* binding */ setfn; }, -/* harmony export */ "Base": function() { return /* binding */ Base; } -/* harmony export */ }); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - - -var setfn = { - eqSet: function eqSet(as, bs) { - return as.size === bs.size && this.all(this.isIn(bs), as); - }, - all: function all(pred, as) { - var _iterator = _createForOfIteratorHelper(as), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var a = _step.value; - if (!pred(a)) return false; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - return true; - }, - isIn: function isIn(as) { - return function (a) { - return as.has(a); - }; - } -}; - -function rgbToYIQ(_ref) { - var r = _ref.r, - g = _ref.g, - b = _ref.b; - return (r * 299 + g * 587 + b * 114) / 1000; -} - -function hexToRgb(hex) { - if (!hex || hex === undefined || hex === '') { - return undefined; - } - - var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); - return result ? { - r: parseInt(result[1], 16), - g: parseInt(result[2], 16), - b: parseInt(result[3], 16) - } : undefined; -} - -function contrast(colorHex) { - var threshold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 128; - - if (colorHex === undefined) { - return '#000'; - } - - var rgb = hexToRgb(colorHex); - - if (rgb === undefined) { - return '#000'; - } - - return rgbToYIQ(rgb) >= threshold ? '#000' : '#fff'; -} - -function simpleSvgPlaceholder() { - var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref2$width = _ref2.width, - width = _ref2$width === void 0 ? 300 : _ref2$width, - _ref2$height = _ref2.height, - height = _ref2$height === void 0 ? 150 : _ref2$height, - _ref2$text = _ref2.text, - text = _ref2$text === void 0 ? "".concat(width, "\xD7").concat(height) : _ref2$text, - _ref2$fontFamily = _ref2.fontFamily, - fontFamily = _ref2$fontFamily === void 0 ? 'sans-serif' : _ref2$fontFamily, - _ref2$fontWeight = _ref2.fontWeight, - fontWeight = _ref2$fontWeight === void 0 ? 'bold' : _ref2$fontWeight, - _ref2$fontSize = _ref2.fontSize, - fontSize = _ref2$fontSize === void 0 ? Math.floor(Math.min(width, height) * 0.2) : _ref2$fontSize, - _ref2$dy = _ref2.dy, - dy = _ref2$dy === void 0 ? fontSize * 0.35 : _ref2$dy, - _ref2$bgColor = _ref2.bgColor, - bgColor = _ref2$bgColor === void 0 ? '#ddd' : _ref2$bgColor, - _ref2$textColor = _ref2.textColor, - textColor = _ref2$textColor === void 0 ? 'rgba(0,0,0,0.5)' : _ref2$textColor, - _ref2$dataUri = _ref2.dataUri, - dataUri = _ref2$dataUri === void 0 ? true : _ref2$dataUri, - _ref2$charset = _ref2.charset, - charset = _ref2$charset === void 0 ? 'UTF-8' : _ref2$charset; - - var str = "\n \n ").concat(text, "\n "); // Thanks to: filamentgroup/directory-encoder - - var cleaned = str.replace(/[\t\n\r]/gim, '') // Strip newlines and tabs - .replace(/\s\s+/g, ' ') // Condense multiple spaces - .replace(/'/gim, '\\i'); // Normalize quotes - - if (dataUri) { - var encoded = encodeURIComponent(cleaned).replace(/\(/g, '%28') // Encode brackets - .replace(/\)/g, '%29'); - return "data:image/svg+xml;charset=".concat(charset, ",").concat(encoded); - } - - return cleaned; -} - -var rotateButton = ""; -var Base = /*#__PURE__*/function () { - function Base() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Base); - - this.service = options.service; - this.reader = options.reader; - this.scale = options.scale || 1.0; - this.mode = 'scroll'; - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_0__.createNanoEvents)(); - this._handlers = {}; - this.id = new Date().getTime(); - this.pages = []; - this.pagesIndex = new Map(); - this.pagesSeq = new Map(); - this.trackResize = true; - this.rootMargin = options.rootMargin || 1024; // ( 8 * 16 ); - - this.unloadNearestThreshold = 5; - this.sets = {}; - this.sets.visible = new Set(); - this.sets.unloaded = new Set(); - this.sets.loaded = new Set(); - this._tracker = { - images: {}, - thumbnails: {}, - plaintext: {} - }; - this._intervals = {}; - this._initialSeq = options.seq; - this._initialized = false; - this.format = options.format || 'image'; - this.testRE = new RegExp('
    ]+>\\s+
    ', 'm'); - } - - _createClass(Base, [{ - key: "attachTo", - value: function attachTo(element, cb) { - this.container = element; - this.bindEvents(); - this.render(cb); - } - }, { - key: "render", - value: function render(cb) { - var minWidth = this.minWidth(); - var maxHeight = this.maxHeight(); - var manifest = this.service.manifest; - var scale = this.scale; - var t0 = performance.now(); - var fragment = document.createDocumentFragment(); - var bgColor = '#F8F8F8'; - var textColor = '#DDD'; // '#F0F0F0'; - - var placeholder = simpleSvgPlaceholder({ - bgColor: bgColor, - textColor: textColor, - text: "\u2749", - fontFamily: "monospace", - width: w, - height: h - }); // // -- is it necessary to cache the template? - // // -- the cache key would have to be view + format, to account for config() - // if ( ! this.reader.templates ) { this.reader.templates = {}; } - - var template; // = this.reader.templates[this.format]; - - if (!template) { - if (this.format == 'image') { - // template = this.reader.templates[this.format] = document.createElement('div'); - template = document.createElement('div'); - template.setAttribute('tabindex', '-1'); - template.setAttribute('aria-hidden', true); - template.classList.add('page'); - template.dataset.loaded = false; - template.dataset.visible = false; - template.dataset.scale = scale; - var rotateButtonAction = rotateButton; - - if (this.config().rotate === false) { - rotateButtonAction = ''; - } - - template.innerHTML = "
    ".concat(rotateButtonAction, "
    \"\"
    "); - } else { - // template = this.reader.templates[this.format] = document.createElement('div'); - template = document.createElement('div'); - template.setAttribute('tabindex', '-1'); - template.setAttribute('aria-hidden', true); - template.classList.add('page'); - template.dataset.loaded = false; - template.dataset.visible = false; - template.dataset.scale = scale; - template.innerHTML = "
    "; - } - } - - if (maxHeight) { - // this.container.style.setProperty('--max-page-height', `${maxHeight * scale}px`); - document.documentElement.style.setProperty('--max-page-height', "".concat(maxHeight * scale, "px")); - } - - var slice_index = 1; - this._hasFrontCover = this.service.manifest.checkFeatures(1, "FRONT_COVER") || this.service.manifest.checkFeatures(1, "COVER") && this.service.manifest.checkFeatures(1, "RIGHT") || this.service.manifest.checkFeatures(1, "COVER") || !this.service.manifest.checkFeatures(1); - this._hasBackCover = this.service.manifest.checkFeatures(endSeq, "BACK_COVER") || this.service.manifest.checkFeatures(endSeq, "COVER") && this.service.manifest.checkFeatures(endSeq, "LEFT"); // // --- DEBUGGING - // this._hasFrontCover = this._hasBackCover = false; - - if (this._hasFrontCover) { - // first page is a cover, so add a dummy page - var page = document.createElement('div'); - page.setAttribute('tabindex', '-1'); - page.classList.add('page', 'placeholder', 'verso'); - page.dataset.slice = slice_index; - page.dataset.placeholder = true; - fragment.appendChild(page); - } - - for (var seq = 1; seq <= this.service.manifest.totalSeq; seq++) { - var titleCase = function titleCase(str) { - return str.toLowerCase().split('_').map(function (word) { - return word.charAt(0).toUpperCase() + word.slice(1); - }).join(' '); - }; - - var page = template.cloneNode(true); - page.dataset.seq = seq; - - var klass = this._assignSide(seq); - - page.classList.add(klass); - slice_index = this._slicify(seq); - page.dataset.slice = slice_index; - var meta = this.service.manifest.meta(seq); - - var sizing = this._calculatePageSize(meta, page, minWidth, maxHeight); - - var w = sizing.width; - var h = sizing.height; - page.dataset.height = h; - page.dataset.width = w; - page.dataset.bestFit = scale <= 1 ? 'true' : 'false'; - - if (scale <= 1) { - page.classList.add('page--best-fit'); - } - - var altText = "Page Scan #".concat(seq); - var features = []; - - if (manifest.featureMap[seq] && manifest.featureMap[seq].features) { - features = manifest.featureMap[seq].features; - } - - var priorityFeatures = ['BLANK', 'FOLDOUT', 'FRONT_COVER', 'TITLE', 'FIRST_CONTENT_CHAPTER_START', 'CHAPTER_START', 'CONTENTS', 'TABLE_OF_CONTENTS', 'COPYRIGHT', 'BACK_COVER', 'IMAGE_ON_PAGE']; - var priorityFeature = priorityFeatures.find(function (feature) { - features.indexOf(feature) > -1; - }); - - if (priorityFeature) { - altText += ' - ' + titleCase(priorityFeature); - } - - var pageNum = this.service.manifest.pageNum(seq) || ''; - - if (pageNum) { - pageNum = " (".concat(pageNum, ")"); - } - - page.querySelector('.page-label').innerText = "#".concat(seq).concat(pageNum); - - if (this.format == 'image') { - var thumbnailSrc = this.service.thumbnail({ - seq: seq - }); - var img = page.querySelector('img'); - img.setAttribute('height', sizing.height); - img.setAttribute('width', sizing.width); - img.setAttribute('alt', altText); - img.setAttribute('data-thumbnail-src', thumbnailSrc); - img.style.height = "".concat(sizing.height, "px"); - img.style.width = "".concat(sizing.width, "px"); - var frame = img.parentElement; - frame.style.width = "".concat(sizing.frameWidth, "px"); - frame.style.height = "".concat(sizing.frameHeight, "px"); // page.innerHTML = `
    ${rotateButtonAction}#${seq}${pageNum}
    ${altText}
    `; - } else {} - - this._renderr(page); - - fragment.appendChild(page); - this.pages.push(page); - this.pagesIndex.set(seq, page); - this.pagesSeq.set(page, seq); - } - - var endSeq = this.service.manifest.totalSeq; - - if (this._hasBackCover) { - // there's a back cover - var page = document.createElement('div'); - page.setAttribute('tabindex', '-1'); - page.classList.add('page', 'placeholder', 'recto'); - page.dataset.slice = slice_index; - page.dataset.placeholder = true; - fragment.appendChild(page); - } - - this.container.appendChild(fragment); - - for (var i = 0; i < this.pages.length; i++) { - this.bindPageEvents(this.pages[i]); - } - - if (this._initialSeq) { - this.display(this._initialSeq); - } - - if (cb) { - setTimeout(cb, 100); - this._initialized = true; // cb(); - } - - this._lastContainerWidth = this.container.parentElement.offsetWidth; // this.container.offsetWidth * this.scale; - - this._lastScale = this.scale; // is this really necessary - - this._adjustContainer(); - } - }, { - key: "_adjustContainerWidth", - value: function _adjustContainerWidth() { - if (this.format == 'plaintext') { - return '100%'; - } - - return "".concat((this.scale > 1 ? this.scale : 1) * 100, "%"); - } - }, { - key: "_adjustContainer", - value: function _adjustContainer() { - var _this = this; - - var width = this._adjustContainerWidth(); - - this.container.style.width = width; - requestAnimationFrame(function () { - _this.container.parentNode.scrollLeft = (_this.container.offsetWidth - _this.container.parentNode.offsetWidth) / 2; - }); - } - }, { - key: "_renderr", - value: function _renderr(page) { - /* NOP */ - } - }, { - key: "_slicify", - value: function _slicify(seq) { - var n; - var delta; - - if (this._hasFrontCover) { - n = seq % 2 == 0 ? seq : seq - 1; - delta = 1; - } else { - n = seq % 2 == 1 ? seq : seq - 1; - delta = 0; - } - - return (Math.ceil(n / 2) || 0) + delta; - } - }, { - key: "_assignSide", - value: function _assignSide(seq) { - var klass; - - if (this._hasFrontCover) { - klass = seq % 2 == 0 ? 'verso' : 'recto'; - } else { - klass = seq % 2 == 0 ? 'recto' : 'verso'; - } - - ; - return klass; - } - }, { - key: "redrawPage", - value: function redrawPage(page) { - HT.log("-- base.redrawPage", page); - page.dataset.loaded = page.dataset.reframed = false; // var page_text = page.querySelector('.page-text'); - // if ( page_text ) { - // page_text.innerHTML = ''; - // } - // this._removeHighlights(page); - - this.loadImage(page, { - lazy: false, - reuseText: true - }); - } - }, { - key: "loadImage", - value: function loadImage(page) { - var _this2 = this; - - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return function (page) { - var self = _this2; - - var _process = function _process(seq, loadImage) { - var page = self.pagesIndex.has(seq) ? self.pagesIndex.get(seq) : null; - - if (page && page.dataset.loaded == 'false') { - var img = page.querySelector('img'); // if ( page.dataset.reframed != 'true' && self.format == 'image' ) { - - if (self.format == 'image') { - self.service.loaders.thumbnails.queue({ - src: img.dataset.thumbnailSrc, - page: page - }); - } - - if (loadImage && page.dataset.loaded == 'false') { - page.classList.add('loading'); - - if (self.format == 'image') { - self.service.loaders.images.queue({ - src: self.imageUrl(page), - page: page - }); - } - - if (self.format == 'plaintext' || options.reuseText !== true && self.embedHtml) { - var html_url = self.service.html({ - seq: seq - }); - - if (html_url) { - // self._tracker.plaintext[html_url] = self._tracker.plaintext[html_url] || 0; - // self._tracker.plaintext[html_url] += 1; - // console.log("-- ??", globalSeq, seq, self.service.loaders.images.getIndex(html_url), self._tracker.plaintext[html_url], page.dataset.loaded); - self.service.loaders.images.queue({ - src: html_url, - page: page, - mimetype: 'text/html' - }); - } - } - } - } - }; - - var pages = Array.isArray(page) ? page : [page]; - var page = pages[0]; - var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10); - - if (Math.abs(seq - self.currentSeq) > 5) { - self.service.loaders.thumbnails.stop(true); - self.service.loaders.images.stop(true); - } - - var globalSeq = seq; // first queue the immediate pages - - for (var i = 0; i < pages.length; i++) { - var page = pages[i]; - var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10); - - _process(seq, true); - } // now queue thumbnails - - - if (options.lazy !== false) { - var page = pages[0]; - var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10); - - for (var ii = seq - 2; ii < seq; ii++) { - _process(ii, true); - } - - for (var ii = seq - 10; ii < seq + 2; ii++) { - _process(ii, false); - } - } - - if (options.lazy !== false) { - var page = pages[pages.length - 1]; - var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10); - - for (var ii = seq + 2; ii > seq; ii--) { - _process(ii, true); - } - - for (var ii = seq + 10; ii > seq + 2; ii--) { - _process(ii, false); - } - } - - self.service.loaders.images.start(); - self.service.loaders.thumbnails.start(); - }(page); - } - }, { - key: "postImage", - value: function postImage(image, datum) { - var page = datum.page; - page.classList.remove('loading'); // this._tracker[datum.src] = 0; - - if (datum.mimetype == 'text/html') { - return this.postText(image, datum); - } - - if (page.dataset.loaded != 'true') { - var img = page.querySelector('img'); - img.src = image.src; - this.service.manifest.update(page.dataset.seq, { - width: image.width, - height: image.height, - resolution: datum.resolution, - size: datum.size - }); - - if (page.dataset.seq == this.currentSeq) { - this.reader.emit('updateSource', { - seq: page.dataset.seq, - resolution: datum.resolution, - size: datum.size - }); - } - - this._reframePage(image, page); - - page.dataset.loaded = true; - URL.revokeObjectURL(img.src); - } - } - }, { - key: "postText", - value: function postText(text, datum) { - var page = datum.page; - var page_text = page.querySelector('.page-text'); - page_text.innerHTML = text.replace(/

    NO TEXT ON PAGE

    This page does not contain any text recoverable by the OCR engine.

    "; - } - - page_text.innerHTML += '

    End of page

    '; - - if (this.format == 'plaintext') { - datum.page.dataset.loaded = true; - - this._reframePageText(page); - } else { - if (datum.redraw) { - page.querySelectorAll('.highlight').forEach(function (span) { - span.parentNode.removeChild(span); - }); - } - } - - this._drawHighlights(page); - } - }, { - key: "postThumbnail", - value: function postThumbnail(image, datum) { - var page = datum.page; - - if (page.dataset.loaded != 'true') { - var img = page.querySelector('img'); - this.service.manifest.update(page.dataset.seq, { - width: image.width, - height: image.height, - resolution: datum.resolution, - size: datum.size - }); - - if (page.dataset.seq == this.currentSeq) { - this.reader.emit('updateSource', { - seq: page.dataset.seq, - resolution: datum.resolution, - size: datum.size - }); - } - - this._reframePage(image, page); - - img.src = image.src; - } - } - }, { - key: "_reframePageText", - value: function _reframePageText(page) {} - }, { - key: "_reframePage", - value: function _reframePage(image, page) { - if (page.dataset.reframed != 'true') { - var frame = page.querySelector('.image'); - var img = frame.querySelector('img'); - var r = image.height / image.width; - var frameWidth = parseFloat(frame.style.width); - frame.style.height = "".concat(frameWidth * r, "px"); - img.dataset.width = frameWidth; - img.dataset.height = frameWidth * r; - img.style.height = "".concat(img.dataset.width, "px"); - img.style.height = "".concat(img.dataset.height, "px"); - page.dataset.height = page.offsetHeight; - - if (this._checkForFoldouts(image, page)) { - var altText = img.getAttribute('alt'); - - if (altText.indexOf('Foldout') < 0) { - altText += '; Foldout'; - img.setAttribute('alt', altText); - } - } - - page.dataset.reframed = 'true'; - } - } - }, { - key: "_isUnusualPage", - value: function _isUnusualPage(image, page) { - var seq = page.dataset.seq; - var manifest = this.service.manifest; - - if (image && image.width < image.height) { - return false; - } - - var is_unusual = manifest.checkFeatures(seq, "FOLDOUT") && !manifest.checkFeatures(seq, "BLANK") || image && image.width / image.height > 4 / 3; - return is_unusual; - } - }, { - key: "_checkForFoldouts", - value: function _checkForFoldouts(image, page) { - var seq = page.dataset.seq; - var manifest = this.service.manifest; - - if (image.width < image.height) { - return false; - } - - var is_unusual = manifest.checkFeatures(seq, "FOLDOUT") && !manifest.checkFeatures(seq, "BLANK") || image.width / image.height > 4 / 3; - - if (is_unusual) { - // probably a fold out? maybe not a fold out? - // manifest.manifest[seq].is_unusual = true; - page.classList.add('page--foldout'); - - this._reframeUnusualImage(page); - - this._addFoldoutPopout(page); - } - - return is_unusual; - } - }, { - key: "_reframeUnusualImage", - value: function _reframeUnusualImage(page) { - var frame = page.querySelector(".image"); - var frameWidth = parseFloat(frame.style.width); - var margin = (frameWidth * 1.1 - frameWidth) / 2; - frame.style.marginTop = "".concat(margin, "px"); - page.style.marginBottom = "".concat(margin, "px"); - } - }, { - key: "_addFoldoutPopout", - value: function _addFoldoutPopout(page) { - var toolbar = page.querySelector('.page--toolbar .tag'); - var check = toolbar.querySelector("button[data-action='popout']"); - - if (check) { - return; - } - - var icon = "\n \n \n "; - icon = "\n \n \n"; - var button = document.createElement('button'); - button.dataset.seq = page.dataset.seq; - button.dataset.action = 'popout'; - button.setAttribute('aria-label', "Open foldout for page scan #".concat(page.dataset.seq)); - button.setAttribute('data-tippy-placement', 'auto'); - button.setAttribute('data-tippy-role', 'tooltip'); - button.setAttribute('tabindex', '-1'); - button.innerHTML = "".concat(icon); - button.classList.add('btn', 'action-popout'); - toolbar.insertBefore(button, toolbar.childNodes[0]); - } - }, { - key: "redrawPageImages", - value: function redrawPageImages() { - var possibles = this.container.querySelectorAll('.page[data-loaded="true"],.page[data-visible="true"]'); - - for (var i = 0; i < possibles.length; i++) { - var page = possibles[i]; - this.redrawPage(page); - } - - this._redrawPageImagesTimer = null; - } - }, { - key: "unloadImage", - value: function unloadImage(page) { - page.dataset.loaded = 'false'; - page.dataset.isLeaving = false; - var img = page.querySelector('img'); - - if (img) { - console.log("<< unloading", page.dataset.seq); // img.src = img.dataset.thumbnailSrc || img.dataset.placeholderSrc; - - img.src = img.dataset.placeholderSrc; - } - - var page_text = page.querySelector('.page-text'); - page_text.innerHTML = ''; // page_text.dataset.placeholder; - - this._removeHighlights(page); - } - }, { - key: "preloadImages", - value: function preloadImages(page) {} - }, { - key: "imageUrl", - value: function imageUrl(params, buster) { - var oprams = params; - - if (params instanceof HTMLElement) { - var element = params; - params = {}; - params.seq = element.dataset.seq; - params.width = element.dataset.width || 680; // element.offsetWidth - } // if ( this.reader.pagedetails.rotate[params.seq] ) { - // params.rotation = this.reader.pagedetails.rotate[params.seq]; - // } - - - if (!params.width && !params.height) { - console.log("AHOY IMAGEURL PROBLEM", params, oprams); - } - - if (buster) { - params.expiration = buster; - } - - return this.service.image(params); - } - }, { - key: "minPageWidth", - value: function minPageWidth() { - return this.minWidth(); - } - }, { - key: "minWidth", - value: function minWidth() { - var minWidth = this.container.parentNode.offsetWidth * 0.80; - - if (minWidth < 680 && window.innerWidth >= 680) { - minWidth = 680; - } else if (window.innerWidth < 680) { - minWidth = window.innerWidth * 0.95; - } - - return minWidth; - } - }, { - key: "maxHeight", - value: function maxHeight() { - return null; - } - }, { - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "first", - value: function first() { - this.display(1); - } - }, { - key: "last", - value: function last() { - this.display(this.service.manifest.totalSeq); - } - }, { - key: "currentPage", - value: function currentPage() { - if (this._currentPage) { - return this._currentPage; - } - - return null; - } - }, { - key: "getPage", - value: function getPage(seq) { - seq = Number(seq); - return this.pagesIndex.get(seq); - } - }, { - key: "getPageSeq", - value: function getPageSeq(page) { - return this.pagesSeq.get(page); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this3 = this; - - this._lastContainerWidth = this.container.offsetWidth; - this._handlers.focus = this.focusHandler.bind(this); - this._handlers.clickHandler = this.clickHandler.bind(this); - this.container.addEventListener('click', this._handlers.clickHandler); - - if (this.trackResize) { - this.reader.on('redraw', function (params) { - if (params.scale && params.scale != _this3.scale) { - _this3.scale = params.scale; - - _this3.reader.emit('resize'); - } - }); - this._handlers.resize = this.reader.on('resize', function () { - if (!_this3._initialized) { - return; - } - - if (_this3._lastContainerWidth == _this3.container.parentElement.offsetWidth && _this3._lastScale == _this3.scale) { - return; - } - - if (_this3._lastContainerWidth != _this3.container.parentElement.offsetWidth) { - _this3._lastContainerWidth = _this3.container.parentElement.offsetWidth; - } - - if (_this3._lastScale != _this3.scale) { - _this3._lastScale = _this3.scale; - } // this._resizePages(); - - - if (_this3._resizePageTimer) { - clearTimeout(_this3._resizePageTimer); - } - - _this3._resizePageTimer = setTimeout(function () { - _this3._resizePages(); - }, 100); - }); - } - - this._intervals.unloader = setInterval(this.unloadPages.bind(this), 30 * 1000); - } - }, { - key: "unloadPages", - value: function unloadPages() { - var _this4 = this; - - var pages = this.pages.filter(function (page) { - return page.dataset.loaded == 'true'; - }); - var possibles = new Set(); - pages.forEach(function (page) { - return possibles.add(page.dataset.seq); - }); - - if (setfn.eqSet(this.sets.unloaded, possibles)) { - return; - } - - this.sets.unloaded = possibles; - var nearest = this.unloadNearestThreshold; - var visible = this.sets.visible; - var now = Date.now(); - - var tmp = _toConsumableArray(visible).sort(function (a, b) { - return a - b; - }); - - var seq1 = parseInt(tmp[0], 10); - var seq2 = parseInt(tmp[1], 10); - pages.forEach(function (page) { - var seq = parseInt(page.dataset.seq, 10); - - if (!_this4.isVisible(page)) { - if (!(Math.abs(seq - seq1) <= nearest || Math.abs(seq - seq2) <= nearest)) { - _this4.unloadImage(page); - } - } - }); - } // default isVisible - - }, { - key: "isVisible", - value: function isVisible(page) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - options.percentage = options.percentage || 0; - var percentage = this.visibility(page, options); - return percentage >= options.percentage; - } - }, { - key: "visible", - value: function visible(pages) { - var _this5 = this; - - this.sets.visible = new Set(); - - if (pages instanceof HTMLElement) { - pages = [pages]; - } else { - pages.forEach(function (page) { - if (page.dataset.seq) { - // this.sets.visible.add(parseInt(page.dataset.seq, 10)); - _this5.sets.visible.add(_this5.getPageSeq(page)); - } - }); - } - } - }, { - key: "viewport", - value: function viewport() { - if (!this._viewport) { - this.updateViewport(); - } - - return this._viewport; - } - }, { - key: "updateViewport", - value: function updateViewport() { - this._viewport = this._viewport || {}; - - if (!this._viewport.widowHeight) { - this._viewport.windowHeight = this.container.parentNode.offsetHeight; - } - - this._viewport.windowTop = this.container.parentNode.scrollTop; - this._viewport.windowBottom = this._viewport.windowTop + this._viewport.windowHeight; - } - }, { - key: "bindPageEvents", - value: function bindPageEvents(page) {} - }, { - key: "clickHandler", - value: function clickHandler(event) { - var element = event.target.closest('button'); - - if (element && element.dataset.action == 'popout') { - event.preventDefault(); - event.stopPropagation(); - var page = element.closest('.page'); - var img = page.querySelector('img'); - var seq = page.dataset.seq; - var meta = this.service.manifest.meta(page.dataset.seq); - var zoom_w = Math.floor(window.innerWidth * 0.90); - var zoom_h = zoom_w * meta.ratio; - var max_zoom_h = Math.floor(window.innerHeight * 0.85); - - if (zoom_h > max_zoom_h) { - var r = max_zoom_h / zoom_h; - zoom_h = max_zoom_h; - zoom_w = zoom_w * r; - } - - var zoom_img_src = this.imageUrl({ - seq: seq, - width: zoom_w - }); - var new_img = "
    "); - var dialog = bootbox.dialog(new_img, [{ - label: 'Close', - class: 'btn-dismiss' - }], { - lightbox: true, - header: "View page scan ".concat(page.dataset.seq, " foldout"), - width: zoom_w - 16, - // zoom_w, - height: zoom_h - 16 - }); - var $zoom_img = dialog.find("img"); - $zoom_img.on('load', function () { - $zoom_img.css({ - visibility: 'visible' - }); - $zoom_img.parent().removeClass('loading'); - }); - $zoom_img.attr('src', zoom_img_src); - return; - } - - if (element && element.dataset.action == 'rotate-page') { - event.preventDefault(); - event.stopPropagation(); - var delta = 90; - var page = element.closest('.page'); - var image_frame = page.querySelector('.image'); - var img = image_frame.querySelector('img'); - var rotated = parseInt(page.dataset.rotated || 360, 10); - rotated += delta; - rotated = rotated % 360; - - if (rotated % 90 == 0) { - // set margins! - var margin = image_frame.clientWidth * 0.8; - var marginRotated = margin / 2 - margin / 8; - - if (img.width < img.height) { - marginRotated *= -1; - } - - page.style.setProperty('--margin-rotated', marginRotated); - } else { - page.style.setProperty('--margin-rotated', null); - } - - page.dataset.rotated = rotated; - } - } - }, { - key: "focusHandler", - value: function focusHandler(event) { - var target = event.target; - - if (target.tagName.toLowerCase() == 'div' && target.classList.contains('page')) { - this._enableControlTabIndex(target); - } - } - }, { - key: "focus", - value: function focus(page) { - var invoke = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - // page.setAttribute('accesskey', "9"); - if (page === true || page === false) { - invoke = page; - page = null; - } - - if (!page) { - page = this.currentPage(); - } - - page.setAttribute('tabindex', '0'); - page.setAttribute('aria-hidden', false); // this._enableControlTabIndex(page); - - var page_controls = page.querySelectorAll('[tabindex="-1"]'); - - for (var i = 0; i < page_controls.length; i++) { - page_controls[i].setAttribute('tabindex', '0'); - } - - if (invoke) { - page.focus(); - } - } - }, { - key: "unfocus", - value: function unfocus(page) { - page.setAttribute('tabindex', '-1'); - page.setAttribute('aria-hidden', true); - - if (page == document.activeElement) { - page.blur(); - } - - var page_controls = page.querySelectorAll('[tabindex="0"]'); - - for (var i = 0; i < page_controls.length; i++) { - page_controls[i].setAttribute('tabindex', '-1'); // if ( page_controls[i] == document.activeElement ) { page_controls[i].blur(); } - } - } - }, { - key: "config", - value: function config() { - // the empty set supports everything - return {}; - } - }, { - key: "destroy", - value: function destroy() { - this.emitter.events = {}; - - if (this._handlers.focus) { - this.container.removeEventListener('focusin', this._handlers.focus); - } - - if (this._handlers.resize) { - this._handlers.resize(); - } - - if (this._handlers.rotate) { - this._handlers.rotate(); - } - - if (this._handlers.clickHandler) { - this.container.removeEventListener('click', this._handlers.clickHandler); - } - - clearInterval(this._intervals.unloader); - var pages = this.container.querySelectorAll('.page'); - - for (var i = 0; i < pages.length; i++) { - this._destroy_page(pages[i]); - - this.container.removeChild(pages[i]); - } - } - }, { - key: "_destroy_page", - value: function _destroy_page(page) { - /* NOP */ - } - }, { - key: "_enableControlTabIndex", - value: function _enableControlTabIndex(page) { - var page_controls = page.querySelectorAll('[tabindex="-1"]'); - - for (var i = 0; i < page_controls.length; i++) { - page_controls[i].setAttribute('tabindex', '0'); - } - } - }, { - key: "_resizePage", - value: function _resizePage(_ref3) { - var page = _ref3.page, - frame = _ref3.frame, - img = _ref3.img, - w = _ref3.w, - h = _ref3.h, - sizing = _ref3.sizing, - is_dirty = _ref3.is_dirty, - isCurrentSeq = _ref3.isCurrentSeq, - index = _ref3.index; - page.dataset.width = w; - page.dataset.height = h; - frame.style.width = "".concat(sizing.frameWidth, "px"); - frame.style.height = "".concat(sizing.frameHeight, "px"); - img.style.width = "".concat(w, "px"); - img.style.height = "".concat(h, "px"); - - if (is_dirty) { - this.redrawPage(page); - } - - page.dataset.height = page.offsetHeight; - } - }, { - key: "_resizePages", - value: function _resizePages() { - var _this6 = this; - - var self = this; - this._scrollPause = true; - var minWidth = this.minWidth(); - var maxHeight = this.maxHeight(); - var scale = this.scale; - var currentSeq; - - if (this._currentPage) { - currentSeq = this.getPageSeq(this._currentPage); // .dataset.seq; // this.currentLocation(); - } else { - currentSeq = this.currentLocation(); - } - - var currentPage = this.getPage(currentSeq); - - if (maxHeight) { - // this.container.style.setProperty('--max-page-height', `${maxHeight * scale}px`); - document.documentElement.style.setProperty('--max-page-height', "".concat(maxHeight * scale, "px")); - } - - HT.log("__RESIZE__ start", currentSeq); - var dirty = false; - var queue = [currentSeq]; - var N = 25; - - var _enqueue = function _enqueue(start, end) { - var delta = start < end ? 1 : -1; - - var fn = function fn(idx, end) { - return delta == 1 ? idx <= end : idx >= end; - }; - - for (var seq = start; fn(seq, end); seq += delta) { - if (seq != currentSeq && self.pagesIndex.has(seq)) { - queue.push(seq); - } - } - }; - - _enqueue(currentSeq - N, currentSeq + N); - - _enqueue(currentSeq - N - 1, 1); - - _enqueue(currentSeq + N + 1, this.service.manifest.totalSeq); - - var fragment = document.createDocumentFragment(); - var parentEl = this.container.parentElement; - fragment.appendChild(this.container); - queue.forEach(function (seq) { - var page = _this6.getPage(seq); - - var meta = _this6.service.manifest.meta(seq); - - var h; - var w; - var img = page.querySelector('img'); - - if (!img) { - return; - } - - var frame = page.querySelector('.image'); - - var sizing = _this6._calculatePageSize(meta, page, minWidth, maxHeight); - - h = sizing.height; - w = sizing.width; - var is_dirty = (page.dataset.loaded == 'true' || page.dataset.visible == 'true') && img.dataset.height != h; - page.dataset.bestFit = scale <= 1 ? 'true' : 'false'; - - if (scale <= 1) { - page.classList.add('page--best-fit'); - } - - var isCurrentSeq = currentSeq == seq; - - _this6._resizePage({ - page: page, - frame: frame, - img: img, - w: w, - h: h, - sizing: sizing, - is_dirty: is_dirty, - isCurrentSeq: isCurrentSeq - }); - }); - - this._adjustContainer(); - - parentEl.appendChild(this.container); // this.display(currentSeq); - - currentPage.scrollIntoView(); // have to do this because display(currentSeq) will be a no-op - - this._scrollPause = false; - } - }, { - key: "_calculatePageSize", - value: function _calculatePageSize(meta, page, minWidth, maxHeight) { - var ratio = meta.ratio; - var scale = this.scale; - var h = Math.ceil(minWidth * ratio * scale); - var w = Math.ceil(minWidth * scale); - return { - height: h, - width: w, - frameHeight: h, - frameWidth: w, - ratio: ratio - }; - } - }, { - key: "_drawHighlights", - value: function _drawHighlights(page) { - var self = this; // OK --- does this have a highlight? - - var img = page.querySelector('img'); - var image_frame = page.querySelector('.image'); - var page_text = page.querySelector('.page-text'); - var timestamp = new Date().getTime(); - - function parseCoords(value) { - var values = value.split(' '); - return values.map(function (v) { - return parseInt(v, 10); - }); - } - - var page_div = page_text.children[0]; - - if (!page_div) { - return; - } - - var words = page_div.dataset.words; - - if (words !== undefined) { - words = JSON.parse(words); - } - - if (HT.debug_words) { - words = HT.debug_words; - } - - if (!words || !words.length) { - return; - } - - if (!page_div.dataset.coords) { - return; - } - - var page_coords = parseCoords(page_div.dataset.coords); - var word_regexes = {}; - words.forEach(function (word) { - var pattern; - - try { - pattern = new RegExp("(?<=^|\\P{L})(".concat(word, ")(?=\\P{L}|$)"), 'igu'); - } catch (error) { - try { - pattern = new RegExp("(?:^|[\\s,\\.:;\"'-])".concat(word, "(?:$|[\\s,\\.:;\"'-])"), 'igu'); - } catch (error) { - pattern = new RegExp("(?:^|[\\s,\\.:;\"'-])".concat(word, "(?:$|[\\s,\\.:;\"'-])"), 'ig'); - } - } - - word_regexes[word] = pattern; - }); - - if (!this._highlightIndexMap) { - this._highlightIndexMap = {}; - this._highlightIndex = 0; - } - - var scaling = {}; - - if (this.format == 'image') { - if (img.hasAttribute('width')) { - scaling.width = parseInt(img.getAttribute('width'), 10); - scaling.height = parseInt(img.getAttribute('height'), 10); - } else { - scaling.width = img.width; - scaling.height = img.height; - } - - scaling.width = img.offsetWidth; - scaling.height = img.offsetHeight; - scaling.ratio = scaling.width / page_coords[2]; - scaling.ratioY = scaling.height / page_coords[3]; - scaling.padding = 0; // parseInt(window.getComputedStyle(page).marginTop) / 2; - - scaling.ratioZ = 1.0; - scaling.ratio *= scaling.ratioZ; - } - - function textNodesUnder(el) { - var n, - a = [], - walk = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null, false); - - while (n = walk.nextNode()) { - a.push(n); - } - - return a; - } - - var textNodes = textNodesUnder(page_div); - textNodes.forEach(function (text) { - var innerHTML = text.nodeValue.trim(); - - if (!innerHTML) { - return; - } - - var matched = false; - var matchedWord = null; - words.forEach(function (word) { - // var pattern = new RegExp(`\\b(${word})\\b`, 'gi'); - // var pattern = new RegExp(`(?:^|\\s)${words[0]}(?:$|\\s)`, 'ig') - // var pattern = new RegExp(`(?<=^|\\P{L})(${word})(?=\\P{L}|$)`, 'ig'); - var pattern = word_regexes[word]; - - if (innerHTML.match(pattern)) { - matched = true; - matchedWord = word.toLowerCase(); - } - }); - - if (!matched) { - return; - } - - var span = text.parentNode; - var highlight_idx = self._highlightIndexMap[matchedWord]; - - if (!highlight_idx) { - self._highlightIndex += 1; - - if (self._highlightIndex > 6) { - self._highlightIndex = 1; - } - - self._highlightIndexMap[matchedWord] = self._highlightIndex; - highlight_idx = self._highlightIndexMap[matchedWord]; - } - - if (self.format == 'image') { - var coords = parseCoords(span.dataset.coords); - coords[0] *= scaling.ratio; - coords[2] *= scaling.ratio; - coords[1] *= scaling.ratio; - coords[3] *= scaling.ratio; - var highlight_w0 = coords[2] - coords[0]; - var highlight_h0 = coords[3] - coords[1]; - var highlight_w = highlight_w0 * 1.25; - var highlight_h = highlight_h0 * 1.25; - var highlight = document.createElement('mark'); - highlight.classList.add('highlight'); - highlight.classList.add("highlight_".concat(highlight_idx)); - highlight.dataset.word = innerHTML; - highlight.dataset.timestamp = timestamp; - highlight.dataset.top = coords[1]; - highlight.dataset.padding = scaling.padding; - highlight.style.width = "".concat(highlight_w / scaling.width * 100.0, "%"); - highlight.style.height = "".concat(highlight_h / scaling.height * 100.0, "%"); - highlight.style.top = "".concat((coords[1] - (highlight_h - highlight_h0) / 2) / scaling.height * 100.0, "%"); - highlight.style.left = "".concat((coords[0] - (highlight_w - highlight_w0) / 2) / scaling.width * 100.0, "%"); - - if (self.name == '2up') { - var prefix = page.classList.contains('recto') ? -1 : 1; - highlight.style.left = "".concat((coords[0] - (highlight_w - highlight_w0) / 2) / image_frame.offsetWidth * 100.0, "%"); - } - - image_frame.appendChild(highlight); - } else { - // span.classList.add('highlight--plaintext', `highlight_${highlight_idx}`); - var mark = document.createElement('mark'); - mark.innerText = span.innerText; - mark.setAttribute('class', span.getAttribute('class')); - mark.dataset.class = mark.getAttribute('class'); - mark.classList.add('highlight--plaintext', "highlight_".concat(highlight_idx)); - mark.dataset.coords = span.dataset.coords; - span.parentElement.replaceChild(mark, span); - } - }); - } - }, { - key: "_removeHighlights", - value: function _removeHighlights(page) { - if (this.format == 'image') { - var image_frame = page.querySelector('.image'); - var highlights = page.querySelectorAll('.highlight'); - var n = highlights.length; - - for (var i = 0; i < n; i++) { - image_frame.removeChild(highlights[i]); - } - - return n; - } else { - var highlights = page.querySelectorAll('.highlight--plaintext'); // highlights.forEach((span) => { - // [ ...span.classList ].filter((cls) => cls.indexOf('highlight') > -1).forEach((cls) => { - // span.classList.remove(cls); - // }) - // }) - - highlights.forEach(function (mark) { - var span = document.createElement('span'); - span.innerText = mark.innerText; - span.setAttribute('class', mark.dataset.class); - span.dataset.coords = mark.dataset.coords; - mark.parentElement.replaceChild(span, mark); - }); - } - } - }, { - key: "resetHighlightIndex", - value: function resetHighlightIndex() { - this._highlightIndexMap = {}; - this._highlightIndex = 0; - } - }, { - key: "_resizePageByPages", - value: function _resizePageByPages() { - /* NOP */ - } - }, { - key: "_operating", - value: function _operating() { - var _this7 = this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - return function (options) { - var possible = _toConsumableArray(_this7.sets.visible).sort(function (a, b) { - return a - b; - }); - - var options = Object.assign({ - rootMargin: 0, - percentage: 0.0 - }, options); - var visible = possible.filter(function (seq) { - return _this7.isVisible(_this7.getPage(seq), options); - }); - return { - possible: possible, - visible: visible - }; - }(options); - } - }, { - key: "visibility", - value: function visibility(page) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return page.dataset.visible == 'true' ? 100 : 0; - } - }, { - key: "svg", - value: function svg() { - return simpleSvgPlaceholder.apply(null, arguments); - } - }, { - key: "test", - value: function test(numPages) { - var _this8 = this; - - function getRandomInt(max) { - return Math.floor(Math.random() * Math.floor(max)); - } - - var totalSeq = this.service.manifest.totalSeq; - - for (var i = 0; i < numPages; i++) { - setTimeout(function () { - var timeout = 100 + getRandomInt(100); - var seq = getRandomInt(totalSeq); - setTimeout(function () { - console.log(seq, timeout); - - _this8.display(seq); - }, timeout); - }, 0); - } - } - }]); - - return Base; -}(); - -/***/ }), - -/***/ "./src/js/components/views/flip.js": -/*!*****************************************!*\ - !*** ./src/js/components/views/flip.js ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Flip": function() { return /* binding */ Flip; } -/* harmony export */ }); -/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/js/components/views/base.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - - -var Flip = /*#__PURE__*/function (_Base) { - _inherits(Flip, _Base); - - var _super = _createSuper(Flip); - - function Flip() { - var _this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Flip); - - _this = _super.call(this, options); - _this.mode = 'image'; - _this.name = '2up'; - _this.displayLabel = 'flip page scans'; // 'two-page side-by-side'; - - _this.embedHtml = true; - _this.is_active = false; - _this.isRTL = _this.service.manifest.options.readingOrder == 'right-to-left'; // this._checkForFoldouts = this.checkForFoldouts.bind(this); - - _this._edges = {}; - _this._layout = {}; - _this.trackResize = true; - _this.isAnimating = false; - _this._queue = []; - return _this; - } - - _createClass(Flip, [{ - key: "_pageRatio", - value: function _pageRatio(seq) { - var ratio; - var meta = this.service.manifest.meta(seq); - - if (meta.width > meta.height) { - ratio = meta.height / meta.width; - } else { - ratio = meta.width / meta.height; - } - - return ratio; - } - }, { - key: "imageUrl", - value: function imageUrl(params) { - var oprams = params; - - if (params instanceof HTMLElement) { - var element = params; - params = {}; - params.seq = element.dataset.seq; - params.height = element.offsetHeight; - } - - if (!params.width && !params.height) { - console.log("AHOY IMAGEURL PROBLEM", params, oprams); - } - - return this.service.image(params); - } - }, { - key: "_calculatePageSize", - value: function _calculatePageSize(meta, page, minWidth, maxHeight) { - var seq = page.dataset.seq; - var manifest = this.service.manifest; - - if (meta == null) { - meta = this.service.manifest.meta(seq); - } - - if (minWidth == null) { - minWidth = this.minWidth(); - maxHeight = this.maxHeight(); - } - - var ratio = meta.ratio; - var scale = this.scale; - var is_unusual = meta.ratio < 1.0 && (manifest.checkFeatures(seq, "FOLDOUT") && !manifest.checkFeatures(seq, "BLANK") || meta.width / meta.height > 4 / 3); // calculate the image dimensions - - var h; - var w; - var frameHeight; - - if (is_unusual) { - w = minWidth * scale; - h = w * ratio; - frameHeight = maxHeight * scale; - } else { - h = maxHeight * scale; - w = h / ratio; - frameHeight = h; - } - - var sliceMax = this._sliceMax = this._slicify(this.service.manifest.totalSeq); - - var maxEdgeWidth = sliceMax * 0.25; - var sliceFraction; - var sliceIndex = parseInt(page.dataset.slice, 10); - var frameWidth = w + maxEdgeWidth; - - if (page.classList.contains('verso')) { - sliceFraction = sliceIndex / sliceMax; - } else { - sliceFraction = (sliceMax - sliceIndex) / sliceMax; - } - - var frameWidth = w + maxEdgeWidth * sliceFraction; // console.log("--", seq, sliceIndex, sliceFraction, w + (sliceMax - sliceIndex) / sliceMax, w + ( sliceIndex / sliceMax ) ); - - return { - height: h, - width: w, - frameHeight: frameHeight, - frameWidth: frameWidth - }; - } - }, { - key: "render", - value: function render(cb) { - if (this.isRTL) { - this.container.classList.add('reading-order--rtl'); - } - - _get(_getPrototypeOf(Flip.prototype), "render", this).call(this, cb); - } - }, { - key: "display", - value: function display(seq) { - var self = this; - seq = parseInt(seq, 10); - - if (seq == this.currentSeq) { - return; - } - - if (this.getPage(seq) && this.getPage(seq).dataset.visible == 'true') { - return; - } - - var currentPages; - var targetPages; - - if (this.currentSeq) { - var currentSlice = this._slicify(this.currentSeq); // currentPages = this.container.querySelectorAll(`.page[data-slice="${currentSlice}"]`); - - - currentPages = this.pages.filter(function (page) { - return page.dataset.slice == currentSlice; - }); - } // var targetPages = this.container.querySelectorAll(`.page[data-slice="${this._slicify(seq)}"]`); - - - var targetSlice = this._slicify(seq); - - targetPages = this.pages.filter(function (page) { - return page.dataset.slice == targetSlice; - }); - - if (!targetPages.length) { - return; - } - - this.loadImage(Array.prototype.slice.call(targetPages)); - var delta = this.currentSeq < seq; - - this._queue.push([this._slicify(seq), currentPages, targetPages, delta]); - - this.currentSeq = seq; - this.currentSlice = this._slicify(seq); - - this._processQueue(); - } - }, { - key: "_processQueue", - value: function _processQueue() { - var _this2 = this; - - var self = this; - - if (!this._queue.length) { - return; - } - - if (this.isAnimating) { - HT.log("-- _processQueue: postponing", this._queue[0][0]); - setTimeout(function () { - _this2._processQueue(); - }, 100); - return; - } - - this.isAnimating = true; - HT.log("-- _processQueue: processing", this._queue[0][0]); - - var tuple = this._queue.shift(); - - var seq = tuple[0]; - var currentPages = tuple[1]; - var targetPages = tuple[2]; - var delta = tuple[3]; // get the most up to date currentPages - - currentPages = this.pages.filter(function (page) { - return page.dataset.visible == 'true'; - }); - targetPages.forEach(function (page) { - page.dataset.visible = true; - }); - - if (!currentPages || !currentPages.length || !this._initialized) { - targetPages.forEach(function (page) { - self.focus(page); - }); - self.reader.emit('relocated', { - seq: self.currentSeq - }); - self.isAnimating = false; - return; - } - - var inClass = delta > 0 ? 'page--flipToLeft' : 'page--flipToRight'; - var outClass = inClass; - var endCurrentPage = false; - var endTargetPage = false; - - var onEndAnimation = function onEndAnimation(currentPages, targetPages) { - endTargetPage = false; - endCurrentPage = false; - currentPages.forEach(function (page) { - page.classList.remove(outClass); - - if (page.dataset.slice == self.currentSlice) { - return; - } - - page.dataset.visible = false; - self.unfocus(page); - }); - targetPages.forEach(function (page) { - page.dataset.visible = true; - page.classList.remove(inClass); - self.focus(page); - }); - self.container.classList.remove('animating'); - self.isAnimating = false; - self.reader.emit('relocated', { - seq: self.currentSeq - }); - }; - - var outAnimationHandler = function outAnimationHandler(event) { - currentPages.forEach(function (page) { - page.removeEventListener('animationend', outAnimationHandler); - }); - endCurrentPage = true; - - if (endTargetPage) { - onEndAnimation(currentPages, targetPages); - } - }; - - var inAnimationHandler = function inAnimationHandler(event) { - targetPages.forEach(function (page) { - page.removeEventListener('animationend', inAnimationHandler); - }); - endTargetPage = true; - - if (endCurrentPage) { - onEndAnimation(currentPages, targetPages); - } - }; - - if (window.matchMedia('(prefers-reduced-motion)').matches) { - onEndAnimation(currentPages, targetPages); - } else { - this.container.classList.add('animating'); - currentPages.forEach(function (page) { - page.addEventListener('animationend', outAnimationHandler); - }); - targetPages.forEach(function (page) { - page.addEventListener('animationend', inAnimationHandler); - }); - - if (delta > 0) { - if (currentPages[1]) { - currentPages[1].classList.add(outClass); - } else { - endCurrentPage = true; - } - - targetPages[0].classList.add(inClass); - } else { - currentPages[0].classList.add(outClass); - - if (targetPages[1]) { - targetPages[1].classList.add(inClass); - } else { - endTargetPage = true; - } - } - } - - this.visible(targetPages); - } - }, { - key: "_maxSliceWidth", - value: function _maxSliceWidth() { - var maxWidth = 0; - - for (var sliceIdx = 1; sliceIdx <= this._sliceMax; sliceIdx++) { - // var pages = this.container.querySelectorAll(`.page[data-slice="${sliceIdx}"]`); - var pages = this.pages.filter(function (page) { - return page.dataset.slice == sliceIdx; - }); - var width = pages[0].offsetWidth; - - if (pages[1]) { - width += pages[1].offsetWidth; - } - - if (width > maxWidth) { - maxWidth = width; - } - } - - return maxWidth; - } - }, { - key: "_adjustContainerWidth", - value: function _adjustContainerWidth() { - // return this.scale * 100; - if (this.format == 'plaintext') { - return '100%'; - } - - var maxWidth = this.container.parentNode.offsetWidth; - - var width = this._maxSliceWidth(); - - if (width * 1.25 > maxWidth) { - maxWidth = width * 1.25; - } - - return "".concat(maxWidth, "px"); - } - }, { - key: "_resizePages", - value: function _resizePages() { - // if ( this.isAnimating ) { - // console.log("-- something something", this.currentSeq); - // } - _get(_getPrototypeOf(Flip.prototype), "_resizePages", this).call(this); - } - }, { - key: "_reframePage", - value: function _reframePage(image, page) { - if (page.dataset.reframed != 'true') { - var frame = page.querySelector('.image'); - var img = frame.querySelector('img'); - var r = image.width / image.height; - - if (this._checkForFoldouts(image, page)) { - // foldouts - var w = img.offsetWidth; // frame.offsetWidth; - - var h = w / r; - img.style.width = "".concat(w, "px"); - img.style.height = "".concat(h, "px"); - var altText = img.getAttribute('alt'); - - if (altText.indexOf('Foldout') < 0) { - altText += '; Foldout'; - img.setAttribute('alt', altText); - } - - if (frame.querySelector('.page--backdrop')) {} else { - var backdrop = document.createElement('div'); - backdrop.classList.add('page--backdrop'); - backdrop.setAttribute('aria-hidden', 'true'); - backdrop.style.width = "".concat(Math.ceil(w / frame.offsetWidth * 100), "%"); // backdrop.style.backgroundColor = 'chartreuse'; - // backdrop.style.height = `${frame.offsetHeight}px`; - - frame.insertBefore(backdrop, img); - } - } else { - // normal - var newImageWidth = img.offsetHeight * r; - var currentImageWidth = parseInt(img.style.width, 10); - img.style.width = "".concat(newImageWidth, "px"); - img.style.backgroundColor = 'chartreuse'; - var r2 = newImageWidth / currentImageWidth; - frame.style.width = "".concat(frame.offsetWidth * r2, "px"); - } - - page.dataset.reframed = 'true'; - } - } - }, { - key: "currentLocation", - value: function currentLocation() { - var side = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'DEFAULT'; - // var slice = this.container.querySelector('.page[data-visible="true"]'); - var expr; - - switch (side) { - case 'DEFAULT': - expr = '.page[data-visible="true"][data-seq]'; // first match - - break; - - case 'VERSO': - expr = '.page[data-visible="true"].verso'; - break; - - case 'RECTO': - expr = '.page[data-visible="true"].recto'; - } - - var page = this.container.querySelector(expr); - return page ? page.dataset.seq : null; - } - }, { - key: "currentPage", - value: function currentPage() { - return this.getPage(this.currentSeq); - } - }, { - key: "_calculateSeq", - value: function _calculateSeq(direction) { - if (this.isRTL) { - direction = -direction; - } - - var delta; - - if (direction > 0) { - delta = (this._hasFrontCover && this.currentSeq) == 1 ? 1 : 2; - } else { - delta = -2; - } - - var seq = this.currentSeq + delta; - - if (seq <= 0) { - seq = 1; - } - - if (seq > this.service.manifest.totalSeq) { - seq = this.service.manifest.totalSeq; - } - - return seq; - } - }, { - key: "next", - value: function next() { - this.display(this._calculateSeq(1)); - } - }, { - key: "prev", - value: function prev() { - this.display(this._calculateSeq(-1)); - } - }, { - key: "first", - value: function first() { - this.display(this.isRTL ? this.service.manifest.totalSeq : 1); - } - }, { - key: "last", - value: function last() { - this.display(this.isRTL ? 1 : this.service.manifest.totalSeq); - } - }, { - key: "minWidth", - value: function minWidth() { - var minWidth = this.container.parentNode.offsetWidth; - return this.minWidthNew(); - } - }, { - key: "maxHeight", - value: function maxHeight() { - var h = this.container.parentNode.offsetHeight * 0.81; - - if (h <= 360) { - h = 360; - } - - return h; - } - }, { - key: "minWidthNew2", - value: function minWidthNew2() { - var minWidth = this.container.parentNode.offsetWidth; - var h = this.container.parentNode.offsetHeight; - } - }, { - key: "minWidthNew", - value: function minWidthNew() { - var minWidth = this.container.parentNode.offsetWidth; // if ( minWidth < 680 && window.innerWidth >= 680 ) { minWidth = 680; } - // else if ( window.innerWidth < 680 ) { minWidth = window.innerWidth * 0.95; } - - minWidth /= 2; - minWidth *= 0.9; - return minWidth; - } - }, { - key: "_reframeUnusualImage", - value: function _reframeUnusualImage(page) {// NOP - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this3 = this; - - var self = this; - - _get(_getPrototypeOf(Flip.prototype), "bindEvents", this).call(this); - - this.reader.on('redraw', function (params) { - if (params.scale) { - _this3.scale = params.scale; - } - - _this3.reader.emit('resize'); - }); - } - }, { - key: "bindPageEvents", - value: function bindPageEvents(page) { - page.parentElement.dataset.visible = false; - } - }, { - key: "clickHandler", - value: function clickHandler(event) { - _get(_getPrototypeOf(Flip.prototype), "clickHandler", this).call(this, event); - - var element = event.target; - - if (element.closest('button')) { - return; - } - - if (element.closest('img') || element.closest('.page--backdrop')) { - // click directly on the - element = element.closest('.page'); - return this._clickHandlerPage(element, event); - } - - if (element.closest('.image')) { - // clicked not on the but the edge - return this._clickHandlerEdge(element.closest('.image'), event); - } - } - }, { - key: "_clickHandlerPage", - value: function _clickHandlerPage(page, event) { - if (page.classList.contains('verso')) { - // navigating back - this.isRTL ? this.next() : this.prev(); - } else { - // navigating next - this.isRTL ? this.prev() : this.next(); - } - } - }, { - key: "_clickHandlerEdge", - value: function _clickHandlerEdge(frame, event) { - var offsetX = event.offsetX; - var img = frame.querySelector('img'); - var page = frame.closest('.page'); - var edgeWidth = frame.offsetWidth - img.offsetWidth; - var seq = parseInt(page.dataset.seq, 10); - var totalSeq = this.service.manifest.totalSeq; - var targetSeq; - var pageSide; - var offsetDelta; - var offsetPercentage; - - if (page.classList.contains('recto')) { - pageSide = 'recto'; - offsetDelta = this.isRTL ? 0 : img.offsetWidth; - offsetPercentage = (offsetX - offsetDelta) / edgeWidth; - - if (this.isRTL) { - offsetPercentage = 1.0 - offsetPercentage; - } - - targetSeq = Math.ceil((totalSeq - seq) * offsetPercentage) + seq; - } else { - pageSide = 'verso'; - offsetDelta = this.isRTL ? img.offsetWidth : 0; - offsetPercentage = (offsetX - offsetDelta) / edgeWidth; - - if (this.isRTL) { - offsetPercentage = 1.0 - offsetPercentage; - } - - targetSeq = Math.ceil(seq * offsetPercentage); - } // console.log("-- clickHandlerEdge", pageSide, offsetX, offsetDelta, offsetPercentage, `${(totalSeq - seq)} / ${seq}`, targetSeq); - - - if (targetSeq < 1) { - targetSeq = 1; - } else if (targetSeq > totalSeq) { - targetSeq = totalSeq; - } - - this.display(targetSeq); - } // destroy() { - // super.destroy(); - // this.container.removeEventListener('click', this._clickHandler); - // } - - }, { - key: "config", - value: function config() { - var retval = _get(_getPrototypeOf(Flip.prototype), "config", this).call(this); - - retval.rotate = false; - return retval; - } - }]); - - return Flip; -}(_base__WEBPACK_IMPORTED_MODULE_0__.Base); - -/***/ }), - -/***/ "./src/js/components/views/image.js": -/*!******************************************!*\ - !*** ./src/js/components/views/image.js ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Single": function() { return /* binding */ Single; } -/* harmony export */ }); -/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/js/components/views/base.js"); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - -var Single = /*#__PURE__*/function (_Base) { - _inherits(Single, _Base); - - var _super = _createSuper(Single); - - function Single() { - var _this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Single); - - _this = _super.call(this, options); - _this.mode = 'image'; - _this.name = 'image'; - _this.displayLabel = 'page by page'; - _this.embedHtml = true; - _this.isAnimating = false; - _this.useAnimations = true; - _this._queue = []; - return _this; - } - - _createClass(Single, [{ - key: "display", - value: function display(seq) { - var self = this; - seq = parseInt(seq, 10); - - if (seq == this.currentSeq) { - return; - } - - if (this.getPage(seq).dataset.visible == 'true') { - return; - } - - var currentPage; - var targetPage; - - if (this.currentSeq) { - currentPage = this.container.querySelector(".page[data-seq=\"".concat(this.currentSeq, "\"]")); - } - - var targetPage = this.container.querySelector(".page[data-seq=\"".concat(seq, "\"]")); - - if (!targetPage) { - return; - } - - this.loadImage(targetPage); - var delta = this.currentSeq < seq; - - this._queue.push([seq, currentPage, targetPage, delta]); - - this.currentSeq = seq; - - this._processQueue(); - } - }, { - key: "_processQueue", - value: function _processQueue() { - var _this2 = this; - - var self = this; - - if (!this._queue.length) { - return; - } - - if (this.isAnimating) { - console.log("-- _processQueue: postponing", this._queue[0][0]); - setTimeout(function () { - _this2._processQueue(); - }, 100); - return; - } - - this.isAnimating = true; - console.log("-- _processQueue: processing", this._queue[0][0]); - - var tuple = this._queue.shift(); - - var seq = tuple[0]; - var currentPage = tuple[1]; - var targetPage = tuple[2]; - var delta = tuple[3]; - targetPage.dataset.visible = true; - var currentPages = document.querySelectorAll('.page[data-visible="true"]'); - - if (!currentPages || !currentPages.length || !this._initialized) { - self.focus(targetPage); - self.reader.emit('relocated', { - seq: self.currentSeq - }); - self.isAnimating = false; - return; - } - - var inClass = delta > 0 ? 'page--moveFromRight' : 'page--moveFromLeft'; - var outClass = delta > 0 ? 'page--moveToLeft' : 'page--moveToRight'; - outClass = 'page--fade'; - var endCurrentPage = false; - var endTargetPage = false; - - var onEndAnimation = function onEndAnimation(currentPages, targetPages) { - // console.log("-- onEndAnimation", currentPages, targetPages); - endTargetPage = false; - endCurrentPage = false; - currentPages.forEach(function (page) { - // console.log("-- onEndAnimation currentPages", page.dataset.seq,self.sets.visible.has(parseInt(page.dataset.seq, 10)) ); - page.classList.remove(outClass); - - if (page.dataset.seq == self.currentSeq) { - return; - } // if ( self.sets.visible.has(parseInt(page.dataset.seq, 10)) ) { page.dataset.visible = true; return ; } - - - page.dataset.visible = false; // page.classList.remove(outClass, otherClass); - - self.unfocus(page); - }); - targetPage.classList.remove(inClass); - targetPage.dataset.visible = true; - targetPage.classList.remove(inClass); - self.focus(targetPage); - console.log("-- onEndAnimation", self._queue.length, currentPages, targetPages); - self.container.classList.remove('animating'); - self.isAnimating = false; - self.reader.emit('relocated', { - seq: self.currentSeq - }); - }; - - var outAnimationHandler = function outAnimationHandler(event) { - currentPages.forEach(function (page) { - page.removeEventListener('animationend', outAnimationHandler); - }); - endCurrentPage = true; // console.log("-- outAnimationHandler", endCurrentPage, endTargetPage); - - if (endTargetPage) { - onEndAnimation(currentPages, targetPage); - } - }; - - var inAnimationHandler = function inAnimationHandler(event) { - targetPage.removeEventListener('animationend', inAnimationHandler); - endTargetPage = true; // console.log("-- inAnimationHandler", endCurrentPage, endTargetPage); - - if (endCurrentPage) { - onEndAnimation(currentPages, targetPage); - } - }; - - if (window.matchMedia('(prefers-reduced-motion)').matches) { - onEndAnimation(currentPages, targetPage); - } else { - this.container.classList.add('animating'); - currentPages.forEach(function (page) { - page.addEventListener('animationend', outAnimationHandler); - }); - targetPage.addEventListener('animationend', inAnimationHandler); - currentPage.classList.add(outClass); - targetPage.classList.add(inClass); - } - - this.visible(targetPage); - } - }, { - key: "currentLocation", - value: function currentLocation() { - return this.currentSeq; - } - }, { - key: "next", - value: function next() { - this.container.scrollTop = 0; - this.display(this.currentSeq + 1); - } - }, { - key: "prev", - value: function prev() { - this.container.scrollTop = 0; - this.display(this.currentSeq - 1); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var self = this; - - _get(_getPrototypeOf(Single.prototype), "bindEvents", this).call(this); // this._clickHandler = this.clickHandler.bind(this); - // this.container.addEventListener('click', this._clickHandler); - // this._handlers.rotate = this.reader.on('rotate', function(delta) { - // var seq = self.currentLocation(); - // self.service.manifest.rotateBy(seq, delta); - // self.redrawPage(seq); - // }); - - - this._handlers.rotate = this.reader.on('rotate', function (delta) { - var seq = self.currentSeq; // self.currentLocation(); - - var page = self.pagesIndex[seq]; - var image_frame = page.querySelector('.image'); - var rotated = parseInt(page.dataset.rotated || 360, 10); - rotated += delta; - rotated = rotated % 360; - - if (rotated % 90 == 0) { - // set margins! - var margin = image_frame.clientWidth * 0.8; - page.style.setProperty('--margin-rotated', (margin / 2 - margin / 8) * -1); - } else { - page.style.setProperty('--margin-rotated', null); - } - - page.dataset.rotated = rotated; - }); - } - }, { - key: "bindPageEvents", - value: function bindPageEvents(page) { - page.dataset.visible = false; - page.classList.remove('page--visible'); - } - }]); - - return Single; -}(_base__WEBPACK_IMPORTED_MODULE_0__.Base); - -/***/ }), - -/***/ "./src/js/components/views/index.js": -/*!******************************************!*\ - !*** ./src/js/components/views/index.js ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "View": function() { return /* binding */ View; } -/* harmony export */ }); -/* harmony import */ var _scroll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scroll */ "./src/js/components/views/scroll.js"); -/* harmony import */ var _thumbnail__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./thumbnail */ "./src/js/components/views/thumbnail.js"); -/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./image */ "./src/js/components/views/image.js"); -/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flip */ "./src/js/components/views/flip.js"); -/* harmony import */ var _plaintext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./plaintext */ "./src/js/components/views/plaintext.js"); -/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./page */ "./src/js/components/views/page.js"); - - - - - - -var View = {}; -View.Scroll = _scroll__WEBPACK_IMPORTED_MODULE_0__.Scroll; -View.Thumbnail = _thumbnail__WEBPACK_IMPORTED_MODULE_1__.Thumbnail; -View.Single = _image__WEBPACK_IMPORTED_MODULE_2__.Single; -View.Flip = _flip__WEBPACK_IMPORTED_MODULE_3__.Flip; -View.PlainText = _plaintext__WEBPACK_IMPORTED_MODULE_4__.PlainText; -View.Page = _page__WEBPACK_IMPORTED_MODULE_5__.Page; - -View.for = function (view) { - if (view == '1up') { - return _scroll__WEBPACK_IMPORTED_MODULE_0__.Scroll; - } else if (view == 'thumb') { - return _thumbnail__WEBPACK_IMPORTED_MODULE_1__.Thumbnail; - } else if (view == 'image') { - return _image__WEBPACK_IMPORTED_MODULE_2__.Single; - } else if (view == '2up') { - return _flip__WEBPACK_IMPORTED_MODULE_3__.Flip; - } else if (view == 'text' || view == 'plaintext') { - return _plaintext__WEBPACK_IMPORTED_MODULE_4__.PlainText; - } else if (view == 'page') { - return _page__WEBPACK_IMPORTED_MODULE_5__.Page; - } -}; - - - -/***/ }), - -/***/ "./src/js/components/views/page.js": -/*!*****************************************!*\ - !*** ./src/js/components/views/page.js ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Page": function() { return /* binding */ Page; } -/* harmony export */ }); -/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/js/components/views/base.js"); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - -var Page = /*#__PURE__*/function (_Base) { - _inherits(Page, _Base); - - var _super = _createSuper(Page); - - function Page() { - var _this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Page); - - _this = _super.call(this, options); - _this.mode = 'page'; - _this.name = 'page'; - _this.displayLabel = 'page page by page'; - _this.embedHtml = true; - _this.isAnimating = false; - _this.useAnimations = true; - _this._queue = []; - return _this; - } - - _createClass(Page, [{ - key: "display", - value: function display(seq) { - var self = this; - seq = parseInt(seq, 10); - - if (seq == this.currentSeq) { - return; - } - - if (this.getPage(seq).dataset.visible == 'true') { - return; - } - - var currentPage; - var targetPage; - - if (this.currentSeq) { - currentPage = this.getPage(this.currentSeq); - } - - var targetPage = this.getPage(seq); - - if (!targetPage) { - return; - } - - this.loadImage(targetPage); - var delta = this.currentSeq < seq; - - this._queue.push([seq, currentPage, targetPage, delta]); - - this.currentSeq = seq; - - this._processQueue(); - } - }, { - key: "_processQueue", - value: function _processQueue() { - var _this2 = this; - - var self = this; - - if (!this._queue.length) { - return; - } - - if (this.isAnimating) { - HT.log("-- _processQueue: postponing", this._queue[0][0]); - setTimeout(function () { - _this2._processQueue(); - }, 100); - return; - } - - this.isAnimating = true; - HT.log("-- _processQueue: processing", this._queue[0][0]); - - var tuple = this._queue.shift(); - - var seq = tuple[0]; - var currentPage = tuple[1]; - var targetPage = tuple[2]; - var delta = tuple[3]; - targetPage.dataset.visible = true; - var currentPages = this.pages.filter(function (page) { - return page.dataset.visible == 'true'; - }); - - if (!currentPages || !currentPages.length || !this._initialized) { - self.focus(targetPage); - self.reader.emit('relocated', { - seq: self.currentSeq - }); - self.isAnimating = false; - return; - } - - var inClass = delta > 0 ? 'page--moveFromRight' : 'page--moveFromLeft'; - var outClass = delta > 0 ? 'page--moveToLeft' : 'page--moveToRight'; - outClass = 'page--fade'; - var endCurrentPage = false; - var endTargetPage = false; - - var onEndAnimation = function onEndAnimation(currentPages, targetPages) { - endTargetPage = false; - endCurrentPage = false; - currentPages.forEach(function (page) { - page.classList.remove(outClass); - - if (page.dataset.seq == self.currentSeq) { - return; - } - - page.dataset.visible = false; - self.unfocus(page); - }); - targetPage.classList.remove(inClass); - targetPage.dataset.visible = true; - targetPage.classList.remove(inClass); - self.focus(targetPage); // setTimeout(() => self.container.parentNode.scrollTop = 0); - - requestAnimationFrame(function () { - return targetPage.scrollIntoView(); - }); - HT.log("-- onEndAnimation", self._queue.length, currentPages, targetPages); - self.container.classList.remove('animating'); - self.isAnimating = false; - self.reader.emit('relocated', { - seq: self.currentSeq - }); - }; - - var outAnimationHandler = function outAnimationHandler(event) { - currentPages.forEach(function (page) { - page.removeEventListener('animationend', outAnimationHandler); - }); - endCurrentPage = true; - - if (endTargetPage) { - onEndAnimation(currentPages, targetPage); - } - }; - - var inAnimationHandler = function inAnimationHandler(event) { - targetPage.removeEventListener('animationend', inAnimationHandler); - endTargetPage = true; - - if (endCurrentPage) { - onEndAnimation(currentPages, targetPage); - } - }; - - if (window.matchMedia('(prefers-reduced-motion)').matches) { - onEndAnimation(currentPages, targetPage); - } else { - this.container.classList.add('animating'); - currentPages.forEach(function (page) { - page.addEventListener('animationend', outAnimationHandler); - }); - targetPage.addEventListener('animationend', inAnimationHandler); - currentPage.classList.add(outClass); - targetPage.classList.add(inClass); - } - - this.visible(targetPage); - } - }, { - key: "currentLocation", - value: function currentLocation() { - return this.currentSeq; - } - }, { - key: "next", - value: function next() { - this.display(this.currentSeq + 1); - } - }, { - key: "prev", - value: function prev() { - this.display(this.currentSeq - 1); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var self = this; - - _get(_getPrototypeOf(Page.prototype), "bindEvents", this).call(this); // this._clickHandler = this.clickHandler.bind(this); - // this.container.addEventListener('click', this._clickHandler); - // this._handlers.rotate = this.reader.on('rotate', function(delta) { - // var seq = self.currentLocation(); - // self.service.manifest.rotateBy(seq, delta); - // self.redrawPage(seq); - // }); - - - this._handlers.rotate = this.reader.on('rotate', function (delta) { - var seq = self.currentSeq; // self.currentLocation(); - - var page = self.getPage(seq); - var image_frame = page.querySelector('.image'); - var rotated = parseInt(page.dataset.rotated || 360, 10); - rotated += delta; - rotated = rotated % 360; - - if (rotated % 90 == 0) { - // set margins! - var margin = image_frame.clientWidth * 0.8; - page.style.setProperty('--margin-rotated', (margin / 2 - margin / 8) * -1); - } else { - page.style.setProperty('--margin-rotated', null); - } - - page.dataset.rotated = rotated; - }); - } - }, { - key: "bindPageEvents", - value: function bindPageEvents(page) { - page.dataset.visible = false; - page.classList.remove('page--visible'); - } - }]); - - return Page; -}(_base__WEBPACK_IMPORTED_MODULE_0__.Base); - -/***/ }), - -/***/ "./src/js/components/views/plaintext.js": -/*!**********************************************!*\ - !*** ./src/js/components/views/plaintext.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "PlainText": function() { return /* binding */ PlainText; } -/* harmony export */ }); -/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./image */ "./src/js/components/views/image.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - - -var PlainText = /*#__PURE__*/function (_Single) { - _inherits(PlainText, _Single); - - var _super = _createSuper(PlainText); - - function PlainText() { - var _this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, PlainText); - - _this = _super.call(this, options); - _this.mode = _this.name = 'plaintext'; - _this.displayLabel = 'plain text'; - _this.trackResize = false; - return _this; - } - - _createClass(PlainText, [{ - key: "render", - value: function render(cb) { - var fragment = document.createDocumentFragment(); - var slice_index = 1; - - for (var seq = 1; seq <= this.service.manifest.totalSeq; seq++) { - var page = document.createElement('div'); - page.setAttribute('tabindex', '-1'); - page.classList.add('page'); - page.dataset.seq = seq; - var klass = seq % 2 == 0 ? 'verso' : 'recto'; - - if (seq % 2 == 0) { - slice_index += 1; - } - - page.classList.add(klass); - slice_index = this._slicify(seq); - page.dataset.slice = slice_index; - page.dataset.loaded = false; - page.innerHTML = "
    #".concat(seq, "
    \u2609
    "); - - this._renderr(page); - - fragment.appendChild(page); - this.pages.push(page); - this.pagesIndex[seq] = page; - } - - this.container.appendChild(fragment); - var pages = this.container.querySelectorAll('.page'); - - for (var i = 0; i < pages.length; i++) { - this.bindPageEvents(pages[i]); - } - - if (this._initialSeq) { - this.display(this._initialSeq); - } - - if (cb) { - setTimeout(cb, 1000); - this._initialized = true; - } - - this._lastContainerWidth = this.container.offsetWidth * this.scale; // is this really necessary - - this._adjustContainer(); - } - }, { - key: "loadImage", - value: function loadImage(page) { - var _this2 = this; - - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return function (page) { - var self = _this2; - - var _process = function _process(seq, loadImage) { - var page = self.pagesIndex[seq] ? self.pagesIndex[seq] : null; - - if (page && page.dataset.loaded == 'false') { - var html_url = self.service.html({ - seq: seq - }); - - if (html_url) { - self.service.loaders.images.queue({ - src: html_url, - page: page, - mimetype: 'text/html' - }); - } - } - }; - - var pages = Array.isArray(page) ? page : [page]; - console.log("?? loadImage", pages); - var page = pages[0]; - - for (var i = 0; i < pages.length; i++) { - // first queue the immediate pages - for (var i = 0; i < pages.length; i++) { - var page = pages[i]; - var seq = parseInt(page.dataset.seq, 10); - - _process(seq, true); - } - } // now queue surrounding pages - - - if (options.lazy !== false) { - var page = pages[0]; - var seq = parseInt(page.dataset.seq, 10); - - for (var ii = seq - 2; ii < seq; ii++) { - _process(ii, true); - } - } - - if (options.lazy !== false) { - var page = pages[pages.length - 1]; - var seq = parseInt(page.dataset.seq, 10); - - for (var ii = seq + 2; ii > seq; ii--) { - _process(ii, true); - } - } - - self.service.loaders.images.start(); - console.log("// loading:", page.dataset.seq); - }(page); - } - }, { - key: "postText", - value: function postText(text, datum) { - _get(_getPrototypeOf(PlainText.prototype), "postText", this).call(this, text, datum); - - var page_text = datum.page.querySelector('.page-text'); - - if (page_text.textContent.trim() == "" || !page_text.textContent.trim().match(/\w+/)) { - page_text.innerHTML = "

    NO TEXT ON PAGE

    This page does not contain any text recoverable by the OCR engine.

    "; - } - - datum.page.dataset.loaded = true; - } - }, { - key: "_drawHighlights", - value: function _drawHighlights(page) {// NOP - } - }, { - key: "unloadImage", - value: function unloadImage(page) { - page.dataset.loaded = 'false'; - page.dataset.isLeaving = false; - var page_text = page.querySelector('.page-text'); - page_text.innerHTML = page_text.dataset.placeholder; - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this3 = this; - - this._handlers.resize = this.reader.on('resize', function () {// var loaded = this.container.querySelectorAll('[data-loaded="true"]'); - // for(var i = 0; i < loaded.length; i++) { - // var page = loaded[i]; - // var page_text = page.querySelector('.page-text'); - // if ( page_text.offsetHeight < page_text.scrollHeight ) { - // // page.style.height = `${page_text.scrollHeight}px`; - // page.style.height = 'auto'; - // } - // } - }); - this.reader.on('relocated', function (params) { - _this3.reader.emit('status', "Showing page scan ".concat(params.seq)); - }); - window.addEventListener('resize', this._resizer); - } - }, { - key: "bindPageEvents", - value: function bindPageEvents(page) { - page.dataset.visible = false; - } - }, { - key: "config", - value: function config() { - var retval = _get(_getPrototypeOf(PlainText.prototype), "config", this).call(this); - - retval.rotate = false; - retval.zoom = false; - return retval; - } - }]); - - return PlainText; -}(_image__WEBPACK_IMPORTED_MODULE_0__.Single); - -/***/ }), - -/***/ "./src/js/components/views/scroll.js": -/*!*******************************************!*\ - !*** ./src/js/components/views/scroll.js ***! - \*******************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Scroll": function() { return /* binding */ Scroll; } -/* harmony export */ }); -/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ "./src/js/components/views/base.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - - -var Scroll = /*#__PURE__*/function (_Base) { - _inherits(Scroll, _Base); - - var _super = _createSuper(Scroll); - - function Scroll() { - var _this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Scroll); - - _this = _super.call(this, options); - _this.mode = 'scroll'; - _this.name = '1up'; - _this.displayLabel = 'scroll page scans'; - _this.pageOptions = {}; - _this.embedHtml = true; - _this._debugLog = []; - _this.sets.expandable = new Map(); - return _this; - } - - _createClass(Scroll, [{ - key: "attachTo", - value: function attachTo(element, cb) { - this.root = element.parentElement; - - _get(_getPrototypeOf(Scroll.prototype), "attachTo", this).call(this, element, cb); - } - }, { - key: "_renderr", - value: function _renderr(page) {} - }, { - key: "display", - value: function display(seq) { - var target = this.getPage(seq); - - if (!target) { - return; - } - - target.dataset.visible = true; - target.classList.add('page--visible'); - var parentEl = this.root; - - if (parentEl.scroll) { - parentEl.scroll(0, target.offsetTop); - } else { - parentEl.scrollTop = target.offsetTop; - } - - this._lastKnownScrollPosition = this.root.scrollTop; - this.emitter.emit('scrolled'); - } - }, { - key: "_reframePageText", - value: function _reframePageText(page) { - if (page.dataset.reframed != 'true') { - var frame = page.querySelector('.page-text'); - var seq = this.getPageSeq(page); - var offsetHeight = frame.offsetHeight; - var scrollHeight = frame.scrollHeight; - var check = offsetHeight > scrollHeight ? scrollHeight / offsetHeight : offsetHeight / scrollHeight; - HT.log("AHOY _reframePageText", seq, this.currentSeq, "/", offsetHeight, scrollHeight, check); - - if (offsetHeight < scrollHeight) { - if (check <= 0.90 && seq < this.currentSeq) { - page.dataset.expandableHeight = scrollHeight; - this.sets.expandable.set(seq, page); - } else { - frame.style.height = "".concat(scrollHeight, "px"); - } - } - - page.dataset.reframed = true; - } - } - }, { - key: "_reframePage", - value: function _reframePage(image, page) { - if (page.dataset.reframed != 'true') { - var frame = page.querySelector('.image'); - var img = frame.querySelector('img'); - var seq = this.getPageSeq(page); - var r = image.height / image.width; - var frameWidth = parseFloat(frame.style.width); - var frameHeight = parseFloat(frame.style.height); - var newFrameHeight = frameWidth * r; - var check = frameHeight > newFrameHeight ? newFrameHeight / frameHeight : frameHeight / newFrameHeight; - var isAdjusting = true; - var message; - - if (check <= 0.90) { - if (seq < this.currentSeq) { - // delay this resize - page.dataset.expandableHeight = newFrameHeight; - this.sets.expandable.set(seq, page); - message = 'QUEUED'; - } else { - frame.style.height = "".concat(newFrameHeight, "px"); - page.dataset.unaltered = false; - message = 'ALTERED'; - } - } else { - // ignore this - page.dataset.unaltered = 'true'; - isAdjusting = false; - message = 'UNALTERED'; - } - - HT.log("AHOY _reframePage", message, seq, this.currentSeq, "/", frameHeight, newFrameHeight, check); - - if (isAdjusting) { - img.dataset.width = frameWidth; - img.dataset.height = newFrameHeight; // frameWidth * r; - - img.style.height = "".concat(img.dataset.width, "px"); - img.style.height = "".concat(img.dataset.height, "px"); - page.dataset.height = page.offsetHeight; - } else { - // we're not adjusting the height, which means we should - // change the _width_ - img.dataset.naturalWidth = image.width; - img.dataset.naturalHeight = image.height; - img.dataset.naturalRatio = r; - img.dataset.width = frameHeight / r; - img.dataset.height = frameHeight; - img.dataset.check = check; - img.style.width = "".concat(img.dataset.width, "px"); - frame.style.width = "".concat(img.dataset.width, "px"); - } - - if (this._checkForFoldouts(image, page)) { - var altText = img.getAttribute('alt'); - - if (altText.indexOf('Foldout') < 0) { - altText += '; Foldout'; - img.setAttribute('alt', altText); - } - } - - page.dataset.reframed = 'true'; - } - } - }, { - key: "handleObserver", - value: function handleObserver(entries, observer) { - var _this2 = this; - - entries.forEach(function (entry) { - var page = entry.target; - var seq = parseInt(page.dataset.seq, 10); - - if (entry.isIntersecting && seq) { - if (entry.intersectionRatio > 0) { - page.dataset.lastViewsStarted = entry.time; - - _this2.sets.visible.add(seq); - } - } else { - _this2.sets.visible.delete(seq); // console.log("<|", entry.target.dataset.seq); - - } - }); - this.emitter.emit('scrolled'); - } - }, { - key: "currentLocation", - value: function currentLocation() { - return this.currentSeq; // var page = this.currentPage(); - // return page ? this.getPageSeq(page) : null; - } - }, { - key: "currentPage", - value: function currentPage() { - var operating = this._operating(); - - var visible = operating.visible; - var maxPercentage = 0; - var currentPage; - - for (var i = 0; i < visible.length; i++) { - var page = this.getPage(visible[i]); - var percentage = this.visibility(page, { - rootMargin: 0 - }); - - if (percentage > maxPercentage) { - currentPage = page; - maxPercentage = percentage; - } - } - - return currentPage; - } - }, { - key: "next", - value: function next() { - this.display(this.currentSeq + 1); - } - }, { - key: "prev", - value: function prev() { - this.display(this.currentSeq - 1); - } // _postResizePage(page, bounds, rect) { - // if ( this._scrollPause ) { return ; } - // if ( rect.bottom <= bounds.bottom && rect.top < 0 ) { - // var scrollTop = this.container.scrollTop; - // setTimeout(function() { - // var updated_rect = page.getBoundingClientRect(); - // var delta = updated_rect.height - rect.height; - // if ( this.container.scrollTop == scrollTop ) { - // // delta /= this.settings.scale; - // // console.log("AHOY afterResized", view.index, this.container.scrollTop, view.element.getBoundingClientRect().height, rect.height, delta / this.settings.scale); - // this.container.scrollTop += Math.ceil(delta); - // console.log("AHOY afterResized", page.dataset.seq, scrollTop, this.container.scrollTop, delta); - // } else { - // console.log("AHOY donotResized", page.dataset.seq, scrollTop, this.container.scrollTop, delta); - // } - // }.bind(this), 500); - // } - // } - - }, { - key: "updatePageRotation", - value: function updatePageRotation(target, rotate) { - // var margin = ( rotate % 180 == 0 ) ? 0 : ( target.offsetHeight - target.offsetWidth ) / 2; - // target.dataset.rotate = rotate; - // target.style.setProperty('--rotate', `${rotate}deg`); - // target.style.setProperty('--rotate-margin', `-${margin}px ${margin}px`); - this.reader.pagedetails.rotate[target.dataset.seq] = rotate; - } - }, { - key: "bindEvents", - value: function bindEvents() { - var self = this; - - _get(_getPrototypeOf(Scroll.prototype), "bindEvents", this).call(this); - - this.observer = new IntersectionObserver(this.handleObserver.bind(this), { - root: this.root, - rootMargin: "".concat(this.rootMargin, "px"), - threshold: 0 - }); - this._handlers.rotate = this.reader.on('rotate', function (delta) { - var seq = self.currentSeq; // self.currentLocation(); - - var page = self.pagesIndex[seq]; - var image_frame = page.querySelector('.image'); - var rotated = parseInt(page.dataset.rotated || 360, 10); - rotated += delta; - rotated = rotated % 360; - - if (rotated % 90 == 0) { - // set margins! - var margin = image_frame.clientWidth * 0.8; - page.style.setProperty('--margin-rotated', (margin / 2 - margin / 8) * -1); - } else { - page.style.setProperty('--margin-rotated', null); - } - - page.dataset.rotated = rotated; - }); - this._lastKnownScrollPosition = this.root.scrollTop; - this._ticking = false; - this._handlers.scrolled = this.on('scrolled', lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default()(this.scrollHandler.bind(this), 50)); - } - }, { - key: "scrollHandler", - value: function scrollHandler() { - if (this._scrollPause) { - return; - } - - this.updateViewport(); - this.loadPages(); - var page = this.currentPage(); - HT.log("-- scrollHandler", page, this.currentSeq); - - if (page != null && this.currentSeq != page.dataset.seq) { - var seq = page.dataset.seq; - this.reader.emit('relocated', { - seq: seq - }); - this.currentSeq = parseInt(seq, 10); - - if (this._currentPage) { - this.unfocus(this._currentPage); - } - - if (this._targetSeq) { - this.focus(this.getPage(this._targetSeq)); - this.currentSeq = this._targetSeq; - } else { - this.focus(page); - } - - this._currentPage = page; - } - - this._setupExpandableTimer(); - } - }, { - key: "_setupExpandableTimer", - value: function _setupExpandableTimer() { - var _this3 = this; - - this._lastKnownScrollPosition = this.root.scrollTop; - - if (this._expanding) { - HT.log("AHOY _expandableScrollHandler IN PROGRESS"); - return; - } - - if (this._tickingTimer) { - HT.log("AHOY _expandableScrollHandler :: resetting timer", this._expandable.size); - } - - if (this._tickingTimer) { - clearTimeout(this._tickingTimer); - } - - if (this.sets.expandable.size == 0) { - return; - } - - this._tickingTimer = setTimeout(function () { - _this3._resizeExpandablePages(); - - _this3._tickingTimer = null; - }, 0); - } - }, { - key: "_resizeExpandablePages", - value: function _resizeExpandablePages() { - var _this4 = this; - - var root = this.root; - var delta = 0; - - if (this.sets.expandable.size == 0) { - return; - } - - this._expanding = true; - - var sequences = _toConsumableArray(this.sets.expandable.keys()).sort(function (a, b) { - return a - b; - }); - - sequences.forEach(function (seq) { - var page = _this4.sets.expandable.get(seq); - - if (page.dataset.expandableHeight == 'resolved') { - return; - } - - var frame = _this4.format == 'plaintext' ? page.querySelector('.page-text') : page.querySelector('.image'); - var height1 = frame.offsetHeight; // arseFloat(frame.style.height, 10); - - var height2 = parseFloat(page.dataset.expandableHeight, 10); - HT.log("AHOY _resizeExpandablePages ->", seq, height1, height2); - - if (seq < _this4.currentSeq) { - delta += height2 - height1; - } - - frame.style.height = _this4.format == 'plaintext' ? 'auto' : "".concat(height2, "px"); - page.dataset.expandableHeight = 'resolved'; - - _this4.sets.expandable.delete(seq); - }); // in theory we'd use _lastKnownScrollPosition, but it - // seems to drift further in Safari/WebKit - - window.requestAnimationFrame(function () { - HT.log("AHOY _resizeExpandablePages SCROLLING", root.scrollTop, _this4._lastKnownScrollPosition, delta, _this4.currentSeq); - root.scrollTop = root.scrollTop + delta; - _this4._lastKnownScrollPosition = root.scrollTop; - }); - this._expanding = false; - } - }, { - key: "bindPageEvents", - value: function bindPageEvents(page) { - this.observer.observe(page); - } - }, { - key: "clickHandler", - value: function clickHandler(event) { - var element = event.target; - - _get(_getPrototypeOf(Scroll.prototype), "clickHandler", this).call(this, event); - - if (element.tagName.toLowerCase() == 'button' && element.classList.contains('action-load-page')) { - event.preventDefault(); - event.stopPropagation(); - this.loadImage(element.parentNode, { - preload: false - }); - } - } - }, { - key: "focusHandler", - value: function focusHandler(event) { - _get(_getPrototypeOf(Scroll.prototype), "focusHandler", this).call(this, event); - - var target = event.target; - - if (target.tagName.toLowerCase() == 'div' && target.classList.contains('page') && !window.reactivated) { - target.parentNode.scrollTop = target.offsetTop - target.parentNode.offsetTop; - } - } - }, { - key: "visibility", - value: function visibility(page) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var _this$viewport = this.viewport(), - windowTop = _this$viewport.windowTop, - windowHeight = _this$viewport.windowHeight, - windowBottom = _this$viewport.windowBottom; - - options.percentage = options.percentage || 0; // var rootMargin = this.rootMargin; - - var rootMargin = options.rootMargin === undefined ? this.rootMargin : options.rootMargin; - var top = page.offsetTop; - var height = parseInt(page.dataset.height, 10); // ppage.offsetHeight; - - var bottom = top + height; - var containerTop = windowTop; - var containerBottom = windowBottom; - var elemTop = top; - var elemBottom = bottom; - var pageIsVisible = elemTop >= containerTop - rootMargin && elemBottom <= containerBottom + rootMargin; - var bottomIsVisible = elemTop < containerTop - rootMargin && containerTop < elemBottom + rootMargin; - var topIsVisible = elemTop < containerBottom + rootMargin && containerBottom < elemBottom + rootMargin; - var percentage = 0; - var test; - - if (topIsVisible || bottomIsVisible || pageIsVisible) { - // now we're visible - if (pageIsVisible) { - percentage = 1.0; - test = 'topIsVisible && bottomIsVisible'; - } else if (topIsVisible) { - // only the top is visible - var height_visible = windowBottom - top; - percentage = height_visible / height; - test = 'topIsVisible'; - } else if (bottomIsVisible) { - var height_visible = bottom - windowTop; - percentage = height_visible / height; - test = 'bottomIsVisible'; - } - } - - return percentage; - - if (top + height + rootMargin >= windowTop && top - rootMargin <= windowTop + windowHeight) { - var height_visible = height - (bottom - (windowTop + windowHeight)); - var percentage = height_visible / height; - return percentage; - } - - return 0; - } - }, { - key: "isVisible", - value: function isVisible(page) { - var percentage = this.visibility(page); // no rootMargin - - return percentage > 0; - } - }, { - key: "loadPages", - value: function loadPages() { - // this.sets.visible = this.debugScrolled(); - if (_base__WEBPACK_IMPORTED_MODULE_0__.setfn.eqSet(this.sets.visible, this.sets.loaded)) { - return; - } - - this.sets.loaded = new Set(this.sets.visible); - var visible = this.sets.visible; // console.log('-- loadPages', visible); - - var tmp = _toConsumableArray(visible).sort(function (a, b) { - return a - b; - }); - - for (var i = 0; i < tmp.length; i++) { - var seq = tmp[i]; - var page = this.getPage(seq); - - if (this.isVisible(page)) { - // console.log("//", seq); - this.loadImage(page); - } else {// console.log("@@", seq); - } - } - } - }, { - key: "debugScrolled", - value: function debugScrolled(debug) { - var t1 = new Date().getTime(); - var visible = new Set(); - - for (var idx in this.pages) { - var page = this.pages[idx]; - - if (this.isVisible(page)) { - visible.add(page.dataset.seq); - } - } - - if (debug) { - HT.log("!!", visible, new Date().getTime() - t1); - } - - return visible; - } - }, { - key: "destroy", - value: function destroy() { - this.observer.disconnect(); // this.container.removeEventListener('click', this._handlers.click); - - _get(_getPrototypeOf(Scroll.prototype), "destroy", this).call(this); - - this.observer = null; - - if (this._tickingTimer) { - clearTimeout(this._tickingTimer); - } - } - }, { - key: "_destroy_page", - value: function _destroy_page(page) { - this.observer.unobserve(page); - } - }]); - - return Scroll; -}(_base__WEBPACK_IMPORTED_MODULE_0__.Base); - -/***/ }), - -/***/ "./src/js/components/views/thumbnail.js": -/*!**********************************************!*\ - !*** ./src/js/components/views/thumbnail.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Thumbnail": function() { return /* binding */ Thumbnail; } -/* harmony export */ }); -/* harmony import */ var _scroll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scroll */ "./src/js/components/views/scroll.js"); -/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ "./src/js/components/views/base.js"); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - -var Thumbnail = /*#__PURE__*/function (_Scroll) { - _inherits(Thumbnail, _Scroll); - - var _super = _createSuper(Thumbnail); - - function Thumbnail() { - var _this; - - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Thumbnail); - - _this = _super.call(this, options); - _this.mode = 'thumbnail'; - _this.name = 'thumb'; - _this.displayLabel = 'thumbnails'; - _this.possibles = [0.5, 0.75, 1.0]; - _this.scale = 1.0; - _this.embedHtml = false; - _this.trackResize = false; - _this.format = 'image'; // force image - // this.rootMargin = options.rootMargin || 256; - - _this.unloadNearestThreshold = 150; - return _this; - } - - _createClass(Thumbnail, [{ - key: "_adjustContainerWidth", - value: function _adjustContainerWidth() { - return "".concat((this.scale > 1 ? this.scale : 0.9) * 100, "%"); - } - }, { - key: "loadImage", - value: function loadImage(page) { - var _this2 = this; - - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return function (page) { - var self = _this2; - - var _process = function _process(seq, loadImage) { - var page = self.pagesIndex.has(seq) ? self.pagesIndex.get(seq) : null; - - if (page && page.dataset.loaded == 'false') { - // img.src.indexOf(img.dataset.thumbnailSrc) < 0 - if (true) { - if (self.format == 'image') { - var img = page.querySelector('img'); - self.service.loaders.thumbnails.queue({ - src: img.dataset.thumbnailSrc, - page: page - }); - } else { - var html_url = self.service.html({ - seq: seq - }); - self.service.loaders.images.queue({ - src: html_url, - page: page, - mimetype: 'text/html' - }); - } - } - } - }; - - var pages = Array.isArray(page) ? page : [page]; - - if (!pages.length) { - return; - } - - var page = pages[0]; - var seq = parseInt(page.dataset.seq, 10); - - if (Math.abs(seq - self.currentSeq) > 20) { - HT.log("-- RESETTING THE LOADERS"); - self.service.loaders.thumbnails.stop(true); - } - - for (var i = 0; i < pages.length; i++) { - var page = pages[i]; - var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10); - - _process(seq, true); - } - - HT.log(pages); - self.service.loaders.thumbnails.start(); - - if (options.lazy !== false) { - var page = pages[0]; - var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10); - - for (var ii = seq - 20; ii < seq; ii++) { - _process(ii, false); - } - - if (pages.length > 1) { - page = pages[pages.length - 1]; - var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10); - - for (var ii = seq + 20; ii > seq; ii--) { - _process(ii, false); - } - } - } - - if (self.format == 'image') { - self.service.loaders.thumbnails.start(); - } else { - self.service.loaders.images.start(); - } - - HT.log("// loading:", page.dataset.seq); - }(page); - } - }, { - key: "loadPages", - value: function loadPages() { - // this.sets.visible = this.debugScrolled(); - if (_base__WEBPACK_IMPORTED_MODULE_1__.setfn.eqSet(this.sets.visible, this.sets.loaded)) { - return; - } - - this.sets.loaded = new Set(this.sets.visible); - var visible = this.sets.visible; - - var tmp = _toConsumableArray(visible).sort(function (a, b) { - return a - b; - }); - - var possibles = []; - - for (var i = 0; i < tmp.length; i++) { - var seq = tmp[i]; - - if (!seq) { - continue; - } - - var page = this.getPage(seq); - - if (this.isVisible(page)) { - possibles.push(page); - } else { - HT.log("@@", seq, page.dataset.lastViewsStarted >= 60000 * 2); - - if (false) {} - } - } - - this.loadImage(possibles); - } - }, { - key: "postThumbnail", - value: function postThumbnail(image, datum) { - var page = datum.page; - - if (page.dataset.loaded != 'true') { - _get(_getPrototypeOf(Thumbnail.prototype), "postThumbnail", this).call(this, image, datum); - - page.dataset.loaded = true; - } - } - }, { - key: "imageUrl", - value: function imageUrl(params) { - if (params instanceof HTMLElement) { - var element = params; - params = {}; - params.seq = element.dataset.seq; - params.width = element.offsetWidth; - } - - return this.service.thumbnail(params); - } - }, { - key: "minWidth", - value: function minWidth() { - // best guess - // return 160; - var max = null; - - for (var seq = 1; seq < this.service.manifest.totalSeq; seq++) { - var meta = this.service.manifest.meta(seq); - - if (max === null || meta.width > max.width) { - max = meta; - } - } // calculate a ratio based on the max height of a thumbnail, - // since most page scans are taller than wider - - - var r = 250 / max.height; - var w = max.width * r; - - if (window.innerWidth < 680) { - w *= window.innerWidth / 680; - } - - return w; - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this3 = this; - - _get(_getPrototypeOf(Thumbnail.prototype), "bindEvents", this).call(this); - - this.service.loaders.thumbnails.limit(4); // this._clickHandler = this.clickHandler.bind(this); - // this.container.addEventListener('click', this._clickHandler); - - this.reader.on('redraw', function (params) { - if (!params.scale) { - return; - } - - _this3.scale = params.scale; - - _this3._resizePages(); - }); - } - }, { - key: "currentPage", - value: function currentPage() { - var operating = this._operating({ - percentage: 0.75 - }); - - var visible = operating.visible; - return this.getPage(visible[0]); - } - }, { - key: "_resizePageByPages", - value: function _resizePageByPages(page) {// var img = page.querySelector('img'); - // if ( img ) { - // img.style.width = page.style.width; - // img.style.height = page.style.height; - // } - } - }, { - key: "_checkForFoldouts", - value: function _checkForFoldouts(image, page) { - /* NO OP */ - } - }, { - key: "redrawPageImages", - value: function redrawPageImages() { - this._redrawPageImagesTimer = null; - } - }, { - key: "clickHandler", - value: function clickHandler(event) { - var element = event.target; - HT.log("-- thumbnail clickHandler", event, event.tagName); - var check = element.closest('button'); - - if (!check) { - element = element.closest('.page'); - - if (element) { - var lastView = this.reader.options.lastView || '1up'; - this.reader.restart({ - view: lastView, - seq: element.dataset.seq - }); - } - } - } - }, { - key: "next", - value: function next() { - var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - var operating = this._operating({ - percentage: 0.75 - }); - - var visible = operating.visible; - - if (params.eventReferrer == 'accesskey' && document.activeElement && document.activeElement.closest(".page")) { - var focused = this.container.querySelector('.page[tabindex="0"]'); - var currentSeq = parseInt(focused.dataset.seq, 10); - - if (!this.pagesIndex.has(currentSeq)) { - return; - } - - this.unfocus(focused); - HT.log("-- next", currentSeq, visible.indexOf(currentSeq + 1), visible.join(" : ")); - - if (visible.indexOf(currentSeq + 1) > -1) { - // this.unfocus(this.getPage(currentSeq)); - currentSeq += 1; - this.currentSeq = currentSeq; - this.focus(this.getPage(currentSeq)); - return; - } - } // var lastSeq = parseInt(visible.pop(), 10); - - - var actuallyVisible = this._actuallyVisible(visible); - - var lastPage = actuallyVisible.pop(); - console.log("AHOY FOUND", lastPage); - var lastSeq = this.getPageSeq(lastPage); // parseInt(visible[0], 10); - - this.display(lastSeq + 1); - } - }, { - key: "prev", - value: function prev() { - var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - var operating = this._operating({ - percentage: 0.75 - }); - - var visible = operating.visible; - var targetSeq; - - if (params.eventReferrer == 'accesskey' && document.activeElement && document.activeElement.closest(".page")) { - var focused = this.container.querySelector('.page[tabindex="0"]'); - var currentSeq = parseInt(focused.dataset.seq, 10); - - if (!this.pagesIndex.has(currentSeq - 1)) { - return; - } - - this.unfocus(focused); - HT.log("-- prev", currentSeq, visible.indexOf(currentSeq - 1), visible.join(" : ")); - - if (visible.indexOf(currentSeq - 1) > -1) { - currentSeq -= 1; - this.currentSeq = currentSeq; - this.focus(this.getPage(currentSeq)); - return; - } else { - targetSeq = currentSeq - 1; - } - } - - var actuallyVisible = this._actuallyVisible(visible); - - var firstSeq = this.getPageSeq(actuallyVisible[0]); // parseInt(visible[0], 10); - - this._targetSeq = targetSeq; - this.display(firstSeq - actuallyVisible.length); - } - }, { - key: "_actuallyVisible", - value: function _actuallyVisible(visible) { - // what's really the first visible? - var actuallyVisible = []; - - for (var i = 0; i < visible.length; i++) { - var pg = this.getPage(visible[i]); - var p = this.visibility(pg, { - rootMargin: 0 - }); - console.log("== visibility check", visible[i], pg, p); - - if (p >= 0.75) { - actuallyVisible.push(pg); - } - } - - return actuallyVisible; - } - }, { - key: "destroy", - value: function destroy() { - _get(_getPrototypeOf(Thumbnail.prototype), "destroy", this).call(this); - - this.service.loaders.thumbnails.limit(2); // restore default - } - }, { - key: "config", - value: function config() { - var retval = _get(_getPrototypeOf(Thumbnail.prototype), "config", this).call(this); - - retval.zoom = true; - retval.rotate = false; - retval.foldouts = false; - return retval; - } - }]); - - return Thumbnail; -}(_scroll__WEBPACK_IMPORTED_MODULE_0__.Scroll); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ if(__webpack_module_cache__[moduleId]) { -/******/ return __webpack_module_cache__[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ !function() { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function() { return module['default']; } : -/******/ function() { return module; }; -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ !function() { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = function(exports, definition) { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ !function() { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ }(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ !function() { -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/******/ }(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ !function() { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ !function() { -/******/ __webpack_require__.nmd = function(module) { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ }(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be isolated against other entry modules. -!function() { -/*!*********************************************************************!*\ - !*** ./node_modules/intersection-observer/intersection-observer.js ***! - \*********************************************************************/ -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Copyright 2016 Google Inc. All Rights Reserved. - * - * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE. - * - * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * - */ -(function () { - 'use strict'; // Exit early if we're not running in a browser. - - if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== 'object') { - return; - } // Exit early if all IntersectionObserver and IntersectionObserverEntry - // features are natively supported. - - - if ('IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) { - // Minimal polyfill for Edge 15's lack of `isIntersecting` - // See: https://github.com/w3c/IntersectionObserver/issues/211 - if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) { - Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', { - get: function get() { - return this.intersectionRatio > 0; - } - }); - } - - return; - } - /** - * Returns the embedding frame element, if any. - * @param {!Document} doc - * @return {!Element} - */ - - - function getFrameElement(doc) { - try { - return doc.defaultView && doc.defaultView.frameElement || null; - } catch (e) { - // Ignore the error. - return null; - } - } - /** - * A local reference to the root document. - */ - - - var document = function (startDoc) { - var doc = startDoc; - var frame = getFrameElement(doc); - - while (frame) { - doc = frame.ownerDocument; - frame = getFrameElement(doc); - } - - return doc; - }(window.document); - /** - * An IntersectionObserver registry. This registry exists to hold a strong - * reference to IntersectionObserver instances currently observing a target - * element. Without this registry, instances without another reference may be - * garbage collected. - */ - - - var registry = []; - /** - * The signal updater for cross-origin intersection. When not null, it means - * that the polyfill is configured to work in a cross-origin mode. - * @type {function(DOMRect|ClientRect, DOMRect|ClientRect)} - */ - - var crossOriginUpdater = null; - /** - * The current cross-origin intersection. Only used in the cross-origin mode. - * @type {DOMRect|ClientRect} - */ - - var crossOriginRect = null; - /** - * Creates the global IntersectionObserverEntry constructor. - * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry - * @param {Object} entry A dictionary of instance properties. - * @constructor - */ - - function IntersectionObserverEntry(entry) { - this.time = entry.time; - this.target = entry.target; - this.rootBounds = ensureDOMRect(entry.rootBounds); - this.boundingClientRect = ensureDOMRect(entry.boundingClientRect); - this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect()); - this.isIntersecting = !!entry.intersectionRect; // Calculates the intersection ratio. - - var targetRect = this.boundingClientRect; - var targetArea = targetRect.width * targetRect.height; - var intersectionRect = this.intersectionRect; - var intersectionArea = intersectionRect.width * intersectionRect.height; // Sets intersection ratio. - - if (targetArea) { - // Round the intersection ratio to avoid floating point math issues: - // https://github.com/w3c/IntersectionObserver/issues/324 - this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4)); - } else { - // If area is zero and is intersecting, sets to 1, otherwise to 0 - this.intersectionRatio = this.isIntersecting ? 1 : 0; - } - } - /** - * Creates the global IntersectionObserver constructor. - * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface - * @param {Function} callback The function to be invoked after intersection - * changes have queued. The function is not invoked if the queue has - * been emptied by calling the `takeRecords` method. - * @param {Object=} opt_options Optional configuration options. - * @constructor - */ - - - function IntersectionObserver(callback, opt_options) { - var options = opt_options || {}; - - if (typeof callback != 'function') { - throw new Error('callback must be a function'); - } - - if (options.root && options.root.nodeType != 1 && options.root.nodeType != 9) { - throw new Error('root must be a Document or Element'); - } // Binds and throttles `this._checkForIntersections`. - - - this._checkForIntersections = throttle(this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT); // Private properties. - - this._callback = callback; - this._observationTargets = []; - this._queuedEntries = []; - this._rootMarginValues = this._parseRootMargin(options.rootMargin); // Public properties. - - this.thresholds = this._initThresholds(options.threshold); - this.root = options.root || null; - this.rootMargin = this._rootMarginValues.map(function (margin) { - return margin.value + margin.unit; - }).join(' '); - /** @private @const {!Array} */ - - this._monitoringDocuments = []; - /** @private @const {!Array} */ - - this._monitoringUnsubscribes = []; - } - /** - * The minimum interval within which the document will be checked for - * intersection changes. - */ - - - IntersectionObserver.prototype.THROTTLE_TIMEOUT = 100; - /** - * The frequency in which the polyfill polls for intersection changes. - * this can be updated on a per instance basis and must be set prior to - * calling `observe` on the first target. - */ - - IntersectionObserver.prototype.POLL_INTERVAL = null; - /** - * Use a mutation observer on the root element - * to detect intersection changes. - */ - - IntersectionObserver.prototype.USE_MUTATION_OBSERVER = true; - /** - * Sets up the polyfill in the cross-origin mode. The result is the - * updater function that accepts two arguments: `boundingClientRect` and - * `intersectionRect` - just as these fields would be available to the - * parent via `IntersectionObserverEntry`. This function should be called - * each time the iframe receives intersection information from the parent - * window, e.g. via messaging. - * @return {function(DOMRect|ClientRect, DOMRect|ClientRect)} - */ - - IntersectionObserver._setupCrossOriginUpdater = function () { - if (!crossOriginUpdater) { - /** - * @param {DOMRect|ClientRect} boundingClientRect - * @param {DOMRect|ClientRect} intersectionRect - */ - crossOriginUpdater = function crossOriginUpdater(boundingClientRect, intersectionRect) { - if (!boundingClientRect || !intersectionRect) { - crossOriginRect = getEmptyRect(); - } else { - crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect); - } - - registry.forEach(function (observer) { - observer._checkForIntersections(); - }); - }; - } - - return crossOriginUpdater; - }; - /** - * Resets the cross-origin mode. - */ - - - IntersectionObserver._resetCrossOriginUpdater = function () { - crossOriginUpdater = null; - crossOriginRect = null; - }; - /** - * Starts observing a target element for intersection changes based on - * the thresholds values. - * @param {Element} target The DOM element to observe. - */ - - - IntersectionObserver.prototype.observe = function (target) { - var isTargetAlreadyObserved = this._observationTargets.some(function (item) { - return item.element == target; - }); - - if (isTargetAlreadyObserved) { - return; - } - - if (!(target && target.nodeType == 1)) { - throw new Error('target must be an Element'); - } - - this._registerInstance(); - - this._observationTargets.push({ - element: target, - entry: null - }); - - this._monitorIntersections(target.ownerDocument); - - this._checkForIntersections(); - }; - /** - * Stops observing a target element for intersection changes. - * @param {Element} target The DOM element to observe. - */ - - - IntersectionObserver.prototype.unobserve = function (target) { - this._observationTargets = this._observationTargets.filter(function (item) { - return item.element != target; - }); - - this._unmonitorIntersections(target.ownerDocument); - - if (this._observationTargets.length == 0) { - this._unregisterInstance(); - } - }; - /** - * Stops observing all target elements for intersection changes. - */ - - - IntersectionObserver.prototype.disconnect = function () { - this._observationTargets = []; - - this._unmonitorAllIntersections(); - - this._unregisterInstance(); - }; - /** - * Returns any queue entries that have not yet been reported to the - * callback and clears the queue. This can be used in conjunction with the - * callback to obtain the absolute most up-to-date intersection information. - * @return {Array} The currently queued entries. - */ - - - IntersectionObserver.prototype.takeRecords = function () { - var records = this._queuedEntries.slice(); - - this._queuedEntries = []; - return records; - }; - /** - * Accepts the threshold value from the user configuration object and - * returns a sorted array of unique threshold values. If a value is not - * between 0 and 1 and error is thrown. - * @private - * @param {Array|number=} opt_threshold An optional threshold value or - * a list of threshold values, defaulting to [0]. - * @return {Array} A sorted list of unique and valid threshold values. - */ - - - IntersectionObserver.prototype._initThresholds = function (opt_threshold) { - var threshold = opt_threshold || [0]; - if (!Array.isArray(threshold)) threshold = [threshold]; - return threshold.sort().filter(function (t, i, a) { - if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) { - throw new Error('threshold must be a number between 0 and 1 inclusively'); - } - - return t !== a[i - 1]; - }); - }; - /** - * Accepts the rootMargin value from the user configuration object - * and returns an array of the four margin values as an object containing - * the value and unit properties. If any of the values are not properly - * formatted or use a unit other than px or %, and error is thrown. - * @private - * @param {string=} opt_rootMargin An optional rootMargin value, - * defaulting to '0px'. - * @return {Array} An array of margin objects with the keys - * value and unit. - */ - - - IntersectionObserver.prototype._parseRootMargin = function (opt_rootMargin) { - var marginString = opt_rootMargin || '0px'; - var margins = marginString.split(/\s+/).map(function (margin) { - var parts = /^(-?\d*\.?\d+)(px|%)$/.exec(margin); - - if (!parts) { - throw new Error('rootMargin must be specified in pixels or percent'); - } - - return { - value: parseFloat(parts[1]), - unit: parts[2] - }; - }); // Handles shorthand. - - margins[1] = margins[1] || margins[0]; - margins[2] = margins[2] || margins[0]; - margins[3] = margins[3] || margins[1]; - return margins; - }; - /** - * Starts polling for intersection changes if the polling is not already - * happening, and if the page's visibility state is visible. - * @param {!Document} doc - * @private - */ - - - IntersectionObserver.prototype._monitorIntersections = function (doc) { - var win = doc.defaultView; - - if (!win) { - // Already destroyed. - return; - } - - if (this._monitoringDocuments.indexOf(doc) != -1) { - // Already monitoring. - return; - } // Private state for monitoring. - - - var callback = this._checkForIntersections; - var monitoringInterval = null; - var domObserver = null; // If a poll interval is set, use polling instead of listening to - // resize and scroll events or DOM mutations. - - if (this.POLL_INTERVAL) { - monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL); - } else { - addEvent(win, 'resize', callback, true); - addEvent(doc, 'scroll', callback, true); - - if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in win) { - domObserver = new win.MutationObserver(callback); - domObserver.observe(doc, { - attributes: true, - childList: true, - characterData: true, - subtree: true - }); - } - } - - this._monitoringDocuments.push(doc); - - this._monitoringUnsubscribes.push(function () { - // Get the window object again. When a friendly iframe is destroyed, it - // will be null. - var win = doc.defaultView; - - if (win) { - if (monitoringInterval) { - win.clearInterval(monitoringInterval); - } - - removeEvent(win, 'resize', callback, true); - } - - removeEvent(doc, 'scroll', callback, true); - - if (domObserver) { - domObserver.disconnect(); - } - }); // Also monitor the parent. - - - var rootDoc = this.root && (this.root.ownerDocument || this.root) || document; - - if (doc != rootDoc) { - var frame = getFrameElement(doc); - - if (frame) { - this._monitorIntersections(frame.ownerDocument); - } - } - }; - /** - * Stops polling for intersection changes. - * @param {!Document} doc - * @private - */ - - - IntersectionObserver.prototype._unmonitorIntersections = function (doc) { - var index = this._monitoringDocuments.indexOf(doc); - - if (index == -1) { - return; - } - - var rootDoc = this.root && (this.root.ownerDocument || this.root) || document; // Check if any dependent targets are still remaining. - - var hasDependentTargets = this._observationTargets.some(function (item) { - var itemDoc = item.element.ownerDocument; // Target is in this context. - - if (itemDoc == doc) { - return true; - } // Target is nested in this context. - - - while (itemDoc && itemDoc != rootDoc) { - var frame = getFrameElement(itemDoc); - itemDoc = frame && frame.ownerDocument; - - if (itemDoc == doc) { - return true; - } - } - - return false; - }); - - if (hasDependentTargets) { - return; - } // Unsubscribe. - - - var unsubscribe = this._monitoringUnsubscribes[index]; - - this._monitoringDocuments.splice(index, 1); - - this._monitoringUnsubscribes.splice(index, 1); - - unsubscribe(); // Also unmonitor the parent. - - if (doc != rootDoc) { - var frame = getFrameElement(doc); - - if (frame) { - this._unmonitorIntersections(frame.ownerDocument); - } - } - }; - /** - * Stops polling for intersection changes. - * @param {!Document} doc - * @private - */ - - - IntersectionObserver.prototype._unmonitorAllIntersections = function () { - var unsubscribes = this._monitoringUnsubscribes.slice(0); - - this._monitoringDocuments.length = 0; - this._monitoringUnsubscribes.length = 0; - - for (var i = 0; i < unsubscribes.length; i++) { - unsubscribes[i](); - } - }; - /** - * Scans each observation target for intersection changes and adds them - * to the internal entries queue. If new entries are found, it - * schedules the callback to be invoked. - * @private - */ - - - IntersectionObserver.prototype._checkForIntersections = function () { - if (!this.root && crossOriginUpdater && !crossOriginRect) { - // Cross origin monitoring, but no initial data available yet. - return; - } - - var rootIsInDom = this._rootIsInDom(); - - var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect(); - - this._observationTargets.forEach(function (item) { - var target = item.element; - var targetRect = getBoundingClientRect(target); - - var rootContainsTarget = this._rootContainsTarget(target); - - var oldEntry = item.entry; - - var intersectionRect = rootIsInDom && rootContainsTarget && this._computeTargetAndRootIntersection(target, targetRect, rootRect); - - var rootBounds = null; - - if (!this._rootContainsTarget(target)) { - rootBounds = getEmptyRect(); - } else if (!crossOriginUpdater || this.root) { - rootBounds = rootRect; - } - - var newEntry = item.entry = new IntersectionObserverEntry({ - time: now(), - target: target, - boundingClientRect: targetRect, - rootBounds: rootBounds, - intersectionRect: intersectionRect - }); - - if (!oldEntry) { - this._queuedEntries.push(newEntry); - } else if (rootIsInDom && rootContainsTarget) { - // If the new entry intersection ratio has crossed any of the - // thresholds, add a new entry. - if (this._hasCrossedThreshold(oldEntry, newEntry)) { - this._queuedEntries.push(newEntry); - } - } else { - // If the root is not in the DOM or target is not contained within - // root but the previous entry for this target had an intersection, - // add a new record indicating removal. - if (oldEntry && oldEntry.isIntersecting) { - this._queuedEntries.push(newEntry); - } - } - }, this); - - if (this._queuedEntries.length) { - this._callback(this.takeRecords(), this); - } - }; - /** - * Accepts a target and root rect computes the intersection between then - * following the algorithm in the spec. - * TODO(philipwalton): at this time clip-path is not considered. - * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo - * @param {Element} target The target DOM element - * @param {Object} targetRect The bounding rect of the target. - * @param {Object} rootRect The bounding rect of the root after being - * expanded by the rootMargin value. - * @return {?Object} The final intersection rect object or undefined if no - * intersection is found. - * @private - */ - - - IntersectionObserver.prototype._computeTargetAndRootIntersection = function (target, targetRect, rootRect) { - // If the element isn't displayed, an intersection can't happen. - if (window.getComputedStyle(target).display == 'none') return; - var intersectionRect = targetRect; - var parent = getParentNode(target); - var atRoot = false; - - while (!atRoot && parent) { - var parentRect = null; - var parentComputedStyle = parent.nodeType == 1 ? window.getComputedStyle(parent) : {}; // If the parent isn't displayed, an intersection can't happen. - - if (parentComputedStyle.display == 'none') return null; - - if (parent == this.root || parent.nodeType == - /* DOCUMENT */ - 9) { - atRoot = true; - - if (parent == this.root || parent == document) { - if (crossOriginUpdater && !this.root) { - if (!crossOriginRect || crossOriginRect.width == 0 && crossOriginRect.height == 0) { - // A 0-size cross-origin intersection means no-intersection. - parent = null; - parentRect = null; - intersectionRect = null; - } else { - parentRect = crossOriginRect; - } - } else { - parentRect = rootRect; - } - } else { - // Check if there's a frame that can be navigated to. - var frame = getParentNode(parent); - var frameRect = frame && getBoundingClientRect(frame); - - var frameIntersect = frame && this._computeTargetAndRootIntersection(frame, frameRect, rootRect); - - if (frameRect && frameIntersect) { - parent = frame; - parentRect = convertFromParentRect(frameRect, frameIntersect); - } else { - parent = null; - intersectionRect = null; - } - } - } else { - // If the element has a non-visible overflow, and it's not the - // or element, update the intersection rect. - // Note: and cannot be clipped to a rect that's not also - // the document rect, so no need to compute a new intersection. - var doc = parent.ownerDocument; - - if (parent != doc.body && parent != doc.documentElement && parentComputedStyle.overflow != 'visible') { - parentRect = getBoundingClientRect(parent); - } - } // If either of the above conditionals set a new parentRect, - // calculate new intersection data. - - - if (parentRect) { - intersectionRect = computeRectIntersection(parentRect, intersectionRect); - } - - if (!intersectionRect) break; - parent = parent && getParentNode(parent); - } - - return intersectionRect; - }; - /** - * Returns the root rect after being expanded by the rootMargin value. - * @return {ClientRect} The expanded root rect. - * @private - */ - - - IntersectionObserver.prototype._getRootRect = function () { - var rootRect; - - if (this.root && !isDoc(this.root)) { - rootRect = getBoundingClientRect(this.root); - } else { - // Use / instead of window since scroll bars affect size. - var doc = isDoc(this.root) ? this.root : document; - var html = doc.documentElement; - var body = doc.body; - rootRect = { - top: 0, - left: 0, - right: html.clientWidth || body.clientWidth, - width: html.clientWidth || body.clientWidth, - bottom: html.clientHeight || body.clientHeight, - height: html.clientHeight || body.clientHeight - }; - } - - return this._expandRectByRootMargin(rootRect); - }; - /** - * Accepts a rect and expands it by the rootMargin value. - * @param {DOMRect|ClientRect} rect The rect object to expand. - * @return {ClientRect} The expanded rect. - * @private - */ - - - IntersectionObserver.prototype._expandRectByRootMargin = function (rect) { - var margins = this._rootMarginValues.map(function (margin, i) { - return margin.unit == 'px' ? margin.value : margin.value * (i % 2 ? rect.width : rect.height) / 100; - }); - - var newRect = { - top: rect.top - margins[0], - right: rect.right + margins[1], - bottom: rect.bottom + margins[2], - left: rect.left - margins[3] - }; - newRect.width = newRect.right - newRect.left; - newRect.height = newRect.bottom - newRect.top; - return newRect; - }; - /** - * Accepts an old and new entry and returns true if at least one of the - * threshold values has been crossed. - * @param {?IntersectionObserverEntry} oldEntry The previous entry for a - * particular target element or null if no previous entry exists. - * @param {IntersectionObserverEntry} newEntry The current entry for a - * particular target element. - * @return {boolean} Returns true if a any threshold has been crossed. - * @private - */ - - - IntersectionObserver.prototype._hasCrossedThreshold = function (oldEntry, newEntry) { - // To make comparing easier, an entry that has a ratio of 0 - // but does not actually intersect is given a value of -1 - var oldRatio = oldEntry && oldEntry.isIntersecting ? oldEntry.intersectionRatio || 0 : -1; - var newRatio = newEntry.isIntersecting ? newEntry.intersectionRatio || 0 : -1; // Ignore unchanged ratios - - if (oldRatio === newRatio) return; - - for (var i = 0; i < this.thresholds.length; i++) { - var threshold = this.thresholds[i]; // Return true if an entry matches a threshold or if the new ratio - // and the old ratio are on the opposite sides of a threshold. - - if (threshold == oldRatio || threshold == newRatio || threshold < oldRatio !== threshold < newRatio) { - return true; - } - } - }; - /** - * Returns whether or not the root element is an element and is in the DOM. - * @return {boolean} True if the root element is an element and is in the DOM. - * @private - */ - - - IntersectionObserver.prototype._rootIsInDom = function () { - return !this.root || containsDeep(document, this.root); - }; - /** - * Returns whether or not the target element is a child of root. - * @param {Element} target The target element to check. - * @return {boolean} True if the target element is a child of root. - * @private - */ - - - IntersectionObserver.prototype._rootContainsTarget = function (target) { - var rootDoc = this.root && (this.root.ownerDocument || this.root) || document; - return containsDeep(rootDoc, target) && (!this.root || rootDoc == target.ownerDocument); - }; - /** - * Adds the instance to the global IntersectionObserver registry if it isn't - * already present. - * @private - */ - - - IntersectionObserver.prototype._registerInstance = function () { - if (registry.indexOf(this) < 0) { - registry.push(this); - } - }; - /** - * Removes the instance from the global IntersectionObserver registry. - * @private - */ - - - IntersectionObserver.prototype._unregisterInstance = function () { - var index = registry.indexOf(this); - if (index != -1) registry.splice(index, 1); - }; - /** - * Returns the result of the performance.now() method or null in browsers - * that don't support the API. - * @return {number} The elapsed time since the page was requested. - */ - - - function now() { - return window.performance && performance.now && performance.now(); - } - /** - * Throttles a function and delays its execution, so it's only called at most - * once within a given time period. - * @param {Function} fn The function to throttle. - * @param {number} timeout The amount of time that must pass before the - * function can be called again. - * @return {Function} The throttled function. - */ - - - function throttle(fn, timeout) { - var timer = null; - return function () { - if (!timer) { - timer = setTimeout(function () { - fn(); - timer = null; - }, timeout); - } - }; - } - /** - * Adds an event handler to a DOM node ensuring cross-browser compatibility. - * @param {Node} node The DOM node to add the event handler to. - * @param {string} event The event name. - * @param {Function} fn The event handler to add. - * @param {boolean} opt_useCapture Optionally adds the even to the capture - * phase. Note: this only works in modern browsers. - */ - - - function addEvent(node, event, fn, opt_useCapture) { - if (typeof node.addEventListener == 'function') { - node.addEventListener(event, fn, opt_useCapture || false); - } else if (typeof node.attachEvent == 'function') { - node.attachEvent('on' + event, fn); - } - } - /** - * Removes a previously added event handler from a DOM node. - * @param {Node} node The DOM node to remove the event handler from. - * @param {string} event The event name. - * @param {Function} fn The event handler to remove. - * @param {boolean} opt_useCapture If the event handler was added with this - * flag set to true, it should be set to true here in order to remove it. - */ - - - function removeEvent(node, event, fn, opt_useCapture) { - if (typeof node.removeEventListener == 'function') { - node.removeEventListener(event, fn, opt_useCapture || false); - } else if (typeof node.detatchEvent == 'function') { - node.detatchEvent('on' + event, fn); - } - } - /** - * Returns the intersection between two rect objects. - * @param {Object} rect1 The first rect. - * @param {Object} rect2 The second rect. - * @return {?Object|?ClientRect} The intersection rect or undefined if no - * intersection is found. - */ - - - function computeRectIntersection(rect1, rect2) { - var top = Math.max(rect1.top, rect2.top); - var bottom = Math.min(rect1.bottom, rect2.bottom); - var left = Math.max(rect1.left, rect2.left); - var right = Math.min(rect1.right, rect2.right); - var width = right - left; - var height = bottom - top; - return width >= 0 && height >= 0 && { - top: top, - bottom: bottom, - left: left, - right: right, - width: width, - height: height - } || null; - } - /** - * Shims the native getBoundingClientRect for compatibility with older IE. - * @param {Element} el The element whose bounding rect to get. - * @return {DOMRect|ClientRect} The (possibly shimmed) rect of the element. - */ - - - function getBoundingClientRect(el) { - var rect; - - try { - rect = el.getBoundingClientRect(); - } catch (err) {// Ignore Windows 7 IE11 "Unspecified error" - // https://github.com/w3c/IntersectionObserver/pull/205 - } - - if (!rect) return getEmptyRect(); // Older IE - - if (!(rect.width && rect.height)) { - rect = { - top: rect.top, - right: rect.right, - bottom: rect.bottom, - left: rect.left, - width: rect.right - rect.left, - height: rect.bottom - rect.top - }; - } - - return rect; - } - /** - * Returns an empty rect object. An empty rect is returned when an element - * is not in the DOM. - * @return {ClientRect} The empty rect. - */ - - - function getEmptyRect() { - return { - top: 0, - bottom: 0, - left: 0, - right: 0, - width: 0, - height: 0 - }; - } - /** - * Ensure that the result has all of the necessary fields of the DOMRect. - * Specifically this ensures that `x` and `y` fields are set. - * - * @param {?DOMRect|?ClientRect} rect - * @return {?DOMRect} - */ - - - function ensureDOMRect(rect) { - // A `DOMRect` object has `x` and `y` fields. - if (!rect || 'x' in rect) { - return rect; - } // A IE's `ClientRect` type does not have `x` and `y`. The same is the case - // for internally calculated Rect objects. For the purposes of - // `IntersectionObserver`, it's sufficient to simply mirror `left` and `top` - // for these fields. - - - return { - top: rect.top, - y: rect.top, - bottom: rect.bottom, - left: rect.left, - x: rect.left, - right: rect.right, - width: rect.width, - height: rect.height - }; - } - /** - * Inverts the intersection and bounding rect from the parent (frame) BCR to - * the local BCR space. - * @param {DOMRect|ClientRect} parentBoundingRect The parent's bound client rect. - * @param {DOMRect|ClientRect} parentIntersectionRect The parent's own intersection rect. - * @return {ClientRect} The local root bounding rect for the parent's children. - */ - - - function convertFromParentRect(parentBoundingRect, parentIntersectionRect) { - var top = parentIntersectionRect.top - parentBoundingRect.top; - var left = parentIntersectionRect.left - parentBoundingRect.left; - return { - top: top, - left: left, - height: parentIntersectionRect.height, - width: parentIntersectionRect.width, - bottom: top + parentIntersectionRect.height, - right: left + parentIntersectionRect.width - }; - } - /** - * Checks to see if a parent element contains a child element (including inside - * shadow DOM). - * @param {Node} parent The parent element. - * @param {Node} child The child element. - * @return {boolean} True if the parent node contains the child node. - */ - - - function containsDeep(parent, child) { - var node = child; - - while (node) { - if (node == parent) return true; - node = getParentNode(node); - } - - return false; - } - /** - * Gets the parent node of an element or its host element if the parent node - * is a shadow root. - * @param {Node} node The node whose parent to get. - * @return {Node|null} The parent node or null if no parent exists. - */ - - - function getParentNode(node) { - var parent = node.parentNode; - - if (node.nodeType == - /* DOCUMENT */ - 9 && node != document) { - // If this node is a document node, look for the embedding frame. - return getFrameElement(node); - } // If the parent has element that is assigned through shadow root slot - - - if (parent && parent.assignedSlot) { - parent = parent.assignedSlot.parentNode; - } - - if (parent && parent.nodeType == 11 && parent.host) { - // If the parent is a shadow root, return the host element. - return parent.host; - } - - return parent; - } - /** - * Returns true if `node` is a Document. - * @param {!Node} node - * @returns {boolean} - */ - - - function isDoc(node) { - return node && node.nodeType === 9; - } // Exposes the constructors globally. - - - window.IntersectionObserver = IntersectionObserver; - window.IntersectionObserverEntry = IntersectionObserverEntry; -})(); -}(); -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -!function() { -"use strict"; -var __webpack_exports__ = {}; -/*!********************************************!*\ - !*** ./node_modules/whatwg-fetch/fetch.js ***! - \********************************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Headers": function() { return /* binding */ Headers; }, -/* harmony export */ "Request": function() { return /* binding */ Request; }, -/* harmony export */ "Response": function() { return /* binding */ Response; }, -/* harmony export */ "DOMException": function() { return /* binding */ DOMException; }, -/* harmony export */ "fetch": function() { return /* binding */ fetch; } -/* harmony export */ }); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var global = typeof globalThis !== 'undefined' && globalThis || typeof self !== 'undefined' && self || typeof global !== 'undefined' && global; -var support = { - searchParams: 'URLSearchParams' in global, - iterable: 'Symbol' in global && 'iterator' in Symbol, - blob: 'FileReader' in global && 'Blob' in global && function () { - try { - new Blob(); - return true; - } catch (e) { - return false; - } - }(), - formData: 'FormData' in global, - arrayBuffer: 'ArrayBuffer' in global -}; - -function isDataView(obj) { - return obj && DataView.prototype.isPrototypeOf(obj); -} - -if (support.arrayBuffer) { - var viewClasses = ['[object Int8Array]', '[object Uint8Array]', '[object Uint8ClampedArray]', '[object Int16Array]', '[object Uint16Array]', '[object Int32Array]', '[object Uint32Array]', '[object Float32Array]', '[object Float64Array]']; - - var isArrayBufferView = ArrayBuffer.isView || function (obj) { - return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1; - }; -} - -function normalizeName(name) { - if (typeof name !== 'string') { - name = String(name); - } - - if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === '') { - throw new TypeError('Invalid character in header field name'); - } - - return name.toLowerCase(); -} - -function normalizeValue(value) { - if (typeof value !== 'string') { - value = String(value); - } - - return value; -} // Build a destructive iterator for the value list - - -function iteratorFor(items) { - var iterator = { - next: function next() { - var value = items.shift(); - return { - done: value === undefined, - value: value - }; - } - }; - - if (support.iterable) { - iterator[Symbol.iterator] = function () { - return iterator; - }; - } - - return iterator; -} - -function Headers(headers) { - this.map = {}; - - if (headers instanceof Headers) { - headers.forEach(function (value, name) { - this.append(name, value); - }, this); - } else if (Array.isArray(headers)) { - headers.forEach(function (header) { - this.append(header[0], header[1]); - }, this); - } else if (headers) { - Object.getOwnPropertyNames(headers).forEach(function (name) { - this.append(name, headers[name]); - }, this); - } -} - -Headers.prototype.append = function (name, value) { - name = normalizeName(name); - value = normalizeValue(value); - var oldValue = this.map[name]; - this.map[name] = oldValue ? oldValue + ', ' + value : value; -}; - -Headers.prototype['delete'] = function (name) { - delete this.map[normalizeName(name)]; -}; - -Headers.prototype.get = function (name) { - name = normalizeName(name); - return this.has(name) ? this.map[name] : null; -}; - -Headers.prototype.has = function (name) { - return this.map.hasOwnProperty(normalizeName(name)); -}; - -Headers.prototype.set = function (name, value) { - this.map[normalizeName(name)] = normalizeValue(value); -}; - -Headers.prototype.forEach = function (callback, thisArg) { - for (var name in this.map) { - if (this.map.hasOwnProperty(name)) { - callback.call(thisArg, this.map[name], name, this); - } - } -}; - -Headers.prototype.keys = function () { - var items = []; - this.forEach(function (value, name) { - items.push(name); - }); - return iteratorFor(items); -}; - -Headers.prototype.values = function () { - var items = []; - this.forEach(function (value) { - items.push(value); - }); - return iteratorFor(items); -}; - -Headers.prototype.entries = function () { - var items = []; - this.forEach(function (value, name) { - items.push([name, value]); - }); - return iteratorFor(items); -}; - -if (support.iterable) { - Headers.prototype[Symbol.iterator] = Headers.prototype.entries; -} - -function consumed(body) { - if (body.bodyUsed) { - return Promise.reject(new TypeError('Already read')); - } - - body.bodyUsed = true; -} - -function fileReaderReady(reader) { - return new Promise(function (resolve, reject) { - reader.onload = function () { - resolve(reader.result); - }; - - reader.onerror = function () { - reject(reader.error); - }; - }); -} - -function readBlobAsArrayBuffer(blob) { - var reader = new FileReader(); - var promise = fileReaderReady(reader); - reader.readAsArrayBuffer(blob); - return promise; -} - -function readBlobAsText(blob) { - var reader = new FileReader(); - var promise = fileReaderReady(reader); - reader.readAsText(blob); - return promise; -} - -function readArrayBufferAsText(buf) { - var view = new Uint8Array(buf); - var chars = new Array(view.length); - - for (var i = 0; i < view.length; i++) { - chars[i] = String.fromCharCode(view[i]); - } - - return chars.join(''); -} - -function bufferClone(buf) { - if (buf.slice) { - return buf.slice(0); - } else { - var view = new Uint8Array(buf.byteLength); - view.set(new Uint8Array(buf)); - return view.buffer; - } -} - -function Body() { - this.bodyUsed = false; - - this._initBody = function (body) { - /* - fetch-mock wraps the Response object in an ES6 Proxy to - provide useful test harness features such as flush. However, on - ES5 browsers without fetch or Proxy support pollyfills must be used; - the proxy-pollyfill is unable to proxy an attribute unless it exists - on the object before the Proxy is created. This change ensures - Response.bodyUsed exists on the instance, while maintaining the - semantic of setting Request.bodyUsed in the constructor before - _initBody is called. - */ - this.bodyUsed = this.bodyUsed; - this._bodyInit = body; - - if (!body) { - this._bodyText = ''; - } else if (typeof body === 'string') { - this._bodyText = body; - } else if (support.blob && Blob.prototype.isPrototypeOf(body)) { - this._bodyBlob = body; - } else if (support.formData && FormData.prototype.isPrototypeOf(body)) { - this._bodyFormData = body; - } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { - this._bodyText = body.toString(); - } else if (support.arrayBuffer && support.blob && isDataView(body)) { - this._bodyArrayBuffer = bufferClone(body.buffer); // IE 10-11 can't handle a DataView body. - - this._bodyInit = new Blob([this._bodyArrayBuffer]); - } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) { - this._bodyArrayBuffer = bufferClone(body); - } else { - this._bodyText = body = Object.prototype.toString.call(body); - } - - if (!this.headers.get('content-type')) { - if (typeof body === 'string') { - this.headers.set('content-type', 'text/plain;charset=UTF-8'); - } else if (this._bodyBlob && this._bodyBlob.type) { - this.headers.set('content-type', this._bodyBlob.type); - } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { - this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); - } - } - }; - - if (support.blob) { - this.blob = function () { - var rejected = consumed(this); - - if (rejected) { - return rejected; - } - - if (this._bodyBlob) { - return Promise.resolve(this._bodyBlob); - } else if (this._bodyArrayBuffer) { - return Promise.resolve(new Blob([this._bodyArrayBuffer])); - } else if (this._bodyFormData) { - throw new Error('could not read FormData body as blob'); - } else { - return Promise.resolve(new Blob([this._bodyText])); - } - }; - - this.arrayBuffer = function () { - if (this._bodyArrayBuffer) { - var isConsumed = consumed(this); - - if (isConsumed) { - return isConsumed; - } - - if (ArrayBuffer.isView(this._bodyArrayBuffer)) { - return Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset, this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength)); - } else { - return Promise.resolve(this._bodyArrayBuffer); - } - } else { - return this.blob().then(readBlobAsArrayBuffer); - } - }; - } - - this.text = function () { - var rejected = consumed(this); - - if (rejected) { - return rejected; - } - - if (this._bodyBlob) { - return readBlobAsText(this._bodyBlob); - } else if (this._bodyArrayBuffer) { - return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)); - } else if (this._bodyFormData) { - throw new Error('could not read FormData body as text'); - } else { - return Promise.resolve(this._bodyText); - } - }; - - if (support.formData) { - this.formData = function () { - return this.text().then(decode); - }; - } - - this.json = function () { - return this.text().then(JSON.parse); - }; - - return this; -} // HTTP methods whose capitalization should be normalized - - -var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']; - -function normalizeMethod(method) { - var upcased = method.toUpperCase(); - return methods.indexOf(upcased) > -1 ? upcased : method; -} - -function Request(input, options) { - if (!(this instanceof Request)) { - throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.'); - } - - options = options || {}; - var body = options.body; - - if (input instanceof Request) { - if (input.bodyUsed) { - throw new TypeError('Already read'); - } - - this.url = input.url; - this.credentials = input.credentials; - - if (!options.headers) { - this.headers = new Headers(input.headers); - } - - this.method = input.method; - this.mode = input.mode; - this.signal = input.signal; - - if (!body && input._bodyInit != null) { - body = input._bodyInit; - input.bodyUsed = true; - } - } else { - this.url = String(input); - } - - this.credentials = options.credentials || this.credentials || 'same-origin'; - - if (options.headers || !this.headers) { - this.headers = new Headers(options.headers); - } - - this.method = normalizeMethod(options.method || this.method || 'GET'); - this.mode = options.mode || this.mode || null; - this.signal = options.signal || this.signal; - this.referrer = null; - - if ((this.method === 'GET' || this.method === 'HEAD') && body) { - throw new TypeError('Body not allowed for GET or HEAD requests'); - } - - this._initBody(body); - - if (this.method === 'GET' || this.method === 'HEAD') { - if (options.cache === 'no-store' || options.cache === 'no-cache') { - // Search for a '_' parameter in the query string - var reParamSearch = /([?&])_=[^&]*/; - - if (reParamSearch.test(this.url)) { - // If it already exists then set the value with the current time - this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime()); - } else { - // Otherwise add a new '_' parameter to the end with the current time - var reQueryString = /\?/; - this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime(); - } - } - } -} - -Request.prototype.clone = function () { - return new Request(this, { - body: this._bodyInit - }); -}; - -function decode(body) { - var form = new FormData(); - body.trim().split('&').forEach(function (bytes) { - if (bytes) { - var split = bytes.split('='); - var name = split.shift().replace(/\+/g, ' '); - var value = split.join('=').replace(/\+/g, ' '); - form.append(decodeURIComponent(name), decodeURIComponent(value)); - } - }); - return form; -} - -function parseHeaders(rawHeaders) { - var headers = new Headers(); // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space - // https://tools.ietf.org/html/rfc7230#section-3.2 - - var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' '); // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill - // https://github.com/github/fetch/issues/748 - // https://github.com/zloirock/core-js/issues/751 - - preProcessedHeaders.split('\r').map(function (header) { - return header.indexOf('\n') === 0 ? header.substr(1, header.length) : header; - }).forEach(function (line) { - var parts = line.split(':'); - var key = parts.shift().trim(); - - if (key) { - var value = parts.join(':').trim(); - headers.append(key, value); - } - }); - return headers; -} - -Body.call(Request.prototype); -function Response(bodyInit, options) { - if (!(this instanceof Response)) { - throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.'); - } - - if (!options) { - options = {}; - } - - this.type = 'default'; - this.status = options.status === undefined ? 200 : options.status; - this.ok = this.status >= 200 && this.status < 300; - this.statusText = 'statusText' in options ? options.statusText : ''; - this.headers = new Headers(options.headers); - this.url = options.url || ''; - - this._initBody(bodyInit); -} -Body.call(Response.prototype); - -Response.prototype.clone = function () { - return new Response(this._bodyInit, { - status: this.status, - statusText: this.statusText, - headers: new Headers(this.headers), - url: this.url - }); -}; - -Response.error = function () { - var response = new Response(null, { - status: 0, - statusText: '' - }); - response.type = 'error'; - return response; -}; - -var redirectStatuses = [301, 302, 303, 307, 308]; - -Response.redirect = function (url, status) { - if (redirectStatuses.indexOf(status) === -1) { - throw new RangeError('Invalid status code'); - } - - return new Response(null, { - status: status, - headers: { - location: url - } - }); -}; - -var DOMException = global.DOMException; - -try { - new DOMException(); -} catch (err) { - DOMException = function DOMException(message, name) { - this.message = message; - this.name = name; - var error = Error(message); - this.stack = error.stack; - }; - - DOMException.prototype = Object.create(Error.prototype); - DOMException.prototype.constructor = DOMException; -} - -function fetch(input, init) { - return new Promise(function (resolve, reject) { - var request = new Request(input, init); - - if (request.signal && request.signal.aborted) { - return reject(new DOMException('Aborted', 'AbortError')); - } - - var xhr = new XMLHttpRequest(); - - function abortXhr() { - xhr.abort(); - } - - xhr.onload = function () { - var options = { - status: xhr.status, - statusText: xhr.statusText, - headers: parseHeaders(xhr.getAllResponseHeaders() || '') - }; - options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL'); - var body = 'response' in xhr ? xhr.response : xhr.responseText; - setTimeout(function () { - resolve(new Response(body, options)); - }, 0); - }; - - xhr.onerror = function () { - setTimeout(function () { - reject(new TypeError('Network request failed')); - }, 0); - }; - - xhr.ontimeout = function () { - setTimeout(function () { - reject(new TypeError('Network request failed')); - }, 0); - }; - - xhr.onabort = function () { - setTimeout(function () { - reject(new DOMException('Aborted', 'AbortError')); - }, 0); - }; - - function fixUrl(url) { - try { - return url === '' && global.location.href ? global.location.href : url; - } catch (e) { - return url; - } - } - - xhr.open(request.method, fixUrl(request.url), true); - - if (request.credentials === 'include') { - xhr.withCredentials = true; - } else if (request.credentials === 'omit') { - xhr.withCredentials = false; - } - - if ('responseType' in xhr) { - if (support.blob) { - xhr.responseType = 'blob'; - } else if (support.arrayBuffer && request.headers.get('Content-Type') && request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1) { - xhr.responseType = 'arraybuffer'; - } - } - - if (init && _typeof(init.headers) === 'object' && !(init.headers instanceof Headers)) { - Object.getOwnPropertyNames(init.headers).forEach(function (name) { - xhr.setRequestHeader(name, normalizeValue(init.headers[name])); - }); - } else { - request.headers.forEach(function (value, name) { - xhr.setRequestHeader(name, value); - }); - } - - if (request.signal) { - request.signal.addEventListener('abort', abortXhr); - - xhr.onreadystatechange = function () { - // DONE (success or failure) - if (xhr.readyState === 4) { - request.signal.removeEventListener('abort', abortXhr); - } - }; - } - - xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit); - }); -} -fetch.polyfill = true; - -if (!global.fetch) { - global.fetch = fetch; - global.Headers = Headers; - global.Request = Request; - global.Response = Response; -} -}(); -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -!function() { -"use strict"; -/*!************************!*\ - !*** ./src/js/main.js ***! - \************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js"); -/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js"); -/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_symbol_async_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.symbol.async-iterator.js */ "./node_modules/core-js/modules/es.symbol.async-iterator.js"); -/* harmony import */ var core_js_modules_es_symbol_async_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_async_iterator_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_es_symbol_has_instance_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.has-instance.js */ "./node_modules/core-js/modules/es.symbol.has-instance.js"); -/* harmony import */ var core_js_modules_es_symbol_has_instance_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_has_instance_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_es_symbol_is_concat_spreadable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.symbol.is-concat-spreadable.js */ "./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js"); -/* harmony import */ var core_js_modules_es_symbol_is_concat_spreadable_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_is_concat_spreadable_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js"); -/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_es_symbol_match_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.symbol.match.js */ "./node_modules/core-js/modules/es.symbol.match.js"); -/* harmony import */ var core_js_modules_es_symbol_match_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_match_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var core_js_modules_es_symbol_replace_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.replace.js */ "./node_modules/core-js/modules/es.symbol.replace.js"); -/* harmony import */ var core_js_modules_es_symbol_replace_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_replace_js__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var core_js_modules_es_symbol_search_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.symbol.search.js */ "./node_modules/core-js/modules/es.symbol.search.js"); -/* harmony import */ var core_js_modules_es_symbol_search_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_search_js__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var core_js_modules_es_symbol_species_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.symbol.species.js */ "./node_modules/core-js/modules/es.symbol.species.js"); -/* harmony import */ var core_js_modules_es_symbol_species_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_species_js__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var core_js_modules_es_symbol_split_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.symbol.split.js */ "./node_modules/core-js/modules/es.symbol.split.js"); -/* harmony import */ var core_js_modules_es_symbol_split_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_split_js__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.symbol.to-primitive.js */ "./node_modules/core-js/modules/es.symbol.to-primitive.js"); -/* harmony import */ var core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var core_js_modules_es_symbol_to_string_tag_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ "./node_modules/core-js/modules/es.symbol.to-string-tag.js"); -/* harmony import */ var core_js_modules_es_symbol_to_string_tag_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_to_string_tag_js__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var core_js_modules_es_symbol_unscopables_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.symbol.unscopables.js */ "./node_modules/core-js/modules/es.symbol.unscopables.js"); -/* harmony import */ var core_js_modules_es_symbol_unscopables_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_unscopables_js__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js"); -/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var core_js_modules_es_array_copy_within_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.array.copy-within.js */ "./node_modules/core-js/modules/es.array.copy-within.js"); -/* harmony import */ var core_js_modules_es_array_copy_within_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_copy_within_js__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.array.every.js */ "./node_modules/core-js/modules/es.array.every.js"); -/* harmony import */ var core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var core_js_modules_es_array_fill_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.fill.js */ "./node_modules/core-js/modules/es.array.fill.js"); -/* harmony import */ var core_js_modules_es_array_fill_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_fill_js__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js"); -/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js"); -/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.find-index.js */ "./node_modules/core-js/modules/es.array.find-index.js"); -/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_20__); -/* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.array.flat.js */ "./node_modules/core-js/modules/es.array.flat.js"); -/* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.array.flat-map.js */ "./node_modules/core-js/modules/es.array.flat-map.js"); -/* harmony import */ var core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ "./node_modules/core-js/modules/es.array.for-each.js"); -/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js"); -/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js"); -/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.array.index-of.js */ "./node_modules/core-js/modules/es.array.index-of.js"); -/* harmony import */ var core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of_js__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js"); -/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_27__); -/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js"); -/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_28__); -/* harmony import */ var core_js_modules_es_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.array.last-index-of.js */ "./node_modules/core-js/modules/es.array.last-index-of.js"); -/* harmony import */ var core_js_modules_es_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_29__); -/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js"); -/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_30__); -/* harmony import */ var core_js_modules_es_array_of_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! core-js/modules/es.array.of.js */ "./node_modules/core-js/modules/es.array.of.js"); -/* harmony import */ var core_js_modules_es_array_of_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_of_js__WEBPACK_IMPORTED_MODULE_31__); -/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ "./node_modules/core-js/modules/es.array.reduce.js"); -/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_32__); -/* harmony import */ var core_js_modules_es_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! core-js/modules/es.array.reduce-right.js */ "./node_modules/core-js/modules/es.array.reduce-right.js"); -/* harmony import */ var core_js_modules_es_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_33__); -/* harmony import */ var core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! core-js/modules/es.array.reverse.js */ "./node_modules/core-js/modules/es.array.reverse.js"); -/* harmony import */ var core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reverse_js__WEBPACK_IMPORTED_MODULE_34__); -/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js"); -/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_35__); -/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ "./node_modules/core-js/modules/es.array.some.js"); -/* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_36__); -/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ "./node_modules/core-js/modules/es.array.sort.js"); -/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_37__); -/* harmony import */ var core_js_modules_es_array_species_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! core-js/modules/es.array.species.js */ "./node_modules/core-js/modules/es.array.species.js"); -/* harmony import */ var core_js_modules_es_array_species_js__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_species_js__WEBPACK_IMPORTED_MODULE_38__); -/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js"); -/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_39__); -/* harmony import */ var core_js_modules_es_array_unscopables_flat_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! core-js/modules/es.array.unscopables.flat.js */ "./node_modules/core-js/modules/es.array.unscopables.flat.js"); -/* harmony import */ var core_js_modules_es_array_unscopables_flat_js__WEBPACK_IMPORTED_MODULE_40___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_unscopables_flat_js__WEBPACK_IMPORTED_MODULE_40__); -/* harmony import */ var core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! core-js/modules/es.array.unscopables.flat-map.js */ "./node_modules/core-js/modules/es.array.unscopables.flat-map.js"); -/* harmony import */ var core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_41___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_41__); -/* harmony import */ var core_js_modules_es_array_buffer_constructor_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! core-js/modules/es.array-buffer.constructor.js */ "./node_modules/core-js/modules/es.array-buffer.constructor.js"); -/* harmony import */ var core_js_modules_es_array_buffer_constructor_js__WEBPACK_IMPORTED_MODULE_42___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_buffer_constructor_js__WEBPACK_IMPORTED_MODULE_42__); -/* harmony import */ var core_js_modules_es_array_buffer_slice_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ "./node_modules/core-js/modules/es.array-buffer.slice.js"); -/* harmony import */ var core_js_modules_es_array_buffer_slice_js__WEBPACK_IMPORTED_MODULE_43___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_buffer_slice_js__WEBPACK_IMPORTED_MODULE_43__); -/* harmony import */ var core_js_modules_es_date_to_json_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! core-js/modules/es.date.to-json.js */ "./node_modules/core-js/modules/es.date.to-json.js"); -/* harmony import */ var core_js_modules_es_date_to_json_js__WEBPACK_IMPORTED_MODULE_44___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_json_js__WEBPACK_IMPORTED_MODULE_44__); -/* harmony import */ var core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! core-js/modules/es.date.to-primitive.js */ "./node_modules/core-js/modules/es.date.to-primitive.js"); -/* harmony import */ var core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_45___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_45__); -/* harmony import */ var core_js_modules_es_function_has_instance_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! core-js/modules/es.function.has-instance.js */ "./node_modules/core-js/modules/es.function.has-instance.js"); -/* harmony import */ var core_js_modules_es_function_has_instance_js__WEBPACK_IMPORTED_MODULE_46___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_has_instance_js__WEBPACK_IMPORTED_MODULE_46__); -/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js"); -/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_47___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_47__); -/* harmony import */ var core_js_modules_es_json_to_string_tag_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ "./node_modules/core-js/modules/es.json.to-string-tag.js"); -/* harmony import */ var core_js_modules_es_json_to_string_tag_js__WEBPACK_IMPORTED_MODULE_48___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_to_string_tag_js__WEBPACK_IMPORTED_MODULE_48__); -/* harmony import */ var core_js_modules_es_map_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! core-js/modules/es.map.js */ "./node_modules/core-js/modules/es.map.js"); -/* harmony import */ var core_js_modules_es_map_js__WEBPACK_IMPORTED_MODULE_49___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_js__WEBPACK_IMPORTED_MODULE_49__); -/* harmony import */ var core_js_modules_es_math_acosh_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! core-js/modules/es.math.acosh.js */ "./node_modules/core-js/modules/es.math.acosh.js"); -/* harmony import */ var core_js_modules_es_math_acosh_js__WEBPACK_IMPORTED_MODULE_50___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_acosh_js__WEBPACK_IMPORTED_MODULE_50__); -/* harmony import */ var core_js_modules_es_math_asinh_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! core-js/modules/es.math.asinh.js */ "./node_modules/core-js/modules/es.math.asinh.js"); -/* harmony import */ var core_js_modules_es_math_asinh_js__WEBPACK_IMPORTED_MODULE_51___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_asinh_js__WEBPACK_IMPORTED_MODULE_51__); -/* harmony import */ var core_js_modules_es_math_atanh_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! core-js/modules/es.math.atanh.js */ "./node_modules/core-js/modules/es.math.atanh.js"); -/* harmony import */ var core_js_modules_es_math_atanh_js__WEBPACK_IMPORTED_MODULE_52___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_atanh_js__WEBPACK_IMPORTED_MODULE_52__); -/* harmony import */ var core_js_modules_es_math_cbrt_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! core-js/modules/es.math.cbrt.js */ "./node_modules/core-js/modules/es.math.cbrt.js"); -/* harmony import */ var core_js_modules_es_math_cbrt_js__WEBPACK_IMPORTED_MODULE_53___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_cbrt_js__WEBPACK_IMPORTED_MODULE_53__); -/* harmony import */ var core_js_modules_es_math_clz32_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! core-js/modules/es.math.clz32.js */ "./node_modules/core-js/modules/es.math.clz32.js"); -/* harmony import */ var core_js_modules_es_math_clz32_js__WEBPACK_IMPORTED_MODULE_54___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_clz32_js__WEBPACK_IMPORTED_MODULE_54__); -/* harmony import */ var core_js_modules_es_math_cosh_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! core-js/modules/es.math.cosh.js */ "./node_modules/core-js/modules/es.math.cosh.js"); -/* harmony import */ var core_js_modules_es_math_cosh_js__WEBPACK_IMPORTED_MODULE_55___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_cosh_js__WEBPACK_IMPORTED_MODULE_55__); -/* harmony import */ var core_js_modules_es_math_expm1_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! core-js/modules/es.math.expm1.js */ "./node_modules/core-js/modules/es.math.expm1.js"); -/* harmony import */ var core_js_modules_es_math_expm1_js__WEBPACK_IMPORTED_MODULE_56___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_expm1_js__WEBPACK_IMPORTED_MODULE_56__); -/* harmony import */ var core_js_modules_es_math_fround_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! core-js/modules/es.math.fround.js */ "./node_modules/core-js/modules/es.math.fround.js"); -/* harmony import */ var core_js_modules_es_math_fround_js__WEBPACK_IMPORTED_MODULE_57___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_fround_js__WEBPACK_IMPORTED_MODULE_57__); -/* harmony import */ var core_js_modules_es_math_hypot_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! core-js/modules/es.math.hypot.js */ "./node_modules/core-js/modules/es.math.hypot.js"); -/* harmony import */ var core_js_modules_es_math_hypot_js__WEBPACK_IMPORTED_MODULE_58___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_hypot_js__WEBPACK_IMPORTED_MODULE_58__); -/* harmony import */ var core_js_modules_es_math_imul_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! core-js/modules/es.math.imul.js */ "./node_modules/core-js/modules/es.math.imul.js"); -/* harmony import */ var core_js_modules_es_math_imul_js__WEBPACK_IMPORTED_MODULE_59___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_imul_js__WEBPACK_IMPORTED_MODULE_59__); -/* harmony import */ var core_js_modules_es_math_log10_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! core-js/modules/es.math.log10.js */ "./node_modules/core-js/modules/es.math.log10.js"); -/* harmony import */ var core_js_modules_es_math_log10_js__WEBPACK_IMPORTED_MODULE_60___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_log10_js__WEBPACK_IMPORTED_MODULE_60__); -/* harmony import */ var core_js_modules_es_math_log1p_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! core-js/modules/es.math.log1p.js */ "./node_modules/core-js/modules/es.math.log1p.js"); -/* harmony import */ var core_js_modules_es_math_log1p_js__WEBPACK_IMPORTED_MODULE_61___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_log1p_js__WEBPACK_IMPORTED_MODULE_61__); -/* harmony import */ var core_js_modules_es_math_log2_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! core-js/modules/es.math.log2.js */ "./node_modules/core-js/modules/es.math.log2.js"); -/* harmony import */ var core_js_modules_es_math_log2_js__WEBPACK_IMPORTED_MODULE_62___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_log2_js__WEBPACK_IMPORTED_MODULE_62__); -/* harmony import */ var core_js_modules_es_math_sign_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! core-js/modules/es.math.sign.js */ "./node_modules/core-js/modules/es.math.sign.js"); -/* harmony import */ var core_js_modules_es_math_sign_js__WEBPACK_IMPORTED_MODULE_63___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_sign_js__WEBPACK_IMPORTED_MODULE_63__); -/* harmony import */ var core_js_modules_es_math_sinh_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! core-js/modules/es.math.sinh.js */ "./node_modules/core-js/modules/es.math.sinh.js"); -/* harmony import */ var core_js_modules_es_math_sinh_js__WEBPACK_IMPORTED_MODULE_64___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_sinh_js__WEBPACK_IMPORTED_MODULE_64__); -/* harmony import */ var core_js_modules_es_math_tanh_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! core-js/modules/es.math.tanh.js */ "./node_modules/core-js/modules/es.math.tanh.js"); -/* harmony import */ var core_js_modules_es_math_tanh_js__WEBPACK_IMPORTED_MODULE_65___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_tanh_js__WEBPACK_IMPORTED_MODULE_65__); -/* harmony import */ var core_js_modules_es_math_to_string_tag_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ "./node_modules/core-js/modules/es.math.to-string-tag.js"); -/* harmony import */ var core_js_modules_es_math_to_string_tag_js__WEBPACK_IMPORTED_MODULE_66___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_to_string_tag_js__WEBPACK_IMPORTED_MODULE_66__); -/* harmony import */ var core_js_modules_es_math_trunc_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! core-js/modules/es.math.trunc.js */ "./node_modules/core-js/modules/es.math.trunc.js"); -/* harmony import */ var core_js_modules_es_math_trunc_js__WEBPACK_IMPORTED_MODULE_67___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_trunc_js__WEBPACK_IMPORTED_MODULE_67__); -/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js"); -/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_68___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_68__); -/* harmony import */ var core_js_modules_es_number_epsilon_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! core-js/modules/es.number.epsilon.js */ "./node_modules/core-js/modules/es.number.epsilon.js"); -/* harmony import */ var core_js_modules_es_number_epsilon_js__WEBPACK_IMPORTED_MODULE_69___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_epsilon_js__WEBPACK_IMPORTED_MODULE_69__); -/* harmony import */ var core_js_modules_es_number_is_finite_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! core-js/modules/es.number.is-finite.js */ "./node_modules/core-js/modules/es.number.is-finite.js"); -/* harmony import */ var core_js_modules_es_number_is_finite_js__WEBPACK_IMPORTED_MODULE_70___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_is_finite_js__WEBPACK_IMPORTED_MODULE_70__); -/* harmony import */ var core_js_modules_es_number_is_integer_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! core-js/modules/es.number.is-integer.js */ "./node_modules/core-js/modules/es.number.is-integer.js"); -/* harmony import */ var core_js_modules_es_number_is_integer_js__WEBPACK_IMPORTED_MODULE_71___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_is_integer_js__WEBPACK_IMPORTED_MODULE_71__); -/* harmony import */ var core_js_modules_es_number_is_nan_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! core-js/modules/es.number.is-nan.js */ "./node_modules/core-js/modules/es.number.is-nan.js"); -/* harmony import */ var core_js_modules_es_number_is_nan_js__WEBPACK_IMPORTED_MODULE_72___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_is_nan_js__WEBPACK_IMPORTED_MODULE_72__); -/* harmony import */ var core_js_modules_es_number_is_safe_integer_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! core-js/modules/es.number.is-safe-integer.js */ "./node_modules/core-js/modules/es.number.is-safe-integer.js"); -/* harmony import */ var core_js_modules_es_number_is_safe_integer_js__WEBPACK_IMPORTED_MODULE_73___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_is_safe_integer_js__WEBPACK_IMPORTED_MODULE_73__); -/* harmony import */ var core_js_modules_es_number_max_safe_integer_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! core-js/modules/es.number.max-safe-integer.js */ "./node_modules/core-js/modules/es.number.max-safe-integer.js"); -/* harmony import */ var core_js_modules_es_number_max_safe_integer_js__WEBPACK_IMPORTED_MODULE_74___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_max_safe_integer_js__WEBPACK_IMPORTED_MODULE_74__); -/* harmony import */ var core_js_modules_es_number_min_safe_integer_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! core-js/modules/es.number.min-safe-integer.js */ "./node_modules/core-js/modules/es.number.min-safe-integer.js"); -/* harmony import */ var core_js_modules_es_number_min_safe_integer_js__WEBPACK_IMPORTED_MODULE_75___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_min_safe_integer_js__WEBPACK_IMPORTED_MODULE_75__); -/* harmony import */ var core_js_modules_es_number_parse_float_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! core-js/modules/es.number.parse-float.js */ "./node_modules/core-js/modules/es.number.parse-float.js"); -/* harmony import */ var core_js_modules_es_number_parse_float_js__WEBPACK_IMPORTED_MODULE_76___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_parse_float_js__WEBPACK_IMPORTED_MODULE_76__); -/* harmony import */ var core_js_modules_es_number_parse_int_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! core-js/modules/es.number.parse-int.js */ "./node_modules/core-js/modules/es.number.parse-int.js"); -/* harmony import */ var core_js_modules_es_number_parse_int_js__WEBPACK_IMPORTED_MODULE_77___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_parse_int_js__WEBPACK_IMPORTED_MODULE_77__); -/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ "./node_modules/core-js/modules/es.number.to-fixed.js"); -/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_78___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_78__); -/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js"); -/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_79___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_79__); -/* harmony import */ var core_js_modules_es_object_define_getter_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! core-js/modules/es.object.define-getter.js */ "./node_modules/core-js/modules/es.object.define-getter.js"); -/* harmony import */ var core_js_modules_es_object_define_getter_js__WEBPACK_IMPORTED_MODULE_80___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_getter_js__WEBPACK_IMPORTED_MODULE_80__); -/* harmony import */ var core_js_modules_es_object_define_setter_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! core-js/modules/es.object.define-setter.js */ "./node_modules/core-js/modules/es.object.define-setter.js"); -/* harmony import */ var core_js_modules_es_object_define_setter_js__WEBPACK_IMPORTED_MODULE_81___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_setter_js__WEBPACK_IMPORTED_MODULE_81__); -/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ "./node_modules/core-js/modules/es.object.entries.js"); -/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_82___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_82__); -/* harmony import */ var core_js_modules_es_object_freeze_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! core-js/modules/es.object.freeze.js */ "./node_modules/core-js/modules/es.object.freeze.js"); -/* harmony import */ var core_js_modules_es_object_freeze_js__WEBPACK_IMPORTED_MODULE_83___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_freeze_js__WEBPACK_IMPORTED_MODULE_83__); -/* harmony import */ var core_js_modules_es_object_from_entries_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! core-js/modules/es.object.from-entries.js */ "./node_modules/core-js/modules/es.object.from-entries.js"); -/* harmony import */ var core_js_modules_es_object_from_entries_js__WEBPACK_IMPORTED_MODULE_84___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_from_entries_js__WEBPACK_IMPORTED_MODULE_84__); -/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js"); -/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_85___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_85__); -/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js"); -/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_86___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_86__); -/* harmony import */ var core_js_modules_es_object_get_own_property_names_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-names.js */ "./node_modules/core-js/modules/es.object.get-own-property-names.js"); -/* harmony import */ var core_js_modules_es_object_get_own_property_names_js__WEBPACK_IMPORTED_MODULE_87___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_names_js__WEBPACK_IMPORTED_MODULE_87__); -/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js"); -/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_88___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_88__); -/* harmony import */ var core_js_modules_es_object_is_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! core-js/modules/es.object.is.js */ "./node_modules/core-js/modules/es.object.is.js"); -/* harmony import */ var core_js_modules_es_object_is_js__WEBPACK_IMPORTED_MODULE_89___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_is_js__WEBPACK_IMPORTED_MODULE_89__); -/* harmony import */ var core_js_modules_es_object_is_extensible_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! core-js/modules/es.object.is-extensible.js */ "./node_modules/core-js/modules/es.object.is-extensible.js"); -/* harmony import */ var core_js_modules_es_object_is_extensible_js__WEBPACK_IMPORTED_MODULE_90___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_is_extensible_js__WEBPACK_IMPORTED_MODULE_90__); -/* harmony import */ var core_js_modules_es_object_is_frozen_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! core-js/modules/es.object.is-frozen.js */ "./node_modules/core-js/modules/es.object.is-frozen.js"); -/* harmony import */ var core_js_modules_es_object_is_frozen_js__WEBPACK_IMPORTED_MODULE_91___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_is_frozen_js__WEBPACK_IMPORTED_MODULE_91__); -/* harmony import */ var core_js_modules_es_object_is_sealed_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! core-js/modules/es.object.is-sealed.js */ "./node_modules/core-js/modules/es.object.is-sealed.js"); -/* harmony import */ var core_js_modules_es_object_is_sealed_js__WEBPACK_IMPORTED_MODULE_92___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_is_sealed_js__WEBPACK_IMPORTED_MODULE_92__); -/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js"); -/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_93___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_93__); -/* harmony import */ var core_js_modules_es_object_lookup_getter_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! core-js/modules/es.object.lookup-getter.js */ "./node_modules/core-js/modules/es.object.lookup-getter.js"); -/* harmony import */ var core_js_modules_es_object_lookup_getter_js__WEBPACK_IMPORTED_MODULE_94___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_lookup_getter_js__WEBPACK_IMPORTED_MODULE_94__); -/* harmony import */ var core_js_modules_es_object_lookup_setter_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! core-js/modules/es.object.lookup-setter.js */ "./node_modules/core-js/modules/es.object.lookup-setter.js"); -/* harmony import */ var core_js_modules_es_object_lookup_setter_js__WEBPACK_IMPORTED_MODULE_95___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_lookup_setter_js__WEBPACK_IMPORTED_MODULE_95__); -/* harmony import */ var core_js_modules_es_object_prevent_extensions_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! core-js/modules/es.object.prevent-extensions.js */ "./node_modules/core-js/modules/es.object.prevent-extensions.js"); -/* harmony import */ var core_js_modules_es_object_prevent_extensions_js__WEBPACK_IMPORTED_MODULE_96___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_prevent_extensions_js__WEBPACK_IMPORTED_MODULE_96__); -/* harmony import */ var core_js_modules_es_object_seal_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! core-js/modules/es.object.seal.js */ "./node_modules/core-js/modules/es.object.seal.js"); -/* harmony import */ var core_js_modules_es_object_seal_js__WEBPACK_IMPORTED_MODULE_97___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_seal_js__WEBPACK_IMPORTED_MODULE_97__); -/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); -/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_98___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_98__); -/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ "./node_modules/core-js/modules/es.object.values.js"); -/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_99___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_99__); -/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! core-js/modules/es.promise.js */ "./node_modules/core-js/modules/es.promise.js"); -/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_100___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_100__); -/* harmony import */ var core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! core-js/modules/es.promise.finally.js */ "./node_modules/core-js/modules/es.promise.finally.js"); -/* harmony import */ var core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_101___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_101__); -/* harmony import */ var core_js_modules_es_reflect_apply_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! core-js/modules/es.reflect.apply.js */ "./node_modules/core-js/modules/es.reflect.apply.js"); -/* harmony import */ var core_js_modules_es_reflect_apply_js__WEBPACK_IMPORTED_MODULE_102___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_apply_js__WEBPACK_IMPORTED_MODULE_102__); -/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js"); -/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_103___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_103__); -/* harmony import */ var core_js_modules_es_reflect_define_property_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! core-js/modules/es.reflect.define-property.js */ "./node_modules/core-js/modules/es.reflect.define-property.js"); -/* harmony import */ var core_js_modules_es_reflect_define_property_js__WEBPACK_IMPORTED_MODULE_104___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_define_property_js__WEBPACK_IMPORTED_MODULE_104__); -/* harmony import */ var core_js_modules_es_reflect_delete_property_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! core-js/modules/es.reflect.delete-property.js */ "./node_modules/core-js/modules/es.reflect.delete-property.js"); -/* harmony import */ var core_js_modules_es_reflect_delete_property_js__WEBPACK_IMPORTED_MODULE_105___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_delete_property_js__WEBPACK_IMPORTED_MODULE_105__); -/* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! core-js/modules/es.reflect.get.js */ "./node_modules/core-js/modules/es.reflect.get.js"); -/* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_106___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_106__); -/* harmony import */ var core_js_modules_es_reflect_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! core-js/modules/es.reflect.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js"); -/* harmony import */ var core_js_modules_es_reflect_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_107___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_107__); -/* harmony import */ var core_js_modules_es_reflect_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! core-js/modules/es.reflect.get-prototype-of.js */ "./node_modules/core-js/modules/es.reflect.get-prototype-of.js"); -/* harmony import */ var core_js_modules_es_reflect_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_108___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_108__); -/* harmony import */ var core_js_modules_es_reflect_has_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! core-js/modules/es.reflect.has.js */ "./node_modules/core-js/modules/es.reflect.has.js"); -/* harmony import */ var core_js_modules_es_reflect_has_js__WEBPACK_IMPORTED_MODULE_109___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_has_js__WEBPACK_IMPORTED_MODULE_109__); -/* harmony import */ var core_js_modules_es_reflect_is_extensible_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! core-js/modules/es.reflect.is-extensible.js */ "./node_modules/core-js/modules/es.reflect.is-extensible.js"); -/* harmony import */ var core_js_modules_es_reflect_is_extensible_js__WEBPACK_IMPORTED_MODULE_110___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_is_extensible_js__WEBPACK_IMPORTED_MODULE_110__); -/* harmony import */ var core_js_modules_es_reflect_own_keys_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! core-js/modules/es.reflect.own-keys.js */ "./node_modules/core-js/modules/es.reflect.own-keys.js"); -/* harmony import */ var core_js_modules_es_reflect_own_keys_js__WEBPACK_IMPORTED_MODULE_111___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_own_keys_js__WEBPACK_IMPORTED_MODULE_111__); -/* harmony import */ var core_js_modules_es_reflect_prevent_extensions_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! core-js/modules/es.reflect.prevent-extensions.js */ "./node_modules/core-js/modules/es.reflect.prevent-extensions.js"); -/* harmony import */ var core_js_modules_es_reflect_prevent_extensions_js__WEBPACK_IMPORTED_MODULE_112___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_prevent_extensions_js__WEBPACK_IMPORTED_MODULE_112__); -/* harmony import */ var core_js_modules_es_reflect_set_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! core-js/modules/es.reflect.set.js */ "./node_modules/core-js/modules/es.reflect.set.js"); -/* harmony import */ var core_js_modules_es_reflect_set_js__WEBPACK_IMPORTED_MODULE_113___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_set_js__WEBPACK_IMPORTED_MODULE_113__); -/* harmony import */ var core_js_modules_es_reflect_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! core-js/modules/es.reflect.set-prototype-of.js */ "./node_modules/core-js/modules/es.reflect.set-prototype-of.js"); -/* harmony import */ var core_js_modules_es_reflect_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_114___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_114__); -/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ "./node_modules/core-js/modules/es.regexp.constructor.js"); -/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_115___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_115__); -/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js"); -/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_116___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_116__); -/* harmony import */ var core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! core-js/modules/es.regexp.flags.js */ "./node_modules/core-js/modules/es.regexp.flags.js"); -/* harmony import */ var core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_117___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_117__); -/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js"); -/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_118___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_118__); -/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! core-js/modules/es.set.js */ "./node_modules/core-js/modules/es.set.js"); -/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_119___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_119__); -/* harmony import */ var core_js_modules_es_string_code_point_at_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! core-js/modules/es.string.code-point-at.js */ "./node_modules/core-js/modules/es.string.code-point-at.js"); -/* harmony import */ var core_js_modules_es_string_code_point_at_js__WEBPACK_IMPORTED_MODULE_120___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_code_point_at_js__WEBPACK_IMPORTED_MODULE_120__); -/* harmony import */ var core_js_modules_es_string_ends_with_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! core-js/modules/es.string.ends-with.js */ "./node_modules/core-js/modules/es.string.ends-with.js"); -/* harmony import */ var core_js_modules_es_string_ends_with_js__WEBPACK_IMPORTED_MODULE_121___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_ends_with_js__WEBPACK_IMPORTED_MODULE_121__); -/* harmony import */ var core_js_modules_es_string_from_code_point_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! core-js/modules/es.string.from-code-point.js */ "./node_modules/core-js/modules/es.string.from-code-point.js"); -/* harmony import */ var core_js_modules_es_string_from_code_point_js__WEBPACK_IMPORTED_MODULE_122___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_from_code_point_js__WEBPACK_IMPORTED_MODULE_122__); -/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js"); -/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_123___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_123__); -/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js"); -/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_124___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_124__); -/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ "./node_modules/core-js/modules/es.string.match.js"); -/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_125___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_125__); -/* harmony import */ var core_js_modules_es_string_pad_end_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! core-js/modules/es.string.pad-end.js */ "./node_modules/core-js/modules/es.string.pad-end.js"); -/* harmony import */ var core_js_modules_es_string_pad_end_js__WEBPACK_IMPORTED_MODULE_126___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_pad_end_js__WEBPACK_IMPORTED_MODULE_126__); -/* harmony import */ var core_js_modules_es_string_pad_start_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! core-js/modules/es.string.pad-start.js */ "./node_modules/core-js/modules/es.string.pad-start.js"); -/* harmony import */ var core_js_modules_es_string_pad_start_js__WEBPACK_IMPORTED_MODULE_127___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_pad_start_js__WEBPACK_IMPORTED_MODULE_127__); -/* harmony import */ var core_js_modules_es_string_raw_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! core-js/modules/es.string.raw.js */ "./node_modules/core-js/modules/es.string.raw.js"); -/* harmony import */ var core_js_modules_es_string_raw_js__WEBPACK_IMPORTED_MODULE_128___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_raw_js__WEBPACK_IMPORTED_MODULE_128__); -/* harmony import */ var core_js_modules_es_string_repeat_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! core-js/modules/es.string.repeat.js */ "./node_modules/core-js/modules/es.string.repeat.js"); -/* harmony import */ var core_js_modules_es_string_repeat_js__WEBPACK_IMPORTED_MODULE_129___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_repeat_js__WEBPACK_IMPORTED_MODULE_129__); -/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js"); -/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_130___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_130__); -/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ "./node_modules/core-js/modules/es.string.search.js"); -/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_131___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_131__); -/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js"); -/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_132___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_132__); -/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ "./node_modules/core-js/modules/es.string.starts-with.js"); -/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_133___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_133__); -/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ "./node_modules/core-js/modules/es.string.trim.js"); -/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_134___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_134__); -/* harmony import */ var core_js_modules_es_string_trim_end_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! core-js/modules/es.string.trim-end.js */ "./node_modules/core-js/modules/es.string.trim-end.js"); -/* harmony import */ var core_js_modules_es_string_trim_end_js__WEBPACK_IMPORTED_MODULE_135___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_end_js__WEBPACK_IMPORTED_MODULE_135__); -/* harmony import */ var core_js_modules_es_string_trim_start_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! core-js/modules/es.string.trim-start.js */ "./node_modules/core-js/modules/es.string.trim-start.js"); -/* harmony import */ var core_js_modules_es_string_trim_start_js__WEBPACK_IMPORTED_MODULE_136___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_start_js__WEBPACK_IMPORTED_MODULE_136__); -/* harmony import */ var core_js_modules_es_string_anchor_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! core-js/modules/es.string.anchor.js */ "./node_modules/core-js/modules/es.string.anchor.js"); -/* harmony import */ var core_js_modules_es_string_anchor_js__WEBPACK_IMPORTED_MODULE_137___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_anchor_js__WEBPACK_IMPORTED_MODULE_137__); -/* harmony import */ var core_js_modules_es_string_big_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! core-js/modules/es.string.big.js */ "./node_modules/core-js/modules/es.string.big.js"); -/* harmony import */ var core_js_modules_es_string_big_js__WEBPACK_IMPORTED_MODULE_138___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_big_js__WEBPACK_IMPORTED_MODULE_138__); -/* harmony import */ var core_js_modules_es_string_blink_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! core-js/modules/es.string.blink.js */ "./node_modules/core-js/modules/es.string.blink.js"); -/* harmony import */ var core_js_modules_es_string_blink_js__WEBPACK_IMPORTED_MODULE_139___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_blink_js__WEBPACK_IMPORTED_MODULE_139__); -/* harmony import */ var core_js_modules_es_string_bold_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! core-js/modules/es.string.bold.js */ "./node_modules/core-js/modules/es.string.bold.js"); -/* harmony import */ var core_js_modules_es_string_bold_js__WEBPACK_IMPORTED_MODULE_140___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_bold_js__WEBPACK_IMPORTED_MODULE_140__); -/* harmony import */ var core_js_modules_es_string_fixed_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! core-js/modules/es.string.fixed.js */ "./node_modules/core-js/modules/es.string.fixed.js"); -/* harmony import */ var core_js_modules_es_string_fixed_js__WEBPACK_IMPORTED_MODULE_141___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_fixed_js__WEBPACK_IMPORTED_MODULE_141__); -/* harmony import */ var core_js_modules_es_string_fontcolor_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! core-js/modules/es.string.fontcolor.js */ "./node_modules/core-js/modules/es.string.fontcolor.js"); -/* harmony import */ var core_js_modules_es_string_fontcolor_js__WEBPACK_IMPORTED_MODULE_142___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_fontcolor_js__WEBPACK_IMPORTED_MODULE_142__); -/* harmony import */ var core_js_modules_es_string_fontsize_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! core-js/modules/es.string.fontsize.js */ "./node_modules/core-js/modules/es.string.fontsize.js"); -/* harmony import */ var core_js_modules_es_string_fontsize_js__WEBPACK_IMPORTED_MODULE_143___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_fontsize_js__WEBPACK_IMPORTED_MODULE_143__); -/* harmony import */ var core_js_modules_es_string_italics_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! core-js/modules/es.string.italics.js */ "./node_modules/core-js/modules/es.string.italics.js"); -/* harmony import */ var core_js_modules_es_string_italics_js__WEBPACK_IMPORTED_MODULE_144___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_italics_js__WEBPACK_IMPORTED_MODULE_144__); -/* harmony import */ var core_js_modules_es_string_link_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! core-js/modules/es.string.link.js */ "./node_modules/core-js/modules/es.string.link.js"); -/* harmony import */ var core_js_modules_es_string_link_js__WEBPACK_IMPORTED_MODULE_145___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_link_js__WEBPACK_IMPORTED_MODULE_145__); -/* harmony import */ var core_js_modules_es_string_small_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! core-js/modules/es.string.small.js */ "./node_modules/core-js/modules/es.string.small.js"); -/* harmony import */ var core_js_modules_es_string_small_js__WEBPACK_IMPORTED_MODULE_146___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_small_js__WEBPACK_IMPORTED_MODULE_146__); -/* harmony import */ var core_js_modules_es_string_strike_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! core-js/modules/es.string.strike.js */ "./node_modules/core-js/modules/es.string.strike.js"); -/* harmony import */ var core_js_modules_es_string_strike_js__WEBPACK_IMPORTED_MODULE_147___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_strike_js__WEBPACK_IMPORTED_MODULE_147__); -/* harmony import */ var core_js_modules_es_string_sub_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! core-js/modules/es.string.sub.js */ "./node_modules/core-js/modules/es.string.sub.js"); -/* harmony import */ var core_js_modules_es_string_sub_js__WEBPACK_IMPORTED_MODULE_148___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_sub_js__WEBPACK_IMPORTED_MODULE_148__); -/* harmony import */ var core_js_modules_es_string_sup_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! core-js/modules/es.string.sup.js */ "./node_modules/core-js/modules/es.string.sup.js"); -/* harmony import */ var core_js_modules_es_string_sup_js__WEBPACK_IMPORTED_MODULE_149___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_sup_js__WEBPACK_IMPORTED_MODULE_149__); -/* harmony import */ var core_js_modules_es_typed_array_float32_array_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! core-js/modules/es.typed-array.float32-array.js */ "./node_modules/core-js/modules/es.typed-array.float32-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_float32_array_js__WEBPACK_IMPORTED_MODULE_150___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_float32_array_js__WEBPACK_IMPORTED_MODULE_150__); -/* harmony import */ var core_js_modules_es_typed_array_float64_array_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! core-js/modules/es.typed-array.float64-array.js */ "./node_modules/core-js/modules/es.typed-array.float64-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_float64_array_js__WEBPACK_IMPORTED_MODULE_151___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_float64_array_js__WEBPACK_IMPORTED_MODULE_151__); -/* harmony import */ var core_js_modules_es_typed_array_int8_array_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! core-js/modules/es.typed-array.int8-array.js */ "./node_modules/core-js/modules/es.typed-array.int8-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_int8_array_js__WEBPACK_IMPORTED_MODULE_152___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_int8_array_js__WEBPACK_IMPORTED_MODULE_152__); -/* harmony import */ var core_js_modules_es_typed_array_int16_array_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! core-js/modules/es.typed-array.int16-array.js */ "./node_modules/core-js/modules/es.typed-array.int16-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_int16_array_js__WEBPACK_IMPORTED_MODULE_153___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_int16_array_js__WEBPACK_IMPORTED_MODULE_153__); -/* harmony import */ var core_js_modules_es_typed_array_int32_array_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! core-js/modules/es.typed-array.int32-array.js */ "./node_modules/core-js/modules/es.typed-array.int32-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_int32_array_js__WEBPACK_IMPORTED_MODULE_154___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_int32_array_js__WEBPACK_IMPORTED_MODULE_154__); -/* harmony import */ var core_js_modules_es_typed_array_uint8_array_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! core-js/modules/es.typed-array.uint8-array.js */ "./node_modules/core-js/modules/es.typed-array.uint8-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_uint8_array_js__WEBPACK_IMPORTED_MODULE_155___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_uint8_array_js__WEBPACK_IMPORTED_MODULE_155__); -/* harmony import */ var core_js_modules_es_typed_array_uint8_clamped_array_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! core-js/modules/es.typed-array.uint8-clamped-array.js */ "./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_uint8_clamped_array_js__WEBPACK_IMPORTED_MODULE_156___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_uint8_clamped_array_js__WEBPACK_IMPORTED_MODULE_156__); -/* harmony import */ var core_js_modules_es_typed_array_uint16_array_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! core-js/modules/es.typed-array.uint16-array.js */ "./node_modules/core-js/modules/es.typed-array.uint16-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_uint16_array_js__WEBPACK_IMPORTED_MODULE_157___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_uint16_array_js__WEBPACK_IMPORTED_MODULE_157__); -/* harmony import */ var core_js_modules_es_typed_array_uint32_array_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! core-js/modules/es.typed-array.uint32-array.js */ "./node_modules/core-js/modules/es.typed-array.uint32-array.js"); -/* harmony import */ var core_js_modules_es_typed_array_uint32_array_js__WEBPACK_IMPORTED_MODULE_158___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_uint32_array_js__WEBPACK_IMPORTED_MODULE_158__); -/* harmony import */ var core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ "./node_modules/core-js/modules/es.typed-array.copy-within.js"); -/* harmony import */ var core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_159___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_159__); -/* harmony import */ var core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! core-js/modules/es.typed-array.every.js */ "./node_modules/core-js/modules/es.typed-array.every.js"); -/* harmony import */ var core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_160___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_160__); -/* harmony import */ var core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ "./node_modules/core-js/modules/es.typed-array.fill.js"); -/* harmony import */ var core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_161___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_161__); -/* harmony import */ var core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ "./node_modules/core-js/modules/es.typed-array.filter.js"); -/* harmony import */ var core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_162___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_162__); -/* harmony import */ var core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! core-js/modules/es.typed-array.find.js */ "./node_modules/core-js/modules/es.typed-array.find.js"); -/* harmony import */ var core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_163___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_163__); -/* harmony import */ var core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ "./node_modules/core-js/modules/es.typed-array.find-index.js"); -/* harmony import */ var core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_164___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_164__); -/* harmony import */ var core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ "./node_modules/core-js/modules/es.typed-array.for-each.js"); -/* harmony import */ var core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_165___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_165__); -/* harmony import */ var core_js_modules_es_typed_array_from_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! core-js/modules/es.typed-array.from.js */ "./node_modules/core-js/modules/es.typed-array.from.js"); -/* harmony import */ var core_js_modules_es_typed_array_from_js__WEBPACK_IMPORTED_MODULE_166___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_from_js__WEBPACK_IMPORTED_MODULE_166__); -/* harmony import */ var core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ "./node_modules/core-js/modules/es.typed-array.includes.js"); -/* harmony import */ var core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_167___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_167__); -/* harmony import */ var core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ "./node_modules/core-js/modules/es.typed-array.index-of.js"); -/* harmony import */ var core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_168___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_168__); -/* harmony import */ var core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ "./node_modules/core-js/modules/es.typed-array.iterator.js"); -/* harmony import */ var core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_169___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_169__); -/* harmony import */ var core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! core-js/modules/es.typed-array.join.js */ "./node_modules/core-js/modules/es.typed-array.join.js"); -/* harmony import */ var core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_170___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_170__); -/* harmony import */ var core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ "./node_modules/core-js/modules/es.typed-array.last-index-of.js"); -/* harmony import */ var core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_171___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_171__); -/* harmony import */ var core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! core-js/modules/es.typed-array.map.js */ "./node_modules/core-js/modules/es.typed-array.map.js"); -/* harmony import */ var core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_172___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_172__); -/* harmony import */ var core_js_modules_es_typed_array_of_js__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! core-js/modules/es.typed-array.of.js */ "./node_modules/core-js/modules/es.typed-array.of.js"); -/* harmony import */ var core_js_modules_es_typed_array_of_js__WEBPACK_IMPORTED_MODULE_173___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_of_js__WEBPACK_IMPORTED_MODULE_173__); -/* harmony import */ var core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ "./node_modules/core-js/modules/es.typed-array.reduce.js"); -/* harmony import */ var core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_174___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_174__); -/* harmony import */ var core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ "./node_modules/core-js/modules/es.typed-array.reduce-right.js"); -/* harmony import */ var core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_175___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_175__); -/* harmony import */ var core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ "./node_modules/core-js/modules/es.typed-array.reverse.js"); -/* harmony import */ var core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_176___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_176__); -/* harmony import */ var core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! core-js/modules/es.typed-array.set.js */ "./node_modules/core-js/modules/es.typed-array.set.js"); -/* harmony import */ var core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_177___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_177__); -/* harmony import */ var core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ "./node_modules/core-js/modules/es.typed-array.slice.js"); -/* harmony import */ var core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_178___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_178__); -/* harmony import */ var core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! core-js/modules/es.typed-array.some.js */ "./node_modules/core-js/modules/es.typed-array.some.js"); -/* harmony import */ var core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_179___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_179__); -/* harmony import */ var core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ "./node_modules/core-js/modules/es.typed-array.sort.js"); -/* harmony import */ var core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_180___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_180__); -/* harmony import */ var core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ "./node_modules/core-js/modules/es.typed-array.subarray.js"); -/* harmony import */ var core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_181___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_181__); -/* harmony import */ var core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ "./node_modules/core-js/modules/es.typed-array.to-locale-string.js"); -/* harmony import */ var core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_182___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_182__); -/* harmony import */ var core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ "./node_modules/core-js/modules/es.typed-array.to-string.js"); -/* harmony import */ var core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_183___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_183__); -/* harmony import */ var core_js_modules_es_weak_map_js__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! core-js/modules/es.weak-map.js */ "./node_modules/core-js/modules/es.weak-map.js"); -/* harmony import */ var core_js_modules_es_weak_map_js__WEBPACK_IMPORTED_MODULE_184___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_weak_map_js__WEBPACK_IMPORTED_MODULE_184__); -/* harmony import */ var core_js_modules_es_weak_set_js__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! core-js/modules/es.weak-set.js */ "./node_modules/core-js/modules/es.weak-set.js"); -/* harmony import */ var core_js_modules_es_weak_set_js__WEBPACK_IMPORTED_MODULE_185___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_weak_set_js__WEBPACK_IMPORTED_MODULE_185__); -/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); -/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_186___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_186__); -/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js"); -/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_187___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_187__); -/* harmony import */ var core_js_modules_web_immediate_js__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! core-js/modules/web.immediate.js */ "./node_modules/core-js/modules/web.immediate.js"); -/* harmony import */ var core_js_modules_web_immediate_js__WEBPACK_IMPORTED_MODULE_188___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_immediate_js__WEBPACK_IMPORTED_MODULE_188__); -/* harmony import */ var core_js_modules_web_queue_microtask_js__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! core-js/modules/web.queue-microtask.js */ "./node_modules/core-js/modules/web.queue-microtask.js"); -/* harmony import */ var core_js_modules_web_queue_microtask_js__WEBPACK_IMPORTED_MODULE_189___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_queue_microtask_js__WEBPACK_IMPORTED_MODULE_189__); -/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! core-js/modules/web.url.js */ "./node_modules/core-js/modules/web.url.js"); -/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_190___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_190__); -/* harmony import */ var core_js_modules_web_url_to_json_js__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! core-js/modules/web.url.to-json.js */ "./node_modules/core-js/modules/web.url.to-json.js"); -/* harmony import */ var core_js_modules_web_url_to_json_js__WEBPACK_IMPORTED_MODULE_191___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_to_json_js__WEBPACK_IMPORTED_MODULE_191__); -/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! core-js/modules/web.url-search-params.js */ "./node_modules/core-js/modules/web.url-search-params.js"); -/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_192___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_192__); -/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! regenerator-runtime/runtime */ "./node_modules/regenerator-runtime/runtime.js"); -/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_193___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_193__); -/* harmony import */ var nanoevents__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! nanoevents */ "./node_modules/nanoevents/index.js"); -/* harmony import */ var _components_controls__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./components/controls */ "./src/js/components/controls/index.js"); -/* harmony import */ var _components_imgsrv__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./components/imgsrv */ "./src/js/components/imgsrv.js"); -/* harmony import */ var _components_views__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./components/views */ "./src/js/components/views/index.js"); -/* harmony import */ var _components_messages__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./components/messages */ "./src/js/components/messages.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js"); -/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_198___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_198__); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -// https://babeljs.io/docs/en/babel-polyfill - // -- reader - - - - - - - -var $main = document.querySelector('main'); -window.$main = $main; -var $header = document.querySelector('header'); -var reader; // --- MOCKING UP THE VIEWER - -var HT = window.HT || {}; -window.HT = HT; - -if (location.hostname.indexOf('.hathitrust.org') < 0 || HT.is_dev && !(location.hostname.indexOf('beta-3') == 0 || location.hostname.indexOf('preview') == 0)) { - // FOR PERFORMANCE IN DEV - HT.force_size = 100; -} - -var $body = document.body; -var $viewer = document.querySelector('.d--reader--viewer'); -var $root = document.querySelector('.d--reader'); -var $sidebar = document.querySelector('#sidebar'); -var usesGrid = window.getComputedStyle(document.documentElement).getPropertyValue('--uses-grid') != 'false'; -window.usesGrid = usesGrid; -var isSafari12 = navigator.userAgent.indexOf('Safari/') > -1 && navigator.userAgent.indexOf('Version/12.1') > -1; -window.isSafari12 = isSafari12; -var isEtas = document.querySelector('#access-emergency-access') != null; -document.documentElement.dataset.isDev = HT.is_dev; - -var Reader = /*#__PURE__*/function () { - function Reader() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Reader); - - this.options = Object.assign({ - scale: 1.0 - }, options); - this.emitter = (0,nanoevents__WEBPACK_IMPORTED_MODULE_199__.createNanoEvents)(); - this.controls = {}; - this.pagedetails = { - rotate: {}, - scale: {} - }; - this.identifier = this.options.identifier; - this._trigger = null; - this.trigger = { - push: function push(value) { - this._trigger = value; - }, - pop: function pop() { - var retval = this._trigger; - this._trigger = null; - return retval; - } - }; - this.bindEvents(); - } - - _createClass(Reader, [{ - key: "start", - value: function start(params, cb) { - if (cb === undefined) { - cb = function () { - this.emit('ready', this.view.name); - $root.classList.remove('viewer--setup'); - this.view.display(params.seq || 1); - }.bind(this); - } else { - var original_cb = cb; - - cb = function () { - this.emit('ready', this.view.name); - $root.classList.remove('viewer--setup'); - original_cb(); - }.bind(this); - } - - $root.classList.add('viewer--setup'); - - if (params.view) { - $main.dataset.view = $root.dataset.view = params.view; - $root.classList.add("view--".concat(params.view)); - - if (params.restarting) { - this.emit('status', "Switching to ".concat(params.view, " view")); - } - } - - var format = params.format; - - if (params.format) { - this.options.format = params.format; - } else if (!this.options.format) { - this.options.format = 'image'; - } - - $main.dataset.format = $root.dataset.format = this.options.format; - - if (params.scale) { - this.options.scale = params.scale; - } - - if (this.controls.zoominator && !this.controls.zoominator.check(this.options.scale)) { - // the scale is no longer valid - this.options.scale = 1; - } - - this.setView({ - view: $root.dataset.view, - format: this.options.format, - seq: params.seq || 1 - }); - setTimeout(function () { - this.view.attachTo($viewer, cb); - }.bind(this), 0); - } - }, { - key: "restart", - value: function restart(params) { - var current = params.seq || this.view && this.view.currentLocation() || HT.params.seq; - - if (params.view == this.view.name && params.view == 'plaintext' && params.clicked) { - params.view = '1up'; - } - - if (params.view == '2up' && this.service.manifest.totalSeq == 1) { - params.view = '1up'; - } - - if (isEtas && params.format == 'plaintext') { - params.view = 'page'; - } - - if (params.view == this.view.name && params.format == this.view.format) { - return; - } // we track format in the reader - - - if (params.format) { - this.options.format = params.format; - } - - if (params.view && params.view != this.view.name) { - this.options.lastView = this.view.name; - } - - params.restarting = true; - - if (this.view) { - $main.classList.remove("view--".concat(this.view.name)); - this.view.destroy(); - this.view = null; - } - - this.start(params, function () { - this.view.display(current); - }.bind(this)); - } - }, { - key: "setView", - value: function setView(params) { - var cls = _components_views__WEBPACK_IMPORTED_MODULE_196__.View.for(params.view); - this.view = new cls({ - reader: this, - service: this.service, - scale: this.options.scale, - format: params.format, - seq: params.seq - }); - this.emit('configure', this.view.config()); - - this._updateViews(params.view); - - HT.update_status("Viewing book in ".concat(this.view.displayLabel, " view.")); - HT.prefs.set({ - pt: { - view: params.view, - format: params.format - } - }); - HT.view = this.view; - } - }, { - key: "next", - value: function next() { - var params = { - eventReferrer: document.documentElement.dataset.eventReferrer - }; - this.view.next(params); - document.documentElement.dataset.eventReferrer = null; - } - }, { - key: "prev", - value: function prev() { - var params = { - eventReferrer: document.documentElement.dataset.eventReferrer - }; - this.view.prev(params); - document.documentElement.dataset.eventReferrer = null; - } - }, { - key: "first", - value: function first() { - var params = { - eventReferrer: document.documentElement.dataset.eventReferrer - }; - this.view.first(params); - document.documentElement.dataset.eventReferrer = null; - } - }, { - key: "last", - value: function last() { - var params = { - eventReferrer: document.documentElement.dataset.eventReferrer - }; - this.view.last(params); - document.documentElement.dataset.eventReferrer = null; - } - }, { - key: "display", - value: function display(seq) { - this.view.display(seq); - this.emit('show:reader'); - } - }, { - key: "jump", - value: function jump(delta) { - var seq = parseInt(this.view.currentLocation(), 10); - var target = seq + delta; - - if (target < 0) { - target = 1; - } else if (target > this.service.manifest.totalSeq) { - target = this.service.manifest.totalSeq; - } - - this.display(target); - } - }, { - key: "on", - value: function on() { - return this.emitter.on.apply(this.emitter, arguments); - } - }, { - key: "emit", - value: function emit(event) { - var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.emitter.emit(event, params); - } - }, { - key: "bindEvents", - value: function bindEvents() { - var _this = this; - - /* NOOP */ - var lastMessage; - var statusTimer; - this.on('relocated', function (params) { - _this._updateHistoryUrl(params); // legacy - - - HT.params.seq = params.seq; - HT.params.view = _this.view.name; - _this._currentLocation = params.seq; - - _this._updateLinks(params.seq); - - _this.emit('track'); - }); - this.on('relocated', function (params) { - _this.emit('status', "Showing page scan ".concat(params.seq)); - }); - this.on('redraw', function (params) { - if (params.scale) { - // && ! this.is_mobile - _this.options.scale = params.scale; - - _this.trigger.push("zoom:".concat(params.scale)); // triggers track - - - _this._logAction(undefined, "zoom:".concat(params.scale)); - - _this._updateHistoryUrl({}); - } - }); - this.on('updateSource', function (params) { - console.log("-- updateSource", params); - - _this._updateImageResolution(params.seq, params); - }); - - this._updateViewports = function () { - if (!usesGrid) { - $main.style.height = "".concat(window.innerHeight - $header.clientHeight - 25, "px"); - $viewer.style.height = $main.style.height; - $root.style.height = $main.style.height; - - if ($sidebar.style) { - $sidebar.style.height = $main.style.height; - } - } - - if (isSafari12) { - // Safari 12 patching - if (this.view && this.view.container && this.view.container.parentElement) { - var node = this.view.container.parentElement; - node.style.height = "".concat(node.parentElement.clientHeight, "px"); - } - } - }; - - if (!usesGrid || isSafari12) { - this.on('resize', function () { - _this._updateViewports(); - }); - } - - var mediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)"); - this.options.prefersReducedMotion = !mediaQuery || mediaQuery.matches; - - if (mediaQuery && mediaQuery.addEventListener) { - mediaQuery.addEventListener('change', function () { - _this.options.prefersReducedMotion = mediaQuery.matches; - }); - } - - this._resizer = lodash_debounce__WEBPACK_IMPORTED_MODULE_198___default()(function () { - // DO NOT emit resize events if we're pinch-zooming?? - if (window.visualViewport && window.visualViewport.scale > 1) { - return; - } - - this.emit('resize'); - }.bind(this), 100); - var jump = document.querySelector('#action-focus-current-page'); - jump.addEventListener('click', function (event) { - event.preventDefault(); - - _this.view.focus(true); - - _this._logAction(undefined, 'action-focus-current-page'); - - console.log("AHOY FOCUS CURRENT PAGE"); - return false; - }); - var IGNORE_FOCUS = ['input', 'textarea', 'a', 'button']; - var accesskey_triggers = document.querySelectorAll('button[accesskey][data-target]'); - - for (var i = 0; i < accesskey_triggers.length; i++) { - var btn = accesskey_triggers[i]; - btn.addEventListener('click', function (event) { - event.preventDefault(); - var btn = document.querySelector("#".concat(event.target.dataset.target)); - document.documentElement.dataset.eventReferrer = 'accesskey'; - btn.click(); - - if (_this.debug_focus) { - var $console = $("#console"); - - if ($console.length == 0) { - $console = $("

    ").appendTo($(".beta--panel")); - } - - $console.text(document.activeElement ? document.activeElement.outerHTML : '-NA-'); - } - - if (document.activeElement && IGNORE_FOCUS.indexOf(document.activeElement.localName) >= 0 && document.activeElement.getAttribute('aria-hidden') != 'hidden' && !document.activeElement.classList.contains('page')) { - return; - } - - setTimeout(function () { - // this.view.container.focus(); - _this.view.focus(true); - - if (reader.debug_focus) {// setTimeout(() => { - // console.log("AHOY CONTAINER AFTER", document.activeElement, document.querySelectorAll('.page[tabindex="0"]')); - // }, 500); - } - }, 500); - }); - } - - window.addEventListener('resize', this._resizer); - } // TODO - REFLECT CURRENT LAYOUT - - }, { - key: "_updateLinks", - value: function _updateLinks(seq) { - var self = this; - - if (!seq) { - seq = this.view.currentLocation(); - } - - if (this.view.name == '2up') { - // this is way more complicated - var verso = this.view.container.querySelector('.page[tabindex="0"].verso'); - var recto = this.view.container.querySelector('.page[tabindex="0"].recto'); - [['current-recto-seq', recto], ['current-verso-seq', verso]].forEach(function (tuple) { - var span = document.querySelector("#sidebar [data-slot=\"".concat(tuple[0], "\"]")); - - if (!span) { - return; - } - - var page = tuple[1]; - - if (page && page.dataset.seq) { - span.innerText = page.dataset.seq; - span.parentNode.previousElementSibling.disabled = false; - span.parentNode.previousElementSibling.dataset.seq = page.dataset.seq; - - self._updateImageResolution(page.dataset.seq); - } else { - span.innerText = '-'; - span.parentNode.previousElementSibling.disabled = true; - } - }); - } else { - var span = document.querySelector('#sidebar [data-slot="current-seq"]'); - - if (span) { - span.innerText = seq; - } - - this._updateImageResolution(seq); - } - - self._updateLinkSeq(document.querySelector("#pageURL"), seq, true); - - self._updateLinkSeq(document.querySelector("input[name=seq]"), seq); - - self._updateLinkSeq(document.querySelector("#login-link"), seq); - - self._updateLinkSeq(document.querySelector("#ssd-link"), seq); - - self._updateLinkSeq(document.querySelector("#ssd-link"), seq); - - document.querySelectorAll('a[data-params-seq="true"]').forEach(function (link) { - self._updateLinkSeq(link, seq); - }); - - if (HT.downloader && HT.downloader.updateDownloadFormatRangeOptions) { - HT.downloader.updateDownloadFormatRangeOptions(); - } - - self._updateOwnerId(seq); - } - }, { - key: "_updateImageResolution", - value: function _updateImageResolution(seq, meta) { - if (meta == undefined) { - meta = this.service.manifest.meta(seq); - } - - var span = document.querySelector('#sidebar [data-slot="image-full-resolution"]'); - - if (span && meta.resolution) { - span.innerHTML = "".concat(meta.resolution, " (").concat(meta.size.width, "x").concat(meta.size.height, ")"); // document.querySelector('#option-image-target-ppi-original').value = meta.resolution; - } - - span = document.querySelector('#sidebar [data-slot="image-screen-resolution"]'); - - if (span && meta.resolution) { - var r = 300 / parseInt(meta.resolution, 10); - var size150 = "".concat(Math.ceil(meta.size.width * r), "x").concat(Math.ceil(meta.size.height * r)); - span.innerHTML = "300 dpi (".concat(size150, ")"); - } - } - }, { - key: "_updateViews", - value: function _updateViews(view) { - var self = this; - - if (!view) { - view = this.view.name; - } - - self._updateLinkAttribute(document.querySelector("#login-button"), "view", view); - - var inputs = document.querySelectorAll("input[name='view']"); - - for (var i = 0; i < inputs.length; i++) { - inputs[i].value = view; - } - - $main.dataset.view = $root.dataset.view = view; - - this._updateHistoryUrl({ - view: view - }); - } - }, { - key: "_updateLinkSeq", - value: function _updateLinkSeq($link, seq) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - - if (!$link) { - return; - } - - if (seq == null || options.disabled == true) { - $link.setAttribute('disabled', 'disabled'); - $link.setAttribute('tabindex', -1); // $link.classList.add('disabled'); - - if ($link.tagName.toLowerCase() == 'a') { - $link.dataset.href = $link.getAttribute('href'); - $link.setAttribute('href', 'javascript:function() { return false; }'); - } - } else { - if (!$link.classList.contains('disabled') && $link.getAttribute('disabled') == 'disabled') { - $link.removeAttribute('disabled'); - $link.removeAttribute('tabindex'); - - if ($link.tagName.toLowerCase() == 'a') { - $link.setAttribute('href', $link.dataset.href); - } - } - - if ($link.tagName.toLowerCase() == 'input' && $link.getAttribute("name") == "seq") { - $link.value = seq; - } else if ($link.tagName.toLowerCase() == 'input') { - var href; - var ownerid; - - if ($link.dataset.baseHref) { - href = $link.dataset.baseHref; - - if (href.indexOf('hdl.handle.net') > -1) { - // handle URL - href += '?urlappend=%3Bseq=' + seq; - - if (ownerid = this.service.manifest.ownerid(seq)) { - href += '%3Bownerid=' + ownerid; - } - } - } else { - href = $link.value.replace(/seq=\d+/, "seq=" + seq); - } - - $link.value = href; - - if ($link.dataset.trackingLabel) { - $link.dataset.trackingLabel = href; - } - } else { - this._updateLinkAttribute($link, "seq", seq); - } - } - } - }, { - key: "_updateOwnerId", - value: function _updateOwnerId(seq) { - var ownerid; - - if (ownerid = this.service.manifest.ownerid(seq)) { - document.querySelector('.ownerid-label').innerText = "OwnerID: ".concat(ownerid, " / Seq: ").concat(this.service.manifest.physicalSeq(seq)); - } else { - document.querySelector('.ownerid-label').innerText = ''; - } - } - }, { - key: "_updateHistoryUrl", - value: function _updateHistoryUrl(params) { - var href = window.location.pathname + location.search; - var argv = []; - argv.push("id=".concat(this.identifier)); - argv.push("view=".concat(params.view || this.view.name)); - - if (this.view.format == 'plaintext') { - argv.push("format=plaintext"); - } - - argv.push("seq=".concat(params.seq || HT.params.seq)); - - if (HT.params.skin) { - argv.push("skin=".concat(HT.params.skin)); - } // if ( HT.params.prototype ) { argv.push(`prototype=${HT.params.prototype}`); } - - - if (this.options.scale > 1.0) { - argv.push("size=".concat(Math.floor(this.options.scale * 100))); - } - - ; - - if (HT.params.q1) { - argv.push("q1=".concat(HT.params.q1)); - } - - if (HT.params.debug) { - argv.push("debug=".concat(HT.params.debug)); - } - - if (HT.params.l11_tracking) { - argv.push("l11_tracking=".concat(HT.params.l11_tracking)); - } - - if (HT.params.l11_uid) { - argv.push("l11_uid=".concat(HT.params.l11_uid)); - } - - if (HT.params.ui) { - argv.push("ui=".concat(HT.params.ui)); - } - - var new_href = location.pathname + '?' + argv.join('&'); - var title = document.title; - - if (!title.match(/^#/)) { - this._original_title = title; - } - - title = "#".concat(params.seq || HT.params.seq, " - ").concat(this._original_title); - window.history.replaceState(null, title, new_href); - document.title = title; - } - }, { - key: "_updateLinkAttribute", - value: function _updateLinkAttribute($link, key, value) { - if (!$link) { - return; - } - - var href = $link.getAttribute("href"); - var regex = new RegExp(key + "(=|%3D)"); - - if (href.indexOf('#' + key) > -1) { - regex = new RegExp('#' + key + '\\d+'); - href = href.replace(regex, '#' + key + value); - $link.setAttribute('href', href); - } else if (!regex.test(href)) { - // key not in href - var text = key + "=" + value; - var target_href = href; - var idx; - - if ((idx = target_href.indexOf('target=')) > -1) { - // extract the target url - idx += "target=".length; - target_href = decodeURIComponent(href.substr(idx)); - } - - var sep = ';'; - - if (target_href.indexOf("&") > -1) { - // add to parameters - semicolon - sep = '&'; - } - - target_href += sep + text; - - if (idx > -1) { - // re-encode - target_href = href.substr(0, idx) + encodeURIComponent(target_href); - } - - $link.setAttribute("href", target_href); - } else { - // replace existing key - regex = new RegExp(key + "(=|%3D)" + "\\w+(;|&|%3B|%26)?"); - $link.setAttribute("href", href.replace(regex, key + "$1" + value + "$2")); - } - } - }, { - key: "_bestFitScale", - value: function _bestFitScale() { - var scale = $(window).width() * 0.95 / 680; - this.options.bestFitScale = scale; - return scale; - } - }, { - key: "_logAction", - value: function _logAction(href, trigger) { - if (HT.analytics && HT.analytics.logAction) { - HT.analytics.logAction(href, trigger); - } - } - }]); - - return Reader; -}(); - -var service = new _components_imgsrv__WEBPACK_IMPORTED_MODULE_195__.Service({ - manifest: { - readingOrder: $viewer.dataset.readingOrder, - totalSeq: $viewer.dataset.totalSeq, - defaultSeq: $viewer.dataset.defaultSeq, - firstSeq: $viewer.dataset.firstSeq, - defaultHeight: $viewer.dataset.defaultHeight, - defaultWidth: $viewer.dataset.defaultWidth, - featureList: HT.params.featureList // JSON.parse($main.dataset.featureList) - - }, - identifier: HT.params.id, - q1: HT.params.q1, - debug: HT.params.debug, - hasOcr: $viewer.dataset.hasOcr == 'true', - allowFullDownload: $viewer.dataset.allowFullDownload == 'true' -}); -HT.service = service; -reader = new Reader({ - identifier: HT.params.id -}); -reader.$root = $root; -reader.service = service; -reader.isRTL = service.manifest.options.readingOrder == 'right-to-left'; -HT.reader = reader; -HT.View = _components_views__WEBPACK_IMPORTED_MODULE_196__.View; // initiate loaders - -HT.service.loaders.images = new _components_imgsrv__WEBPACK_IMPORTED_MODULE_195__.Loader({ - name: 'images' -}).limit(3).on(_components_imgsrv__WEBPACK_IMPORTED_MODULE_195__.Loader.events.LOADED, function (image, datum) { - if (!image) { - return false; - } - - reader.view.postImage(image, datum); -}).on(_components_imgsrv__WEBPACK_IMPORTED_MODULE_195__.Loader.events.ERROR, function () { - console.log("AHOY ERROR", arguments); -}); -HT.service.loaders.thumbnails = new _components_imgsrv__WEBPACK_IMPORTED_MODULE_195__.Loader({ - name: 'thumbnails' -}).limit(2).on(_components_imgsrv__WEBPACK_IMPORTED_MODULE_195__.Loader.events.LOADED, function (image, datum) { - if (!image) { - return false; - } - - reader.view.postThumbnail(image, datum); -}).on(_components_imgsrv__WEBPACK_IMPORTED_MODULE_195__.Loader.events.ERROR, function () { - console.log("AHOY ERROR", arguments); -}); -$viewer.dataset.readingOrder = service.manifest.options.readingOrder; -$viewer.classList.toggle('reading-order--rtl', $root.dataset.readingOrder == 'right-to-left'); // ADD CONTROLS - -reader.controls.layoutinator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Layoutinator({ - input: { - tweaker: '#action-tweak-sidebar', - toggle: '#action-toggle-sidebar', - $layoutContainer: $main, - sidebar: '#sidebar' - }, - reader: reader -}); -reader.controls.navigator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Navigator({ - input: { - first: '#action-go-first', - next: '#action-go-next', - prev: '#action-go-prev', - last: '#action-go-last', - sequence: '#output-seq', - range: '#range-seq' - }, - reader: reader -}); -reader.controls.navigator.on('updateLocation', function (params) { - console.log("AHOY updateLocation", params.seq); - reader.view.display(params.seq); -}); -reader.controls.screeninator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Screeninator({ - input: { - fullscreen: '#action-toggle-fullscreen' - }, - reader: reader -}); -reader.controls.viewinator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Viewinator({ - input: { - view: '#action-select-view', - accessPlaintext: '#action-switch-view-plaintext' - }, - reader: reader -}); -reader.controls.zoominator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Zoominator({ - input: { - zoomin: '.action-zoom-in', - zoomout: '.action-zoom-out' - }, - reader: reader -}); -reader.controls.minimizer = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Minimizer({ - input: { - minimizer: '#action-go-minimal' - }, - reader: reader -}); -reader.controls.helpinator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Helpinator({ - input: { - trigger: '#action-help' - }, - reader: reader -}); -reader.controls.jumpinator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Jumpinator({ - input: { - prompt: '#action-jump-to-page', - sections: '#panel-sections' - }, - reader: reader -}); - -if (reader.service.hasOcr) { - reader.controls.searchinator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Searchinator({ - input: { - form: '.d--search-form', - container: '#panel-search .results-container', - panel: '#panel-search' - }, - reader: reader - }); - reader.controls.searchinator.on('update', function (params) { - HT.params.q1 = params.q1; - reader.service.q1 = HT.params.q1; - - reader._updateHistoryUrl({}); - - reader.view.resetHighlightIndex(); - reader.view.container.querySelectorAll('.page[data-loaded="true"]').forEach(function (page) { - if (!params.q1) { - reader.view._removeHighlights(page); - } else { - var html_url = reader.service.html({ - seq: page.dataset.seq - }); - reader.service.loaders.images.queue({ - src: html_url, - page: page, - mimetype: 'text/html', - redraw: true - }); - } - }); - reader.service.loaders.images.start(); - }); -} - -if (reader.service.allowFullDownload) { - reader.controls.selectinator = new _components_controls__WEBPACK_IMPORTED_MODULE_194__.Control.Selectinator({ - reader: reader, - input: document.querySelector('#download-selected-pages-output'), - // link: selectedPagesPdfLink, - reset: document.querySelector('#action-clear-selection') - }); -} // analytics - - -reader.on('track', function () { - if (HT.analytics && HT.analytics._simplifyPageHref) { - HT.analytics.trackPageview(HT.analytics._simplifyPageHref(location.href)); - } - - reader._logAction(undefined, reader.trigger.pop()); -}); -document.body.addEventListener('keydown', function (event) { - if (event.key == 'Tab' && !event.shiftKey && reader.view && document.activeElement == reader.view.container) { - event.preventDefault(); - reader.view.focus(true); - } - - if (reader.view && (event.key == 'PageUp' || event.key == 'PageDown')) { - if (document.activeElement.closest("#sidebar")) { - return; - } - - if (document.activeElement.closest(".d--reader")) { - return; - } - - event.preventDefault; - reader.view.focus(true); - var t = reader.view.container.parentNode.scrollTop; - var h = reader.view.container.parentNode.offsetHeight; - reader.view.container.parentNode.scrollTop += h; - return; - } -}); -HT.utils = HT.utils || {}; - -HT.utils.handleOrientationChange = function (ignore) { - var isEmbed = HT.params && HT.params.ui == 'embed'; - - if (window.innerWidth < 800 && !isEmbed) { - if (window.orientation && Math.abs(window.orientation) == 90 && HT.reader.service.manifest.totalSeq > 1) { - // enable the 2up button - HT.reader.controls.viewinator.enable('2up'); - } else { - // disable the 2up and switch views - HT.reader.controls.viewinator.disable('2up'); - - if (reader.view && reader.view.name == '2up' && ignore !== true) { - HT.reader.restart({ - view: '1up', - scale: 1.0 - }); - } else { - HT.params.view = '1up'; - } - } - } -}; - -if (HT.params.ui && HT.params.ui == 'embed' && HT.params.view == 'default') { - if (window.innerWidth > window.innerHeight) { - HT.params.view = '2up'; - } -} - -if (HT.params.view == 'default') { - HT.params.view = '1up'; -} - -if (HT.params.view == 'plaintext') { - HT.params.view = 'page'; - HT.params.format = 'plaintext'; -} - -if (HT.params.view == 'image') { - HT.params.view = 'page'; - HT.params.format = 'image'; -} - -if (reader.service.manifest.totalSeq == 1) { - if (HT.params.view == '2up' || HT.params.view == 'thumb') { - HT.params.view = '1up'; - } -} - -if (isEtas && HT.params.format == 'plaintext' && HT.params.view == '1up') { - HT.params.view = 'page'; -} - -var validViews = ['1up', '2up', 'thumb', 'page']; - -if (validViews.indexOf(HT.params.view) < 0) { - HT.params.view = '1up'; -} - -var validFormats = ['plaintext', 'image']; - -if (HT.params.format && validFormats.indexOf(HT.params.format) < 0) { - HT.params.foramt = 'image'; -} // BETA HANDLING - - -HT.prefs.set({ - pt: { - skin: '2021' - } -}); - -if (window.hj) { - hj('tagRecording', ["PT 2021"]); -} - -; -var betaLink = document.querySelector('a.action-beta-2019'); -if (betaLink) betaLink.addEventListener('click', function (event) { - if (window.hj) { - hj('tagRecording', ["PT 2021 -> 2019"]); - } - - ; - - if (reader.view.name == 'page') { - HT.prefs.set({ - pt: { - view: reader.view.format == 'image' ? 'image' : 'plaintext' - } - }); - } -}); // page message checking - -function checkForPageMessages() { - var seq = HT.params.seq; - - if (HT.params.messagesList && HT.params.messagesList[seq]) { - var messageKey = HT.params.messagesList[seq]; - var el = reader.view.getPage(seq).querySelector('.page--message'); - var message; - - if (message = _components_messages__WEBPACK_IMPORTED_MODULE_197__.messages[messageKey]) { - el.innerHTML = message.alert; - - if (message.detail) { - el.querySelector('button').addEventListener('click', function (event) { - event.preventDefault(); - bootbox.alert(message.detail); - }); - } // and then remove the message to only show it on - // startup - - - delete HT.params.messagesList[seq]; - } - } -} // start the reader when all resources have been loaded - - -var scale = 1.0; -window.addEventListener('load', function (event) { - HT.utils.handleOrientationChange(true); - reader.start({ - view: HT.params.view || '1up', - seq: HT.params.seq || 1, - scale: scale, - format: HT.params.format || 'image' - }, checkForPageMessages); - setTimeout(function () { - var event = document.createEvent('UIEvents'); - event.initEvent('resize', true, false, window, 0); - window.dispatchEvent(event); - }, 100); -}); // apparently we still need this? - -var _scrollCheck = lodash_debounce__WEBPACK_IMPORTED_MODULE_198___default()(function (event) { - if (window.visualViewport && window.visualViewport.scale == 1) { - var activeElement = document.activeElement.closest("input,select"); - - if (activeElement) { - return; - } - - window.scrollTo(0, 0); - } -}, 50); - -if (true) { - window.addEventListener('scroll', _scrollCheck); -} // ERROR TRACKING - - -HT.post_error = function (event) { - var response = fetch('/cgi/pt/error', { - method: 'POST', - credentials: 'include', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - message: event.message, - filename: event.filename, - lineno: event.lineno, - colno: event.colno, - error: event.error, - trace: event.error ? event.error.stack : null, - htid: HT.params.id, - view: HT.params.view, - seq: HT.params.seq, - skin: 2021, - imgsrv_url: event.imgsrv_url - }) - }); -}; -/* WINDOW HANDLERS */ - - -function handleVisibilityChange() { - if (document.hidden) { - handleWindowBlur(); - } else { - handleWindowFocus(); - } -} - -function handleWindowFocus() { - if (window.inactivated) { - window.inactivated = false; - window.reactivated = true; - setTimeout(function () { - window.reactivated = false; - }, 500); - } -} - -function handleWindowBlur() { - window.inactivated = true; - window.reactivated = false; -} - -document.addEventListener("visibilitychange", handleVisibilityChange, false); -window.addEventListener("focus", handleWindowFocus, false); -window.addEventListener("blur", handleWindowBlur, false); -var skipLink = document.querySelector('#skiplinks a[href="#reader"]'); - -if (skipLink) { - skipLink.addEventListener('click', function (event) { - event.preventDefault(); - event.stopPropagation(); - document.querySelector('#reader').focus(); - }); -} - -window.addEventListener('error', function (event) { - if (event.message.toLowerCase().indexOf('script error') > -1) { - return; - } - - HT.post_error(event); -}); -window.addEventListener('unhandledrejection', function (event) { - var reason = event.reason; - - if (!reason) { - return; - } - - HT.post_error({ - message: reason.message, - filename: reason.fileName, - lineno: reason.lineNumber, - colno: reason.columnNumber, - error: { - stack: reason.stack - } - }); -}); -}(); -/******/ })() -; -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/pt/web/2021/dist/js/main.js.map b/pt/web/2021/dist/js/main.js.map deleted file mode 100644 index fa3969f91..000000000 --- a/pt/web/2021/dist/js/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://2021/./node_modules/core-js/internals/a-function.js","webpack://2021/./node_modules/core-js/internals/a-possible-prototype.js","webpack://2021/./node_modules/core-js/internals/add-to-unscopables.js","webpack://2021/./node_modules/core-js/internals/advance-string-index.js","webpack://2021/./node_modules/core-js/internals/an-instance.js","webpack://2021/./node_modules/core-js/internals/an-object.js","webpack://2021/./node_modules/core-js/internals/array-buffer-native.js","webpack://2021/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://2021/./node_modules/core-js/internals/array-buffer.js","webpack://2021/./node_modules/core-js/internals/array-copy-within.js","webpack://2021/./node_modules/core-js/internals/array-fill.js","webpack://2021/./node_modules/core-js/internals/array-for-each.js","webpack://2021/./node_modules/core-js/internals/array-from.js","webpack://2021/./node_modules/core-js/internals/array-includes.js","webpack://2021/./node_modules/core-js/internals/array-iteration.js","webpack://2021/./node_modules/core-js/internals/array-last-index-of.js","webpack://2021/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://2021/./node_modules/core-js/internals/array-method-is-strict.js","webpack://2021/./node_modules/core-js/internals/array-method-uses-to-length.js","webpack://2021/./node_modules/core-js/internals/array-reduce.js","webpack://2021/./node_modules/core-js/internals/array-species-create.js","webpack://2021/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://2021/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://2021/./node_modules/core-js/internals/classof-raw.js","webpack://2021/./node_modules/core-js/internals/classof.js","webpack://2021/./node_modules/core-js/internals/collection-strong.js","webpack://2021/./node_modules/core-js/internals/collection-weak.js","webpack://2021/./node_modules/core-js/internals/collection.js","webpack://2021/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://2021/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://2021/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://2021/./node_modules/core-js/internals/create-html.js","webpack://2021/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://2021/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://2021/./node_modules/core-js/internals/create-property-descriptor.js","webpack://2021/./node_modules/core-js/internals/create-property.js","webpack://2021/./node_modules/core-js/internals/date-to-primitive.js","webpack://2021/./node_modules/core-js/internals/define-iterator.js","webpack://2021/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://2021/./node_modules/core-js/internals/descriptors.js","webpack://2021/./node_modules/core-js/internals/document-create-element.js","webpack://2021/./node_modules/core-js/internals/dom-iterables.js","webpack://2021/./node_modules/core-js/internals/engine-is-ios.js","webpack://2021/./node_modules/core-js/internals/engine-is-node.js","webpack://2021/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://2021/./node_modules/core-js/internals/engine-user-agent.js","webpack://2021/./node_modules/core-js/internals/engine-v8-version.js","webpack://2021/./node_modules/core-js/internals/enum-bug-keys.js","webpack://2021/./node_modules/core-js/internals/export.js","webpack://2021/./node_modules/core-js/internals/fails.js","webpack://2021/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://2021/./node_modules/core-js/internals/flatten-into-array.js","webpack://2021/./node_modules/core-js/internals/freezing.js","webpack://2021/./node_modules/core-js/internals/function-bind-context.js","webpack://2021/./node_modules/core-js/internals/function-bind.js","webpack://2021/./node_modules/core-js/internals/get-built-in.js","webpack://2021/./node_modules/core-js/internals/get-iterator-method.js","webpack://2021/./node_modules/core-js/internals/get-iterator.js","webpack://2021/./node_modules/core-js/internals/get-substitution.js","webpack://2021/./node_modules/core-js/internals/global.js","webpack://2021/./node_modules/core-js/internals/has.js","webpack://2021/./node_modules/core-js/internals/hidden-keys.js","webpack://2021/./node_modules/core-js/internals/host-report-errors.js","webpack://2021/./node_modules/core-js/internals/html.js","webpack://2021/./node_modules/core-js/internals/ie8-dom-define.js","webpack://2021/./node_modules/core-js/internals/ieee754.js","webpack://2021/./node_modules/core-js/internals/indexed-object.js","webpack://2021/./node_modules/core-js/internals/inherit-if-required.js","webpack://2021/./node_modules/core-js/internals/inspect-source.js","webpack://2021/./node_modules/core-js/internals/internal-metadata.js","webpack://2021/./node_modules/core-js/internals/internal-state.js","webpack://2021/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://2021/./node_modules/core-js/internals/is-array.js","webpack://2021/./node_modules/core-js/internals/is-forced.js","webpack://2021/./node_modules/core-js/internals/is-integer.js","webpack://2021/./node_modules/core-js/internals/is-object.js","webpack://2021/./node_modules/core-js/internals/is-pure.js","webpack://2021/./node_modules/core-js/internals/is-regexp.js","webpack://2021/./node_modules/core-js/internals/iterate.js","webpack://2021/./node_modules/core-js/internals/iterator-close.js","webpack://2021/./node_modules/core-js/internals/iterators-core.js","webpack://2021/./node_modules/core-js/internals/iterators.js","webpack://2021/./node_modules/core-js/internals/math-expm1.js","webpack://2021/./node_modules/core-js/internals/math-fround.js","webpack://2021/./node_modules/core-js/internals/math-log1p.js","webpack://2021/./node_modules/core-js/internals/math-sign.js","webpack://2021/./node_modules/core-js/internals/microtask.js","webpack://2021/./node_modules/core-js/internals/native-promise-constructor.js","webpack://2021/./node_modules/core-js/internals/native-symbol.js","webpack://2021/./node_modules/core-js/internals/native-url.js","webpack://2021/./node_modules/core-js/internals/native-weak-map.js","webpack://2021/./node_modules/core-js/internals/new-promise-capability.js","webpack://2021/./node_modules/core-js/internals/not-a-regexp.js","webpack://2021/./node_modules/core-js/internals/number-is-finite.js","webpack://2021/./node_modules/core-js/internals/number-parse-float.js","webpack://2021/./node_modules/core-js/internals/number-parse-int.js","webpack://2021/./node_modules/core-js/internals/object-assign.js","webpack://2021/./node_modules/core-js/internals/object-create.js","webpack://2021/./node_modules/core-js/internals/object-define-properties.js","webpack://2021/./node_modules/core-js/internals/object-define-property.js","webpack://2021/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://2021/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://2021/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://2021/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://2021/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://2021/./node_modules/core-js/internals/object-keys-internal.js","webpack://2021/./node_modules/core-js/internals/object-keys.js","webpack://2021/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://2021/./node_modules/core-js/internals/object-prototype-accessors-forced.js","webpack://2021/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://2021/./node_modules/core-js/internals/object-to-array.js","webpack://2021/./node_modules/core-js/internals/object-to-string.js","webpack://2021/./node_modules/core-js/internals/own-keys.js","webpack://2021/./node_modules/core-js/internals/path.js","webpack://2021/./node_modules/core-js/internals/perform.js","webpack://2021/./node_modules/core-js/internals/promise-resolve.js","webpack://2021/./node_modules/core-js/internals/redefine-all.js","webpack://2021/./node_modules/core-js/internals/redefine.js","webpack://2021/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://2021/./node_modules/core-js/internals/regexp-exec.js","webpack://2021/./node_modules/core-js/internals/regexp-flags.js","webpack://2021/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://2021/./node_modules/core-js/internals/require-object-coercible.js","webpack://2021/./node_modules/core-js/internals/same-value.js","webpack://2021/./node_modules/core-js/internals/set-global.js","webpack://2021/./node_modules/core-js/internals/set-species.js","webpack://2021/./node_modules/core-js/internals/set-to-string-tag.js","webpack://2021/./node_modules/core-js/internals/shared-key.js","webpack://2021/./node_modules/core-js/internals/shared-store.js","webpack://2021/./node_modules/core-js/internals/shared.js","webpack://2021/./node_modules/core-js/internals/species-constructor.js","webpack://2021/./node_modules/core-js/internals/string-html-forced.js","webpack://2021/./node_modules/core-js/internals/string-multibyte.js","webpack://2021/./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://2021/./node_modules/core-js/internals/string-pad.js","webpack://2021/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://2021/./node_modules/core-js/internals/string-repeat.js","webpack://2021/./node_modules/core-js/internals/string-trim-forced.js","webpack://2021/./node_modules/core-js/internals/string-trim.js","webpack://2021/./node_modules/core-js/internals/task.js","webpack://2021/./node_modules/core-js/internals/this-number-value.js","webpack://2021/./node_modules/core-js/internals/to-absolute-index.js","webpack://2021/./node_modules/core-js/internals/to-index.js","webpack://2021/./node_modules/core-js/internals/to-indexed-object.js","webpack://2021/./node_modules/core-js/internals/to-integer.js","webpack://2021/./node_modules/core-js/internals/to-length.js","webpack://2021/./node_modules/core-js/internals/to-object.js","webpack://2021/./node_modules/core-js/internals/to-offset.js","webpack://2021/./node_modules/core-js/internals/to-positive-integer.js","webpack://2021/./node_modules/core-js/internals/to-primitive.js","webpack://2021/./node_modules/core-js/internals/to-string-tag-support.js","webpack://2021/./node_modules/core-js/internals/typed-array-constructor.js","webpack://2021/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://2021/./node_modules/core-js/internals/typed-array-from.js","webpack://2021/./node_modules/core-js/internals/uid.js","webpack://2021/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://2021/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://2021/./node_modules/core-js/internals/well-known-symbol.js","webpack://2021/./node_modules/core-js/internals/whitespaces.js","webpack://2021/./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack://2021/./node_modules/core-js/modules/es.array-buffer.slice.js","webpack://2021/./node_modules/core-js/modules/es.array.concat.js","webpack://2021/./node_modules/core-js/modules/es.array.copy-within.js","webpack://2021/./node_modules/core-js/modules/es.array.every.js","webpack://2021/./node_modules/core-js/modules/es.array.fill.js","webpack://2021/./node_modules/core-js/modules/es.array.filter.js","webpack://2021/./node_modules/core-js/modules/es.array.find-index.js","webpack://2021/./node_modules/core-js/modules/es.array.find.js","webpack://2021/./node_modules/core-js/modules/es.array.flat-map.js","webpack://2021/./node_modules/core-js/modules/es.array.flat.js","webpack://2021/./node_modules/core-js/modules/es.array.for-each.js","webpack://2021/./node_modules/core-js/modules/es.array.from.js","webpack://2021/./node_modules/core-js/modules/es.array.includes.js","webpack://2021/./node_modules/core-js/modules/es.array.index-of.js","webpack://2021/./node_modules/core-js/modules/es.array.iterator.js","webpack://2021/./node_modules/core-js/modules/es.array.join.js","webpack://2021/./node_modules/core-js/modules/es.array.last-index-of.js","webpack://2021/./node_modules/core-js/modules/es.array.map.js","webpack://2021/./node_modules/core-js/modules/es.array.of.js","webpack://2021/./node_modules/core-js/modules/es.array.reduce-right.js","webpack://2021/./node_modules/core-js/modules/es.array.reduce.js","webpack://2021/./node_modules/core-js/modules/es.array.reverse.js","webpack://2021/./node_modules/core-js/modules/es.array.slice.js","webpack://2021/./node_modules/core-js/modules/es.array.some.js","webpack://2021/./node_modules/core-js/modules/es.array.sort.js","webpack://2021/./node_modules/core-js/modules/es.array.species.js","webpack://2021/./node_modules/core-js/modules/es.array.splice.js","webpack://2021/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://2021/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://2021/./node_modules/core-js/modules/es.date.to-json.js","webpack://2021/./node_modules/core-js/modules/es.date.to-primitive.js","webpack://2021/./node_modules/core-js/modules/es.function.has-instance.js","webpack://2021/./node_modules/core-js/modules/es.function.name.js","webpack://2021/./node_modules/core-js/modules/es.json.to-string-tag.js","webpack://2021/./node_modules/core-js/modules/es.map.js","webpack://2021/./node_modules/core-js/modules/es.math.acosh.js","webpack://2021/./node_modules/core-js/modules/es.math.asinh.js","webpack://2021/./node_modules/core-js/modules/es.math.atanh.js","webpack://2021/./node_modules/core-js/modules/es.math.cbrt.js","webpack://2021/./node_modules/core-js/modules/es.math.clz32.js","webpack://2021/./node_modules/core-js/modules/es.math.cosh.js","webpack://2021/./node_modules/core-js/modules/es.math.expm1.js","webpack://2021/./node_modules/core-js/modules/es.math.fround.js","webpack://2021/./node_modules/core-js/modules/es.math.hypot.js","webpack://2021/./node_modules/core-js/modules/es.math.imul.js","webpack://2021/./node_modules/core-js/modules/es.math.log10.js","webpack://2021/./node_modules/core-js/modules/es.math.log1p.js","webpack://2021/./node_modules/core-js/modules/es.math.log2.js","webpack://2021/./node_modules/core-js/modules/es.math.sign.js","webpack://2021/./node_modules/core-js/modules/es.math.sinh.js","webpack://2021/./node_modules/core-js/modules/es.math.tanh.js","webpack://2021/./node_modules/core-js/modules/es.math.to-string-tag.js","webpack://2021/./node_modules/core-js/modules/es.math.trunc.js","webpack://2021/./node_modules/core-js/modules/es.number.constructor.js","webpack://2021/./node_modules/core-js/modules/es.number.epsilon.js","webpack://2021/./node_modules/core-js/modules/es.number.is-finite.js","webpack://2021/./node_modules/core-js/modules/es.number.is-integer.js","webpack://2021/./node_modules/core-js/modules/es.number.is-nan.js","webpack://2021/./node_modules/core-js/modules/es.number.is-safe-integer.js","webpack://2021/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://2021/./node_modules/core-js/modules/es.number.min-safe-integer.js","webpack://2021/./node_modules/core-js/modules/es.number.parse-float.js","webpack://2021/./node_modules/core-js/modules/es.number.parse-int.js","webpack://2021/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://2021/./node_modules/core-js/modules/es.object.assign.js","webpack://2021/./node_modules/core-js/modules/es.object.define-getter.js","webpack://2021/./node_modules/core-js/modules/es.object.define-setter.js","webpack://2021/./node_modules/core-js/modules/es.object.entries.js","webpack://2021/./node_modules/core-js/modules/es.object.freeze.js","webpack://2021/./node_modules/core-js/modules/es.object.from-entries.js","webpack://2021/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://2021/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://2021/./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack://2021/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://2021/./node_modules/core-js/modules/es.object.is-extensible.js","webpack://2021/./node_modules/core-js/modules/es.object.is-frozen.js","webpack://2021/./node_modules/core-js/modules/es.object.is-sealed.js","webpack://2021/./node_modules/core-js/modules/es.object.is.js","webpack://2021/./node_modules/core-js/modules/es.object.keys.js","webpack://2021/./node_modules/core-js/modules/es.object.lookup-getter.js","webpack://2021/./node_modules/core-js/modules/es.object.lookup-setter.js","webpack://2021/./node_modules/core-js/modules/es.object.prevent-extensions.js","webpack://2021/./node_modules/core-js/modules/es.object.seal.js","webpack://2021/./node_modules/core-js/modules/es.object.to-string.js","webpack://2021/./node_modules/core-js/modules/es.object.values.js","webpack://2021/./node_modules/core-js/modules/es.promise.finally.js","webpack://2021/./node_modules/core-js/modules/es.promise.js","webpack://2021/./node_modules/core-js/modules/es.reflect.apply.js","webpack://2021/./node_modules/core-js/modules/es.reflect.construct.js","webpack://2021/./node_modules/core-js/modules/es.reflect.define-property.js","webpack://2021/./node_modules/core-js/modules/es.reflect.delete-property.js","webpack://2021/./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","webpack://2021/./node_modules/core-js/modules/es.reflect.get-prototype-of.js","webpack://2021/./node_modules/core-js/modules/es.reflect.get.js","webpack://2021/./node_modules/core-js/modules/es.reflect.has.js","webpack://2021/./node_modules/core-js/modules/es.reflect.is-extensible.js","webpack://2021/./node_modules/core-js/modules/es.reflect.own-keys.js","webpack://2021/./node_modules/core-js/modules/es.reflect.prevent-extensions.js","webpack://2021/./node_modules/core-js/modules/es.reflect.set-prototype-of.js","webpack://2021/./node_modules/core-js/modules/es.reflect.set.js","webpack://2021/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://2021/./node_modules/core-js/modules/es.regexp.exec.js","webpack://2021/./node_modules/core-js/modules/es.regexp.flags.js","webpack://2021/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://2021/./node_modules/core-js/modules/es.set.js","webpack://2021/./node_modules/core-js/modules/es.string.anchor.js","webpack://2021/./node_modules/core-js/modules/es.string.big.js","webpack://2021/./node_modules/core-js/modules/es.string.blink.js","webpack://2021/./node_modules/core-js/modules/es.string.bold.js","webpack://2021/./node_modules/core-js/modules/es.string.code-point-at.js","webpack://2021/./node_modules/core-js/modules/es.string.ends-with.js","webpack://2021/./node_modules/core-js/modules/es.string.fixed.js","webpack://2021/./node_modules/core-js/modules/es.string.fontcolor.js","webpack://2021/./node_modules/core-js/modules/es.string.fontsize.js","webpack://2021/./node_modules/core-js/modules/es.string.from-code-point.js","webpack://2021/./node_modules/core-js/modules/es.string.includes.js","webpack://2021/./node_modules/core-js/modules/es.string.italics.js","webpack://2021/./node_modules/core-js/modules/es.string.iterator.js","webpack://2021/./node_modules/core-js/modules/es.string.link.js","webpack://2021/./node_modules/core-js/modules/es.string.match.js","webpack://2021/./node_modules/core-js/modules/es.string.pad-end.js","webpack://2021/./node_modules/core-js/modules/es.string.pad-start.js","webpack://2021/./node_modules/core-js/modules/es.string.raw.js","webpack://2021/./node_modules/core-js/modules/es.string.repeat.js","webpack://2021/./node_modules/core-js/modules/es.string.replace.js","webpack://2021/./node_modules/core-js/modules/es.string.search.js","webpack://2021/./node_modules/core-js/modules/es.string.small.js","webpack://2021/./node_modules/core-js/modules/es.string.split.js","webpack://2021/./node_modules/core-js/modules/es.string.starts-with.js","webpack://2021/./node_modules/core-js/modules/es.string.strike.js","webpack://2021/./node_modules/core-js/modules/es.string.sub.js","webpack://2021/./node_modules/core-js/modules/es.string.sup.js","webpack://2021/./node_modules/core-js/modules/es.string.trim-end.js","webpack://2021/./node_modules/core-js/modules/es.string.trim-start.js","webpack://2021/./node_modules/core-js/modules/es.string.trim.js","webpack://2021/./node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://2021/./node_modules/core-js/modules/es.symbol.description.js","webpack://2021/./node_modules/core-js/modules/es.symbol.has-instance.js","webpack://2021/./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://2021/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://2021/./node_modules/core-js/modules/es.symbol.js","webpack://2021/./node_modules/core-js/modules/es.symbol.match.js","webpack://2021/./node_modules/core-js/modules/es.symbol.replace.js","webpack://2021/./node_modules/core-js/modules/es.symbol.search.js","webpack://2021/./node_modules/core-js/modules/es.symbol.species.js","webpack://2021/./node_modules/core-js/modules/es.symbol.split.js","webpack://2021/./node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://2021/./node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://2021/./node_modules/core-js/modules/es.symbol.unscopables.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.every.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.find.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.float64-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.from.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.int16-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.int32-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.int8-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.join.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.map.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.of.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.set.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.some.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.uint16-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://2021/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://2021/./node_modules/core-js/modules/es.weak-map.js","webpack://2021/./node_modules/core-js/modules/es.weak-set.js","webpack://2021/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://2021/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://2021/./node_modules/core-js/modules/web.immediate.js","webpack://2021/./node_modules/core-js/modules/web.queue-microtask.js","webpack://2021/./node_modules/core-js/modules/web.url-search-params.js","webpack://2021/./node_modules/core-js/modules/web.url.js","webpack://2021/./node_modules/core-js/modules/web.url.to-json.js","webpack://2021/./node_modules/lodash/_Symbol.js","webpack://2021/./node_modules/lodash/_baseGetTag.js","webpack://2021/./node_modules/lodash/_baseTrim.js","webpack://2021/./node_modules/lodash/_freeGlobal.js","webpack://2021/./node_modules/lodash/_getRawTag.js","webpack://2021/./node_modules/lodash/_objectToString.js","webpack://2021/./node_modules/lodash/_root.js","webpack://2021/./node_modules/lodash/_trimmedEndIndex.js","webpack://2021/./node_modules/lodash/debounce.js","webpack://2021/./node_modules/lodash/isObject.js","webpack://2021/./node_modules/lodash/isObjectLike.js","webpack://2021/./node_modules/lodash/isSymbol.js","webpack://2021/./node_modules/lodash/now.js","webpack://2021/./node_modules/lodash/toNumber.js","webpack://2021/./node_modules/nanoevents/index.js","webpack://2021/./node_modules/regenerator-runtime/runtime.js","webpack://2021/./node_modules/screenfull/dist/screenfull.js","webpack://2021/../node_modules/deepmerge/dist/cjs.js","webpack://2021/../src/js/utils/type-check.js","webpack://2021/../src/js/evented.js","webpack://2021/../src/js/utils/auto-bind.js","webpack://2021/../src/js/utils/bind.js","webpack://2021/../node_modules/@popperjs/core/lib/enums.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/math.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/within.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://2021/../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://2021/../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/debounce.js","webpack://2021/../node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://2021/../node_modules/@popperjs/core/lib/createPopper.js","webpack://2021/../node_modules/@popperjs/core/lib/popper.js","webpack://2021/../src/js/utils/popper-options.js","webpack://2021/../src/js/utils/general.js","webpack://2021/../node_modules/svelte/internal/index.mjs","webpack://2021/../src/js/components/shepherd-button.svelte","webpack://2021/../src/js/components/shepherd-footer.svelte","webpack://2021/../src/js/components/shepherd-cancel-icon.svelte","webpack://2021/../src/js/components/shepherd-title.svelte","webpack://2021/../src/js/components/shepherd-header.svelte","webpack://2021/../src/js/components/shepherd-text.svelte","webpack://2021/../src/js/components/shepherd-content.svelte","webpack://2021/../src/js/components/shepherd-element.svelte","webpack://2021/../node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack://2021/../src/js/step.js","webpack://2021/../src/js/utils/cleanup.js","webpack://2021/../src/js/utils/overlay-path.js","webpack://2021/../src/js/components/shepherd-modal.svelte","webpack://2021/../src/js/tour.js","webpack://2021/../src/js/shepherd.js","webpack://2021/./src/js/components/controls/helpinator.js","webpack://2021/./src/js/components/controls/index.js","webpack://2021/./src/js/components/controls/jumpinator.js","webpack://2021/./src/js/components/controls/layoutinator.js","webpack://2021/./src/js/components/controls/minimizer.js","webpack://2021/./src/js/components/controls/navigator.js","webpack://2021/./src/js/components/controls/screeninator.js","webpack://2021/./src/js/components/controls/searchinator.js","webpack://2021/./src/js/components/controls/selectinator.js","webpack://2021/./src/js/components/controls/viewinator.js","webpack://2021/./src/js/components/controls/zoominator.js","webpack://2021/./src/js/components/imgsrv.js","webpack://2021/./src/js/components/messages.js","webpack://2021/./src/js/components/views/base.js","webpack://2021/./src/js/components/views/flip.js","webpack://2021/./src/js/components/views/image.js","webpack://2021/./src/js/components/views/index.js","webpack://2021/./src/js/components/views/page.js","webpack://2021/./src/js/components/views/plaintext.js","webpack://2021/./src/js/components/views/scroll.js","webpack://2021/./src/js/components/views/thumbnail.js","webpack://2021/webpack/bootstrap","webpack://2021/webpack/runtime/compat get default export","webpack://2021/webpack/runtime/define property getters","webpack://2021/webpack/runtime/global","webpack://2021/webpack/runtime/hasOwnProperty shorthand","webpack://2021/webpack/runtime/make namespace object","webpack://2021/webpack/runtime/node module decorator","webpack://2021/./node_modules/intersection-observer/intersection-observer.js","webpack://2021/./node_modules/whatwg-fetch/fetch.js","webpack://2021/./src/js/main.js"],"names":["module","exports","it","TypeError","String","isObject","require","wellKnownSymbol","create","definePropertyModule","UNSCOPABLES","ArrayPrototype","Array","prototype","undefined","f","configurable","value","key","charAt","S","index","unicode","length","Constructor","name","ArrayBuffer","DataView","NATIVE_ARRAY_BUFFER","DESCRIPTORS","global","has","classof","createNonEnumerableProperty","redefine","defineProperty","getPrototypeOf","setPrototypeOf","uid","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","Object","isPrototypeOf","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","NAME","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","klass","isTypedArray","aTypedArray","aTypedArrayConstructor","C","call","ARRAY","TypedArrayConstructor","exportTypedArrayMethod","KEY","property","forced","exportTypedArrayStaticMethod","error","Function","get","redefineAll","fails","anInstance","toInteger","toLength","toIndex","IEEE754","getOwnPropertyNames","arrayFill","setToStringTag","InternalStateModule","getInternalState","setInternalState","set","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","RangeError","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","buffer","packFloat32","packFloat64","addGetter","view","count","isLittleEndian","intIndex","store","byteLength","bytes","start","byteOffset","slice","reverse","conversion","i","bufferLength","offset","getInt8","getUint8","getInt16","arguments","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt8","setUint8","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","NaN","ArrayBufferPrototype","keys","j","constructor","testView","nativeSetInt8","unsafe","toObject","toAbsoluteIndex","min","Math","copyWithin","target","O","len","to","from","end","inc","fill","argumentsLength","endPos","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","forEach","callbackfn","bind","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","mapfn","mapping","iteratorMethod","result","step","iterator","next","done","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","IndexedObject","arraySpeciesCreate","push","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","that","specificCreate","self","boundFunction","map","filter","some","every","find","findIndex","filterOut","nativeLastIndexOf","lastIndexOf","NEGATIVE_ZERO","ACCESSORS","FORCED","searchElement","apply","V8_VERSION","SPECIES","METHOD_NAME","array","foo","Boolean","argument","method","cache","thrower","options","argument0","argument1","enumerable","aFunction","IS_RIGHT","memo","left","right","isArray","originalArray","anObject","iteratorClose","fn","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","exec","SKIP_CLOSING","ITERATION_SUPPORT","object","toString","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","iterate","defineIterator","setSpecies","fastKey","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","iterable","type","first","last","size","AS_ENTRIES","define","state","entry","getEntry","previous","removed","clear","data","prev","add","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","getWeakData","ArrayIterationModule","$has","id","uncaughtFrozenStore","frozen","UncaughtFrozenStore","entries","findUncaughtFrozen","splice","$","isForced","InternalMetadataModule","checkCorrectnessOfIteration","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","REQUIRED","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","ownKeys","getOwnPropertyDescriptorModule","source","getOwnPropertyDescriptor","MATCH","regexp","error1","error2","F","requireObjectCoercible","quot","string","attribute","p1","replace","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","bitmap","writable","toPrimitive","propertyKey","hint","createIteratorConstructor","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","values","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","proto","path","wrappedWellKnownSymbolModule","Symbol","document","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","userAgent","test","process","getBuiltIn","versions","v8","match","version","split","setGlobal","copyConstructorProperties","TARGET","GLOBAL","STATIC","stat","targetProperty","sourceProperty","descriptor","noTargetGet","sham","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","a","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","flags","nativeRegExpMethod","str","arg2","forceStringMethod","stringMethod","regexMethod","RegExp","arg","flattenIntoArray","original","sourceLen","depth","mapper","thisArg","targetIndex","sourceIndex","mapFn","element","isExtensible","preventExtensions","b","c","factories","construct","argsLength","args","list","join","partArgs","bound","concat","variable","namespace","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","position","captures","namedCaptures","replacement","tailPos","m","symbols","ch","capture","n","check","globalThis","window","hasOwnProperty","console","Infinity","abs","pow","log","LN2","mantissaLength","exponentLength","eMax","eBias","rt","sign","exponent","mantissa","nBits","propertyIsEnumerable","Wrapper","NewTarget","NewTargetPrototype","functionToString","inspectSource","hiddenKeys","FREEZING","METADATA","setMetadata","objectID","weakData","onFreeze","meta","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","WeakMap","enforce","wmget","wmhas","wmset","metadata","facade","STATE","feature","detection","normalize","POLYFILL","NATIVE","toLowerCase","isInteger","isFinite","isRegExp","Result","stopped","unboundFunction","IS_ITERATOR","INTERRUPTED","iterFn","stop","condition","callFn","returnMethod","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","nativeExpm1","expm1","exp","x","EPSILON","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","log1p","macrotask","IS_IOS","IS_WEBOS_WEBKIT","IS_NODE","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","queueMicrotask","flush","head","notify","toggle","node","promise","then","parent","domain","exit","enter","createTextNode","observe","characterData","resolve","nextTick","task","getOwnPropertySymbols","url","URL","searchParams","pathname","toJSON","sort","href","URLSearchParams","username","host","hash","PromiseCapability","reject","$$resolve","$$reject","globalIsFinite","Number","trim","whitespaces","$parseFloat","parseFloat","trimmedString","$parseInt","parseInt","hex","radix","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","assign","A","B","symbol","alphabet","chr","T","defineProperties","enumBugKeys","html","documentCreateElement","GT","LT","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","NullProtoObject","ActiveXObject","Properties","IE8_DOM_DEFINE","nativeDefineProperty","P","Attributes","nativeGetOwnPropertyDescriptor","nativeGetOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","names","nativePropertyIsEnumerable","NASHORN_BUG","V","random","__defineSetter__","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","TO_ENTRIES","getOwnPropertyNamesModule","newPromiseCapability","promiseCapability","enforceInternalState","TEMPLATE","simple","R","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","sticky","charsAdded","strCopy","multiline","input","ignoreCase","dotAll","RE","s","is","y","TAG","SHARED","mode","copyright","defaultConstructor","CONVERT_TO_STRING","pos","second","charCodeAt","codeAt","repeat","ceil","IS_END","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","output","counter","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","inputLength","bias","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","q","t","qMinusT","baseMinusT","encoded","labels","label","non","whitespace","ltrim","rtrim","location","setImmediate","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","defer","channel","port","run","runner","listener","event","post","postMessage","protocol","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","max","integer","isNaN","toPositiveInteger","BYTES","PREFERRED_STRING","val","valueOf","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","toOffset","typedArrayFrom","round","BYTES_PER_ELEMENT","fromList","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","getter","addElement","$length","$len","typedArrayOffset","postfix","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayBufferModule","speciesConstructor","nativeArrayBufferSlice","INCORRECT_SLICE","fin","viewSource","viewTarget","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","addToUnscopables","$every","$filter","HAS_SPECIES_SUPPORT","$findIndex","FIND_INDEX","SKIPS_HOLES","$find","FIND","flatMap","flat","depthArg","INCORRECT_ITERATION","$includes","$indexOf","nativeIndexOf","ARRAY_ITERATOR","Arguments","nativeJoin","ES3_STRINGS","separator","$map","ISNT_GENERIC","of","$reduceRight","CHROME_VERSION","CHROME_BUG","reduceRight","$reduce","reduce","nativeReverse","nativeSlice","$some","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","comparefn","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","actualStart","insertCount","actualDeleteCount","Date","toISOString","pv","dateToPrimitive","TO_PRIMITIVE","DatePrototype","HAS_INSTANCE","FunctionPrototype","FunctionPrototypeToString","nameRE","JSON","collection","collectionStrong","init","Map","nativeAcosh","acosh","sqrt","MAX_VALUE","nativeAsinh","asinh","nativeAtanh","atanh","cbrt","LOG2E","clz32","nativeCosh","cosh","$hypot","hypot","BUGGY","value1","value2","sum","aLen","larg","div","nativeImul","imul","UINT16","xn","yn","xl","yl","LOG10E","log10","log2","sinh","tanh","trunc","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","maxCode","digits","code","NumberWrapper","numberIsFinite","isSafeInteger","MIN_SAFE_INTEGER","thisNumberValue","nativeToFixed","toFixed","acc","x2","fractionDigits","fractDigits","e","z","multiply","c2","divide","dataToString","__defineGetter__","$entries","nativeFreeze","freeze","FAILS_ON_PRIMITIVES","fromEntries","obj","v","getOwnPropertyDescriptors","nativeGetPrototypeOf","nativeIsExtensible","nativeIsFrozen","isFrozen","nativeIsSealed","isSealed","nativeKeys","__lookupGetter__","desc","__lookupSetter__","nativePreventExtensions","nativeSeal","seal","$values","NativePromise","promiseResolve","NON_GENERIC","real","onFinally","isFunction","microtask","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","GLOBAL_CORE_JS_PROMISE","FakePromise","all","isThenable","isReject","notified","chain","reactions","ok","reaction","handler","fail","exited","rejection","onHandleUnhandled","onUnhandled","reason","initEvent","IS_UNHANDLED","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","fetch","wrap","r","capability","$promiseResolve","remaining","alreadyCalled","race","nativeApply","functionApply","OPTIONAL_ARGUMENTS_LIST","thisArgument","argumentsList","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","ERROR_INSTEAD_OF_FALSE","Reflect","attributes","deleteProperty","objectGetPrototypeOf","receiver","objectIsExtensible","objectPreventExtensions","objectSetPrototypeOf","ownDescriptor","existingDescriptor","MS_EDGE_BUG","getFlags","NativeRegExp","RegExpPrototype","CORRECT_NEW","RegExpWrapper","pattern","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","objectDefinePropertyModule","regExpFlags","TO_STRING","nativeToString","NOT_GENERIC","INCORRECT_NAME","p","rf","Set","createHTML","forcedStringHTMLMethod","anchor","big","blink","bold","codePointAt","notARegExp","correctIsRegExpLogic","nativeEndsWith","endsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","searchString","endPosition","search","fixed","fontcolor","color","fontsize","nativeFromCodePoint","fromCodePoint","INCORRECT_LENGTH","elements","italics","STRING_ITERATOR","point","link","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","matcher","res","rx","fullUnicode","matchStr","$padEnd","WEBKIT_BUG","padEnd","$padStart","padStart","raw","template","rawTemplate","literalSegments","getSubstitution","maybeToString","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","small","callRegExpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","limit","lim","lastLastIndex","separatorCopy","lastLength","splitter","unicodeMatching","nativeStartsWith","startsWith","strike","sub","sup","$trimEnd","forcedStringTrimMethod","trimEnd","trimRight","$trimStart","trimStart","trimLeft","$trim","defineWellKnownSymbol","NativeSymbol","description","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","$Symbol","$stringify","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","$copyWithin","$fill","predicate","createTypedArrayConstructor","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","$join","$lastIndexOf","middle","$slice","$sort","subarray","begin","beginIndex","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","arrayJoin","IS_NOT_ARRAY_METHOD","collectionWeak","enforceIternalState","IS_IE11","InternalWeakMap","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","WeakSet","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","hasOwn","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","plus","sequences","percentSequence","percentDecode","sequence","decodeURIComponent","deserialize","serialize","encodeURIComponent","parseSearchParams","query","shift","updateSearchParams","validateArgumentsLength","passed","required","URLSearchParamsIterator","Iterator","params","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","callback","body","headers","getState","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","EOF","parseHost","codePoints","parseIPv6","isSpecial","percentEncode","C0ControlPercentEncodeSet","parseIPv4","parts","partsLength","numbers","part","ipv4","pop","address","pieceIndex","compress","pointer","numbersSeen","ipv4Piece","swaps","swap","char","findLongestZeroSequence","ipv6","maxIndex","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","seenAt","seenBracket","seenPasswordToken","bufferCodePoints","failure","fragment","codePoint","encodedCodePoints","URLConstructor","urlString","baseState","searchParamsState","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","root","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","baseGetTag","trimmedEndIndex","reTrimStart","baseTrim","freeGlobal","objectProto","nativeObjectToString","isOwn","unmasked","freeSelf","reWhitespace","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","debounced","isInvoking","isObjectLike","symbolTag","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","isBinary","createNanoEvents","events","on","cb","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","err","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","displayName","defineIteratorMethods","isGeneratorFunction","genFun","ctor","mark","awrap","__await","AsyncIterator","PromiseImpl","invoke","record","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","skipTempReset","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","isCommonjs","fnMap","l","ret","eventNameMap","change","fullscreenchange","fullscreenerror","screenfull","request","onFullScreenEntered","off","documentElement","returnPromise","requestFullscreen","catch","isFullscreen","onFullScreenExit","exitFullscreen","onchange","onerror","eventName","removeEventListener","isEnabled","fullscreenElement","fullscreenEnabled","isMergeableObject","isNonNullObject","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","deepmerge","emptyTarget","cloneUnlessOtherwiseSpecified","customMerge","getEnumerableOwnPropertySymbols","destination","getKeys","propertyIsUnsafe","propertyIsOnObject","getMergeFunction","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","mergeObject","deepmerge_1","once","isUndefined","ctx","binding","trigger","targetIsEl","targetIsSelector","selector","_setupAdvanceOnHandler","top","bottom","auto","basePlacements","clippingParents","viewport","popper","reference","variationPlacements","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","afterWrite","modifierPhases","ownerDocument","OwnElement","getWindow","_ref","isHTMLElement","getNodeName","_ref2","initialStyles","margin","arrow","styleProperties","enabled","phase","effect","requires","rect","width","height","clientRect","getBoundingClientRect","rootNode","child","isShadowRoot","isElement","getDocumentElement","getComputedStyle","isFirefox","navigator","isIE","elementCss","currentNode","getParentNode","css","offsetParent","getTrueOffsetParent","isTableElement","getContainingBlock","mathMax","mathMin","getFreshSideObject","hashMap","toPaddingObject","padding","mergePaddingObject","expandToHashMap","arrowElement","popperOffsets","basePlacement","getBasePlacement","axis","getMainAxisFromPlacement","isVertical","paddingObject","arrowRect","getLayoutRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","getOffsetParent","clientSize","centerToReference","center","within","axisProp","_state$modifiersData$","_options$element","contains","requiresIfExists","unsetSides","win","dpr","popperRect","offsets","gpuAcceleration","adaptive","roundOffsets","_ref3","roundOffsetsByDPR","_ref3$x","_ref3$y","hasX","hasY","sideX","sideY","heightProp","widthProp","commonStyles","_Object$assign","_Object$assign2","_ref4","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","mapToStyles","passive","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","scrollLeft","scrollTop","getWindowScroll","visualViewport","getWindowScrollBarX","winScroll","_element$ownerDocumen","_getComputedStyle","overflow","overflowX","overflowY","isScrollParent","getScrollParent","isBody","updatedList","listScrollParents","clippingParent","rectToClientRect","getViewportRect","getInnerBoundingClientRect","getDocumentRect","canEscapeClipping","clipperElement","mainClippingParents","boundary","getClippingParents","firstClippingParent","clippingRect","getClientRectFromMixedType","accRect","variation","getVariation","commonX","commonY","mainAxis","_options","_options$placement","_options$boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","referenceElement","clippingClientRect","getClippingRect","referenceClientRect","computeOffsets","strategy","popperClientRect","elementClientRect","overflowOffsets","offsetData","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allowedPlacements","overflows","oppositePlacement","getOppositePlacement","getOppositeVariationPlacement","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","getExpandedFallbackPlacements","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","detectOverflow","mainVariationSide","altVariationSide","checks","numberOfChecks","_loop","fittingPlacement","_i","_ret","_skip","preventedOffsets","referenceOverflow","popperAltOverflow","referenceClippingOffsets","getSideOffsets","popperEscapeOffsets","isReferenceHidden","isAnySideFullyClipped","hasPopperEscaped","hide","invertDistance","skidding","distance","_options$offset","distanceAndSkiddingToXY","_data$state$placement","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","getAltAxis","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_min","_max","_preventedOffset","getHTMLElementScroll","isFixed","isOffsetParentAnElement","getNodeScroll","visited","modifiers","modifier","depModifier","orderedModifiers","order","pending","merged","existing","current","DEFAULT_OPTIONS","_len","_key","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","modifiersData","styles","effectCleanupFns","isDestroyed","setOptions","cleanupModifierEffects","orderModifiers","mergeByName","runModifierEffects","forceUpdate","_state$elements","areValidElements","getCompositeRect","_state$orderedModifie","_state$orderedModifie2","update","destroy","_ref3$options","cleanupFn","noopFn","createPopper","popperGenerator","transform","centeredStylePopperModifier","_getCenteredStylePopperModifier","popperOptions","isString","prefix","returnOpts","attachToOptions","parseAttachTo","getPopperOptions","d","makeCenteredPopper","defaultStepOptions","_mergeModifiers","stepOptions","mergedPopperOptions","mod","filteredModifiers","tar","fns","iterations","text","descriptors","attr","current_component","get_current_component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","component","set_current_component","$$","run_all","dirty","outroing","outros","block","to_null_out","accounted_for","$$scope","levels","o","updates","after_update","add_render_callback","new_on_destroy","on_mount","on_destroy","schedule_update","parent_component","props","not_equal","blank_object","on_disconnect","before_update","callbacks","skip_bound","ready","rest","make_dirty","create_fragment","nodes","children","transition_in","mount_component","$destroy","destroy_component","$on","$set","is_empty","config","action","classes","disabled","secondary","getDisabled","buttons","cancelIcon","handleCancelClick","labelId","title","afterUpdate","descriptionId","KEY_TAB","KEY_ESC","LEFT_ARROW","RIGHT_ARROW","getClassesArray","className","classPrefix","firstFocusableElement","focusableElements","lastFocusableElement","dataStepId","hasCancelIcon","hasTitle","getElement","onMount","updateDynamicClasses","removeClasses","addClasses","oldClasses","newClasses","handleKeyDown","tour","keyCode","shiftKey","exitOnEsc","keyboardNavigation","w","Element","SCROLL_TIME","scrollBy","elementScroll","scrollIntoView","userAgentPatterns","ROUNDING_TOLERANCE","isMicrosoftBrowser","firstArg","overflowValue","isScrollableY","hasScrollableSpace","canOverflow","isScrollableX","isScrollable","elapsed","ease","currentX","currentY","startTime","scrollable","startX","startY","shouldBailOut","smoothScroll","behavior","scrollableParent","findScrollableParent","parentRects","clientRects","polyfill","smoothscroll","normalizePrefix","autoBind","getTour","isCentered","isOpen","show","beforeShowPromise","updateStepOptions","getTarget","_createTooltipContent","_scrollTo","_getClassOptions","stepClasses","defaultStepOptionsClasses","allClasses","uniqClasses","_setOptions","tourOptions","merge","when","uuid","_setupElements","bindAdvance","setupTooltip","_show","_styleTargetElementForStep","targetElement","_updateStepTargetOnHide","steps","innerWidth","h","innerHeight","_getScrollParent","isHtmlElement","HTMLElement","clientHeight","_getVisibleHeight","elementRect","scrollRect","scrollBottom","openingProperties","modalIsVisible","rafId","pathDefinition","closeModalOpening","_cleanupStepEventListeners","positionModal","modalOverlayOpeningPadding","modalOverlayOpeningRadius","setupForStep","useModalOverlay","_styleForStep","_preventModalBodyTouch","_preventModalOverlayTouch","_addStepEventListeners","cancelAnimationFrame","rafLoop","requestAnimationFrame","makeOverlayPath","Shepherd","defaultTourOptions","opts","addStep","addSteps","back","cancelMessage","stopTour","getById","getCurrentStep","currentStep","isActive","removeStep","forward","shouldSkipStep","_done","cleanupSteps","modalContainer","_setupActiveTour","_setupModal","_skipStep","nextIndex","_updateStateBeforeShow","_setTourID","tourName","Tour","Step","Helpinator","reader","emitter","bindEvents","maybeAutoStart","watchMediaQuery","querySelector","configureTour","doAlert","scrollTo","dataset","inWalkthrough","localStorage","setItem","HT","analytics","trackEvent","category","sourceUrl","response","json","idx","nodeName","attachTo","seq","currentSeq","_initialized","alert","referrer","getItem","matchMedia","matches","interval","interval_idx","setInterval","clearInterval","mql","Control","Selectinator","Navigator","Screeninator","Viewinator","Zoominator","Minimizer","Searchinator","Jumpinator","Layoutinator","_bindSections","prompt","pageNumRange","service","manifest","_hasPageNum","promptHTML","totalSeq","preventDefault","stopPropagation","$dialog","bootbox","dialog","class","modal","retval","handleValue","handleError","header","onShow","focus","input_seq","closeModal","substr","jump","possible","innerHTML","panelSections","sections","closest","$sidebar","sidebar","_bindLayoutTweaker","_bindSidebarToggle","$toggle","offsetHeight","sidebarToggleState","$root","setAttribute","fixRootAria","$tweaker","offsetWidth","tweaker","isDragging","hasDragged","marginLeft","lastClientX","$tweakContainer","parentElement","$layoutContainer","classList","$body","gridSidebarColumnWidth","usesGrid","sidebarState","_updateTweakAttributes","cursor","clientX","setProperty","getPropertyValue","prefs","pt","expanded","toggledLabel","untoggledLabel","_tippy","setContent","getAttribute","minimizer","nextView","uiView","_bindNavigation","_bindSequence","_bindResize","sequenceEl","rangeEl","_updateRange","_updateNavigationLabels","nextEl","prevEl","firstEl","lastEl","controlEls","_setupDefaultNavigationLabels","isRTL","defaultLabel","currentLabel","newLabel","labelRtl","range","_mouseDown","updateLocation","_keyDown","_change","isTouchDevice","capture_value","handle_change","ResizeObserver","toolbar","resizeObserver","_updateRangeBackground","current_location","current_page","percentage","total","dir","background","fullscreen","parentNode","_updateState","searchStart","searchSize","searchSort","showHighlights","searchResultsContainer","searchInput","searchPanel","hasResults","q1","search_url","debug","searchTarget","checked","form","submit","update_status","innerText","clearButton","submitButton","credentials","parser","DOMParser","replaceAll","doc","parseFromString","resultsContainer","expr","tmp","querySelectorAll","ix","remove","alertEl","container","searchForm","panel","submitTarget","sz","skipLink","checkboxEmptySvg","checkboxCheckedSvg","datalist","_selection","setup","_clearSelection","hasAttribute","_clickHandler","clickHandler","printable","_getPageSelection","_updateSelectionLabel","_updateSelectionContents","pages","page","checkFeatures","button","insertBefore","selected","_addPageToSelection","slot","span","identifier","sessionStorage","removeItem","evt","is_adding","to_process","_last_selected_seq","prev_until","start_seq","end_seq","prev_until_","page_prev","prev_input","_setSelection","num_printable","msg","visibility","parse","downloader","selectRangeOption","_getFlattenedSelection","postscript","li","link_href","toggles","possibles","format","role","disable","enable","actionSelectSvg","clickEvent","currentView","currentFormat","targetView","targetFormat","actualTargetView","describe","restart","clicked","accessPlaintextButton","accessPlaintext","currentViewItem","hasOcr","svg","scale","_possibles","image","plaintext","zoom","zoomedIn","fontSize","Manifest","defaultSeq","firstSeq","defaultImage","defaultHeight","defaultWidth","rotation","ratio","featureList","featureMap","_seq2num","_num2seq","_pageNum","item","pageNum","resolution","features","ownerid","pseq","prefixed","Service","allowFullDownload","expiration","loaders","param","bestFit","max_possible","baseWidth","devicePixelRatio","force_size","Events","LOADED","LOADING","COMPLETE","ERROR","PROMOTED","DEMOTED","Loader","n_parallel","urls","_fetched","loaded","_loaded","_loading","_events","_parallel","_slots","_queue","_errors","_complete","_paused","_previousOneWasAFunction","_insertionPoint","slots","COMPETE","insertAt","getIndex","changePosition","dispatch","_queued","mimetype","_loadText","_load","loading","request_src","is_restricted","is_error","_updateLoading","renew_auth","chokeAllowed","chokeDebt","post_error","message","filename","fileName","lineno","lineNumber","colno","columnNumber","stack","imgsrv_url","makeDone","onabort","onload","Image","image_src","restricted","Blob","objectUrl","usedBlob","evts","messages","detail","setfn","eqSet","as","bs","isIn","pred","rgbToYIQ","g","hexToRgb","contrast","colorHex","threshold","rgb","simpleSvgPlaceholder","fontFamily","fontWeight","dy","bgColor","textColor","dataUri","charset","cleaned","rotateButton","Base","_handlers","getTime","pagesIndex","pagesSeq","trackResize","rootMargin","unloadNearestThreshold","sets","visible","unloaded","_tracker","images","thumbnails","_intervals","_initialSeq","testRE","render","minWidth","maxHeight","t0","performance","createDocumentFragment","placeholder","rotateButtonAction","rotate","slice_index","_hasFrontCover","_hasBackCover","endSeq","titleCase","word","toUpperCase","cloneNode","_assignSide","_slicify","sizing","_calculatePageSize","altText","priorityFeatures","priorityFeature","thumbnailSrc","thumbnail","img","frame","frameWidth","frameHeight","_renderr","bindPageEvents","_lastContainerWidth","_lastScale","_adjustContainer","_adjustContainerWidth","reframed","loadImage","lazy","reuseText","_process","imageUrl","embedHtml","html_url","getPageSeq","globalSeq","ii","datum","postText","_reframePage","page_text","textContent","_reframePageText","redraw","_drawHighlights","_checkForFoldouts","is_unusual","_reframeUnusualImage","_addFoldoutPopout","marginTop","marginBottom","icon","childNodes","redrawPage","_redrawPageImagesTimer","isLeaving","placeholderSrc","_removeHighlights","buster","oprams","_currentPage","focusHandler","_resizePageTimer","_resizePages","unloader","unloadPages","nearest","seq1","seq2","isVisible","unloadImage","_viewport","updateViewport","widowHeight","windowHeight","windowTop","windowBottom","zoom_w","zoom_h","max_zoom_h","zoom_img_src","new_img","lightbox","$zoom_img","removeClass","image_frame","rotated","clientWidth","marginRotated","tagName","_enableControlTabIndex","currentPage","page_controls","activeElement","blur","_destroy_page","is_dirty","isCurrentSeq","_scrollPause","currentLocation","getPage","N","_enqueue","parentEl","_resizePage","timestamp","parseCoords","page_div","words","debug_words","coords","page_coords","word_regexes","_highlightIndexMap","_highlightIndex","scaling","ratioY","ratioZ","textNodesUnder","walk","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","textNodes","nodeValue","matchedWord","highlight_idx","highlight_w0","highlight_h0","highlight_w","highlight_h","highlight","replaceChild","highlights","numPages","getRandomInt","timeout","Flip","displayLabel","is_active","readingOrder","_edges","_layout","isAnimating","sliceMax","_sliceMax","maxEdgeWidth","sliceFraction","currentPages","targetPages","currentSlice","targetSlice","_processQueue","tuple","inClass","outClass","endCurrentPage","endTargetPage","onEndAnimation","unfocus","outAnimationHandler","inAnimationHandler","maxWidth","sliceIdx","_maxSliceWidth","backdrop","newImageWidth","currentImageWidth","backgroundColor","r2","side","direction","_calculateSeq","minWidthNew","_clickHandlerPage","_clickHandlerEdge","offsetX","edgeWidth","targetSeq","pageSide","offsetDelta","offsetPercentage","Single","useAnimations","targetPage","View","Scroll","Thumbnail","PlainText","Page","for","_resizer","pageOptions","_debugLog","expandable","offsetTop","_lastKnownScrollPosition","scrollHeight","expandableHeight","newFrameHeight","isAdjusting","unaltered","naturalWidth","naturalHeight","naturalRatio","observer","isIntersecting","intersectionRatio","lastViewsStarted","delete","operating","_operating","maxPercentage","pagedetails","IntersectionObserver","handleObserver","_ticking","scrolled","scrollHandler","loadPages","_targetSeq","_setupExpandableTimer","_expanding","_tickingTimer","_expandable","_resizeExpandablePages","height1","height2","preload","reactivated","containerTop","containerBottom","elemTop","elemBottom","pageIsVisible","bottomIsVisible","topIsVisible","height_visible","t1","disconnect","unobserve","lastView","eventReferrer","focused","actuallyVisible","_actuallyVisible","lastPage","lastSeq","pg","foldouts","IntersectionObserverEntry","getFrameElement","defaultView","frameElement","startDoc","registry","crossOriginUpdater","crossOriginRect","rootBounds","ensureDOMRect","boundingClientRect","intersectionRect","getEmptyRect","targetRect","targetArea","intersectionArea","opt_options","nodeType","_checkForIntersections","throttle","THROTTLE_TIMEOUT","_callback","_observationTargets","_queuedEntries","_rootMarginValues","_parseRootMargin","thresholds","_initThresholds","unit","_monitoringDocuments","_monitoringUnsubscribes","POLL_INTERVAL","USE_MUTATION_OBSERVER","_setupCrossOriginUpdater","convertFromParentRect","_resetCrossOriginUpdater","isTargetAlreadyObserved","_registerInstance","_monitorIntersections","_unmonitorIntersections","_unregisterInstance","_unmonitorAllIntersections","takeRecords","records","opt_threshold","opt_rootMargin","marginString","margins","monitoringInterval","domObserver","addEvent","childList","subtree","removeEvent","rootDoc","hasDependentTargets","itemDoc","unsubscribe","unsubscribes","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","rootContainsTarget","_rootContainsTarget","oldEntry","_computeTargetAndRootIntersection","newEntry","_hasCrossedThreshold","atRoot","parentRect","parentComputedStyle","frameRect","frameIntersect","computeRectIntersection","isDoc","_expandRectByRootMargin","newRect","oldRatio","newRatio","containsDeep","timer","opt_useCapture","attachEvent","detatchEvent","rect1","rect2","parentBoundingRect","parentIntersectionRect","assignedSlot","support","formData","arrayBuffer","isDataView","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","oldValue","consumed","bodyUsed","fileReaderReady","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","chars","bufferClone","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","_bodyArrayBuffer","rejected","isConsumed","decode","normalizeMethod","upcased","Request","signal","reParamSearch","reQueryString","clone","parseHeaders","rawHeaders","preProcessedHeaders","line","Response","bodyInit","status","statusText","redirectStatuses","redirect","DOMException","aborted","xhr","XMLHttpRequest","abortXhr","abort","getAllResponseHeaders","responseURL","responseText","ontimeout","fixUrl","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","$main","$header","is_dev","$viewer","isSafari12","isEtas","isDev","Reader","controls","_trigger","original_cb","restarting","zoominator","setView","cls","_updateViews","lastMessage","statusTimer","_updateHistoryUrl","_currentLocation","_updateLinks","_logAction","_updateImageResolution","_updateViewports","mediaQuery","prefersReducedMotion","IGNORE_FOCUS","accesskey_triggers","btn","click","debug_focus","$console","appendTo","outerHTML","localName","verso","recto","previousElementSibling","_updateLinkSeq","updateDownloadFormatRangeOptions","_updateOwnerId","size150","_updateLinkAttribute","inputs","$link","removeAttribute","baseHref","trackingLabel","physicalSeq","argv","skin","l11_tracking","l11_uid","ui","new_href","_original_title","history","replaceState","regex","target_href","sep","bestFitScale","logAction","postImage","postThumbnail","layoutinator","screeninator","viewinator","zoomin","zoomout","helpinator","jumpinator","searchinator","resetHighlightIndex","selectinator","_simplifyPageHref","trackPageview","utils","handleOrientationChange","ignore","isEmbed","orientation","validViews","validFormats","foramt","hj","betaLink","checkForPageMessages","messagesList","messageKey","_scrollCheck","trace","htid","handleVisibilityChange","hidden","handleWindowBlur","handleWindowFocus","inactivated"],"mappings":"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","file":"js/main.js","sourcesContent":["module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new NativeArrayBuffer(); // eslint-disable-line no-new\n new NativeArrayBuffer(1.5); // eslint-disable-line no-new\n new NativeArrayBuffer(NaN); // eslint-disable-line no-new\n return NativeArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var nativeSetInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== 'number' && hint !== 'default') {\n throw TypeError('Incorrect hint');\n } return toPrimitive(anObject(this), hint !== 'number');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","// IEEE754 conversions based on https://github.com/feross/ieee754\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = 1 / 0;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.es/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var nativeExpm1 = Math.expm1;\nvar exp = Math.exp;\n\n// `Math.expm1` method implementation\n// https://tc39.es/ecma262/#sec-math.expm1\nmodule.exports = (!nativeExpm1\n // Old FF bug\n || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || nativeExpm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;\n} : nativeExpm1;\n","var sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\nmodule.exports = Math.fround || function fround(x) {\n var $abs = abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","var log = Math.log;\n\n// `Math.log1p` method implementation\n// https://tc39.es/ecma262/#sec-math.log1p\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);\n};\n","// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var global = require('../internals/global');\n\nvar globalIsFinite = global.isFinite;\n\n// `Number.isFinite` method\n// https://tc39.es/ecma262/#sec-number.isfinite\nmodule.exports = Number.isFinite || function isFinite(it) {\n return typeof it == 'number' && globalIsFinite(it);\n};\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseFloat = global.parseFloat;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(String(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar hex = /^[+-]?0[Xx]/;\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(String(string));\n return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));\n} : $parseInt;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* eslint-disable no-new */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anObject = require('../internals/an-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar nativeArrayBufferSlice = ArrayBuffer.prototype.slice;\n\nvar INCORRECT_SLICE = fails(function () {\n return !new ArrayBuffer(2).slice(1, undefined).byteLength;\n});\n\n// `ArrayBuffer.prototype.slice` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice\n$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {\n slice: function slice(start, end) {\n if (nativeArrayBufferSlice !== undefined && end === undefined) {\n return nativeArrayBufferSlice.call(anObject(this), start); // FF fix\n }\n var length = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));\n var viewSource = new DataView(this);\n var viewTarget = new DataView(result);\n var index = 0;\n while (first < fin) {\n viewTarget.setUint8(index++, viewSource.getUint8(first++));\n } return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var $ = require('../internals/export');\nvar copyWithin = require('../internals/array-copy-within');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n$({ target: 'Array', proto: true }, {\n copyWithin: copyWithin\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('copyWithin');\n","'use strict';\nvar $ = require('../internals/export');\nvar $every = require('../internals/array-iteration').every;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('every');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('every');\n\n// `Array.prototype.every` method\n// https://tc39.es/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar aFunction = require('../internals/a-function');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A;\n aFunction(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var $ = require('../internals/export');\nvar lastIndexOf = require('../internals/array-last-index-of');\n\n// `Array.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\n$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {\n lastIndexOf: lastIndexOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar createProperty = require('../internals/create-property');\n\nvar ISNT_GENERIC = fails(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n});\n\n// `Array.of` method\n// https://tc39.es/ecma262/#sec-array.of\n// WebKit Array.of isn't generic\n$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {\n of: function of(/* ...args */) {\n var index = 0;\n var argumentsLength = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(argumentsLength);\n while (argumentsLength > index) createProperty(result, index, arguments[index++]);\n result.length = argumentsLength;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduceRight = require('../internals/array-reduce').right;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduceRight');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduceright\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = [].reverse;\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign\n if (isArray(this)) this.length = this.length;\n return nativeReverse.call(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('some');\n\n// `Array.prototype.some` method\n// https://tc39.es/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","var setSpecies = require('../internals/set-species');\n\n// `Array[@@species]` getter\n// https://tc39.es/ecma262/#sec-get-array-@@species\nsetSpecies('Array');\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar FORCED = fails(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n});\n\n// `Date.prototype.toJSON` method\n// https://tc39.es/ecma262/#sec-date.prototype.tojson\n$({ target: 'Date', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar dateToPrimitive = require('../internals/date-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar DatePrototype = Date.prototype;\n\n// `Date.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive\nif (!(TO_PRIMITIVE in DatePrototype)) {\n createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive);\n}\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar HAS_INSTANCE = wellKnownSymbol('hasInstance');\nvar FunctionPrototype = Function.prototype;\n\n// `Function.prototype[@@hasInstance]` method\n// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance\nif (!(HAS_INSTANCE in FunctionPrototype)) {\n definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n } });\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var $ = require('../internals/export');\nvar log1p = require('../internals/math-log1p');\n\nvar nativeAcosh = Math.acosh;\nvar log = Math.log;\nvar sqrt = Math.sqrt;\nvar LN2 = Math.LN2;\n\nvar FORCED = !nativeAcosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n || nativeAcosh(Infinity) != Infinity;\n\n// `Math.acosh` method\n// https://tc39.es/ecma262/#sec-math.acosh\n$({ target: 'Math', stat: true, forced: FORCED }, {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? log(x) + LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","var $ = require('../internals/export');\n\nvar nativeAsinh = Math.asinh;\nvar log = Math.log;\nvar sqrt = Math.sqrt;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1));\n}\n\n// `Math.asinh` method\n// https://tc39.es/ecma262/#sec-math.asinh\n// Tor Browser bug: Math.asinh(0) -> -0\n$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, {\n asinh: asinh\n});\n","var $ = require('../internals/export');\n\nvar nativeAtanh = Math.atanh;\nvar log = Math.log;\n\n// `Math.atanh` method\n// https://tc39.es/ecma262/#sec-math.atanh\n// Tor Browser bug: Math.atanh(-0) -> 0\n$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2;\n }\n});\n","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\nvar pow = Math.pow;\n\n// `Math.cbrt` method\n// https://tc39.es/ecma262/#sec-math.cbrt\n$({ target: 'Math', stat: true }, {\n cbrt: function cbrt(x) {\n return sign(x = +x) * pow(abs(x), 1 / 3);\n }\n});\n","var $ = require('../internals/export');\n\nvar floor = Math.floor;\nvar log = Math.log;\nvar LOG2E = Math.LOG2E;\n\n// `Math.clz32` method\n// https://tc39.es/ecma262/#sec-math.clz32\n$({ target: 'Math', stat: true }, {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32;\n }\n});\n","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\nvar nativeCosh = Math.cosh;\nvar abs = Math.abs;\nvar E = Math.E;\n\n// `Math.cosh` method\n// https://tc39.es/ecma262/#sec-math.cosh\n$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, {\n cosh: function cosh(x) {\n var t = expm1(abs(x) - 1) + 1;\n return (t + 1 / (t * E * E)) * (E / 2);\n }\n});\n","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\n// `Math.expm1` method\n// https://tc39.es/ecma262/#sec-math.expm1\n$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 });\n","var $ = require('../internals/export');\nvar fround = require('../internals/math-fround');\n\n// `Math.fround` method\n// https://tc39.es/ecma262/#sec-math.fround\n$({ target: 'Math', stat: true }, { fround: fround });\n","var $ = require('../internals/export');\n\nvar $hypot = Math.hypot;\nvar abs = Math.abs;\nvar sqrt = Math.sqrt;\n\n// Chrome 77 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=9546\nvar BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;\n\n// `Math.hypot` method\n// https://tc39.es/ecma262/#sec-math.hypot\n$({ target: 'Math', stat: true, forced: BUGGY }, {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * sqrt(sum);\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\n\nvar nativeImul = Math.imul;\n\nvar FORCED = fails(function () {\n return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2;\n});\n\n// `Math.imul` method\n// https://tc39.es/ecma262/#sec-math.imul\n// some WebKit versions fails with big numbers, some has wrong arity\n$({ target: 'Math', stat: true, forced: FORCED }, {\n imul: function imul(x, y) {\n var UINT16 = 0xFFFF;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LOG10E = Math.LOG10E;\n\n// `Math.log10` method\n// https://tc39.es/ecma262/#sec-math.log10\n$({ target: 'Math', stat: true }, {\n log10: function log10(x) {\n return log(x) * LOG10E;\n }\n});\n","var $ = require('../internals/export');\nvar log1p = require('../internals/math-log1p');\n\n// `Math.log1p` method\n// https://tc39.es/ecma262/#sec-math.log1p\n$({ target: 'Math', stat: true }, { log1p: log1p });\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.es/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar expm1 = require('../internals/math-expm1');\n\nvar abs = Math.abs;\nvar exp = Math.exp;\nvar E = Math.E;\n\nvar FORCED = fails(function () {\n return Math.sinh(-2e-17) != -2e-17;\n});\n\n// `Math.sinh` method\n// https://tc39.es/ecma262/#sec-math.sinh\n// V8 near Chromium 38 has a problem with very small numbers\n$({ target: 'Math', stat: true, forced: FORCED }, {\n sinh: function sinh(x) {\n return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);\n }\n});\n","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\nvar exp = Math.exp;\n\n// `Math.tanh` method\n// https://tc39.es/ecma262/#sec-math.tanh\n$({ target: 'Math', stat: true }, {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var $ = require('../internals/export');\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n$({ target: 'Math', stat: true }, {\n trunc: function trunc(it) {\n return (it > 0 ? floor : ceil)(it);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = require('../internals/export');\n\n// `Number.EPSILON` constant\n// https://tc39.es/ecma262/#sec-number.epsilon\n$({ target: 'Number', stat: true }, {\n EPSILON: Math.pow(2, -52)\n});\n","var $ = require('../internals/export');\nvar numberIsFinite = require('../internals/number-is-finite');\n\n// `Number.isFinite` method\n// https://tc39.es/ecma262/#sec-number.isfinite\n$({ target: 'Number', stat: true }, { isFinite: numberIsFinite });\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.es/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isInteger\n});\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.es/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\nvar abs = Math.abs;\n\n// `Number.isSafeInteger` method\n// https://tc39.es/ecma262/#sec-number.issafeinteger\n$({ target: 'Number', stat: true }, {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;\n }\n});\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","var $ = require('../internals/export');\n\n// `Number.MIN_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.min_safe_integer\n$({ target: 'Number', stat: true }, {\n MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF\n});\n","var $ = require('../internals/export');\nvar parseFloat = require('../internals/number-parse-float');\n\n// `Number.parseFloat` method\n// https://tc39.es/ecma262/#sec-number.parseFloat\n$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, {\n parseFloat: parseFloat\n});\n","var $ = require('../internals/export');\nvar parseInt = require('../internals/number-parse-int');\n\n// `Number.parseInt` method\n// https://tc39.es/ecma262/#sec-number.parseint\n$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {\n parseInt: parseInt\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar aFunction = require('../internals/a-function');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar aFunction = require('../internals/a-function');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n });\n}\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\nvar nativeFreeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: nativeGetOwnPropertyNames\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\n\nvar nativeIsExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n isExtensible: function isExtensible(it) {\n return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\n\nvar nativeIsFrozen = Object.isFrozen;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\n\nvar nativeIsSealed = Object.isSealed;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n isSealed: function isSealed(it) {\n return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var key = toPrimitive(P, true);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPrimitive(P, true);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\nvar nativePreventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.es/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(it) {\n return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\nvar nativeSeal = Object.seal;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); });\n\n// `Object.seal` method\n// https://tc39.es/ecma262/#sec-object.seal\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n seal: function seal(it) {\n return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it;\n }\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\n\nvar nativeApply = getBuiltIn('Reflect', 'apply');\nvar functionApply = Function.apply;\n\n// MS Edge argumentsList argument is optional\nvar OPTIONAL_ARGUMENTS_LIST = !fails(function () {\n nativeApply(function () { /* empty */ });\n});\n\n// `Reflect.apply` method\n// https://tc39.es/ecma262/#sec-reflect.apply\n$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {\n apply: function apply(target, thisArgument, argumentsList) {\n aFunction(target);\n anObject(argumentsList);\n return nativeApply\n ? nativeApply(target, thisArgument, argumentsList)\n : functionApply.call(target, thisArgument, argumentsList);\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar fails = require('../internals/fails');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\nvar ERROR_INSTEAD_OF_FALSE = fails(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 });\n});\n\n// `Reflect.defineProperty` method\n// https://tc39.es/ecma262/#sec-reflect.defineproperty\n$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n var key = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n definePropertyModule.f(target, key, attributes);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Reflect.deleteProperty` method\n// https://tc39.es/ecma262/#sec-reflect.deleteproperty\n$({ target: 'Reflect', stat: true }, {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);\n return descriptor && !descriptor.configurable ? false : delete target[propertyKey];\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\n\n// `Reflect.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor\n$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\n// `Reflect.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-reflect.getprototypeof\n$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(target) {\n return objectGetPrototypeOf(anObject(target));\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.es/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","var $ = require('../internals/export');\n\n// `Reflect.has` method\n// https://tc39.es/ecma262/#sec-reflect.has\n$({ target: 'Reflect', stat: true }, {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\n\nvar objectIsExtensible = Object.isExtensible;\n\n// `Reflect.isExtensible` method\n// https://tc39.es/ecma262/#sec-reflect.isextensible\n$({ target: 'Reflect', stat: true }, {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return objectIsExtensible ? objectIsExtensible(target) : true;\n }\n});\n","var $ = require('../internals/export');\nvar ownKeys = require('../internals/own-keys');\n\n// `Reflect.ownKeys` method\n// https://tc39.es/ecma262/#sec-reflect.ownkeys\n$({ target: 'Reflect', stat: true }, {\n ownKeys: ownKeys\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar FREEZING = require('../internals/freezing');\n\n// `Reflect.preventExtensions` method\n// https://tc39.es/ecma262/#sec-reflect.preventextensions\n$({ target: 'Reflect', stat: true, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');\n if (objectPreventExtensions) objectPreventExtensions(target);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\nvar objectSetPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Reflect.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-reflect.setprototypeof\nif (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n anObject(target);\n aPossiblePrototype(proto);\n try {\n objectSetPrototypeOf(target, proto);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar fails = require('../internals/fails');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\n// `Reflect.set` method\n// https://tc39.es/ecma262/#sec-reflect.set\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n var existingDescriptor, prototype;\n if (!ownDescriptor) {\n if (isObject(prototype = getPrototypeOf(target))) {\n return set(prototype, propertyKey, V, receiver);\n }\n ownDescriptor = createPropertyDescriptor(0);\n }\n if (has(ownDescriptor, 'value')) {\n if (ownDescriptor.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n definePropertyModule.f(receiver, propertyKey, existingDescriptor);\n } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V));\n return true;\n }\n return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);\n}\n\n// MS Edge 17-18 Reflect.set allows setting the property to object\n// with non-writable property on the prototype\nvar MS_EDGE_BUG = fails(function () {\n var Constructor = function () { /* empty */ };\n var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true });\n // eslint-disable-next-line no-undef\n return Reflect.set(Constructor.prototype, 'a', 1, object) !== false;\n});\n\n$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, {\n set: set\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModule = require('../internals/object-define-property');\nvar regExpFlags = require('../internals/regexp-flags');\nvar UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {\n objectDefinePropertyModule.f(RegExp.prototype, 'flags', {\n configurable: true,\n get: regExpFlags\n });\n}\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.es/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n anchor: function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.big` method\n// https://tc39.es/ecma262/#sec-string.prototype.big\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, {\n big: function big() {\n return createHTML(this, 'big', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.blink` method\n// https://tc39.es/ecma262/#sec-string.prototype.blink\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, {\n blink: function blink() {\n return createHTML(this, 'blink', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.bold` method\n// https://tc39.es/ecma262/#sec-string.prototype.bold\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, {\n bold: function bold() {\n return createHTML(this, 'b', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.es/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fixed` method\n// https://tc39.es/ecma262/#sec-string.prototype.fixed\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {\n fixed: function fixed() {\n return createHTML(this, 'tt', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fontcolor` method\n// https://tc39.es/ecma262/#sec-string.prototype.fontcolor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, {\n fontcolor: function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fontsize` method\n// https://tc39.es/ecma262/#sec-string.prototype.fontsize\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, {\n fontsize: function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n }\n});\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.italics` method\n// https://tc39.es/ecma262/#sec-string.prototype.italics\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, {\n italics: function italics() {\n return createHTML(this, 'i', '', '');\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.es/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `String.raw` method\n// https://tc39.es/ecma262/#sec-string.raw\n$({ target: 'String', stat: true }, {\n raw: function raw(template) {\n var rawTemplate = toIndexedObject(template.raw);\n var literalSegments = toLength(rawTemplate.length);\n var argumentsLength = arguments.length;\n var elements = [];\n var i = 0;\n while (literalSegments > i) {\n elements.push(String(rawTemplate[i++]));\n if (i < argumentsLength) elements.push(String(arguments[i]));\n } return elements.join('');\n }\n});\n","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n repeat: repeat\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.small` method\n// https://tc39.es/ecma262/#sec-string.prototype.small\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, {\n small: function small() {\n return createHTML(this, 'small', '', '');\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n strike: function strike() {\n return createHTML(this, 'strike', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.sub` method\n// https://tc39.es/ecma262/#sec-string.prototype.sub\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, {\n sub: function sub() {\n return createHTML(this, 'sub', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.sup` method\n// https://tc39.es/ecma262/#sec-string.prototype.sup\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, {\n sup: function sup() {\n return createHTML(this, 'sup', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimEnd');\n\nvar trimEnd = FORCED ? function trimEnd() {\n return $trimEnd(this);\n} : ''.trimEnd;\n\n// `String.prototype.{ trimEnd, trimRight }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// https://tc39.es/ecma262/#String.prototype.trimright\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimEnd: trimEnd,\n trimRight: trimEnd\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trimStart = require('../internals/string-trim').start;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimStart');\n\nvar trimStart = FORCED ? function trimStart() {\n return $trimStart(this);\n} : ''.trimStart;\n\n// `String.prototype.{ trimStart, trimLeft }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// https://tc39.es/ecma262/#String.prototype.trimleft\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimStart: trimStart,\n trimLeft: trimStart\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float64Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float64', function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar exportTypedArrayStaticMethod = require('../internals/array-buffer-view-core').exportTypedArrayStaticMethod;\nvar typedArrayFrom = require('../internals/typed-array-from');\n\n// `%TypedArray%.from` method\n// https://tc39.es/ecma262/#sec-%typedarray%.from\nexportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int16', function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int32', function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;\n\n// `%TypedArray%.of` method\n// https://tc39.es/ecma262/#sec-%typedarray%.of\nexportTypedArrayStaticMethod('of', function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = new (aTypedArrayConstructor(this))(length);\n while (length > index) result[index] = arguments[index++];\n return result;\n}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint16', function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint32', function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8ClampedArray` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar task = require('../internals/task');\n\nvar FORCED = !global.setImmediate || !global.clearImmediate;\n\n// http://w3c.github.io/setImmediate/\n$({ global: true, bind: true, enumerable: true, forced: FORCED }, {\n // `setImmediate` method\n // http://w3c.github.io/setImmediate/#si-setImmediate\n setImmediate: task.set,\n // `clearImmediate` method\n // http://w3c.github.io/setImmediate/#si-clearImmediate\n clearImmediate: task.clear\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar microtask = require('../internals/microtask');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar process = global.process;\n\n// `queueMicrotask` method\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask\n$({ global: true, enumerable: true, noTargetGet: true }, {\n queueMicrotask: function queueMicrotask(fn) {\n var domain = IS_NODE && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\nvar $ = require('../internals/export');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","let createNanoEvents = () => ({\n events: {},\n emit (event, ...args) {\n for (let i of this.events[event] || []) {\n i(...args)\n }\n },\n on (event, cb) {\n ;(this.events[event] = this.events[event] || []).push(cb)\n return () => (this.events[event] = this.events[event].filter(i => i !== cb))\n }\n})\n\nexport { createNanoEvents }\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/*!\n* screenfull\n* v5.1.0 - 2020-12-24\n* (c) Sindre Sorhus; MIT License\n*/\n(function () {\n\t'use strict';\n\n\tvar document = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? window.document : {};\n\tvar isCommonjs = typeof module !== 'undefined' && module.exports;\n\n\tvar fn = (function () {\n\t\tvar val;\n\n\t\tvar fnMap = [\n\t\t\t[\n\t\t\t\t'requestFullscreen',\n\t\t\t\t'exitFullscreen',\n\t\t\t\t'fullscreenElement',\n\t\t\t\t'fullscreenEnabled',\n\t\t\t\t'fullscreenchange',\n\t\t\t\t'fullscreenerror'\n\t\t\t],\n\t\t\t// New WebKit\n\t\t\t[\n\t\t\t\t'webkitRequestFullscreen',\n\t\t\t\t'webkitExitFullscreen',\n\t\t\t\t'webkitFullscreenElement',\n\t\t\t\t'webkitFullscreenEnabled',\n\t\t\t\t'webkitfullscreenchange',\n\t\t\t\t'webkitfullscreenerror'\n\n\t\t\t],\n\t\t\t// Old WebKit\n\t\t\t[\n\t\t\t\t'webkitRequestFullScreen',\n\t\t\t\t'webkitCancelFullScreen',\n\t\t\t\t'webkitCurrentFullScreenElement',\n\t\t\t\t'webkitCancelFullScreen',\n\t\t\t\t'webkitfullscreenchange',\n\t\t\t\t'webkitfullscreenerror'\n\n\t\t\t],\n\t\t\t[\n\t\t\t\t'mozRequestFullScreen',\n\t\t\t\t'mozCancelFullScreen',\n\t\t\t\t'mozFullScreenElement',\n\t\t\t\t'mozFullScreenEnabled',\n\t\t\t\t'mozfullscreenchange',\n\t\t\t\t'mozfullscreenerror'\n\t\t\t],\n\t\t\t[\n\t\t\t\t'msRequestFullscreen',\n\t\t\t\t'msExitFullscreen',\n\t\t\t\t'msFullscreenElement',\n\t\t\t\t'msFullscreenEnabled',\n\t\t\t\t'MSFullscreenChange',\n\t\t\t\t'MSFullscreenError'\n\t\t\t]\n\t\t];\n\n\t\tvar i = 0;\n\t\tvar l = fnMap.length;\n\t\tvar ret = {};\n\n\t\tfor (; i < l; i++) {\n\t\t\tval = fnMap[i];\n\t\t\tif (val && val[1] in document) {\n\t\t\t\tfor (i = 0; i < val.length; i++) {\n\t\t\t\t\tret[fnMap[0][i]] = val[i];\n\t\t\t\t}\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t})();\n\n\tvar eventNameMap = {\n\t\tchange: fn.fullscreenchange,\n\t\terror: fn.fullscreenerror\n\t};\n\n\tvar screenfull = {\n\t\trequest: function (element, options) {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar onFullScreenEntered = function () {\n\t\t\t\t\tthis.off('change', onFullScreenEntered);\n\t\t\t\t\tresolve();\n\t\t\t\t}.bind(this);\n\n\t\t\t\tthis.on('change', onFullScreenEntered);\n\n\t\t\t\telement = element || document.documentElement;\n\n\t\t\t\tvar returnPromise = element[fn.requestFullscreen](options);\n\n\t\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\t\treturnPromise.then(onFullScreenEntered).catch(reject);\n\t\t\t\t}\n\t\t\t}.bind(this));\n\t\t},\n\t\texit: function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tif (!this.isFullscreen) {\n\t\t\t\t\tresolve();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar onFullScreenExit = function () {\n\t\t\t\t\tthis.off('change', onFullScreenExit);\n\t\t\t\t\tresolve();\n\t\t\t\t}.bind(this);\n\n\t\t\t\tthis.on('change', onFullScreenExit);\n\n\t\t\t\tvar returnPromise = document[fn.exitFullscreen]();\n\n\t\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\t\treturnPromise.then(onFullScreenExit).catch(reject);\n\t\t\t\t}\n\t\t\t}.bind(this));\n\t\t},\n\t\ttoggle: function (element, options) {\n\t\t\treturn this.isFullscreen ? this.exit() : this.request(element, options);\n\t\t},\n\t\tonchange: function (callback) {\n\t\t\tthis.on('change', callback);\n\t\t},\n\t\tonerror: function (callback) {\n\t\t\tthis.on('error', callback);\n\t\t},\n\t\ton: function (event, callback) {\n\t\t\tvar eventName = eventNameMap[event];\n\t\t\tif (eventName) {\n\t\t\t\tdocument.addEventListener(eventName, callback, false);\n\t\t\t}\n\t\t},\n\t\toff: function (event, callback) {\n\t\t\tvar eventName = eventNameMap[event];\n\t\t\tif (eventName) {\n\t\t\t\tdocument.removeEventListener(eventName, callback, false);\n\t\t\t}\n\t\t},\n\t\traw: fn\n\t};\n\n\tif (!fn) {\n\t\tif (isCommonjs) {\n\t\t\tmodule.exports = {isEnabled: false};\n\t\t} else {\n\t\t\twindow.screenfull = {isEnabled: false};\n\t\t}\n\n\t\treturn;\n\t}\n\n\tObject.defineProperties(screenfull, {\n\t\tisFullscreen: {\n\t\t\tget: function () {\n\t\t\t\treturn Boolean(document[fn.fullscreenElement]);\n\t\t\t}\n\t\t},\n\t\telement: {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn document[fn.fullscreenElement];\n\t\t\t}\n\t\t},\n\t\tisEnabled: {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\t// Coerce to boolean in case of old WebKit\n\t\t\t\treturn Boolean(document[fn.fullscreenEnabled]);\n\t\t\t}\n\t\t}\n\t});\n\n\tif (isCommonjs) {\n\t\tmodule.exports = screenfull;\n\t} else {\n\t\twindow.screenfull = screenfull;\n\t}\n})();\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/**\n * Checks if `value` is classified as an `Element`.\n * @param {*} value The param to check if it is an Element\n */\nexport function isElement(value) {\n return value instanceof Element;\n}\n\n/**\n * Checks if `value` is classified as an `HTMLElement`.\n * @param {*} value The param to check if it is an HTMLElement\n */\nexport function isHTMLElement(value) {\n return value instanceof HTMLElement;\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n * @param {*} value The param to check if it is a function\n */\nexport function isFunction(value) {\n return typeof value === 'function';\n}\n\n/**\n * Checks if `value` is classified as a `String` object.\n * @param {*} value The param to check if it is a string\n */\nexport function isString(value) {\n return typeof value === 'string';\n}\n\n/**\n * Checks if `value` is undefined.\n * @param {*} value The param to check if it is undefined\n */\nexport function isUndefined(value) {\n return value === undefined;\n}\n","import { isUndefined } from './utils/type-check';\n\nexport class Evented {\n on(event, handler, ctx, once = false) {\n if (isUndefined(this.bindings)) {\n this.bindings = {};\n }\n if (isUndefined(this.bindings[event])) {\n this.bindings[event] = [];\n }\n this.bindings[event].push({ handler, ctx, once });\n\n return this;\n }\n\n once(event, handler, ctx) {\n return this.on(event, handler, ctx, true);\n }\n\n off(event, handler) {\n if (isUndefined(this.bindings) ||\n isUndefined(this.bindings[event])) {\n return this;\n }\n\n if (isUndefined(handler)) {\n delete this.bindings[event];\n } else {\n this.bindings[event].forEach((binding, index) => {\n if (binding.handler === handler) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n\n return this;\n }\n\n trigger(event, ...args) {\n if (!isUndefined(this.bindings) && this.bindings[event]) {\n this.bindings[event].forEach((binding, index) => {\n const { ctx, handler, once } = binding;\n\n const context = ctx || this;\n\n handler.apply(context, args);\n\n if (once) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n\n return this;\n }\n}","/**\n * Binds all the methods on a JS Class to the `this` context of the class.\n * Adapted from https://github.com/sindresorhus/auto-bind\n * @param {object} self The `this` context of the class\n * @return {object} The `this` context of the class\n */\nexport default function autoBind(self) {\n const keys = Object.getOwnPropertyNames(self.constructor.prototype);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const val = self[key];\n if (key !== 'constructor' && typeof val === 'function') {\n self[key] = val.bind(self);\n }\n }\n\n return self;\n}\n","import { isUndefined } from './type-check';\n\n/**\n * Sets up the handler to determine if we should advance the tour\n * @param {string} selector\n * @param {Step} step The step instance\n * @return {Function}\n * @private\n */\nfunction _setupAdvanceOnHandler(selector, step) {\n return (event) => {\n if (step.isOpen()) {\n const targetIsEl = step.el && event.currentTarget === step.el;\n const targetIsSelector = !isUndefined(selector) && event.currentTarget.matches(selector);\n\n if (targetIsSelector || targetIsEl) {\n step.tour.next();\n }\n }\n };\n}\n\n/**\n * Bind the event handler for advanceOn\n * @param {Step} step The step instance\n */\nexport function bindAdvance(step) {\n // An empty selector matches the step element\n const { event, selector } = step.options.advanceOn || {};\n if (event) {\n const handler = _setupAdvanceOnHandler(selector, step);\n\n // TODO: this should also bind/unbind on show/hide\n let el;\n try {\n el = document.querySelector(selector);\n } catch (e) {\n // TODO\n }\n if (!isUndefined(selector) && !el) {\n return console.error(`No element was found for the selector supplied to advanceOn: ${selector}`);\n } else if (el) {\n el.addEventListener(event, handler);\n step.on('destroy', () => {\n return el.removeEventListener(event, handler);\n });\n } else {\n document.body.addEventListener(event, handler, true);\n step.on('destroy', () => {\n return document.body.removeEventListener(event, handler, true);\n });\n }\n } else {\n return console.error('advanceOn was defined, but no event name was passed.');\n }\n}\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport default function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(round(x * dpr) / dpr) || 0,\n y: round(round(y * dpr) / dpr) || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top) {\n sideY = bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { max as mathMax, min as mathMin } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? mathMin(_min, tetherMin) : _min, _offset, tether ? mathMax(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","function _getCenteredStylePopperModifier() {\n return [\n {\n name: 'applyStyles',\n fn({ state }) {\n Object.keys(state.elements).forEach((name) => {\n if (name !== 'popper') {\n return;\n }\n const style = {\n position: 'fixed',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n };\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach((name) => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n }\n },\n {\n name: 'computeStyles',\n options: {\n adaptive: false\n }\n }\n ];\n}\n\n/**\n * Generates the array of options for a tooltip that doesn't have a\n * target element in the DOM -- and thus is positioned in the center\n * of the view\n *\n * @param {Step} step The step instance\n * @return {Object} The final Popper options object\n */\nexport function makeCenteredPopper(step) {\n const centeredStylePopperModifier = _getCenteredStylePopperModifier();\n\n let popperOptions = {\n placement: 'top',\n strategy: 'fixed',\n modifiers: [\n {\n name: 'focusAfterRender',\n enabled: true,\n phase: 'afterWrite',\n fn() {\n setTimeout(() => {\n if (step.el) {\n step.el.focus();\n }\n }, 300);\n }\n }\n ]\n };\n\n popperOptions = {\n ...popperOptions,\n modifiers: Array.from(\n new Set([...popperOptions.modifiers, ...centeredStylePopperModifier])\n )\n };\n\n return popperOptions;\n}\n","import { createPopper } from '@popperjs/core';\nimport { isString } from './type-check';\nimport { makeCenteredPopper } from './popper-options';\n\n/**\n * Ensure class prefix ends in `-`\n * @param {string} prefix The prefix to prepend to the class names generated by nano-css\n * @return {string} The prefix ending in `-`\n */\nexport function normalizePrefix(prefix) {\n if (!isString(prefix) || prefix === '') {\n return '';\n }\n\n return prefix.charAt(prefix.length - 1) !== '-' ? `${prefix}-` : prefix;\n}\n\n/**\n * Checks if options.attachTo.element is a string, and if so, tries to find the element\n * @param {Step} step The step instance\n * @returns {{element, on}}\n * `element` is a qualified HTML Element\n * `on` is a string position value\n */\nexport function parseAttachTo(step) {\n const options = step.options.attachTo || {};\n const returnOpts = Object.assign({}, options);\n\n if (isString(options.element)) {\n // Can't override the element in user opts reference because we can't\n // guarantee that the element will exist in the future.\n try {\n returnOpts.element = document.querySelector(options.element);\n } catch (e) {\n // TODO\n }\n if (!returnOpts.element) {\n console.error(\n `The element for this Shepherd step was not found ${options.element}`\n );\n }\n }\n\n return returnOpts;\n}\n\n/**\n * Determines options for the tooltip and initializes\n * `step.tooltip` as a Popper instance.\n * @param {Step} step The step instance\n */\nexport function setupTooltip(step) {\n if (step.tooltip) {\n step.tooltip.destroy();\n }\n\n const attachToOptions = parseAttachTo(step);\n\n let target = attachToOptions.element;\n const popperOptions = getPopperOptions(attachToOptions, step);\n\n if (step.isCentered()) {\n target = document.body;\n const content = step.shepherdElementComponent.getElement();\n content.classList.add('shepherd-centered');\n }\n\n step.tooltip = createPopper(target, step.el, popperOptions);\n step.target = attachToOptions.element;\n\n return popperOptions;\n}\n\n/**\n * Create a unique id for steps, tours, modals, etc\n * @return {string}\n */\nexport function uuid() {\n let d = Date.now();\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n}\n\n/**\n * Gets the `Popper` options from a set of base `attachTo` options\n * @param attachToOptions\n * @param {Step} step The step instance\n * @return {Object}\n * @private\n */\nexport function getPopperOptions(attachToOptions, step) {\n let popperOptions = {\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n altAxis: true,\n tether: false\n }\n },\n {\n name: 'focusAfterRender',\n enabled: true,\n phase: 'afterWrite',\n fn() {\n setTimeout(() => {\n if (step.el) {\n step.el.focus();\n }\n }, 300);\n }\n }\n ],\n strategy: 'absolute'\n };\n\n if (step.isCentered()) {\n popperOptions = makeCenteredPopper(step);\n } else {\n popperOptions.placement = attachToOptions.on;\n }\n\n const defaultStepOptions =\n step.tour && step.tour.options && step.tour.options.defaultStepOptions;\n\n if (defaultStepOptions) {\n popperOptions = _mergeModifiers(defaultStepOptions, popperOptions);\n }\n\n popperOptions = _mergeModifiers(step.options, popperOptions);\n\n return popperOptions;\n}\n\nfunction _mergeModifiers(stepOptions, popperOptions) {\n if (stepOptions.popperOptions) {\n let mergedPopperOptions = Object.assign(\n {},\n popperOptions,\n stepOptions.popperOptions\n );\n\n if (\n stepOptions.popperOptions.modifiers &&\n stepOptions.popperOptions.modifiers.length > 0\n ) {\n const names = stepOptions.popperOptions.modifiers.map((mod) => mod.name);\n const filteredModifiers = popperOptions.modifiers.filter(\n (mod) => !names.includes(mod.name)\n );\n\n mergedPopperOptions.modifiers = Array.from(\n new Set([...filteredModifiers, ...stepOptions.popperOptions.modifiers])\n );\n }\n\n return mergedPopperOptions;\n }\n\n return popperOptions;\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot_spread(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_spread_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_spread_changes_fn(dirty) | get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.37.0' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * \n * \n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to seperate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_custom_elements_slots, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, update_slot_spread, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","\n\n\n\n\n {@html text}\n\n","\n\n\n\n
    \n {#if buttons}\n {#each buttons as config}\n \n {/each}\n {/if}\n
    \n","\n\n\n\n\n ×\n\n","\n\n\n\n\n\n","\n\n\n\n
    \n {#if title}\n \n {/if}\n\n {#if cancelIcon && cancelIcon.enabled}\n \n {/if}\n
    \n","\n\n\n\n\n\n\n","\n\n\n\n\n {#if !isUndefined(step.options.title) || (step.options.cancelIcon && step.options.cancelIcon.enabled)}\n \n {/if}\n\n {#if !isUndefined(step.options.text)}\n \n {/if}\n\n {#if Array.isArray(step.options.buttons) && step.options.buttons.length}\n \n {/if}\n\n","\n\n\n\n\n {#if step.options.arrow && step.options.attachTo && step.options.attachTo.element && step.options.attachTo.on}\n
    \n {/if}\n \n\n","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\n","import merge from 'deepmerge';\nimport { Evented } from './evented.js';\nimport autoBind from './utils/auto-bind.js';\nimport { isElement, isHTMLElement, isFunction, isUndefined } from './utils/type-check.js';\nimport { bindAdvance } from './utils/bind.js';\nimport {\n setupTooltip,\n parseAttachTo,\n normalizePrefix,\n uuid\n} from './utils/general.js';\nimport ShepherdElement from './components/shepherd-element.svelte';\n\n// Polyfills\nimport smoothscroll from 'smoothscroll-polyfill';\nsmoothscroll.polyfill();\n\n/**\n * A class representing steps to be added to a tour.\n * @extends {Evented}\n */\nexport class Step extends Evented {\n /**\n * Create a step\n * @param {Tour} tour The tour for the step\n * @param {object} options The options for the step\n * @param {boolean} options.arrow Whether to display the arrow for the tooltip or not. Defaults to `true`.\n * @param {object} options.attachTo The element the step should be attached to on the page.\n * An object with properties `element` and `on`.\n *\n * ```js\n * const step = new Step(tour, {\n * attachTo: { element: '.some .selector-path', on: 'left' },\n * ...moreOptions\n * });\n * ```\n *\n * If you don’t specify an attachTo the element will appear in the middle of the screen.\n * If you omit the `on` portion of `attachTo`, the element will still be highlighted, but the tooltip will appear\n * in the middle of the screen, without an arrow pointing to the target.\n * @param {HTMLElement|string} options.attachTo.element An element selector string or a DOM element.\n * @param {string} options.attachTo.on The optional direction to place the Popper tooltip relative to the element.\n * - Possible string values: 'auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'\n * @param {Object} options.advanceOn An action on the page which should advance shepherd to the next step.\n * It should be an object with a string `selector` and an `event` name\n * ```js\n * const step = new Step(tour, {\n * advanceOn: { selector: '.some .selector-path', event: 'click' },\n * ...moreOptions\n * });\n * ```\n * `event` doesn’t have to be an event inside the tour, it can be any event fired on any element on the page.\n * You can also always manually advance the Tour by calling `myTour.next()`.\n * @param {function} options.beforeShowPromise A function that returns a promise.\n * When the promise resolves, the rest of the `show` code for the step will execute.\n * @param {Object[]} options.buttons An array of buttons to add to the step. These will be rendered in a\n * footer below the main body text.\n * @param {function} options.buttons.button.action A function executed when the button is clicked on.\n * It is automatically bound to the `tour` the step is associated with, so things like `this.next` will\n * work inside the action.\n * You can use action to skip steps or navigate to specific steps, with something like:\n * ```js\n * action() {\n * return this.show('some_step_name');\n * }\n * ```\n * @param {string} options.buttons.button.classes Extra classes to apply to the `
    `\n * @param {boolean} options.buttons.button.disabled Should the button be disabled?\n * @param {string} options.buttons.button.label The aria-label text of the button\n * @param {boolean} options.buttons.button.secondary If true, a shepherd-button-secondary class is applied to the button\n * @param {string} options.buttons.button.text The HTML text of the button\n * @param {boolean} options.canClickTarget A boolean, that when set to false, will set `pointer-events: none` on the target\n * @param {object} options.cancelIcon Options for the cancel icon\n * @param {boolean} options.cancelIcon.enabled Should a cancel “✕” be shown in the header of the step?\n * @param {string} options.cancelIcon.label The label to add for `aria-label`\n * @param {string} options.classes A string of extra classes to add to the step's content element.\n * @param {string} options.highlightClass An extra class to apply to the `attachTo` element when it is\n * highlighted (that is, when its step is active). You can then target that selector in your CSS.\n * @param {string} options.id The string to use as the `id` for the step.\n * @param {number} options.modalOverlayOpeningPadding An amount of padding to add around the modal overlay opening\n * @param {number} options.modalOverlayOpeningRadius An amount of border radius to add around the modal overlay opening\n * @param {object} options.popperOptions Extra options to pass to Popper\n * @param {boolean|Object} options.scrollTo Should the element be scrolled to when this step is shown? If true, uses the default `scrollIntoView`,\n * if an object, passes that object as the params to `scrollIntoView` i.e. `{behavior: 'smooth', block: 'center'}`\n * @param {function} options.scrollToHandler A function that lets you override the default scrollTo behavior and\n * define a custom action to do the scrolling, and possibly other logic.\n * @param {function} options.showOn A function that, when it returns `true`, will show the step.\n * If it returns false, the step will be skipped.\n * @param {string} options.text The text in the body of the step. It can be one of three types:\n * ```\n * - HTML string\n * - `HTMLElement` object\n * - `Function` to be executed when the step is built. It must return one the two options above.\n * ```\n * @param {string} options.title The step's title. It becomes an `h3` at the top of the step. It can be one of two types:\n * ```\n * - HTML string\n * - `Function` to be executed when the step is built. It must return HTML string.\n * ```\n * @param {object} options.when You can define `show`, `hide`, etc events inside `when`. For example:\n * ```js\n * when: {\n * show: function() {\n * window.scrollTo(0, 0);\n * }\n * }\n * ```\n * @return {Step} The newly created Step instance\n */\n constructor(tour, options = {}) {\n super(tour, options);\n this.tour = tour;\n this.classPrefix = this.tour.options\n ? normalizePrefix(this.tour.options.classPrefix)\n : '';\n this.styles = tour.styles;\n\n autoBind(this);\n\n this._setOptions(options);\n\n return this;\n }\n\n /**\n * Cancel the tour\n * Triggers the `cancel` event\n */\n cancel() {\n this.tour.cancel();\n this.trigger('cancel');\n }\n\n /**\n * Complete the tour\n * Triggers the `complete` event\n */\n complete() {\n this.tour.complete();\n this.trigger('complete');\n }\n\n /**\n * Remove the step, delete the step's element, and destroy the Popper instance for the step.\n * Triggers `destroy` event\n */\n destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n if (isHTMLElement(this.el) && this.el.parentNode) {\n this.el.parentNode.removeChild(this.el);\n this.el = null;\n }\n\n this._updateStepTargetOnHide();\n\n this.trigger('destroy');\n }\n\n /**\n * Returns the tour for the step\n * @return {Tour} The tour instance\n */\n getTour() {\n return this.tour;\n }\n\n /**\n * Hide the step\n */\n hide() {\n this.tour.modal.hide();\n\n this.trigger('before-hide');\n\n if (this.el) {\n this.el.hidden = true;\n }\n\n this._updateStepTargetOnHide();\n\n this.trigger('hide');\n }\n\n /**\n * Checks if the step should be centered or not\n * @return {boolean} True if the step is centered\n */\n isCentered() {\n const attachToOptions = parseAttachTo(this);\n return !attachToOptions.element || !attachToOptions.on;\n }\n\n /**\n * Check if the step is open and visible\n * @return {boolean} True if the step is open and visible\n */\n isOpen() {\n return Boolean(this.el && !this.el.hidden);\n }\n\n /**\n * Wraps `_show` and ensures `beforeShowPromise` resolves before calling show\n * @return {*|Promise}\n */\n show() {\n if (isFunction(this.options.beforeShowPromise)) {\n const beforeShowPromise = this.options.beforeShowPromise();\n if (!isUndefined(beforeShowPromise)) {\n return beforeShowPromise.then(() => this._show());\n }\n }\n this._show();\n }\n\n /**\n * Updates the options of the step.\n *\n * @param {Object} options The options for the step\n */\n updateStepOptions(options) {\n Object.assign(this.options, options);\n\n if (this.shepherdElementComponent) {\n this.shepherdElementComponent.$set({ step: this });\n }\n }\n\n /**\n * Returns the element for the step\n * @return {HTMLElement|null|undefined} The element instance. undefined if it has never been shown, null if it has been destroyed\n */\n getElement() {\n return this.el;\n }\n\n /**\n * Returns the target for the step\n * @return {HTMLElement|null|undefined} The element instance. undefined if it has never been shown, null if query string has not been found\n */\n getTarget() {\n return this.target;\n }\n\n /**\n * Creates Shepherd element for step based on options\n *\n * @return {Element} The DOM element for the step tooltip\n * @private\n */\n _createTooltipContent() {\n const descriptionId = `${this.id}-description`;\n const labelId = `${this.id}-label`;\n\n this.shepherdElementComponent = new ShepherdElement({\n target: this.tour.options.stepsContainer || document.body,\n props: {\n classPrefix: this.classPrefix,\n descriptionId,\n labelId,\n step: this,\n styles: this.styles\n }\n });\n\n return this.shepherdElementComponent.getElement();\n }\n\n /**\n * If a custom scrollToHandler is defined, call that, otherwise do the generic\n * scrollIntoView call.\n *\n * @param {boolean|Object} scrollToOptions If true, uses the default `scrollIntoView`,\n * if an object, passes that object as the params to `scrollIntoView` i.e. `{ behavior: 'smooth', block: 'center' }`\n * @private\n */\n _scrollTo(scrollToOptions) {\n const { element } = parseAttachTo(this);\n\n if (isFunction(this.options.scrollToHandler)) {\n this.options.scrollToHandler(element);\n } else if (\n isElement(element) &&\n typeof element.scrollIntoView === 'function'\n ) {\n element.scrollIntoView(scrollToOptions);\n }\n }\n\n /**\n * _getClassOptions gets all possible classes for the step\n * @param {Object} stepOptions The step specific options\n * @returns {String} unique string from array of classes\n * @private\n */\n _getClassOptions(stepOptions) {\n const defaultStepOptions =\n this.tour && this.tour.options && this.tour.options.defaultStepOptions;\n const stepClasses = stepOptions.classes ? stepOptions.classes : '';\n const defaultStepOptionsClasses =\n defaultStepOptions && defaultStepOptions.classes\n ? defaultStepOptions.classes\n : '';\n const allClasses = [\n ...stepClasses.split(' '),\n ...defaultStepOptionsClasses.split(' ')\n ];\n const uniqClasses = new Set(allClasses);\n\n return Array.from(uniqClasses).join(' ').trim();\n }\n\n /**\n * Sets the options for the step, maps `when` to events, sets up buttons\n * @param {Object} options The options for the step\n * @private\n */\n _setOptions(options = {}) {\n let tourOptions =\n this.tour && this.tour.options && this.tour.options.defaultStepOptions;\n\n tourOptions = merge({}, tourOptions || {});\n\n this.options = Object.assign(\n {\n arrow: true\n },\n tourOptions,\n options\n );\n\n const { when } = this.options;\n\n this.options.classes = this._getClassOptions(options);\n\n this.destroy();\n this.id = this.options.id || `step-${uuid()}`;\n\n if (when) {\n Object.keys(when).forEach((event) => {\n this.on(event, when[event], this);\n });\n }\n }\n\n /**\n * Create the element and set up the Popper instance\n * @private\n */\n _setupElements() {\n if (!isUndefined(this.el)) {\n this.destroy();\n }\n\n this.el = this._createTooltipContent();\n\n if (this.options.advanceOn) {\n bindAdvance(this);\n }\n setupTooltip(this);\n }\n\n /**\n * Triggers `before-show`, generates the tooltip DOM content,\n * sets up a Popper instance for the tooltip, then triggers `show`.\n * @private\n */\n _show() {\n this.trigger('before-show');\n\n this._setupElements();\n\n if (!this.tour.modal) {\n this.tour._setupModal();\n }\n\n this.tour.modal.setupForStep(this);\n this._styleTargetElementForStep(this);\n this.el.hidden = false;\n\n // start scrolling to target before showing the step\n if (this.options.scrollTo) {\n setTimeout(() => {\n this._scrollTo(this.options.scrollTo);\n });\n }\n\n this.el.hidden = false;\n\n const content = this.shepherdElementComponent.getElement();\n const target = this.target || document.body;\n target.classList.add(`${this.classPrefix}shepherd-enabled`);\n target.classList.add(`${this.classPrefix}shepherd-target`);\n content.classList.add('shepherd-enabled');\n\n this.trigger('show');\n }\n\n /**\n * Modulates the styles of the passed step's target element, based on the step's options and\n * the tour's `modal` option, to visually emphasize the element\n *\n * @param step The step object that attaches to the element\n * @private\n */\n _styleTargetElementForStep(step) {\n const targetElement = step.target;\n\n if (!targetElement) {\n return;\n }\n\n if (step.options.highlightClass) {\n targetElement.classList.add(step.options.highlightClass);\n }\n\n if (step.options.canClickTarget === false) {\n targetElement.classList.add('shepherd-target-click-disabled');\n }\n }\n\n /**\n * When a step is hidden, remove the highlightClass and 'shepherd-enabled'\n * and 'shepherd-target' classes\n * @private\n */\n _updateStepTargetOnHide() {\n const target = this.target || document.body;\n\n if (this.options.highlightClass) {\n target.classList.remove(this.options.highlightClass);\n }\n\n target.classList.remove(\n 'shepherd-target-click-disabled',\n `${this.classPrefix}shepherd-enabled`,\n `${this.classPrefix}shepherd-target`\n );\n }\n}\n","/**\n * Cleanup the steps and set pointerEvents back to 'auto'\n * @param tour The tour object\n */\nexport function cleanupSteps(tour) {\n if (tour) {\n const { steps } = tour;\n\n steps.forEach((step) => {\n if (step.options && step.options.canClickTarget === false && step.options.attachTo) {\n if (step.target instanceof HTMLElement) {\n step.target.classList.remove('shepherd-target-click-disabled');\n }\n }\n });\n }\n}\n","/**\n * Generates the svg path data for a rounded rectangle overlay\n * @param {Object} dimension - Dimensions of rectangle.\n * @param {number} width - Width.\n * @param {number} height - Height.\n * @param {number} [x=0] - Offset from top left corner in x axis. default 0.\n * @param {number} [y=0] - Offset from top left corner in y axis. default 0.\n * @param {number} [r=0] - Corner Radius. Keep this smaller than half of width or height.\n * @returns {string} - Rounded rectangle overlay path data.\n */\nexport function makeOverlayPath({ width, height, x = 0, y = 0, r = 0 }) {\n const { innerWidth: w, innerHeight: h } = window;\n\n return `M${w},${h}\\\nH0\\\nV0\\\nH${w}\\\nV${h}\\\nZ\\\nM${x + r},${y}\\\na${r},${r},0,0,0-${r},${r}\\\nV${height + y - r}\\\na${r},${r},0,0,0,${r},${r}\\\nH${width + x - r}\\\na${r},${r},0,0,0,${r}-${r}\\\nV${y + r}\\\na${r},${r},0,0,0-${r}-${r}\\\nZ`;\n}\n","\n\n\n \n\n\n\n","import { Evented } from './evented.js';\nimport { Step } from './step.js';\nimport autoBind from './utils/auto-bind.js';\nimport { isHTMLElement, isFunction, isString, isUndefined } from './utils/type-check.js';\nimport { cleanupSteps } from './utils/cleanup.js';\nimport { normalizePrefix, uuid } from './utils/general.js';\nimport ShepherdModal from './components/shepherd-modal.svelte';\n\nconst Shepherd = new Evented();\n\n/**\n * Class representing the site tour\n * @extends {Evented}\n */\nexport class Tour extends Evented {\n /**\n * @param {Object} options The options for the tour\n * @param {boolean} options.confirmCancel If true, will issue a `window.confirm` before cancelling\n * @param {string} options.confirmCancelMessage The message to display in the confirm dialog\n * @param {string} options.classPrefix The prefix to add to the `shepherd-enabled` and `shepherd-target` class names as well as the `data-shepherd-step-id`.\n * @param {Object} options.defaultStepOptions Default options for Steps ({@link Step#constructor}), created through `addStep`\n * @param {boolean} options.exitOnEsc Exiting the tour with the escape key will be enabled unless this is explicitly\n * set to false.\n * @param {boolean} options.keyboardNavigation Navigating the tour via left and right arrow keys will be enabled\n * unless this is explicitly set to false.\n * @param {HTMLElement} options.stepsContainer An optional container element for the steps.\n * If not set, the steps will be appended to `document.body`.\n * @param {HTMLElement} options.modalContainer An optional container element for the modal.\n * If not set, the modal will be appended to `document.body`.\n * @param {object[] | Step[]} options.steps An array of step options objects or Step instances to initialize the tour with\n * @param {string} options.tourName An optional \"name\" for the tour. This will be appended to the the tour's\n * dynamically generated `id` property -- which is also set on the `body` element as the `data-shepherd-active-tour` attribute\n * whenever the tour becomes active.\n * @param {boolean} options.useModalOverlay Whether or not steps should be placed above a darkened\n * modal overlay. If true, the overlay will create an opening around the target element so that it\n * can remain interactive\n * @returns {Tour}\n */\n constructor(options = {}) {\n super(options);\n\n autoBind(this);\n\n const defaultTourOptions = {\n exitOnEsc: true,\n keyboardNavigation: true\n };\n\n this.options = Object.assign({}, defaultTourOptions, options);\n this.classPrefix = normalizePrefix(this.options.classPrefix);\n this.steps = [];\n this.addSteps(this.options.steps);\n\n // Pass these events onto the global Shepherd object\n const events = ['active', 'cancel', 'complete', 'inactive', 'show', 'start'];\n events.map((event) => {\n ((e) => {\n this.on(e, (opts) => {\n opts = opts || {};\n opts.tour = this;\n Shepherd.trigger(e, opts);\n });\n })(event);\n });\n\n this._setTourID();\n\n return this;\n }\n\n /**\n * Adds a new step to the tour\n * @param {Object|Step} options An object containing step options or a Step instance\n * @param {number} index The optional index to insert the step at. If undefined, the step\n * is added to the end of the array.\n * @return {Step} The newly added step\n */\n addStep(options, index) {\n let step = options;\n\n if (!(step instanceof Step)) {\n step = new Step(this, step);\n } else {\n step.tour = this;\n }\n\n if (!isUndefined(index)) {\n this.steps.splice(index, 0, step);\n } else {\n this.steps.push(step);\n }\n\n return step;\n }\n\n /**\n * Add multiple steps to the tour\n * @param {Array | Array} steps The steps to add to the tour\n */\n addSteps(steps) {\n if (Array.isArray(steps)) {\n steps.forEach((step) => {\n this.addStep(step);\n });\n }\n\n return this;\n }\n\n /**\n * Go to the previous step in the tour\n */\n back() {\n const index = this.steps.indexOf(this.currentStep);\n this.show(index - 1, false);\n }\n\n /**\n * Calls _done() triggering the 'cancel' event\n * If `confirmCancel` is true, will show a window.confirm before cancelling\n */\n cancel() {\n if (this.options.confirmCancel) {\n const cancelMessage = this.options.confirmCancelMessage || 'Are you sure you want to stop the tour?';\n const stopTour = window.confirm(cancelMessage);\n if (stopTour) {\n this._done('cancel');\n }\n } else {\n this._done('cancel');\n }\n }\n\n /**\n * Calls _done() triggering the `complete` event\n */\n complete() {\n this._done('complete');\n }\n\n /**\n * Gets the step from a given id\n * @param {Number|String} id The id of the step to retrieve\n * @return {Step} The step corresponding to the `id`\n */\n getById(id) {\n return this.steps.find((step) => {\n return step.id === id;\n });\n }\n\n /**\n * Gets the current step\n * @returns {Step|null}\n */\n getCurrentStep() {\n return this.currentStep;\n }\n\n /**\n * Hide the current step\n */\n hide() {\n const currentStep = this.getCurrentStep();\n\n if (currentStep) {\n return currentStep.hide();\n }\n }\n\n /**\n * Check if the tour is active\n * @return {boolean}\n */\n isActive() {\n return Shepherd.activeTour === this;\n }\n\n /**\n * Go to the next step in the tour\n * If we are at the end, call `complete`\n */\n next() {\n const index = this.steps.indexOf(this.currentStep);\n\n if (index === this.steps.length - 1) {\n this.complete();\n } else {\n this.show(index + 1, true);\n }\n }\n\n /**\n * Removes the step from the tour\n * @param {String} name The id for the step to remove\n */\n removeStep(name) {\n const current = this.getCurrentStep();\n\n // Find the step, destroy it and remove it from this.steps\n this.steps.some((step, i) => {\n if (step.id === name) {\n if (step.isOpen()) {\n step.hide();\n }\n\n step.destroy();\n this.steps.splice(i, 1);\n\n return true;\n }\n });\n\n if (current && current.id === name) {\n this.currentStep = undefined;\n\n // If we have steps left, show the first one, otherwise just cancel the tour\n this.steps.length ? this.show(0) : this.cancel();\n }\n }\n\n /**\n * Show a specific step in the tour\n * @param {Number|String} key The key to look up the step by\n * @param {Boolean} forward True if we are going forward, false if backward\n */\n show(key = 0, forward = true) {\n const step = isString(key) ? this.getById(key) : this.steps[key];\n\n if (step) {\n this._updateStateBeforeShow();\n\n const shouldSkipStep = isFunction(step.options.showOn) && !step.options.showOn();\n\n // If `showOn` returns false, we want to skip the step, otherwise, show the step like normal\n if (shouldSkipStep) {\n this._skipStep(step, forward);\n } else {\n this.trigger('show', {\n step,\n previous: this.currentStep\n });\n\n this.currentStep = step;\n step.show();\n }\n }\n }\n\n /**\n * Start the tour\n */\n start() {\n this.trigger('start');\n\n // Save the focused element before the tour opens\n this.focusedElBeforeOpen = document.activeElement;\n\n this.currentStep = null;\n\n this._setupModal();\n\n this._setupActiveTour();\n this.next();\n }\n\n /**\n * Called whenever the tour is cancelled or completed, basically anytime we exit the tour\n * @param {String} event The event name to trigger\n * @private\n */\n _done(event) {\n const index = this.steps.indexOf(this.currentStep);\n if (Array.isArray(this.steps)) {\n this.steps.forEach((step) => step.destroy());\n }\n\n cleanupSteps(this);\n\n this.trigger(event, { index });\n\n Shepherd.activeTour = null;\n this.trigger('inactive', { tour: this });\n\n if (this.modal) {\n this.modal.hide();\n }\n\n if (event === 'cancel' || event === 'complete') {\n if (this.modal) {\n const modalContainer = document.querySelector('.shepherd-modal-overlay-container');\n\n if (modalContainer) {\n modalContainer.remove();\n }\n }\n }\n\n // Focus the element that was focused before the tour started\n if (isHTMLElement(this.focusedElBeforeOpen)) {\n this.focusedElBeforeOpen.focus();\n }\n }\n\n /**\n * Make this tour \"active\"\n * @private\n */\n _setupActiveTour() {\n this.trigger('active', { tour: this });\n\n Shepherd.activeTour = this;\n }\n\n /**\n * _setupModal create the modal container and instance\n * @private\n */\n _setupModal() {\n this.modal = new ShepherdModal({\n target: this.options.modalContainer || document.body,\n props:\n {\n classPrefix: this.classPrefix,\n styles: this.styles\n }\n });\n }\n\n /**\n * Called when `showOn` evaluates to false, to skip the step\n * @param {Step} step The step to skip\n * @param {Boolean} forward True if we are going forward, false if backward\n * @private\n */\n _skipStep(step, forward) {\n const index = this.steps.indexOf(step);\n const nextIndex = forward ? index + 1 : index - 1;\n this.show(nextIndex, forward);\n }\n\n /**\n * Before showing, hide the current step and if the tour is not\n * already active, call `this._setupActiveTour`.\n * @private\n */\n _updateStateBeforeShow() {\n if (this.currentStep) {\n this.currentStep.hide();\n }\n\n if (!this.isActive()) {\n this._setupActiveTour();\n }\n }\n\n /**\n * Sets this.id to `${tourName}--${uuid}`\n * @private\n */\n _setTourID() {\n const tourName = this.options.tourName || 'tour';\n\n this.id = `${tourName}--${uuid()}`;\n }\n}\n\nexport { Shepherd };\n","import { Step } from './step.js';\nimport { Shepherd, Tour } from './tour.js';\n\nObject.assign(Shepherd, { Tour, Step });\n\nexport default Shepherd;\n","import Shepherd from 'shepherd.js';\nimport { createNanoEvents } from 'nanoevents';\n\nexport var Helpinator = class {\n constructor(options={}) {\n this.input = options.input;\n this.reader = options.reader;\n this.steps = [];\n this.emitter = createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n\n this.maybeAutoStart();\n\n this.watchMediaQuery();\n\n let action = document.querySelector(this.input.trigger);\n this.action = action;\n action.addEventListener('click', (event) => {\n if ( event.shiftKey ) {\n this.configureTour(true);\n return;\n }\n this.tour.start();\n });\n action.disabled = true;\n\n this.configureTour();\n\n }\n\n configureTour(doAlert) {\n const self = this;\n\n this.tour = new Shepherd.Tour({\n defaultStepOptions: {\n classes: 'shadow-md bg-purple-dark',\n scrollTo: false,\n popperOptions: {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [ 0, 25 ]\n }\n }\n ]\n },\n },\n useModalOverlay: true\n });\n\n // event tracking\n this.tour.on('start', (event) => {\n document.documentElement.dataset.inWalkthrough = true;\n localStorage.setItem('walkthroughStarted', 'true');\n HT.analytics.trackEvent({\n category: 'PT.walkthrough',\n action: 'start',\n label: 'start'\n })\n })\n\n this.tour.on('inactive', (event) => {\n document.documentElement.dataset.inWalkthrough = false;\n })\n\n this.tour.on('cancel', (event) => {\n HT.analytics.trackEvent({\n category: 'PT.walkthrough',\n action: `${this.tour.currentStep.id}:exit`,\n label: `${this.tour.currentStep.id}:exit`\n })\n })\n\n // fetch data on startup\n const sourceUrl = '/cgi/pt/walkthrough-config/2021';\n fetch(sourceUrl)\n .then(response => response.json())\n .then(data => {\n data.forEach((step, idx, array) => {\n if ( step['attachTo'] && step['attachTo'].element.indexOf('#panel-') > -1 ) {\n // this is a panel\n step['when'] = {\n show: function() {\n const el = document.querySelector(step['attachTo'].element);\n if ( el.nodeName == 'DETAILS' ) {\n setTimeout(() => {\n el.open = true;\n }, 100);\n }\n }\n }\n }\n\n if ( step['attachTo'] && step['attachTo'].element.indexOf('data-action') > -1 ) {\n step['attachTo'].element = `button[${step.attachTo.element}]`;\n step['showOn'] = function() {\n const seq = self.reader.view.currentSeq;\n const el = document.querySelector(`.page[data-seq=\"${seq}\"] ${step.attachTo.element}`);\n if ( el ) {\n return true;\n }\n return false;\n }\n }\n\n if ( idx < array.length - 1 ) {\n step['buttons'] = [\n {\n text: 'Exit',\n secondary: true,\n action: self.tour.cancel\n },\n {\n text: 'Next',\n action: this.tour.next\n }\n ]\n } else {\n step['buttons'] = [\n {\n text: 'Done',\n action: this.tour.complete\n }\n ]\n }\n this.tour.addStep(step);\n })\n \n // now the tour is ready\n this.action.disabled = false;\n this._initialized = true;\n if ( doAlert ) {\n window.alert(\"Tour updated\");\n }\n })\n }\n\n maybeAutoStart() {\n const self = this;\n if ( document.referrer && document.referrer.indexOf('/cgi/pt') >= 0 && document.referrer.indexOf('skin=2019') >= 0 ) {\n // probably coming from the 2019ed\n if ( localStorage.getItem('walkthroughStarted') != 'true' ) {\n if ( ! window.matchMedia('( max-width: 700px )').matches ) {\n self.reader.on('ready', () => {\n let interval;\n let interval_idx = 0;\n interval = setInterval(function() {\n if ( self._initialized ) {\n self.tour.start();\n clearInterval(interval);\n }\n interval_idx += 1;\n if ( interval_idx >= 50 ) {\n // just punt\n clearInterval(interval);\n }\n }, 100);\n })\n }\n }\n }\n }\n\n watchMediaQuery() {\n const mql = window.matchMedia('( max-width: 700px )');\n if ( mql.addEventListener ) {\n mql.addEventListener('change', (event) => {\n if ( event.matches ) {\n if ( this.tour && this.tour.isActive() ) {\n this.tour.cancel();\n }\n }\n })\n }\n }\n};\n","// import {Rotator} from './rotator';\nimport {Selectinator} from './selectinator'\nimport {Navigator} from './navigator'\nimport {Screeninator} from './screeninator'\nimport {Viewinator} from './viewinator'\nimport {Zoominator} from './zoominator'\nimport {Minimizer} from './minimizer'\nimport {Searchinator} from './searchinator'\nimport {Jumpinator} from './jumpinator';\nimport {Layoutinator} from './layoutinator';\nimport {Helpinator} from './helpinator';\n\n// import {Selectinator} from './selectinator'\n\nvar Control = {};\nControl.Selectinator = Selectinator;\nControl.Navigator = Navigator;\nControl.Screeninator = Screeninator;\nControl.Viewinator = Viewinator;\nControl.Zoominator = Zoominator;\nControl.Minimizer = Minimizer;\nControl.Searchinator = Searchinator;\nControl.Jumpinator = Jumpinator;\nControl.Layoutinator = Layoutinator;\nControl.Helpinator = Helpinator;\n\nexport {Control};\n","import { createNanoEvents } from 'nanoevents';\n\nexport var Jumpinator = class {\n constructor(options={}) {\n this.input = options.input;\n this.reader = options.reader;\n this.emitter = createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n this._bindSections();\n\n let action = document.querySelector(this.input.prompt);\n if ( ! action ) { return ; }\n\n var pageNumRange = this.reader.service.manifest.pageNumRange();\n this._hasPageNum = ( pageNumRange != null );\n\n var promptHTML = `\n

    Jump to a page scan by page number or page scan sequence.

    \n
    \n

    \n

    Hints follow.

    \n

    Hints

    \n
      \n
    • Page numbers are entered as number, e.g. 10
    • \n
    • Page scan sequences are entered as #number, e.g. #10
    • \n
    • Use a page scan sequence between #1-#${this.reader.service.manifest.totalSeq}
    • \n
    • Use a page number between ${pageNumRange}
    • \n
    • Use + to jump ahead by a number of pages, e.g. +10
    • \n
    • Use - to jump back by a number of pages, e.g. -10
    • \n
    \n `;\n\n if ( ! pageNumRange ) {\n promptHTML = `\n

    Jump to a page scan by page scan sequence.

    \n
    \n

    \n

    Hints

    \n
      \n
    • Page scan sequences are entered as #number, e.g. #10
    • \n
    • Use a page scan sequence between #1-#${this.reader.service.manifest.totalSeq}
    • \n
    • Use + to jump ahead by a number of pages, e.g. +10
    • \n
    • Use - to jump back by a number of pages, e.g. -10
    • \n
    \n `;\n }\n\n action.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n var $dialog = bootbox.dialog(\n // `

    Jump to which page scan?

    `,\n promptHTML,\n [\n { label: \"Close\", class: 'btn-dismiss' },\n {\n label: \"Jump\",\n class: 'btn-dismiss btn btn-primary',\n callback: function(modal) {\n var input = modal.modal.querySelector('input[name=\"seq\"]');\n var retval = this.handleValue(input.value);\n if ( retval ) {\n return true;\n }\n this.handleError($dialog);\n return false;\n }.bind(this)\n }\n ],\n {\n header: \"Jump to page scan\",\n onShow: function(modal) {\n // modal.querySelector(\"input[name='seq']\").value = '#' + seq;\n modal.querySelector(\"input[name='seq']\").focus();\n }\n }\n );\n var input_seq = $dialog.modal.querySelector('input[name=\"seq\"]');\n input_seq.addEventListener('keydown', function(event) {\n if ( event.keyCode == 13 ) {\n event.preventDefault();\n var retval = this.handleValue(input_seq.value);\n if ( retval ) {\n $dialog.closeModal();\n return; \n }\n this.handleError($dialog);\n }\n }.bind(this));\n\n })\n }\n\n handleValue(value) {\n var seq; var retval = true;\n if ( value.substr(0, 1) == '+' || value.substr(0, 1) == '-' ) {\n var delta = value.substr(0, 1) == '+' ? +1 : -1;\n value = parseInt(value.substr(1), 10);\n this.reader.jump(delta * value);\n return true;\n }\n\n if ( value.substr(0, 2) == 'p.' ) {\n // sequence\n seq = this.reader.service.manifest.seq(value.substr(2));\n } else if ( value.substr(0, 1) == 'p' ) {\n seq = this.reader.service.manifest.seq(value.substr(1));\n } else if ( value.substr(0, 1) == '#' || value.substr(0, 1) == 'n' ) {\n seq = parseInt(value.substr(1), 10);\n } else {\n // seq = parseInt(value, 10);\n seq = this.reader.service.manifest.seq(value);\n }\n if ( seq && seq >= 1 && seq <= this.reader.service.manifest.totalSeq ) {\n this.reader.trigger.push('action-prompt-seq');\n this.reader.display(seq);\n } else {\n retval = false;\n }\n return retval;\n }\n\n handleError($dialog) {\n var div = $dialog.modal.querySelector('div[role=\"alert\"]');\n var input = $dialog.modal.querySelector('input[name=\"seq\"]');\n var value = input.value;\n var possible = '';\n var pageNumRange = this.reader.service.manifest.pageNumRange();\n if ( pageNumRange ) { possible = `page number between ${pageNumRange} or `; }\n possible += `a sequence between #1-#${this.reader.service.manifest.totalSeq}`;\n div.innerHTML = `

    Could not find a page scan that matched ${value}; enter a ${possible}.`;\n input.focus();\n }\n\n _bindSections() {\n const panelSections = document.querySelector(this.input.sections);\n panelSections.addEventListener('click', (event) => {\n if ( event.target.closest(\"a[data-seq]\") ) {\n event.preventDefault();\n event.stopPropagation();\n var target = event.target.closest(\"a\");\n var seq = target.dataset.seq;\n this.reader.display(seq);\n }\n })\n\n }\n\n};","import { createNanoEvents } from 'nanoevents';\nimport debounce from 'lodash/debounce';\n\nexport var Layoutinator = class {\n constructor(options={}) {\n this.input = options.input;\n this.reader = options.reader;\n this.emitter = createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n this.$sidebar = document.querySelector(this.input.sidebar);\n this._bindLayoutTweaker();\n this._bindSidebarToggle();\n\n this.reader.on('show:reader', () => {\n if ( this.$toggle.offsetHeight > 0 ) {\n // narrow viewport\n document.body.dataset.sidebarToggleState = 'closed';\n this.reader.$root.setAttribute('aria-hidden', false);\n this.$toggle.setAttribute('aria-expanded', false);\n }\n })\n\n const fixRootAria = function() {\n if ( this.$tweaker.offsetWidth > 0 && this.$tweaker.offsetHeight > 0 ) {\n this.reader.$root.setAttribute('aria-hidden', false);\n this.$toggle.setAttribute('aria-expanded', false);\n document.body.dataset.sidebarToggleState = 'closed';\n }\n }.bind(this);\n\n this.reader.on('resize', debounce(fixRootAria, 100));\n }\n\n _bindSidebarToggle() {\n this.$toggle = document.querySelector(this.input.toggle);\n\n this.$toggle.addEventListener('click', (event) => {\n event.stopPropagation();\n document.body.dataset.sidebarToggleState = document.body.dataset.sidebarToggleState == 'closed' ? 'open' : 'closed';\n this.$toggle.setAttribute('aria-expanded', document.body.dataset.sidebarToggleState == 'open');\n this.reader.$root.setAttribute('aria-hidden', document.body.dataset.sidebarToggleState == 'open');\n })\n }\n\n _bindLayoutTweaker() {\n this.$tweaker = document.querySelector(this.input.tweaker);\n\n let isDragging = false;\n let hasDragged = false;\n let marginLeft = 0;\n let lastClientX = -1;\n\n const $tweakContainer = this.$tweaker.parentElement;\n const $layoutContainer = this.input.$layoutContainer;\n const $sidebar = this.$sidebar;\n\n const classList = document.documentElement.classList;\n const $body = document.body;\n const gridSidebarColumnWidth = '--grid-sidebar-column-width';\n\n // classList.add('ie');\n if ( \n // classList.contains(\"mobile\") || \n classList.contains(\"ie\") || \n document.documentElement.dataset.usesGrid == 'false'\n ) {\n // just bind simple toggle\n const action = this.$tweaker;\n action.addEventListener('click', (event) => {\n event.stopPropagation();\n $body.dataset.sidebarState = $body.dataset.sidebarState == 'closed' ? 'open' : 'closed';\n this._updateTweakAttributes();\n })\n\n return;\n }\n\n this.$tweaker.addEventListener('keyup', (event) => {\n if ( event.key == 'Enter' || event.key == 'Return' ) {\n event.stopPropagation();\n $body.dataset.sidebarState = $body.dataset.sidebarState == 'closed' ? 'open' : 'closed';\n this._updateTweakAttributes();\n }\n })\n\n $tweakContainer.addEventListener('mousedown', (event) => {\n const target = event.target.closest(\"button#action-tweak-sidebar,.d--sidebar--toggle--edge mq--wide\");\n if ( ! target ) { return ; }\n isDragging = true;\n $layoutContainer.style.cursor = 'ew-resize';\n marginLeft = parseInt(window.getComputedStyle($layoutContainer).marginLeft, 10);\n\n event.preventDefault();\n event.stopPropagation();\n })\n\n $layoutContainer.addEventListener('mousemove', (event) => {\n if ( isDragging ) {\n hasDragged = true;\n let width = event.clientX - marginLeft;\n lastClientX = event.clientX;\n $body.style.setProperty(gridSidebarColumnWidth, `${width}px`);\n if ( $body.dataset.sidebarState == 'closed' ) {\n $body.dataset.sidebarState = 'open';\n this._updateTweakAttributes();\n }\n event.preventDefault();\n }\n })\n\n $layoutContainer.addEventListener('mouseup', (event) => {\n isDragging = false;\n var target = event.target.closest(\"button#action-tweak-sidebar,.d--sidebar--toggle--edge mq--wide\");\n $body.dataset.gridSidebarColumnWidth = $body.style.getPropertyValue(gridSidebarColumnWidth);\n if ( target == this.$tweaker && ! hasDragged ) {\n document.body.dataset.sidebarState = \n document.body.dataset.sidebarState == 'open' ? 'closed' : 'open';\n if ( document.body.dataset.sidebarState == 'open' && $body.style.getPropertyValue(gridSidebarColumnWidth) == '0px' ) {\n $body.style.setProperty(gridSidebarColumnWidth, null);\n }\n this._updateTweakAttributes();\n } else {\n if ( $sidebar.offsetWidth <= 100 ) {\n $body.style.setProperty(gridSidebarColumnWidth, '0px');\n document.body.dataset.sidebarState = 'closed';\n this._updateTweakAttributes(false);\n }\n }\n HT.prefs.set({ pt: { sidebarToggleState: document.body.dataset.sidebarState } });\n hasDragged = false;\n $layoutContainer.style.cursor = 'auto';\n })\n }\n\n _updateTweakAttributes(expanded) {\n const action = this.$tweaker;\n if ( expanded === undefined ) { expanded = document.body.dataset.sidebarState == 'open'; }\n action.setAttribute('aria-expanded', expanded);\n action.setAttribute('aria-label', \n ! expanded ? \n action.dataset.toggledLabel :\n action.dataset.untoggledLabel\n );\n if ( action._tippy ) {\n action._tippy.setContent(action.getAttribute('aria-label'));\n }\n }\n\n};","import { createNanoEvents } from 'nanoevents';\n\nexport var Minimizer = class {\n constructor(options={}) {\n this.input = options.input;\n this.emitter = createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n let action = document.querySelector(this.input.minimizer);\n if ( action ) {\n action.addEventListener('click', (event) => {\n const nextView = document.body.dataset.uiView == 'minimal' ? 'full' : 'minimal';\n document.body.dataset.uiView = nextView;\n action.setAttribute('aria-label', \n nextView == 'minimal' ? \n action.dataset.toggledLabel :\n action.dataset.untoggledLabel\n );\n action._tippy.setContent(action.getAttribute('aria-label'));\n HT.prefs.set({ pt: { uiView: document.body.dataset.uiView } });\n })\n }\n }\n\n};","import { createNanoEvents } from 'nanoevents';\n\nexport var Navigator = class {\n constructor(options={}) {\n this.input = options.input;\n this.reader = options.reader;\n this.emitter = createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n var self = this;\n\n this._bindNavigation();\n // this._bindRange();\n this._bindSequence();\n this._bindResize();\n\n this.reader.on('relocated', (params) => {\n this.sequenceEl.value = params.seq;\n if ( this.rangeEl ) {\n this.rangeEl.value = params.seq;\n this._updateRange();\n }\n })\n\n this.reader.on('ready', (params) => {\n this._updateNavigationLabels(params);\n })\n }\n\n _bindNavigation() {\n this.nextEl = document.querySelector(this.input.next);\n this.nextEl.addEventListener('click', (event) => {\n this.reader.trigger.push('action-go-next');\n this.reader.next(); \n })\n\n this.prevEl = document.querySelector(this.input.prev);\n this.prevEl.addEventListener('click', (event) => {\n this.reader.trigger.push('action-go-prev');\n this.reader.prev();\n })\n\n this.firstEl = document.querySelector(this.input.first);\n this.firstEl.addEventListener('click', (event) => {\n this.reader.trigger.push('action-go-first');\n this.reader.first();\n })\n\n this.lastEl = document.querySelector(this.input.last); \n this.lastEl.addEventListener('click', (event) => {\n this.reader.trigger.push('action-go-last');\n this.reader.last();\n })\n\n this.controlEls = [this.firstEl, this.nextEl, this.prevEl, this.lastEl]\n this._setupDefaultNavigationLabels();\n }\n\n _setupDefaultNavigationLabels() {\n if ( ! this.reader.isRTL ) { return ; }\n this.controlEls.forEach((el) => {\n el.dataset.defaultLabel = el.getAttribute('aria-label');\n })\n }\n\n _updateNavigationLabels(view) {\n if ( ! this.reader.isRTL ) { return ; }\n this.controlEls.forEach((el) => {\n let currentLabel = el.getAttribute('aria-label');\n let newLabel;\n if ( this.reader.view.isRTL && currentLabel != el.dataset.labelRtl ) {\n newLabel = el.dataset.labelRtl;\n } else if ( currentLabel != el.dataset.defaultLabel ) {\n newLabel = el.dataset.defaultLabel;\n }\n if ( newLabel ) {\n el.setAttribute('aria-label', newLabel);\n if (el._tippy) { el._tippy.setContent(newLabel) };\n }\n })\n }\n\n _bindRange() {\n\n const rangeEl = this.rangeEl = document.querySelector(this.input.range);\n\n const isIE = window.navigator.userAgent.indexOf(\"Trident/\") > -1;\n this.isRTL = rangeEl.getAttribute('dir') == 'rtl';\n\n rangeEl.addEventListener('change', (event) => {\n if ( self._mouseDown ) { \n if ( isIE ) { self._updateRange(false); }\n return;\n }\n this.updateLocation(rangeEl);\n })\n\n rangeEl.addEventListener('input', (event) => {\n if ( self._keyDown ) { self._keyDown = false; return; }\n this._updateRange();\n })\n\n rangeEl.addEventListener(\"mousedown\", function(event){\n self._mouseDown = true;\n }, false);\n rangeEl.addEventListener(\"mouseup\", function(){\n self._mouseDown = false;\n if ( isIE ) { self._change(); return; }\n self._updateRange();\n }, false);\n\n const isTouchDevice = 'ontouchstart' in document.documentElement;\n if ( isTouchDevice ) {\n rangeEl.addEventListener('touchstart', (event) => {\n self._mouseDown = true;\n })\n\n rangeEl.addEventListener(\"touchend\", function(event){\n self._mouseDown = false;\n if ( isIE ) { self._change(); return; }\n self._updateRange();\n }, false);\n }\n\n rangeEl.addEventListener(\"keydown\", function(event) {\n if ( event.key == 'ArrowLeft' || event.key == 'ArrowRight' ) {\n self._keyDown = true;\n }\n }, false);\n }\n\n _bindSequence() {\n\n const sequenceEl = this.sequenceEl = document.querySelector(this.input.sequence);\n\n var capture_value = function(event) {\n sequenceEl.dataset.value = sequenceEl.value;\n }\n sequenceEl.addEventListener('click', capture_value, false);\n sequenceEl.addEventListener('focus', capture_value, false);\n\n var handle_change = function(event) {\n if ( event.type == 'keydown' ) {\n if ( ! ( event.key == 'Enter' || event.key == 'Return' || event.key == 'ArrowUp' || event.key == 'ArrowDown' ) ) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n }\n var value = sequenceEl.value;\n if ( value.match(/^\\d+$/) ) { \n value = parseInt(value, 10);\n if ( event.type == 'keydown' ) {\n if ( event.key == 'ArrowDown' ) {\n value -= 1;\n if ( value < 0 ) { value = sequenceEl.dataset.max; }\n } else if ( event.key == 'ArrowUp' ) {\n value += 1;\n if ( value > this.reader.service.manifest.totalSeq ) { value = 1; }\n }\n }\n value = '#' + value; \n }\n if ( ! this.handleValue(value) ) {\n sequenceEl.value = sequenceEl.dataset.value;\n }\n }.bind(this);\n\n sequenceEl.addEventListener('blur', handle_change);\n sequenceEl.addEventListener('keydown', handle_change);\n }\n\n _bindResize() {\n\n if ( window.ResizeObserver ) {\n const toolbar = document.querySelector(this.input.toolbar);\n const resizeObserver = new ResizeObserver(entries => {\n for(let entry of entries) {\n console.log(\"--\", entry, entry.target, entry.target.offsetWidth);\n const offsetWidth = entry.target.offsetWidth;\n if ( offsetWidth >= 770 ) {\n if ( this.rangeEl ) { this.rangeEl.parentElement.style.display = null; }\n this.firstEl.style.display = null;\n this.lastEl.style.display = null;\n } else if ( offsetWidth < 550 ) {\n this.firstEl.style.display = 'none';\n this.lastEl.style.display = 'none'; \n if ( this.rangeEl ) { this.rangeEl.parentElement.style.display = 'none'; }\n } else if ( offsetWidth < 770 ) {\n this.firstEl.style.display = null;\n this.lastEl.style.display = null; \n if ( this.rangeEl ) { this.rangeEl.parentElement.style.display = 'none'; }\n }\n }\n }) \n resizeObserver.observe(this.reader.$root);\n }\n\n }\n\n updateLocation(el) {\n this.reader.trigger.push(`control-navigator-${el.type}`);\n this.emitter.emit('updateLocation', { seq: el.value, trigger: `control-navigator-${e.type}` });\n }\n\n _updateRange() {\n this.sequenceEl.value = this.rangeEl.value;\n this._updateRangeBackground();\n var value = parseFloat(this.rangeEl.value, 10);\n var current_location = value;\n var current_page = '';\n\n var max = parseFloat(this.rangeEl.max, 10);\n var percentage = Math.floor((( value / max ) * 100.0))\n this.rangeEl.setAttribute('aria-valuenow', value);\n this.rangeEl.setAttribute('aria-valuetext', `${current_location}/${this.input.max}`);\n }\n\n _updateRangeBackground() {\n var val = parseInt(this.rangeEl.value, 10);\n var total = parseInt(this.rangeEl.max, 10);\n var p = Math.ceil(( ( val - 1 ) / ( total - 1 ) ) * 100);\n var fill = '#ff9f1a';\n var end = '#444';\n var dir = this.isRTL ? 'left' : 'right';\n this.rangeEl.style.background = `linear-gradient(to ${dir}, ${fill} 0%, ${fill} ${p}%, ${end} ${p}%, ${end} 100%)`;\n }\n\n handleValue(value) {\n var seq; var retval = true;\n if ( value.substr(0, 1) == '+' || value.substr(0, 1) == '-' ) {\n var delta = value.substr(0, 1) == '+' ? +1 : -1;\n value = parseInt(value.substr(1), 10);\n this.reader.trigger.push('action-navigator-seq');\n this.reader.jump(delta * value);\n return true;\n }\n\n if ( value.substr(0, 2) == 'p.' ) {\n // sequence\n seq = this.reader.service.manifest.seq(value.substr(2).trim());\n } else if ( value.substr(0, 1) == 'p' ) {\n seq = this.reader.service.manifest.seq(value.substr(1).trim());\n } else if ( value.substr(0, 1) == '#' || value.substr(0, 1) == 'n' ) {\n seq = parseInt(value.substr(1), 10);\n } else {\n // seq = parseInt(value, 10);\n seq = this.reader.service.manifest.seq(value);\n }\n if ( seq && seq >= 1 && seq <= this.reader.service.manifest.totalSeq ) {\n this.reader.trigger.push('action-navigator-seq');\n this.reader.display(seq);\n } else {\n retval = false;\n }\n return retval;\n }\n\n}\n","import screenfull from 'screenfull';\nimport { createNanoEvents } from 'nanoevents';\n\nexport var Screeninator = class {\n constructor(options={}) {\n this.input = options.input;\n this.reader = options.reader;\n this.emitter = createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n let action = document.querySelector(this.input.fullscreen);\n if ( action ) {\n if ( screenfull.isEnabled ) {\n const el = this.reader.$root.parentNode; // document.documentElement\n action.addEventListener('click', (event) => {\n let target = event.target.closest('button');\n screenfull.toggle(el).then((args) => {\n // this._updateState(target);\n })\n })\n\n screenfull.on('change', (event) => {\n document.body.dataset.fullscreen = screenfull.isFullscreen;\n this._updateState(action);\n })\n\n } else {\n action.style.display = 'none';\n }\n }\n }\n\n _updateState(target) {\n target.setAttribute('aria-label', \n screenfull.isFullscreen ? \n target.dataset.toggledLabel :\n target.dataset.untoggledLabel\n );\n target._tippy.setContent(target.getAttribute('aria-label'));\n }\n\n};","import { createNanoEvents } from 'nanoevents';\n\nexport var Searchinator = class {\n constructor(options={}) {\n this.input = options.input;\n this.reader = options.reader;\n this.emitter = createNanoEvents();\n this.searchStart = 1;\n this.searchSize = 10;\n this.searchSort = 'seq';\n this.showHighlights = true;\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n emit(event, params={}) {\n this.emitter.emit(event, params);\n }\n\n clear() {\n setTimeout(() => {\n this.searchResultsContainer.innerHTML = '';\n }, 0);\n this.searchInput.value = '';\n this.searchStart = 1;\n this.searchPanel.dataset.hasResults = false;\n\n this.emit('update', { q1: null });\n }\n\n submit() {\n var self = this;\n\n let search_url = `/cgi/pt/search?id=${HT.params.id}&skin=2021&sz=25&q1=${this.searchInput.value}&start=${this.searchStart}&sort=${this.searchSort}`;\n if ( ! this.showHighlights ) {\n search_url += '&hl=false';\n }\n if ( HT.params.debug ) {\n search_url += `&debug=${HT.params.debug}`;\n }\n\n if ( this.searchTarget.checked ) {\n // we have to make a form\n this.searchResultsContainer.innerHTML = '';\n const form = document.createElement('form');\n form.style.display = 'none';\n form.setAttribute('action', '/cgi/pt/search');\n form.setAttribute('method', 'GET');\n form.setAttribute('target', '_blank');\n form.innerHTML = `\n \n \n \n \n \n \n `;\n if ( HT.params.debug ) {\n form.innerHTML += ``;\n }\n document.body.appendChild(form);\n form.addEventListener('submit', (event) => {\n document.body.removeChild(form);\n })\n form.submit();\n return;\n }\n \n this.searchResultsContainer.innerHTML = '

    Searching...
    ';\n HT.update_status(this.searchResultsContainer.innerText);\n\n this.clearButton.style.display = 'none';\n this.submitButton.classList.add('btn-loading');\n\n fetch(search_url, { credentials: 'include' })\n .then((response) => {\n return response.text();\n })\n .then((html) => {\n var parser = new DOMParser();\n if ( String.prototype.replaceAll ) {\n html = html.replaceAll('

    ', '

    ').replaceAll('

    ', '')\n }\n var doc = parser.parseFromString(html, 'text/html');\n var resultsContainer = doc.querySelector('.results-container');\n self.searchResultsContainer.innerHTML = '';\n // use a combined querySelectorAll so all the classes are captured in document order\n const expr = '.alert,article,nav';\n let tmp = resultsContainer.querySelectorAll(expr);\n for(var ix = 0; ix < tmp.length; ix++ ) {\n self.searchResultsContainer.appendChild(tmp[ix]);\n }\n\n if ( self.searchResultsContainer.querySelectorAll('article').length > 0 ) {\n self.emit('update', { q1: this.searchInput.value });\n self.searchPanel.dataset.hasResults = true;\n } else {\n self.searchPanel.dataset.hasResults = false;\n self.emit('update', { q1: null });\n }\n\n this.submitButton.classList.remove('btn-loading');\n this.clearButton.style.display = null;\n\n // this will always match the first .alert\n const alertEl = self.searchResultsContainer.querySelector('.alert--summary,.alert-error');\n HT.update_status(alertEl.innerText);\n alertEl.focus();\n })\n }\n\n bindEvents() {\n var self = this;\n\n this.searchResultsContainer = document.querySelector(this.input.container);\n const searchForm = this.searchForm = document.querySelector(this.input.form);\n this.searchInput = searchForm.querySelector('input[name=\"q1\"]');\n this.submitButton = searchForm.querySelector('button[data-action=\"submit-search\"]');\n this.clearButton = searchForm.querySelector('button[data-action=\"clear-search\"]');\n this.searchTarget = searchForm.querySelector('input[name=\"target\"]');\n this.searchPanel = document.querySelector(this.input.panel);\n\n this.searchResultsContainer.addEventListener('click', (event) => {\n if ( event.target.closest('a[data-seq]') ) {\n event.preventDefault();\n event.stopPropagation();\n var target = event.target.closest('a');\n var seq = target.dataset.seq;\n this.reader.display(seq);\n return;\n }\n\n if ( event.target.closest('a[data-start]') ) {\n event.preventDefault();\n event.stopPropagation();\n var target = event.target.closest('a');\n this.searchStart = target.dataset.start;\n this.submit();\n return; \n }\n\n if ( event.target.closest('button[data-action=\"sort\"]') ) {\n event.preventDefault();\n event.stopPropagation();\n var target = event.target.closest('button');\n var value = target.dataset.value;\n if ( value != this.searchSort ) {\n this.searchSort = value;\n this.submit();\n }\n return;\n }\n\n if ( event.target.closest('button[data-action=\"toggle-highlights\"]') ) {\n event.preventDefault();\n event.stopPropagation();\n var target = event.target.closest('button');\n target.classList.toggle(\"active\");\n target.setAttribute('aria-pressed', target.classList.contains('active'));\n this.showHighlights = ! this.showHighlights;\n document.body.dataset.showHighlights = this.showHighlights;\n document.body.classList.toggle('hide-highlights', ! this.showHighlights);\n target.setAttribute('aria-label', \n this.showHighlights ? \n target.dataset.toggledLabel :\n target.dataset.untoggledLabel\n );\n target._tippy.setContent(target.getAttribute('aria-label'));\n\n return;\n }\n\n // if ( event.target.closest('button[data-action=\"clear-search\"]') ) {\n // event.preventDefault();\n // event.stopPropagation();\n // var target = event.target.closest('button');\n // this.clear();\n // return;\n // }\n\n\n })\n\n this.clearButton.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n var target = event.target.closest('button');\n this.clear();\n })\n\n this.searchTarget.addEventListener('change', (event) => {\n HT.prefs.set({ pt: { submitTarget: this.searchTarget.checked }});\n })\n\n this.searchResultsContainer.addEventListener('change', (event) => {\n const target = event.target.closest('input#action-start-jump');\n\n if ( target ) {\n const max = parseInt(target.max);\n const min = parseInt(target.min);\n const sz = parseInt(target.dataset.sz, 10);\n const value = parseInt(target.value, 10);\n\n if ( isNaN(value) || value > max || value < min ) {\n target.value = target.dataset.value;\n alert(`Please enter a number between ${min} - ${max}`);\n return;\n }\n\n const start = ( value - 1 ) * sz + 1;\n\n // resubmit the form\n this.searchStart = start;\n this.submit();\n }\n })\n\n searchForm.addEventListener('submit', (event) => {\n event.preventDefault();\n this.searchStart = 1;\n this.submit();\n })\n\n const skipLink = document.querySelector('#skiplinks a[href=\"#input-search-text\"]');\n if ( skipLink ) {\n skipLink.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n // this really shouldn't be here\n if ( document.body.dataset.sidebarState == 'closed' ) {\n document.body.dataset.sidebarState = 'open';\n }\n document.querySelector('#panel-search').open = true;\n document.querySelector('#input-search-text').focus();\n })\n }\n\n\n }\n\n};","import { createNanoEvents } from 'nanoevents';\n\n// import _ from 'lodash';\n// import array from 'lodash/array';\n// import collection from 'lodash/collection';\n\n// var _ = {};\n// _.each = collection.each;\n// _.indexOf = array.indexOf;\n// _.union = array.union;\n// _.difference = array.difference;\n\n\nvar checkboxEmptySvg = `\n \n`;\nvar checkboxCheckedSvg = `\n \n \n`;\n\n\nexport var Selectinator = class {\n constructor(options={}) {\n // this.options = Object.assign({}, options);\n this.reader = options.reader;\n this.input = options.input;\n this.datalist = this.input ? this.input.querySelector('ul') : null;\n // this.datalist = this.input.querySelector('ul.dropdown-menu');\n\n this.link = options.link;\n this.reset = options.reset;\n this.emitter = createNanoEvents();\n this._selection = {};\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n var self = this;\n if ( ! this.datalist ) { return ; }\n \n this.reader.on('ready', () => {\n self.setup();\n });\n \n this.reset.addEventListener('click', function(event) {\n event.preventDefault();\n event.stopPropagation();\n this._clearSelection();\n }.bind(this));\n\n // this.input.querySelector('button').addEventListener('click', (event) => {\n // event.preventDefault();\n // event.stopPropagation();\n // this.open();\n // });\n\n this.datalist.addEventListener('click', (event) => {\n var target = event.target;\n target = target.closest('a');\n if ( target && target.hasAttribute('href') ) {\n // this.modal.closeModal();\n event.preventDefault();\n event.stopPropagation();\n var seq = target.dataset.seq;\n this.reader.display(seq);\n }\n })\n\n }\n\n setup() {\n if ( ! this._clickHandler ) {\n this._clickHandler = this.clickHandler.bind(this);\n this.reader.view.container.addEventListener('click', this._clickHandler);\n }\n\n var printable = this._getPageSelection();\n this._updateSelectionLabel(printable.length);\n this._updateSelectionContents(printable);\n\n var manifest = this.reader.service.manifest;\n\n var pages = this.reader.view.container.querySelectorAll('.page');\n for(var i = 0; i < pages.length; i++) {\n var page = pages[i];\n if ( ! page.dataset.seq ) {\n continue;\n }\n if ( manifest.checkFeatures(page.dataset.seq, 'MISSING_PAGE') ) {\n continue;\n }\n\n // \n var button = document.createElement('button');\n // button.classList.add('button', 'btn-mini', 'action-toggle-selection');\n button.classList.add('action-toggle-selection', 'btn');\n button.dataset.seq = page.dataset.seq;\n button.dataset.action = 'toggle';\n button.setAttribute('aria-label', `Select page scan #${page.dataset.seq}`);\n button.setAttribute('type', 'button');\n button.setAttribute('aria-pressed', printable.indexOf(parseInt(page.dataset.seq, 10)) > -1);\n button.setAttribute('data-tippy-role', 'tooltip');\n button.setAttribute('data-tippy-placement', 'auto');\n button.innerHTML = `${checkboxEmptySvg}${checkboxCheckedSvg}`;\n\n page.querySelector('.tag').insertBefore(button, page.querySelector('span'));\n page.dataset.selected = button.getAttribute('aria-pressed'); page.classList.toggle('page--selected', button.getAttribute('aria-pressed') == 'true');\n button.setAttribute('tabindex', page.getAttribute('tabindex'));\n }\n }\n\n clickHandler(event) {\n var element = event.target.closest('button[data-action=\"toggle\"]');\n if ( element ) {\n event.preventDefault();\n event.stopPropagation();\n var page = element.closest('.page');\n var checked = ! ( page.dataset.selected == \"true\" );\n this._addPageToSelection(page, element, event, true);\n }\n }\n\n render(slot, value) {\n var span = this.output.querySelector(`[data-slot=\"${slot}\"]`);\n span.innerText = value;\n }\n\n open() {\n // using bootbox is a bit of a hack, but oh well...\n this.modal = bootbox.dialog(this.datalist, \n [\n {label: 'Close', class: 'btn-dismiss'}\n ], \n { header: 'Page scans selected for download' }\n );\n }\n\n /* SELECTION */\n _setSelection(printable) {\n var key = \"selection-\" + this.reader.identifier;\n if ( printable === null ) {\n sessionStorage.removeItem(key);\n return;\n }\n sessionStorage.setItem(key, JSON.stringify(printable.sort(function(a, b) { return a - b; })));\n }\n\n _addPageToSelection(page, input, evt, toggle) {\n var self = this;\n\n var checked = ! ( page.dataset.selected == \"true\" );\n\n // if ( toggle ) {\n // $input.prop('checked', checked); // ! $input.prop('checked'));\n // }\n\n var seq = parseInt(page.dataset.seq, 10);\n // now deal with processing \n var printable = self._getPageSelection();\n\n var is_adding = checked; // $input.prop('checked');\n var to_process = [ seq ];\n\n page.dataset.selected = checked; page.classList.toggle('page--selected', checked);\n\n input.setAttribute('aria-pressed', checked);\n // page.setAttribute('aria-label', checked ? `Page scan ${seq} is selected for download` : '');\n input.setAttribute('aria-label', checked ? `Page scan #${seq} is selected` : `Select page scan #${seq}`);\n if ( input._tippy ) {\n input._tippy.setContent(input.getAttribute('aria-label'));\n }\n\n if ( evt && evt.shiftKey && self._last_selected_seq ) {\n // there should be an earlier selection\n var prev_until;\n var fn = checked ? function(seq) { return printable.indexOf(seq) > -1 } : function(seq) { return printable.indexOf(seq) < 0 };\n\n var start_seq; var end_seq; var delta;\n if ( seq > self._last_selected_seq ) {\n start_seq = seq;\n end_seq = self._last_selected_seq;\n } else {\n start_seq = self._last_selected_seq;\n end_seq = seq;\n }\n\n for(var prev_until_ = start_seq - 1; prev_until_ > end_seq; prev_until_--) {\n prev_until = prev_until_;\n if ( fn(prev_until_) ) {\n break;\n }\n }\n\n if ( prev_until == 1 && printable.indexOf(1) < 0 ) {\n bootbox.alert(\"

    Sorry.

    Shift-click selects the pages between this page and an earlier selection, and we didn't find an earlier selected page.

    \");\n } else {\n var container = this.reader.view.container;\n for(var prev=start_seq; prev >= prev_until; prev--) {\n var page_prev = container.querySelector(`.page[data-seq=\"${prev}\"]`);\n if ( page_prev ) {\n page_prev.dataset.selected = checked; page_prev.classList.toggle('page--selected', checked);\n var prev_input = page_prev.querySelector('button.action-toggle-selection');\n prev_input.setAttribute('aria-pressed', checked);\n prev_input.setAttribute('aria-label', checked ? `Page scan #${prev} is selected for download` : `Select page scan #${prev}`);\n if ( prev_input._tippy ) {\n input._tippy.setContent(input.getAttribute('aria-label'));\n }\n }\n to_process.push(prev);\n }\n }\n }\n\n if ( is_adding ) {\n // printable = _.union(printable, to_process);\n var set = new Set(printable.concat(to_process));\n printable = [...set];\n } else {\n // printable = _.difference(printable, to_process)\n var set = new Set([...printable].filter(x => ! to_process.includes(x)));\n printable = [...set];\n }\n\n self._setSelection(printable);\n\n var num_printable = printable.length;\n self._updateSelectionLabel(num_printable);\n self._updateSelectionContents(printable);\n\n self._last_selected_seq = seq;\n }\n\n _updateSelectionLabel(num_printable) {\n var msg = num_printable;\n if ( msg == 0 ) {\n msg = 'pages';\n } else if ( msg == 1 ) {\n msg = \"1 page\";\n } else {\n msg = msg + \" pages\";\n }\n\n // this.link.innerText = this.link.dataset.template.replace('{PAGES}', msg);\n // this.link.dataset.total = num_printable;\n\n this.reset.style.visibility = ( num_printable == 0 ? 'hidden' : 'visible' );\n\n return msg;\n }\n\n _getPageSelection() {\n var key = \"selection-\" + this.reader.identifier;\n var printable = [];\n try {\n printable = JSON.parse(sessionStorage.getItem(key) || \"[]\");\n } catch (e) {\n }\n return printable;\n }\n\n _getFlattenedSelection(printable) {\n var list = [];\n // _.each(printable.sort(function(a, b) { return a - b; }), function(val) {\n printable.sort(function(a, b) { return a - b; }).forEach(function(val) {\n if ( list.length == 0 ) {\n list.push([val, -1]);\n } else {\n var last = list[list.length - 1];\n if ( last[1] < 0 && val - last[0] == 1 ) {\n last[1] = val;\n } else if ( val - last[1] == 1 ) {\n last[1] = val;\n } else {\n list.push([val, -1]);\n }\n }\n })\n\n for(var i = 0; i < list.length; i++) {\n var tmp = list[i];\n if ( tmp[1] < 0 ) {\n list[i] = tmp[0];\n } else {\n list[i] = tmp[0] + \"-\" + tmp[1];\n }\n }\n return list;\n }\n\n _updateSelectionContents(printable) {\n var self = this;\n\n // var msg = this.input.querySelector('.msg');\n // var button = this.input.querySelector('button');\n\n if ( printable.length == 0 ) {\n this.datalist.innerHTML = '';\n\n if ( HT.downloader && HT.downloader.selectRangeOption ) {\n HT.downloader.selectRangeOption('volume');\n }\n\n // msg.innerText = '';\n // button.disabled = true;\n return;\n }\n\n if ( HT.downloader && HT.downloader.selectRangeOption ) {\n HT.downloader.selectRangeOption('selected-pages');\n }\n\n // button.disabled = false;\n // msg.innerText = ` ${printable.length} ${printable.length == 1 ? 'page' : 'pages'}`;\n\n this.datalist.innerHTML = '';\n\n var list = self._getFlattenedSelection(printable);\n list.forEach(function(args) {\n var s = args;\n var postscript = `Selected page scans ${args}`;\n if ( typeof(args) == \"string\" ) {\n var tmp = args.split(\"-\");\n s = tmp[0];\n // postscript += \" (\" + ( parseInt(tmp[1], 10) - parseInt(tmp[0], 10) + 1 ) + \" pages)\";\n }\n\n var li = document.createElement('li');\n var link = document.createElement('a');\n var link_href = window.location.href.replace(/seq=\\d+/, \"seq=\" + s).replace(/num=\\d+/, '');\n if ( link_href.indexOf('seq=') < 0 ) {\n link_href += ( link_href.indexOf('&') > -1 ? '&' : ';' ) + `seq=${s}`;\n }\n link.setAttribute('href', link_href);\n link.dataset.seq = s;\n // link.innerHTML = `${postscript}`\n link.innerHTML = `${postscript}`;\n li.appendChild(link);\n self.datalist.appendChild(li);\n })\n }\n\n _clearSelection() {\n var self = this;\n\n var toggles = document.querySelectorAll('button.action-toggle-selection[aria-pressed=\"true\"]');\n for(var i = 0; i < toggles.length; i++) {\n var toggle = toggles[i];\n toggle.setAttribute('aria-pressed', false);\n toggle.parentNode.dataset.selected = false; toggle.parentNode.classList.remove('page--selected');\n }\n\n self._setSelection(null);\n self._updateSelectionContents([]);\n self._updateSelectionLabel(0);\n }\n\n}\n","import { createNanoEvents } from 'nanoevents';\n\nexport var Viewinator = class {\n constructor(options={}) {\n this.input = options.input;\n this.reader = options.reader;\n this.emitter = new createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n var self = this;\n\n const action = this.action = document.querySelector(this.input.view);\n const reader = this.reader;\n let possibles = { format: {}, view: {} };\n this.possibles = possibles;\n\n action.parentElement.querySelectorAll('button[data-role]').forEach((button) => {\n const role = button.dataset.role;\n const value = button.dataset.value;\n possibles[role][value] = button;\n })\n\n action.addEventListener('show.bs.dropdown', (event) => {\n action._tippy.disable();\n })\n\n action.addEventListener('hide.bs.dropdown', (event) => {\n action._tippy.enable();\n })\n\n var actionSelectSvg = action.querySelector('svg');\n action.addEventListener('hidden.bs.dropdown', (event) => {\n if ( event.clickEvent ) {\n var target = event.clickEvent.target.closest(\"button\");\n if ( ! target ) { return ; }\n var role = target.dataset.role;\n\n var currentView = reader.view.name;\n var currentFormat = reader.options.format;\n var targetView = currentView;\n var targetFormat = currentFormat;\n var actualTargetView = currentView;\n\n if ( role == 'format' ) {\n targetFormat = target.dataset.value;\n } else if ( role == 'view' ) {\n targetView = target.dataset.value;\n if ( targetView == 'page' ) {\n if ( currentFormat == 'plaintext' ) { actualTargetView = 'page'; }\n else { actualTargetView = 'page'; }\n } else {\n actualTargetView = targetView;\n }\n }\n\n // if ( targetView != currentView ) {\n // actionSelectSvg.innerHTML = possibles.view[targetView].querySelector('svg').innerHTML;\n // }\n\n self.describe(targetView, targetFormat);\n\n possibles.view[currentView].classList.remove('active');\n possibles.format[currentFormat].classList.remove('active');\n possibles.view[currentView].setAttribute('aria-current', false);\n possibles.format[currentFormat].setAttribute('aria-current', false);\n\n possibles.view[targetView].classList.add('active');\n possibles.format[targetFormat].classList.add('active');\n possibles.view[targetView].setAttribute('aria-current', true);\n possibles.format[targetFormat].setAttribute('aria-current', true);\n\n\n reader.options.format = targetFormat;\n\n reader.restart({ view: actualTargetView, format: targetFormat, clicked: 0 });\n\n }\n });\n\n const accessPlaintextButton = document.querySelector(this.input.accessPlaintext);\n if ( accessPlaintextButton ) {\n accessPlaintextButton.addEventListener('click', (event) => {\n this.reader.restart({ view: 'page', format: 'plaintext'});\n return;\n })\n }\n\n this.reader.on('configure', function(config) {\n const view = self.reader.view.name;\n let currentViewItem;\n Object.keys(possibles.view).forEach((possible) => {\n if ( possibles.view[possible].classList.contains('active') ) {\n currentViewItem = possibles.view[possible];\n }\n })\n if ( currentViewItem && currentViewItem.dataset.view != view ) {\n currentViewItem.classList.remove('active');\n }\n possibles.view[view].classList.add('active');\n // actionSelectSvg.innerHTML = possibles.view[view].querySelector('svg').innerHTML;\n self.describe(view, self.reader.options.format);\n })\n\n if ( ! this.reader.service.hasOcr ) {\n self.disable('plaintext', 'format');\n }\n\n if ( ! ( this.reader.service.manifest.totalSeq > 1 ) ) {\n self.disable('2up');\n self.disable('thumb');\n }\n\n }\n\n enable(view) {\n if ( ! this.possibles[key][view] ) { return; }\n this.possibles.view[view].classList.remove('disabled');\n this.possibles.view[view].setAttribute('aria-disabled', false);\n }\n\n disable(view, key='view') {\n if ( ! this.possibles[key][view] ) { return; }\n this.possibles[key][view].classList.add('disabled');\n this.possibles[key][view].setAttribute('aria-disabled', true);\n }\n\n describe(view, format) {\n const svg = this.action.querySelector('svg');\n const span = this.action.querySelector('span[data-role=\"description\"]');\n const currentView = this.possibles.view[view];\n const currentFormat = this.possibles.format[format];\n span.innerText = `${currentView.innerText.trim()}/${currentFormat.innerText.trim()}`;\n svg.innerHTML = currentView.querySelector('svg').innerHTML;\n }\n\n}\n","import { createNanoEvents } from 'nanoevents';\n\nexport var Zoominator = class {\n constructor(options={}) {\n this.scale = parseInt(options.scale || 1.0, 10);\n this.input = options.input;\n this.reader = options.reader;\n this._possibles = {};\n this._possibles.image = [ 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 ];\n this._possibles.plaintext = [ 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 ];\n this.emitter = new createNanoEvents();\n this.bindEvents();\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n get possibles() {\n if ( this.reader && this.reader.view && this.reader.view.possibles ) {\n return this.reader.view.possibles;\n }\n return this._possibles[this.reader.options.format];\n }\n\n bindEvents() {\n var self = this;\n\n document.addEventListener('click', function(event) {\n var target = event.target.closest('button');\n if ( ! target ) { return; }\n if ( target.classList.contains('action-zoom-in') ) {\n var idx = self.possibles.indexOf(self.scale);\n idx += 1;\n self.update(idx);\n } else if ( target.classList.contains('action-zoom-out') ) {\n var idx = self.possibles.indexOf(self.scale);\n idx -= 1;\n self.update(idx);\n } else if ( target.classList.contains('action-zoom-reset') ) {\n // self.update(-1);\n var idx = self.possibles.indexOf(1);\n self.update(idx);\n }\n })\n\n this.reader.on('configure', function(config) {\n if ( config.zoom === false ) {\n // this.input.zoom_in.disabled = true;\n // this.input.zoom_out.disabled = true;\n this.enable(document.querySelectorAll('.action-zoom-in'), false);\n this.enable(document.querySelectorAll('.action-zoom-out'), false);\n this.enable(document.querySelectorAll('.action-zoom-reset'), false);\n } else {\n this.scale = this.reader.view.scale || 1.0;\n var idx = this.possibles.indexOf(this.scale);\n if ( idx < 0 ) {\n idx = 0;\n }\n\n this.update(idx);\n\n // this.enable(document.querySelectorAll('.action-zoom-in'), ! ( idx == ( this.possibles.length - 1 )))\n // this.enable(document.querySelectorAll('.action-zoom-out'), ! ( idx == 0 ))\n\n // this.input.zoom_in.disabled = ( idx == ( this.possibles.length - 1 ) );\n // this.input.zoom_out.disabled = ( idx == 0 );\n }\n }.bind(this));\n }\n\n disable(elements) {\n elements.forEach((element) => {\n element.disabled = true;\n })\n }\n\n enable(elements, state) {\n elements.forEach((element) => {\n element.disabled = ! state;\n })\n }\n\n update(idx) {\n this.scale = this.possibles[idx];\n\n this.enable(document.querySelectorAll('.action-zoom-in'), ! ( idx == ( this.possibles.length - 1 )))\n this.enable(document.querySelectorAll('.action-zoom-out'), ! ( idx == 0 ))\n\n document.body.dataset.zoomedIn = ( this.scale > 1 );\n // document.body.dataset.zoomedScale = this.scale;\n\n // const fontSize = this.scale > 1 ? 1.25 * this.scale : 1.25;\n const fontSize = this.scale * 1.25;\n document.body.style.setProperty('--page-text-font-size', `${fontSize}rem`);\n\n this.reader.emit('redraw', { scale: this.scale });\n }\n\n check(value) {\n return this.possibles.indexOf(value) > -1;\n }\n}\n","import { createNanoEvents } from 'nanoevents';\n\nexport var Manifest = class {\n constructor(options={}) {\n this.options = Object.assign({}, options);\n this.totalSeq = parseInt(options.totalSeq, 10);\n this.defaultSeq = parseInt(options.defaultSeq, 10);\n this.firstSeq = parseInt(options.firstSeq, 10);\n this.defaultImage = {\n height: parseInt(options.defaultHeight, 10),\n width: parseInt(options.defaultWidth, 10),\n rotation: 0\n };\n this.defaultImage.ratio = this.defaultImage.height / this.defaultImage.width;\n this.featureList = options.featureList;\n this.featureMap = {};\n this._seq2num = {};\n this._num2seq = {};\n this._pageNum = { first: null, last: null };\n this.featureList.forEach(function(item) {\n this.featureMap[item.seq] = item;\n if ( item.pageNum && ! this._seq2num[item.seq] ) {\n this._seq2num[item.seq] = item.pageNum;\n this._num2seq[item.pageNum] = item.seq;\n if ( this._pageNum.first == null ) { this._pageNum.first = item.pageNum; }\n this._pageNum.last = item.pageNum;\n }\n }.bind(this))\n\n this.manifest = {};\n }\n\n update(seq, meta) {\n if ( meta.rotation != null && meta.width === undefined ) {\n // just updating rotation\n this.manifest[seq].rotation = meta.rotation;\n return;\n }\n if ( meta.resolution != null && meta.width === undefined ) {\n this.manifest[seq].resolution = meta.resolution;\n return;\n }\n // ... which will help with switching lanes and rotating\n if ( this.manifest[seq] && this.manifest[seq].width ) { return ; }\n var ratio = this.defaultImage.width / meta.width;\n this.manifest[seq] = {\n width: this.defaultImage.width,\n height: meta.height * ratio,\n rotation: meta.rotation || 0,\n ratio: meta.height / meta.width,\n resolution: meta.resolution,\n size: meta.size\n }\n }\n\n meta(seq) {\n if ( this.manifest[seq] ) {\n var meta = this.manifest[seq];\n if ( meta.rotation % 180 != 0 ) {\n return { height: meta.width, width: meta.height, rotation: meta.rotation };\n }\n return meta;\n }\n return this.defaultImage;\n }\n\n rotateBy(seq, delta) {\n var rotation;\n // this shouldn't happen\n if ( ! this.manifest[seq] ) { return; }\n rotation = this.manifest[seq].rotation;\n if ( rotation == 0 ) { rotation = 360; }\n rotation += delta;\n rotation = rotation % 360;\n this.manifest[seq].rotation = rotation;\n }\n\n checkFeatures(seq, feature) {\n var data = this.featureMap[seq];\n if ( data && data.features ) {\n if ( feature === undefined ) { return data.features.length > 1 };\n return ( data.features.indexOf(feature) > -1 );\n }\n return false;\n }\n\n ownerid(seq) {\n var data = this.featureMap[seq];\n if ( data && data.ownerid ) {\n return data.ownerid;\n }\n return null;\n }\n\n physicalSeq(seq) {\n var data = this.featureMap[seq];\n if ( data && data.pseq ) {\n return data.pseq;\n }\n return seq;\n }\n\n pageNum(seq, prefixed=true) {\n var value = this._seq2num[seq];\n if ( value ) { \n if ( prefixed ) {\n value = `p.${value}`; \n }\n return value; \n }\n return null;\n }\n\n pageNumRange() {\n if ( this._pageNum.first == null ) { return null; }\n return `${this._pageNum.first}-${this._pageNum.last}`;\n }\n\n hasPageNum() {\n return ! ( this._pageNum.first == null );\n }\n\n seq(pageNum) {\n return this._num2seq[pageNum] || pageNum;\n }\n}\n\nexport var Service = class {\n constructor(options={}) {\n this.manifest = new Manifest(options.manifest);\n this.identifier = options.identifier;\n this.q1 = options.q1;\n this.debug = options.debug;\n this.hasOcr = options.hasOcr;\n this.allowFullDownload = options.allowFullDownload;\n this.expiration = options.expiration;\n this.loaders = {};\n this.emitter = createNanoEvents();\n this.bindEvents();\n }\n\n thumbnail(options={}) {\n var width = 250; // one size fits all\n var meta = this.manifest.meta(options.seq);\n var rotation = meta.rotation || 0;\n var params = [];\n params.push(`id=${this.identifier}`);\n params.push(`seq=${options.seq}`);\n params.push(`width=${width}`);\n params.push(`rotation=${rotation}`);\n if ( this.debug ) {\n params.push(`debug=${this.debug}`);\n }\n return `/cgi/imgsrv/thumbnail?${params.join(';')}`;\n }\n\n image(options={}) {\n var action = 'image'; // options.mode == 'thumbnail' ? 'thumbnail' : 'image';\n var param = this.bestFit(options);\n var meta = this.manifest.meta(options.seq);\n var rotation = meta.rotation || 0;\n var params = [];\n params.push(`id=${this.identifier}`);\n params.push(`seq=${options.seq}`);\n params.push(`${param.param}=${param.value}`);\n params.push(`rotation=${rotation}`);\n if ( this.debug ) {\n params.push(`debug=${this.debug}`);\n }\n if ( options.expiration ) {\n params.push(`_=${options.expiration}`);\n }\n return `/cgi/imgsrv/${action}?${params.join(';')}`;\n }\n\n html(options={}) {\n if ( ! this.hasOcr ) { return null; }\n var url = `/cgi/imgsrv/html?id=${this.identifier};seq=${options.seq}`;\n if ( this.q1 ) {\n url += `;q1=${this.q1}`;\n }\n if ( this.debug ) {\n url += `;debug=${this.debug}`;\n }\n if ( options.expiration ) {\n url += `;_=${options.expiration}`;\n }\n return url;\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n bindEvents() {\n\n }\n\n bestFit(params) {\n // var possibles = [ 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 ];\n var possibles = [ 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0 ];\n var max_possible = possibles[possibles.length - 1];\n\n var baseWidth = ( window.innerWidth >= 680 ) ? 680 : ( window.innerWidth * 0.95 );\n baseWidth = 680;\n\n var retval = {};\n // var scale = ( window.outerWidth >= 680 ) ? 1.0 : ( window.outerWidth * 0.95 / 680.0 );\n if ( params.width ) {\n retval.param = 'size';\n retval.value = possibles.find(function(possible) {\n var check = baseWidth * possible;\n return ( params.width <= check );\n })\n if ( retval.value === undefined ) {\n // out of bounds!\n retval.value = max_possible;\n }\n retval.value *= window.devicePixelRatio;\n retval.value = possibles.find(function(possible) {\n return ( retval.value <= possible );\n }) || max_possible;\n } else if ( params.height ) {\n // retval.param = 'height';\n // retval.value = params.height;\n retval.param = 'size';\n var meta = this.manifest.meta(params.seq);\n var r = meta.height / meta.width;\n retval.value = possibles.find(function(possible) {\n var check = ( baseWidth * possible ) * r;\n return params.height <= check;\n });\n if ( retval.value === undefined ) {\n retval.value = 4.0;\n }\n retval.value *= window.devicePixelRatio;\n retval.value = possibles.find(function(possible) {\n return ( retval.value <= possible );\n }) || max_possible;\n }\n retval.value = Math.floor(retval.value * 100.0);\n if ( HT.force_size ) { retval.value = HT.force_size; }\n return retval;\n }\n\n\n\n};\n\nvar Events = {\n LOADED:'loaded'\n , LOADING:'loading'\n , COMPLETE:'complete'\n , ERROR:'error'\n , PROMOTED:'promoted'\n , DEMOTED:'demoted'\n }\n\nexport var Loader = class {\n\n constructor(options={}) {\n this.reset(options.n_parallel);\n if ( options.urls && options.urls.length ) {\n this.add(options.urls);\n }\n this.name = options.name || '[loader]';\n this._fetched = {};\n this.emitter = createNanoEvents();\n }\n\n reset(n_parallel) {\n this.loaded = {};\n this._loaded = [];\n this._loading = [];\n this._events = {};\n this._parallel = n_parallel || this._parallel;\n this._slots = this._parallel;\n this._queue = [];\n this._errors = [];\n this._complete = false;\n this._paused = true;\n this._previousOneWasAFunction = false;\n this._insertionPoint = 0;\n }\n\n limit(n) {\n if(arguments.length){\n var slots = this._parallel - n;\n this._parallel = n;\n this._slots+=slots;\n this.next();\n return this;\n }\n return this._parallel;\n }\n\n parallel(n) {\n return this.limit(n);\n }\n\n start(fn) {\n this._paused = false;\n this._complete = false;\n if(fn) { this.on(Events.COMPETE, fn); }\n this.next();\n return this;\n }\n\n stop(reset=false) {\n this._paused = true;\n if ( reset ) {\n this._queue = [];\n this._errors = [];\n this._fetched = {};\n }\n return this;\n }\n\n add() {\n var l = arguments.length - 1,i = -1, src,insertAt,index;\n for(l;l>i;--l){\n src = arguments[l];\n if(Object.prototype.toString.call(src) === '[object Array]'){\n this._previousOneWasAFunction = false;\n this.add.apply(this,src);\n }\n else if((typeof src === 'string') || src.hasOwnProperty('src')){\n insertAt = (this._insertionPoint == 'last') ? this._queue.length : this._insertionPoint;\n index = this.getIndex(src);\n if(index >= 0){\n this.changePosition(index,insertAt);\n }else{\n this._queue.splice(insertAt,0,src);\n }\n if(this._previousOneWasAFunction){this.once(src,this._previousOneWasAFunction);}\n this._previousOneWasAFunction = false;\n //if(this._complete === true && this._paused === true){\n //this.start();\n //}\n }\n else if(src.constructor && src.call && src.apply){\n this._previousOneWasAFunction = src;\n }\n }\n return this;\n }\n\n queue(){\n var args = new Array(arguments.length), l = args.length, i = 0;\n if(!l){return this;}\n for(i;i 1 ? '!!!' : \"--\", \"loadText\", this._fetched[request_src], request_src);\n if ( this._fetched[request_src] > 1 ) { \n self._updateLoading(request_src);\n self._fetched[request_src] -= 1;\n return this; \n }\n fetch(request_src, { credentials: 'include' })\n .then(response => {\n self._fetched[request_src] -= 1;\n if ( ! response.ok ) {\n // err = response.text();\n is_error = true;\n }\n if ( response.headers.get('x-hathitrust-access') == 'deny' ) {\n is_restricted = true;\n }\n if ( response.headers.get('x-hathitrust-renew') ) {\n if ( HT && HT.renew_auth ) {\n HT.renew_auth(response.headers.get('x-hathitrust-renew'));\n }\n }\n\n var chokeAllowed = response.headers.get('x-choke-allowed');\n var chokeDebt = response.headers.get('x-choke-debt');\n\n return response.text();\n })\n .then(text => {\n if ( is_restricted == 'true' && text ) {\n text = text.replace('RESTRICTED', 'ACCESS EXPIRED');\n } else {\n // nothing\n }\n\n setTimeout(() => {\n self._slots++;\n if(self._slots>self._parallel){\n self._slots = self._parallel;\n }\n var loading = self._loading, l = loading.length, i = 0;\n for(i;i {\n self._updateLoading(request_src);\n self._fetched[request_src] -= 1;\n HT.post_error({\n message: error.message,\n filename: error.fileName,\n lineno: error.lineNumber,\n colno: error.columnNumber,\n error: {\n stack: error.stack\n },\n imgsrv_url: request_src\n });\n })\n\n // image.src = (typeof src === 'string') ? src : src.src;\n return this; \n }\n\n _load(src){\n\n var makeDone = function(self,src){\n return function done(image,err){\n image.onerror = image.onabort = image.onload = null;\n self._slots++;\n if(self._slots>self._parallel){\n self._slots = self._parallel;\n }\n var loading = self._loading, l = loading.length, i = 0;\n for(i;i 1 ? '!!!' : \"--\", \n this.name, \n this._fetched[image_src], image_src);\n if ( this._fetched[image_src] > 1 ) {\n self._fetched[image_src] -= 1;\n self._updateLoading(image_src);\n return this; \n }\n\n fetch(image_src, { credentials: 'include' })\n .then(response => {\n self._fetched[image_src] -= 1;\n HT.log(\"$$$ fetched\", this._fetched[image_src], image_src);\n\n if ( response.headers.get('x-hathitrust-access') == 'deny' ) {\n image.dataset.restricted = true;\n }\n if ( response.headers.get('x-hathitrust-renew') ) {\n if ( HT && HT.renew_auth ) {\n HT.renew_auth(response.headers.get('x-hathitrust-renew'));\n }\n }\n\n var chokeAllowed = response.headers.get('x-choke-allowed');\n var chokeDebt = response.headers.get('x-choke-debt');\n\n var resolution = response.headers.get('x-image-resolution');\n if ( resolution && ( typeof src === 'object' )) {\n src.resolution = resolution.replace(\"/1\", \"\").replace(/\\.0+ /, ' ');\n }\n var size = response.headers.get('x-image-size');\n if ( size && ( typeof src === 'object' )) {\n let tmp = size.split('x');\n src.size = { width: tmp[0], height: tmp[1] }\n }\n\n return response.blob();\n })\n .then(blob => {\n if ( image.dataset.restricted == 'true' && blob.text ) {\n blob.text().then((text) => {\n text = text.replace('RESTRICTED', 'ACCESS EXPIRED');\n blob = new Blob([text], { type: 'image/svg+xml'});\n var objectUrl = URL.createObjectURL(blob);\n image.src = objectUrl;\n image.dataset.usedBlob = true;\n })\n } else {\n var objectUrl = URL.createObjectURL(blob);\n image.src = objectUrl;\n }\n })\n .catch((error) => {\n self._fetched[image_src] -= 1;\n self._updateLoading(image_src);\n HT.post_error({\n message: error.message,\n filename: error.fileName,\n lineno: error.lineNumber,\n colno: error.columnNumber,\n error: {\n stack: error.stack\n },\n imgsrv_url: image_src\n });\n })\n\n return this;\n }\n\n promote(src){\n var index = this.getIndex(src);\n if(index<=0){return this;}\n return this.changePosition(index,0);\n }\n\n changePosition(index,insertAt){\n if(index == insertAt){return this;}\n var item = this._queue.splice(index,1)[0];\n this._queue.splice(insertAt,0,item);\n if(index > insertAt){\n this.dispatch(Events.PROMOTED,[item,index,insertAt]);\n }else{\n this.dispatch(Events.DEMOTED,[item,index,insertAt]);\n }\n return this;\n }\n\n on(evt,fn){\n (this._events[evt] = this._events[evt] || []).push(fn);\n return this;\n }\n\n addEventListener(evt, fn) {\n return this.on(evt, fn);\n }\n\n off(evt, fn) {\n if(this._events[evt]){\n if(fn){\n var evts = this._events[evt], l = evts.length, i = 0;\n for(i;iThis may not have been your link's destination.

    `,\n detail: `\n

    The link you followed was meant to go to a specific page \n by way of a version signature; unfortunately the signature \n could not be resolved.

    \n

    We would recommend contacting the owner of the \n referring website to let them know that their link \n may need to be updated.

    `\n}\n\nexport {messages};","import { createNanoEvents } from 'nanoevents';\n\nexport var setfn = {\n eqSet: function(as, bs) {\n return as.size === bs.size && this.all(this.isIn(bs), as); \n },\n\n all: function(pred, as) {\n for (var a of as) if (!pred(a)) return false;\n return true;\n },\n\n isIn: function(as) {\n return function (a) {\n return as.has(a);\n }; \n }\n};\n\nfunction rgbToYIQ({r, g, b}) {\n return ((r * 299) + (g * 587) + (b * 114)) / 1000;\n}\n\nfunction hexToRgb(hex) {\n if (!hex || hex === undefined || hex === '') {\n return undefined;\n }\n\n const result =\n /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : undefined;\n}\n\nfunction contrast(colorHex, threshold = 128) {\n if (colorHex === undefined) {\n return '#000';\n }\n\n const rgb = hexToRgb(colorHex);\n\n if (rgb === undefined) {\n return '#000';\n }\n\n return rgbToYIQ(rgb) >= threshold ? '#000' : '#fff';\n}\n\nfunction simpleSvgPlaceholder({\n width = 300,\n height = 150,\n text = `${width}×${height}`,\n fontFamily = 'sans-serif',\n fontWeight = 'bold',\n fontSize = Math.floor(Math.min(width, height) * 0.2),\n dy = fontSize * 0.35,\n bgColor = '#ddd',\n textColor = 'rgba(0,0,0,0.5)',\n dataUri = true,\n charset = 'UTF-8'\n} = {}) {\n const str = `\n \n ${text}\n `;\n\n // Thanks to: filamentgroup/directory-encoder\n const cleaned = str\n .replace(/[\\t\\n\\r]/gim, '') // Strip newlines and tabs\n .replace(/\\s\\s+/g, ' ') // Condense multiple spaces\n .replace(/'/gim, '\\\\i'); // Normalize quotes\n\n if (dataUri) {\n const encoded = encodeURIComponent(cleaned)\n .replace(/\\(/g, '%28') // Encode brackets\n .replace(/\\)/g, '%29');\n\n return `data:image/svg+xml;charset=${charset},${encoded}`;\n }\n\n return cleaned;\n}\n\nconst rotateButton = ``\n\nexport var Base = class {\n constructor(options={}) {\n this.service = options.service;\n this.reader = options.reader;\n this.scale = options.scale || 1.0;\n this.mode = 'scroll';\n this.emitter = createNanoEvents();\n this._handlers = {};\n this.id = (new Date()).getTime();\n this.pages = [];\n this.pagesIndex = new Map();\n this.pagesSeq = new Map();\n this.trackResize = true;\n\n this.rootMargin = options.rootMargin || 1024; // ( 8 * 16 );\n this.unloadNearestThreshold = 5;\n\n this.sets = {};\n this.sets.visible = new Set();\n this.sets.unloaded = new Set();\n this.sets.loaded = new Set();\n\n this._tracker = { images: {}, thumbnails: {}, plaintext: {} };\n this._intervals = {};\n\n this._initialSeq = options.seq;\n this._initialized = false;\n\n this.format = options.format || 'image';\n this.testRE = new RegExp('
    ]+>\\\\s+
    ', 'm');\n }\n\n attachTo(element, cb) {\n this.container = element;\n this.bindEvents();\n this.render(cb);\n }\n\n render(cb) {\n var minWidth = this.minWidth();\n var maxHeight = this.maxHeight();\n\n var manifest = this.service.manifest;\n\n var scale = this.scale;\n\n var t0 = performance.now();\n var fragment = document.createDocumentFragment();\n\n var bgColor = '#F8F8F8';\n var textColor = '#DDD'; // '#F0F0F0';\n var placeholder = simpleSvgPlaceholder({\n bgColor: bgColor,\n textColor: textColor,\n text: `❉`,\n fontFamily: `monospace`,\n width: w,\n height: h,\n });\n\n // // -- is it necessary to cache the template?\n // // -- the cache key would have to be view + format, to account for config()\n // if ( ! this.reader.templates ) { this.reader.templates = {}; }\n var template; // = this.reader.templates[this.format];\n if ( ! template ) {\n if ( this.format == 'image' ) {\n // template = this.reader.templates[this.format] = document.createElement('div');\n template = document.createElement('div');\n template.setAttribute('tabindex', '-1');\n template.setAttribute('aria-hidden', true);\n template.classList.add('page');\n template.dataset.loaded = false;\n template.dataset.visible = false;\n template.dataset.scale = scale;\n\n var rotateButtonAction = rotateButton;\n if ( this.config().rotate === false ) { rotateButtonAction = ''; }\n template.innerHTML = `
    ${rotateButtonAction}
    \"\"
    `;\n } else {\n // template = this.reader.templates[this.format] = document.createElement('div');\n template = document.createElement('div');\n template.setAttribute('tabindex', '-1');\n template.setAttribute('aria-hidden', true);\n template.classList.add('page');\n template.dataset.loaded = false;\n template.dataset.visible = false;\n template.dataset.scale = scale;\n\n template.innerHTML = `
    `;\n\n }\n }\n\n if ( maxHeight ) {\n // this.container.style.setProperty('--max-page-height', `${maxHeight * scale}px`);\n document.documentElement.style.setProperty('--max-page-height', `${maxHeight * scale}px`);\n }\n\n var slice_index = 1;\n\n this._hasFrontCover = ( this.service.manifest.checkFeatures(1, \"FRONT_COVER\") || ( this.service.manifest.checkFeatures(1, \"COVER\") && this.service.manifest.checkFeatures(1, \"RIGHT\") ) || this.service.manifest.checkFeatures(1, \"COVER\") || ! this.service.manifest.checkFeatures(1) );\n this._hasBackCover = ( this.service.manifest.checkFeatures(endSeq, \"BACK_COVER\") || ( this.service.manifest.checkFeatures(endSeq, \"COVER\") && this.service.manifest.checkFeatures(endSeq, \"LEFT\") ) );\n\n // // --- DEBUGGING\n // this._hasFrontCover = this._hasBackCover = false;\n\n if ( this._hasFrontCover ) {\n // first page is a cover, so add a dummy page\n var page = document.createElement('div');\n page.setAttribute('tabindex', '-1');\n page.classList.add('page', 'placeholder', 'verso');\n page.dataset.slice = slice_index;\n page.dataset.placeholder = true;\n fragment.appendChild(page);\n }\n\n for(var seq = 1; seq <= this.service.manifest.totalSeq; seq++) {\n\n var page = template.cloneNode(true);\n page.dataset.seq = seq;\n\n var klass = this._assignSide(seq);\n page.classList.add(klass);\n\n slice_index = this._slicify(seq);\n\n page.dataset.slice = slice_index;\n\n var meta = this.service.manifest.meta(seq);\n\n var sizing = this._calculatePageSize(meta, page, minWidth, maxHeight);\n var w = sizing.width;\n var h = sizing.height;\n\n page.dataset.height = h;\n page.dataset.width = w;\n\n page.dataset.bestFit = ( scale <= 1 ) ? 'true' : 'false';\n if ( scale <= 1 ) {\n page.classList.add('page--best-fit');\n }\n\n function titleCase(str) {\n return str.toLowerCase().split('_').map(function(word) {\n return (word.charAt(0).toUpperCase() + word.slice(1));\n }).join(' ');\n }\n\n var altText = `Page Scan #${seq}`;\n\n var features = [];\n if ( manifest.featureMap[seq] && manifest.featureMap[seq].features ) {\n features = manifest.featureMap[seq].features;\n }\n var priorityFeatures = [\n 'BLANK',\n 'FOLDOUT',\n 'FRONT_COVER',\n 'TITLE',\n 'FIRST_CONTENT_CHAPTER_START',\n 'CHAPTER_START',\n 'CONTENTS',\n 'TABLE_OF_CONTENTS',\n 'COPYRIGHT',\n 'BACK_COVER',\n 'IMAGE_ON_PAGE'\n ];\n\n var priorityFeature = priorityFeatures.find((feature) => { features.indexOf(feature) > -1 });\n if ( priorityFeature ){\n altText += ' - ' + titleCase(priorityFeature);\n }\n\n var pageNum = this.service.manifest.pageNum(seq) || '';\n if ( pageNum ) {\n pageNum = ` (${pageNum})`;\n }\n page.querySelector('.page-label').innerText = `#${seq}${pageNum}`;\n if ( this.format == 'image' ) {\n var thumbnailSrc = this.service.thumbnail({ seq: seq });\n let img = page.querySelector('img');\n img.setAttribute('height', sizing.height);\n img.setAttribute('width', sizing.width);\n img.setAttribute('alt', altText);\n img.setAttribute('data-thumbnail-src', thumbnailSrc);\n img.style.height = `${sizing.height}px`;\n img.style.width = `${sizing.width}px`;\n\n let frame = img.parentElement;\n frame.style.width = `${sizing.frameWidth}px`;\n frame.style.height = `${sizing.frameHeight}px`;\n\n // page.innerHTML = `
    ${rotateButtonAction}#${seq}${pageNum}
    \"${altText}\"
    `;\n } else {\n }\n\n this._renderr(page);\n\n fragment.appendChild(page);\n this.pages.push(page);\n this.pagesIndex.set(seq, page);\n this.pagesSeq.set(page, seq);\n }\n\n var endSeq = this.service.manifest.totalSeq;\n if ( this._hasBackCover ) {\n // there's a back cover\n var page = document.createElement('div');\n page.setAttribute('tabindex', '-1');\n page.classList.add('page', 'placeholder', 'recto');\n page.dataset.slice = slice_index;\n page.dataset.placeholder = true;\n fragment.appendChild(page);\n }\n\n this.container.appendChild(fragment);\n\n for(var i = 0; i < this.pages.length; i++) {\n this.bindPageEvents(this.pages[i]);\n }\n\n if ( this._initialSeq ) {\n this.display(this._initialSeq);\n }\n\n if ( cb ) {\n setTimeout(cb, 100);\n this._initialized = true;\n // cb();\n }\n\n this._lastContainerWidth = this.container.parentElement.offsetWidth; // this.container.offsetWidth * this.scale;\n this._lastScale = this.scale;\n // is this really necessary\n this._adjustContainer();\n\n }\n\n _adjustContainerWidth() {\n if ( this.format == 'plaintext' ) { return '100%'; }\n return `${( this.scale > 1 ? this.scale : 1 ) * 100}%`;\n }\n\n _adjustContainer() {\n var width = this._adjustContainerWidth();\n\n this.container.style.width = width;\n requestAnimationFrame(() => {\n this.container.parentNode.scrollLeft = \n ( this.container.offsetWidth - this.container.parentNode.offsetWidth ) / 2;\n })\n }\n \n _renderr(page) {\n /* NOP */\n }\n\n _slicify(seq) {\n var n; var delta;\n if ( this._hasFrontCover ) { n = ( seq % 2 == 0 ) ? seq : seq - 1; delta = 1; }\n else { n = ( seq % 2 == 1 ) ? seq : seq - 1; delta = 0; }\n return ( Math.ceil(n / 2) || 0 ) + delta;\n }\n\n _assignSide(seq) {\n var klass;\n if ( this._hasFrontCover ) { klass = seq % 2 == 0 ? 'verso' : 'recto'; }\n else { klass = seq % 2 == 0 ? 'recto' : 'verso' };\n return klass;\n }\n\n redrawPage(page) {\n HT.log(\"-- base.redrawPage\", page);\n page.dataset.loaded = page.dataset.reframed = false;\n // var page_text = page.querySelector('.page-text');\n // if ( page_text ) {\n // page_text.innerHTML = ''; \n // }\n // this._removeHighlights(page);\n this.loadImage(page, { lazy: false, reuseText: true });\n }\n\n loadImage(page, options={}) {\n var self = this;\n\n var _process = function(seq, loadImage) {\n var page = self.pagesIndex.has(seq) ? self.pagesIndex.get(seq) : null;\n if ( page && page.dataset.loaded == 'false' ) {\n\n var img = page.querySelector('img');\n\n // if ( page.dataset.reframed != 'true' && self.format == 'image' ) {\n if ( self.format == 'image' ) {\n self.service.loaders.thumbnails.queue({ src: img.dataset.thumbnailSrc, page: page }); \n }\n\n if ( loadImage && page.dataset.loaded == 'false' ) {\n page.classList.add('loading');\n if ( self.format == 'image' ) {\n self.service.loaders.images.queue({ src: self.imageUrl(page), page: page });\n }\n if ( self.format == 'plaintext' || ( options.reuseText !== true && self.embedHtml ) ) {\n var html_url = self.service.html({ seq: seq });\n if ( html_url ) {\n // self._tracker.plaintext[html_url] = self._tracker.plaintext[html_url] || 0;\n // self._tracker.plaintext[html_url] += 1;\n // console.log(\"-- ??\", globalSeq, seq, self.service.loaders.images.getIndex(html_url), self._tracker.plaintext[html_url], page.dataset.loaded);\n self.service.loaders.images.queue({ src: html_url, page: page, mimetype: 'text/html' });\n }\n }\n }\n }\n\n }\n\n var pages = Array.isArray(page) ? page : [ page ];\n var page = pages[0];\n\n var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10);\n if ( Math.abs(seq - self.currentSeq ) > 5 ) {\n self.service.loaders.thumbnails.stop(true);\n self.service.loaders.images.stop(true);\n }\n\n let globalSeq = seq;\n\n // first queue the immediate pages\n for(var i = 0; i < pages.length; i++) {\n var page = pages[i];\n var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10);\n _process(seq, true);\n }\n\n // now queue thumbnails\n if ( options.lazy !== false ) {\n var page = pages[0];\n var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10);\n\n for(var ii = seq - 2; ii < seq; ii++) {\n _process(ii, true);\n }\n for(var ii = seq - 10; ii < ( seq + 2 ); ii++) {\n _process(ii, false);\n }\n }\n\n if ( options.lazy !== false ) {\n var page = pages[pages.length - 1];\n var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10);\n for(var ii = seq + 2; ii > seq; ii--) {\n _process(ii, true);\n }\n for(var ii = seq + 10; ii > ( seq + 2 ); ii--) {\n _process(ii, false);\n }\n }\n\n self.service.loaders.images.start();\n self.service.loaders.thumbnails.start();\n }\n\n postImage(image, datum) {\n var page = datum.page;\n page.classList.remove('loading');\n \n // this._tracker[datum.src] = 0;\n\n if ( datum.mimetype == 'text/html' ) {\n return this.postText(image, datum);\n }\n if ( page.dataset.loaded != 'true' ) {\n var img = page.querySelector('img');\n img.src = image.src;\n this.service.manifest.update(page.dataset.seq, { width: image.width, height: image.height, resolution: datum.resolution, size: datum.size });\n if ( page.dataset.seq == this.currentSeq ) {\n this.reader.emit('updateSource', { seq: page.dataset.seq, resolution: datum.resolution, size: datum.size });\n }\n this._reframePage(image, page);\n page.dataset.loaded = true;\n URL.revokeObjectURL(img.src); \n }\n }\n\n postText(text, datum) {\n var page = datum.page;\n\n var page_text = page.querySelector('.page-text');\n page_text.innerHTML = text.replace(/

    NO TEXT ON PAGE

    This page does not contain any text recoverable by the OCR engine.

    `;\n }\n\n page_text.innerHTML += '

    End of page

    ';\n \n if ( this.format == 'plaintext' ) {\n datum.page.dataset.loaded = true;\n this._reframePageText(page);\n } else {\n if ( datum.redraw ) {\n page.querySelectorAll('.highlight').forEach((span) => {\n span.parentNode.removeChild(span);\n })\n }\n }\n this._drawHighlights(page);\n }\n\n postThumbnail(image, datum) {\n var page = datum.page;\n if ( page.dataset.loaded != 'true' ) {\n var img = page.querySelector('img');\n this.service.manifest.update(page.dataset.seq, { width: image.width, height: image.height, resolution: datum.resolution, size: datum.size });\n if ( page.dataset.seq == this.currentSeq ) {\n this.reader.emit('updateSource', { seq: page.dataset.seq, resolution: datum.resolution, size: datum.size });\n }\n this._reframePage(image, page);\n img.src = image.src;\n }\n }\n\n _reframePageText(page) {\n\n }\n\n _reframePage(image, page) {\n if ( page.dataset.reframed != 'true' ) {\n var frame = page.querySelector('.image');\n var img = frame.querySelector('img');\n\n var r = image.height / image.width;\n var frameWidth = parseFloat(frame.style.width);\n frame.style.height = `${frameWidth * r}px`;\n\n img.dataset.width = frameWidth;\n img.dataset.height = frameWidth * r;\n\n img.style.height = `${img.dataset.width}px`;\n img.style.height = `${img.dataset.height}px`;\n \n page.dataset.height = page.offsetHeight;\n\n if ( this._checkForFoldouts(image, page) ) {\n var altText = img.getAttribute('alt');\n if ( altText.indexOf('Foldout') < 0 ) {\n altText += '; Foldout';\n img.setAttribute('alt', altText);\n }\n }\n page.dataset.reframed = 'true';\n }\n\n }\n\n _isUnusualPage(image, page) {\n var seq = page.dataset.seq;\n var manifest = this.service.manifest;\n\n if ( image && image.width < image.height ) { return false ; }\n\n var is_unusual = ( \n ( manifest.checkFeatures(seq, \"FOLDOUT\") && ! manifest.checkFeatures(seq, \"BLANK\") )\n || \n ( image && ( image.width / image.height ) > ( 4 / 3 ) )\n );\n\n return is_unusual;\n\n }\n\n _checkForFoldouts(image, page) {\n\n var seq = page.dataset.seq;\n var manifest = this.service.manifest;\n\n if ( image.width < image.height ) { return false ; }\n\n var is_unusual = ( \n ( manifest.checkFeatures(seq, \"FOLDOUT\") && ! manifest.checkFeatures(seq, \"BLANK\") )\n || \n ( ( image.width / image.height ) > ( 4 / 3 ) )\n );\n\n if ( is_unusual ) {\n // probably a fold out? maybe not a fold out?\n\n // manifest.manifest[seq].is_unusual = true;\n\n page.classList.add('page--foldout');\n this._reframeUnusualImage(page);\n this._addFoldoutPopout(page);\n }\n\n return is_unusual;\n }\n\n _reframeUnusualImage(page) {\n var frame = page.querySelector(\".image\");\n var frameWidth = parseFloat(frame.style.width);\n var margin = ( ( frameWidth * 1.1 ) - frameWidth ) / 2;\n frame.style.marginTop = `${margin}px`;\n page.style.marginBottom = `${margin}px`;\n }\n\n _addFoldoutPopout(page) {\n var toolbar = page.querySelector('.page--toolbar .tag');\n var check = toolbar.querySelector(\"button[data-action='popout']\");\n if ( check ) { return ; }\n\n var icon = `\n \n \n `;\n icon = `\n \n \n`;\n var button = document.createElement('button');\n button.dataset.seq = page.dataset.seq;\n button.dataset.action = 'popout';\n button.setAttribute('aria-label', `Open foldout for page scan #${page.dataset.seq}`);\n button.setAttribute('data-tippy-placement', 'auto');\n button.setAttribute('data-tippy-role', 'tooltip');\n button.setAttribute('tabindex', '-1');\n button.innerHTML = `${icon}`;\n button.classList.add('btn', 'action-popout');\n toolbar.insertBefore(button, toolbar.childNodes[0]);\n }\n\n redrawPageImages() {\n var possibles = this.container.querySelectorAll('.page[data-loaded=\"true\"],.page[data-visible=\"true\"]');\n for(var i = 0; i < possibles.length; i++) {\n var page = possibles[i];\n this.redrawPage(page);\n }\n this._redrawPageImagesTimer = null;\n }\n\n unloadImage(page) {\n\n page.dataset.loaded = 'false';\n page.dataset.isLeaving = false;\n\n var img = page.querySelector('img');\n if ( img ) {\n console.log(\"<< unloading\", page.dataset.seq);\n // img.src = img.dataset.thumbnailSrc || img.dataset.placeholderSrc;\n img.src = img.dataset.placeholderSrc;\n }\n\n var page_text = page.querySelector('.page-text');\n page_text.innerHTML = ''; // page_text.dataset.placeholder;\n\n this._removeHighlights(page);\n }\n\n preloadImages(page) {\n\n }\n\n imageUrl(params, buster) {\n var oprams = params;\n if ( params instanceof HTMLElement ) {\n var element = params; params = {};\n params.seq = element.dataset.seq;\n params.width = element.dataset.width || 680; // element.offsetWidth\n }\n // if ( this.reader.pagedetails.rotate[params.seq] ) {\n // params.rotation = this.reader.pagedetails.rotate[params.seq];\n // }\n\n if ( ! params.width && ! params.height ) {\n console.log(\"AHOY IMAGEURL PROBLEM\", params, oprams);\n }\n\n if ( buster ) { params.expiration = buster; }\n\n return this.service.image(params);\n }\n\n minPageWidth() {\n return this.minWidth();\n }\n\n minWidth() {\n var minWidth = this.container.parentNode.offsetWidth * 0.80;\n if ( minWidth < 680 && window.innerWidth >= 680 ) { minWidth = 680; }\n else if ( window.innerWidth < 680 ) { minWidth = window.innerWidth * 0.95; }\n return minWidth;\n }\n\n maxHeight() {\n return null;\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n first() {\n this.display(1);\n }\n\n last() {\n this.display(this.service.manifest.totalSeq);\n }\n\n currentPage() {\n if ( this._currentPage ) {\n return this._currentPage;\n }\n return null;\n }\n\n getPage(seq) {\n seq = Number(seq);\n return this.pagesIndex.get(seq);\n }\n\n getPageSeq(page) {\n return this.pagesSeq.get(page);\n }\n\n bindEvents() {\n this._lastContainerWidth = this.container.offsetWidth;\n this._handlers.focus = this.focusHandler.bind(this);\n\n this._handlers.clickHandler = this.clickHandler.bind(this);\n this.container.addEventListener('click', this._handlers.clickHandler);\n\n if ( this.trackResize ) {\n\n this.reader.on('redraw', (params) => {\n if ( params.scale && params.scale != this.scale ) {\n this.scale = params.scale;\n this.reader.emit('resize');\n }\n });\n\n this._handlers.resize = this.reader.on('resize', () => {\n if ( ! this._initialized ) { return ; }\n\n if ( this._lastContainerWidth == this.container.parentElement.offsetWidth && this._lastScale == this.scale ) { return ; }\n if ( this._lastContainerWidth != this.container.parentElement.offsetWidth ) {\n this._lastContainerWidth = this.container.parentElement.offsetWidth;\n }\n if ( this._lastScale != this.scale ) {\n this._lastScale = this.scale;\n }\n\n // this._resizePages();\n if ( this._resizePageTimer ) { clearTimeout(this._resizePageTimer); }\n this._resizePageTimer = setTimeout(() => {\n this._resizePages();\n }, 100);\n })\n }\n\n this._intervals.unloader = setInterval(this.unloadPages.bind(this), 30 * 1000);\n }\n\n unloadPages() {\n\n var pages = this.pages.filter((page) => page.dataset.loaded == 'true');\n var possibles = new Set();\n pages.forEach((page) => possibles.add(page.dataset.seq));\n if ( setfn.eqSet(this.sets.unloaded, possibles )) { return ; }\n this.sets.unloaded = possibles;\n\n var nearest = this.unloadNearestThreshold;\n var visible = this.sets.visible;\n\n var now = Date.now();\n var tmp = [...visible].sort((a,b) => { return a - b});\n var seq1 = parseInt(tmp[0], 10);\n var seq2 = parseInt(tmp[1], 10);\n\n pages.forEach((page) => {\n var seq = parseInt(page.dataset.seq, 10);\n if ( ! this.isVisible(page) ) {\n if ( ! ( ( Math.abs(seq - seq1) <= nearest ) || ( Math.abs(seq - seq2) <= nearest ) ) ) {\n this.unloadImage(page);\n }\n }\n })\n }\n\n // default isVisible\n isVisible(page) {\n return page.dataset.visible == 'true';\n }\n\n visible(pages) {\n this.sets.visible = new Set();\n if ( pages instanceof HTMLElement ) {\n pages = [ pages ];\n } else {\n pages.forEach((page) => {\n if ( page.dataset.seq ) {\n // this.sets.visible.add(parseInt(page.dataset.seq, 10));\n this.sets.visible.add(this.getPageSeq(page));\n }\n })\n }\n }\n\n viewport() {\n if ( ! this._viewport ) {\n this.updateViewport();\n }\n return this._viewport;\n }\n\n updateViewport() {\n this._viewport = this._viewport || {};\n if ( ! this._viewport.widowHeight ) {\n this._viewport.windowHeight = this.container.parentNode.offsetHeight;\n }\n this._viewport.windowTop = this.container.parentNode.scrollTop;\n this._viewport.windowBottom = this._viewport.windowTop + this._viewport.windowHeight;\n }\n\n bindPageEvents(page) {\n }\n\n clickHandler(event) {\n var element = event.target.closest('button');\n if ( element && element.dataset.action == 'popout' ) {\n event.preventDefault();\n event.stopPropagation();\n\n var page = element.closest('.page');\n var img = page.querySelector('img');\n\n var seq = page.dataset.seq;\n var meta = this.service.manifest.meta(page.dataset.seq);\n\n var zoom_w = Math.floor(window.innerWidth * 0.90);\n var zoom_h = zoom_w * meta.ratio;\n\n var max_zoom_h = Math.floor(window.innerHeight * 0.85);\n if ( zoom_h > max_zoom_h ) {\n var r = max_zoom_h / zoom_h;\n zoom_h = max_zoom_h;\n zoom_w = zoom_w * r;\n }\n\n var zoom_img_src = this.imageUrl({ seq: seq, width: zoom_w });\n\n var new_img = `
    `;\n var dialog = bootbox.dialog(new_img,\n [{ label: 'Close', class: 'btn-dismiss' }],\n {\n lightbox: true,\n header: `View page scan ${page.dataset.seq} foldout`,\n width: zoom_w - 16, // zoom_w,\n height: zoom_h - 16\n }\n );\n\n var $zoom_img = dialog.find(\"img\");\n $zoom_img.on('load', function() {\n $zoom_img.css({ visibility: 'visible' });\n $zoom_img.parent().removeClass('loading');\n })\n $zoom_img.attr('src', zoom_img_src);\n return;\n }\n\n if ( element && element.dataset.action == 'rotate-page' ) {\n event.preventDefault();\n event.stopPropagation();\n\n const delta = 90;\n\n var page = element.closest('.page');\n var image_frame = page.querySelector('.image');\n var img = image_frame.querySelector('img');\n\n var rotated = parseInt(page.dataset.rotated || 360, 10);\n rotated += delta;\n rotated = rotated % 360;\n\n if ( rotated % 90 == 0 ) {\n // set margins!\n var margin = image_frame.clientWidth * 0.8;\n var marginRotated = ( margin / 2 - margin / 8 );\n if ( img.width < img.height ) {\n marginRotated *= -1;\n }\n page.style.setProperty('--margin-rotated', marginRotated);\n } else {\n page.style.setProperty('--margin-rotated', null);\n }\n\n page.dataset.rotated = rotated;\n }\n }\n\n focusHandler(event) {\n var target = event.target;\n if ( target.tagName.toLowerCase() == 'div' && target.classList.contains('page') ) {\n this._enableControlTabIndex(target);\n }\n }\n\n focus(page, invoke=false) {\n // page.setAttribute('accesskey', \"9\");\n if ( page === true || page === false ) {\n invoke = page;\n page = null;\n }\n if ( ! page ) {\n page = this.currentPage();\n }\n page.setAttribute('tabindex', '0');\n page.setAttribute('aria-hidden', false);\n\n // this._enableControlTabIndex(page);\n\n var page_controls = page.querySelectorAll('[tabindex=\"-1\"]');\n for(var i = 0; i < page_controls.length; i++) {\n page_controls[i].setAttribute('tabindex', '0');\n }\n\n if ( invoke ){\n page.focus();\n }\n }\n\n unfocus(page) {\n page.setAttribute('tabindex', '-1');\n page.setAttribute('aria-hidden', true);\n if ( page == document.activeElement ) { page.blur(); }\n var page_controls = page.querySelectorAll('[tabindex=\"0\"]');\n for(var i = 0; i < page_controls.length; i++) {\n page_controls[i].setAttribute('tabindex', '-1');\n // if ( page_controls[i] == document.activeElement ) { page_controls[i].blur(); }\n }\n }\n\n config() {\n // the empty set supports everything\n return {};\n }\n\n destroy() {\n this.emitter.events = {};\n\n if ( this._handlers.focus ) {\n this.container.removeEventListener('focusin', this._handlers.focus);\n }\n if ( this._handlers.resize ) {\n this._handlers.resize();\n }\n if ( this._handlers.rotate ) {\n this._handlers.rotate();\n }\n if ( this._handlers.clickHandler ) {\n this.container.removeEventListener('click', this._handlers.clickHandler);\n }\n\n clearInterval(this._intervals.unloader);\n var pages = this.container.querySelectorAll('.page');\n for(var i = 0; i < pages.length; i++) {\n this._destroy_page(pages[i]);\n this.container.removeChild(pages[i]);\n }\n }\n\n _destroy_page(page) {\n /* NOP */\n }\n\n _enableControlTabIndex(page) {\n var page_controls = page.querySelectorAll('[tabindex=\"-1\"]');\n for(var i = 0; i < page_controls.length; i++) {\n page_controls[i].setAttribute('tabindex', '0');\n }\n }\n\n _resizePage({page, frame, img, w, h, sizing, is_dirty, isCurrentSeq, index}) {\n \n page.dataset.width = w;\n page.dataset.height = h;\n\n frame.style.width = `${sizing.frameWidth}px`;\n frame.style.height = `${sizing.frameHeight}px`;\n\n img.style.width = `${w}px`;\n img.style.height = `${h}px`;\n\n if ( is_dirty ) {\n this.redrawPage(page);\n }\n page.dataset.height = page.offsetHeight;\n }\n\n _resizePages() {\n var self = this;\n\n this._scrollPause = true;\n var minWidth = this.minWidth();\n var maxHeight = this.maxHeight();\n\n var scale = this.scale;\n var currentSeq;\n if ( this._currentPage ) {\n currentSeq = this.getPageSeq(this._currentPage) // .dataset.seq; // this.currentLocation();\n } else {\n currentSeq = this.currentLocation();\n }\n let currentPage = this.getPage(currentSeq);\n\n if ( maxHeight ) {\n // this.container.style.setProperty('--max-page-height', `${maxHeight * scale}px`);\n document.documentElement.style.setProperty('--max-page-height', `${maxHeight * scale}px`);\n }\n\n HT.log(\"__RESIZE__ start\", currentSeq);\n\n var dirty = false;\n var queue = [ currentSeq ];\n\n var N = 25;\n var _enqueue = function(start, end) {\n var delta = ( start < end ) ? 1 : -1;\n var fn = function(idx, end) { return ( delta == 1 ) ? idx <= end : idx >= end }\n for(let seq = start; fn(seq, end); seq += delta) {\n if ( seq != currentSeq && self.pagesIndex.has(seq) ) {\n queue.push(seq);\n }\n }\n }\n\n _enqueue(currentSeq - N, currentSeq + N);\n _enqueue(currentSeq - N - 1, 1);\n _enqueue(currentSeq + N + 1, this.service.manifest.totalSeq);\n\n let fragment = document.createDocumentFragment();\n let parentEl = this.container.parentElement;\n fragment.appendChild(this.container);\n\n queue.forEach((seq) => {\n var page = this.getPage(seq);\n var meta = this.service.manifest.meta(seq);\n\n var h; var w;\n\n var img = page.querySelector('img');\n if ( ! img ) { return ; }\n\n var frame = page.querySelector('.image');\n\n var sizing = this._calculatePageSize(meta, page, minWidth, maxHeight);\n\n h = sizing.height;\n w = sizing.width;\n\n let is_dirty = ( page.dataset.loaded == 'true' || page.dataset.visible == 'true' ) && ( img.dataset.height != h );\n\n page.dataset.bestFit = ( scale <= 1 ) ? 'true' : 'false';\n if ( scale <= 1 ) {\n page.classList.add('page--best-fit');\n }\n\n let isCurrentSeq = currentSeq == seq;\n this._resizePage({page, frame, img, w, h, sizing, is_dirty, isCurrentSeq});\n })\n\n this._adjustContainer();\n parentEl.appendChild(this.container);\n // this.display(currentSeq);\n currentPage.scrollIntoView(); // have to do this because display(currentSeq) will be a no-op\n this._scrollPause = false;\n }\n\n _calculatePageSize(meta, page, minWidth, maxHeight) {\n var ratio = meta.ratio;\n var scale = this.scale;\n\n var h = Math.ceil(minWidth * ratio * scale);\n var w = Math.ceil(minWidth * scale);\n\n return { height: h, width: w, frameHeight: h, frameWidth: w, ratio: ratio };\n }\n\n _drawHighlights(page) {\n var self = this;\n\n // OK --- does this have a highlight?\n var img = page.querySelector('img');\n var image_frame = page.querySelector('.image');\n var page_text = page.querySelector('.page-text');\n\n var timestamp = (new Date).getTime();\n\n function parseCoords(value) {\n var values = value.split(' ')\n return values.map((v) => parseInt(v, 10));\n }\n\n var page_div = page_text.children[0];\n if ( ! page_div ) { return ; }\n\n var words = page_div.dataset.words;\n\n if ( words !== undefined ) { words = JSON.parse(words); }\n if ( HT.debug_words ) { words = HT.debug_words; }\n if ( ! words || ! words.length ) { return }\n\n if ( ! page_div.dataset.coords ) { return ; }\n\n var page_coords = parseCoords(page_div.dataset.coords);\n var word_regexes = {};\n words.forEach((word) => {\n var pattern;\n try {\n pattern = new RegExp(`(?<=^|\\\\P{L})(${word})(?=\\\\P{L}|$)`, 'igu');\n } catch (error) {\n try {\n pattern = new RegExp(`(?:^|[\\\\s,\\\\.:;\"'-])${word}(?:$|[\\\\s,\\\\.:;\"'-])`, 'igu');\n } catch (error) {\n pattern = new RegExp(`(?:^|[\\\\s,\\\\.:;\"'-])${word}(?:$|[\\\\s,\\\\.:;\"'-])`, 'ig');\n }\n }\n word_regexes[word] = pattern;\n })\n\n if ( ! this._highlightIndexMap ) {\n this._highlightIndexMap = {};\n this._highlightIndex = 0;\n }\n\n var scaling = {};\n if ( this.format == 'image' ) {\n if ( img.hasAttribute('width') ) {\n scaling.width = parseInt(img.getAttribute('width'), 10); \n scaling.height = parseInt(img.getAttribute('height'), 10);\n } else {\n scaling.width = img.width;\n scaling.height = img.height;\n }\n\n scaling.width = img.offsetWidth;\n scaling.height = img.offsetHeight;\n\n scaling.ratio = scaling.width / page_coords[2];\n scaling.ratioY = scaling.height / page_coords[3];\n scaling.padding = 0; // parseInt(window.getComputedStyle(page).marginTop) / 2;\n scaling.ratioZ = 1.0;\n scaling.ratio *= scaling.ratioZ;\n }\n\n function textNodesUnder(el){\n var n, a=[], walk=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null,false);\n while(n=walk.nextNode()) a.push(n);\n return a;\n }\n\n var textNodes = textNodesUnder(page_div);\n textNodes.forEach(function(text) {\n var innerHTML = text.nodeValue.trim();\n if ( ! innerHTML ) { return; }\n\n var matched = false; var matchedWord = null;\n words.forEach(function(word) {\n // var pattern = new RegExp(`\\\\b(${word})\\\\b`, 'gi');\n // var pattern = new RegExp(`(?:^|\\\\s)${words[0]}(?:$|\\\\s)`, 'ig')\n // var pattern = new RegExp(`(?<=^|\\\\P{L})(${word})(?=\\\\P{L}|$)`, 'ig');\n var pattern = word_regexes[word];\n if ( innerHTML.match(pattern) ) {\n matched = true;\n matchedWord = word.toLowerCase();\n }\n })\n if ( ! matched ) { return ; }\n var span = text.parentNode;\n\n var highlight_idx = self._highlightIndexMap[matchedWord];\n if ( ! highlight_idx ) {\n self._highlightIndex += 1;\n if ( self._highlightIndex > 6 ) { self._highlightIndex = 1; }\n self._highlightIndexMap[matchedWord] = self._highlightIndex;\n highlight_idx = self._highlightIndexMap[matchedWord];\n }\n\n if ( self.format == 'image' ) {\n var coords = parseCoords(span.dataset.coords);\n coords[0] *= scaling.ratio;\n coords[2] *= scaling.ratio;\n coords[1] *= scaling.ratio;\n coords[3] *= scaling.ratio;\n\n var highlight_w0 = ( coords[2] - coords[0] );\n var highlight_h0 = ( coords[3] - coords[1] );\n var highlight_w = highlight_w0 * 1.25;\n var highlight_h = highlight_h0 * 1.25;\n\n var highlight = document.createElement('mark');\n highlight.classList.add('highlight');\n highlight.classList.add(`highlight_${highlight_idx}`);\n highlight.dataset.word = innerHTML;\n highlight.dataset.timestamp = timestamp;\n\n highlight.dataset.top = coords[1];\n highlight.dataset.padding = scaling.padding;\n\n highlight.style.width = `${highlight_w / scaling.width * 100.0}%`;\n highlight.style.height = `${highlight_h / scaling.height * 100.0}%`;\n highlight.style.top = `${( coords[1] - ( ( highlight_h - highlight_h0 ) / 2 ) ) / scaling.height * 100.0}%`;\n highlight.style.left = `${( coords[0] - ( ( highlight_w - highlight_w0 ) / 2 ) ) / scaling.width * 100.0}%`;\n\n if ( self.name == '2up' ) {\n var prefix = page.classList.contains('recto') ? -1 : 1;\n highlight.style.left = `${( coords[0] - ( ( highlight_w - highlight_w0 ) / 2 ) ) / image_frame.offsetWidth * 100.0}%`;\n }\n\n image_frame.appendChild(highlight);\n\n } else {\n // span.classList.add('highlight--plaintext', `highlight_${highlight_idx}`);\n const mark = document.createElement('mark');\n mark.innerText = span.innerText;\n mark.setAttribute('class', span.getAttribute('class'));\n mark.dataset.class = mark.getAttribute('class');\n mark.classList.add('highlight--plaintext', `highlight_${highlight_idx}`);\n mark.dataset.coords = span.dataset.coords;\n span.parentElement.replaceChild(mark, span);\n }\n })\n }\n\n _removeHighlights(page) {\n if ( this.format == 'image' ) {\n var image_frame = page.querySelector('.image');\n var highlights = page.querySelectorAll('.highlight');\n var n = highlights.length;\n for(var i = 0; i < n; i++) {\n image_frame.removeChild(highlights[i]);\n }\n return n;\n } else {\n var highlights = page.querySelectorAll('.highlight--plaintext');\n // highlights.forEach((span) => {\n // [ ...span.classList ].filter((cls) => cls.indexOf('highlight') > -1).forEach((cls) => {\n // span.classList.remove(cls);\n // })\n // })\n highlights.forEach((mark) => {\n const span = document.createElement('span');\n span.innerText = mark.innerText;\n span.setAttribute('class', mark.dataset.class);\n span.dataset.coords = mark.dataset.coords;\n mark.parentElement.replaceChild(span, mark);\n })\n }\n }\n\n resetHighlightIndex() {\n this._highlightIndexMap = {};\n this._highlightIndex = 0;\n }\n\n _resizePageByPages() {\n /* NOP */\n }\n\n _operating(options={}) {\n var possible = [...this.sets.visible].sort((a,b) => { return a - b});\n\n var options = Object.assign({ rootMargin: 0, percentage: 0.0 }, options);\n\n var visible = possible.filter((seq) => { return this.isVisible(this.getPage(seq), options)})\n return { possible: possible, visible: visible };\n }\n\n visibility(page, options={}) {\n return page.dataset.visible == 'true' ? 100 : 0;\n }\n\n isVisible(page, options={}) {\n\n options.percentage = options.percentage || 0;\n var percentage = this.visibility(page, options);\n\n return ( percentage >= options.percentage );\n }\n\n svg() {\n return simpleSvgPlaceholder.apply(null, arguments);\n }\n\n test(numPages) {\n function getRandomInt(max) {\n return Math.floor(Math.random() * Math.floor(max));\n }\n\n var totalSeq = this.service.manifest.totalSeq;\n for(var i = 0; i < numPages; i++) {\n setTimeout(() => {\n var timeout = 100 + getRandomInt(100);\n var seq = getRandomInt(totalSeq);\n setTimeout(() => {\n console.log(seq, timeout);\n this.display(seq);\n }, timeout);\n }, 0);\n }\n }\n\n}\n\n","import { createNanoEvents } from 'nanoevents';\nimport {Base} from './base';\n\nimport debounce from 'lodash/debounce';\n\nexport var Flip = class extends Base {\n constructor(options={}) {\n super(options);\n this.mode = 'image';\n this.name = '2up';\n this.displayLabel = 'flip page scans'; // 'two-page side-by-side';\n this.embedHtml = true;\n this.is_active = false;\n this.isRTL = this.service.manifest.options.readingOrder == 'right-to-left';\n // this._checkForFoldouts = this.checkForFoldouts.bind(this);\n this._edges = {};\n this._layout = {};\n this.trackResize = true;\n this.isAnimating = false;\n this._queue = [];\n }\n\n _pageRatio(seq) {\n var ratio;\n var meta = this.service.manifest.meta(seq);\n if ( meta.width > meta.height ) {\n ratio = meta.height / meta.width;\n } else {\n ratio = meta.width / meta.height;\n }\n return ratio;\n }\n\n imageUrl(params) {\n var oprams = params;\n if ( params instanceof HTMLElement ) {\n var element = params; params = {};\n params.seq = element.dataset.seq;\n params.height = element.offsetHeight;\n }\n\n if ( ! params.width && ! params.height ) {\n console.log(\"AHOY IMAGEURL PROBLEM\", params, oprams);\n }\n\n return this.service.image(params);\n }\n\n _calculatePageSize(meta, page, minWidth, maxHeight) {\n\n var seq = page.dataset.seq;\n var manifest = this.service.manifest;\n\n if ( meta == null ) {\n meta = this.service.manifest.meta(seq);\n }\n if ( minWidth == null ) {\n minWidth = this.minWidth();\n maxHeight = this.maxHeight();\n }\n\n var ratio = meta.ratio;\n var scale = this.scale;\n\n var is_unusual = \n ( ( meta.ratio < 1.0 ) && \n ( \n ( manifest.checkFeatures(seq, \"FOLDOUT\") && ! manifest.checkFeatures(seq, \"BLANK\") )\n || \n ( ( meta.width / meta.height ) > ( 4 / 3 ) )\n ) );\n\n // calculate the image dimensions\n var h; var w; var frameHeight;\n if ( is_unusual ) {\n w = minWidth * scale;\n h = w * ratio;\n frameHeight = maxHeight * scale;\n\n } else {\n h = maxHeight * scale;\n w = h / ratio;\n frameHeight = h;\n }\n\n var sliceMax = this._sliceMax = this._slicify(this.service.manifest.totalSeq);\n var maxEdgeWidth = sliceMax * 0.25;\n\n var sliceFraction;\n var sliceIndex = parseInt(page.dataset.slice, 10);\n var frameWidth = w + maxEdgeWidth;\n\n if ( page.classList.contains('verso') ) {\n sliceFraction = sliceIndex / sliceMax;\n } else {\n sliceFraction = ( sliceMax - sliceIndex ) / sliceMax;\n }\n\n var frameWidth = w + ( maxEdgeWidth * sliceFraction );\n\n // console.log(\"--\", seq, sliceIndex, sliceFraction, w + (sliceMax - sliceIndex) / sliceMax, w + ( sliceIndex / sliceMax ) );\n\n return { height: h, width: w, frameHeight: frameHeight, frameWidth: frameWidth };\n }\n\n render(cb) {\n if ( this.isRTL ) {\n this.container.classList.add('reading-order--rtl');\n }\n super.render(cb);\n }\n\n display(seq) {\n var self = this;\n\n seq = parseInt(seq, 10);\n\n if ( seq == this.currentSeq ) { return ; }\n if ( this.getPage(seq) && this.getPage(seq).dataset.visible == 'true' ) { return ; }\n\n var currentPages; var targetPages;\n if ( this.currentSeq ) {\n var currentSlice = this._slicify(this.currentSeq);\n // currentPages = this.container.querySelectorAll(`.page[data-slice=\"${currentSlice}\"]`);\n currentPages = this.pages.filter((page) => page.dataset.slice == currentSlice);\n }\n\n // var targetPages = this.container.querySelectorAll(`.page[data-slice=\"${this._slicify(seq)}\"]`);\n var targetSlice = this._slicify(seq);\n targetPages = this.pages.filter((page) => page.dataset.slice == targetSlice);\n if ( ! targetPages.length ) { return; }\n\n this.loadImage(Array.prototype.slice.call(targetPages));\n\n var delta = this.currentSeq < seq;\n this._queue.push([ this._slicify(seq), currentPages, targetPages, delta ]);\n\n this.currentSeq = seq;\n this.currentSlice = this._slicify(seq);\n\n this._processQueue();\n }\n\n _processQueue() {\n var self = this;\n\n if ( ! this._queue.length ) { return; }\n\n if ( this.isAnimating ) {\n HT.log(\"-- _processQueue: postponing\", this._queue[0][0]);\n setTimeout(() => { this._processQueue() }, 100);\n return;\n }\n\n this.isAnimating = true;\n HT.log(\"-- _processQueue: processing\", this._queue[0][0]);\n\n var tuple = this._queue.shift();\n var seq = tuple[0];\n var currentPages = tuple[1];\n var targetPages = tuple[2];\n\n var delta = tuple[3];\n\n // get the most up to date currentPages\n currentPages = this.pages.filter((page) => page.dataset.visible == 'true');\n targetPages.forEach((page) => { page.dataset.visible = true; })\n\n if ( ! currentPages || ! currentPages.length || ! this._initialized ) { \n targetPages.forEach((page) => { self.focus(page); })\n self.reader.emit('relocated', { seq: self.currentSeq });\n self.isAnimating = false;\n return ; \n }\n\n var inClass = delta > 0 ? 'page--flipToLeft' : 'page--flipToRight';\n var outClass = inClass;\n\n var endCurrentPage = false;\n var endTargetPage = false;\n\n var onEndAnimation = function(currentPages, targetPages) {\n endTargetPage = false;\n endCurrentPage = false;\n currentPages.forEach((page) => { \n page.classList.remove(outClass); \n if ( page.dataset.slice == self.currentSlice ) { return ; }\n page.dataset.visible = false; \n self.unfocus(page);\n }) \n targetPages.forEach((page) => { page.dataset.visible = true; page.classList.remove(inClass); self.focus(page); })\n\n self.container.classList.remove('animating');\n self.isAnimating = false;\n\n self.reader.emit('relocated', { seq: self.currentSeq });\n }\n\n var outAnimationHandler = function(event) {\n currentPages.forEach((page) => { page.removeEventListener('animationend', outAnimationHandler); });\n endCurrentPage = true;\n if ( endTargetPage ) { onEndAnimation(currentPages, targetPages); }\n }\n var inAnimationHandler = function(event) {\n targetPages.forEach((page) => { page.removeEventListener('animationend', inAnimationHandler); });\n endTargetPage = true;\n if ( endCurrentPage ) { onEndAnimation(currentPages, targetPages); } \n }\n\n if ( window.matchMedia('(prefers-reduced-motion)').matches ) {\n onEndAnimation(currentPages, targetPages);\n } else {\n this.container.classList.add('animating');\n currentPages.forEach((page) => { page.addEventListener('animationend', outAnimationHandler); });\n targetPages.forEach((page) => { page.addEventListener('animationend', inAnimationHandler); });\n\n if ( delta > 0 ) {\n if ( currentPages[1] ) { currentPages[1].classList.add(outClass); }\n else { endCurrentPage = true; }\n targetPages[0].classList.add(inClass);\n } else {\n currentPages[0].classList.add(outClass);\n if (targetPages[1]) { targetPages[1].classList.add(inClass); } \n else { endTargetPage = true; }\n } \n }\n\n this.visible(targetPages);\n }\n\n _maxSliceWidth() {\n var maxWidth = 0;\n for(var sliceIdx = 1; sliceIdx <= this._sliceMax; sliceIdx++) {\n // var pages = this.container.querySelectorAll(`.page[data-slice=\"${sliceIdx}\"]`);\n var pages = this.pages.filter((page) => page.dataset.slice == sliceIdx);\n var width = pages[0].offsetWidth;\n if ( pages[1] ) { width += pages[1].offsetWidth; }\n if ( width > maxWidth ) {\n maxWidth = width;\n }\n }\n return maxWidth;\n }\n\n _adjustContainerWidth() {\n // return this.scale * 100;\n if ( this.format == 'plaintext' ) { return '100%'; }\n var maxWidth = this.container.parentNode.offsetWidth;\n var width = this._maxSliceWidth();\n if ( width * 1.25 > maxWidth ) { maxWidth = width * 1.25; }\n return `${maxWidth}px`;\n }\n\n _resizePages() {\n // if ( this.isAnimating ) {\n // console.log(\"-- something something\", this.currentSeq);\n\n // }\n super._resizePages();\n }\n\n _reframePage(image, page) {\n\n if ( page.dataset.reframed != 'true' ) {\n var frame = page.querySelector('.image');\n var img = frame.querySelector('img');\n\n var r = image.width / image.height;\n\n if ( this._checkForFoldouts(image, page) ) {\n // foldouts\n var w = img.offsetWidth; // frame.offsetWidth;\n var h = w / r;\n img.style.width = `${w}px`;\n img.style.height = `${h}px`;\n\n var altText = img.getAttribute('alt');\n if ( altText.indexOf('Foldout') < 0 ) {\n altText += '; Foldout';\n img.setAttribute('alt', altText);\n }\n\n if ( frame.querySelector('.page--backdrop') ) {\n\n } else {\n var backdrop = document.createElement('div');\n backdrop.classList.add('page--backdrop');\n backdrop.setAttribute('aria-hidden', 'true');\n backdrop.style.width = `${Math.ceil((w / frame.offsetWidth) * 100)}%`;\n // backdrop.style.backgroundColor = 'chartreuse';\n // backdrop.style.height = `${frame.offsetHeight}px`;\n frame.insertBefore(backdrop, img);\n }\n\n } else {\n // normal\n var newImageWidth = img.offsetHeight * r;\n var currentImageWidth = parseInt(img.style.width, 10);\n img.style.width = `${newImageWidth}px`;\n img.style.backgroundColor = 'chartreuse';\n\n var r2 = newImageWidth / currentImageWidth;\n frame.style.width = `${frame.offsetWidth * r2}px`;\n }\n\n page.dataset.reframed = 'true';\n }\n\n }\n\n\n currentLocation(side='DEFAULT') {\n // var slice = this.container.querySelector('.page[data-visible=\"true\"]');\n var expr;\n switch(side) {\n case 'DEFAULT':\n expr = '.page[data-visible=\"true\"][data-seq]'; // first match\n break;\n case 'VERSO':\n expr = '.page[data-visible=\"true\"].verso';\n break;\n case 'RECTO':\n expr = '.page[data-visible=\"true\"].recto';\n }\n var page = this.container.querySelector(expr);\n return page ? page.dataset.seq : null;\n }\n\n currentPage() {\n return this.getPage(this.currentSeq);\n }\n\n _calculateSeq(direction) {\n if ( this.isRTL ) { direction = -direction; }\n var delta;\n if ( direction > 0 ) {\n delta = ( this._hasFrontCover && this.currentSeq ) == 1 ? 1 : 2;\n } else {\n delta = -2;\n }\n var seq = this.currentSeq + delta;\n if ( seq <= 0 ) { seq = 1; }\n if ( seq > this.service.manifest.totalSeq ) { seq = this.service.manifest.totalSeq; }\n return seq;\n }\n\n next() {\n this.display(this._calculateSeq(1));\n }\n\n prev() {\n this.display(this._calculateSeq(-1));\n }\n\n first() {\n this.display(this.isRTL ? this.service.manifest.totalSeq : 1);\n }\n\n last() {\n this.display(this.isRTL ? 1 : this.service.manifest.totalSeq);\n }\n\n minWidth() {\n var minWidth = this.container.parentNode.offsetWidth;\n return this.minWidthNew();\n }\n\n maxHeight() {\n var h = this.container.parentNode.offsetHeight * 0.81;\n if ( h <= 360 ) { h = 360; }\n return h;\n }\n\n minWidthNew2() {\n var minWidth = this.container.parentNode.offsetWidth;\n var h = this.container.parentNode.offsetHeight;\n\n }\n\n minWidthNew() {\n var minWidth = this.container.parentNode.offsetWidth;\n // if ( minWidth < 680 && window.innerWidth >= 680 ) { minWidth = 680; }\n // else if ( window.innerWidth < 680 ) { minWidth = window.innerWidth * 0.95; }\n\n minWidth /= 2;\n minWidth *= 0.9;\n\n return minWidth;\n }\n\n _reframeUnusualImage(page) {\n // NOP\n }\n\n bindEvents() {\n var self = this;\n\n super.bindEvents();\n\n this.reader.on('redraw', (params) => {\n if ( params.scale ) {\n this.scale = params.scale;\n }\n this.reader.emit('resize');\n });\n }\n\n bindPageEvents(page) {\n page.parentElement.dataset.visible = false;\n }\n\n clickHandler(event) {\n\n super.clickHandler(event);\n\n var element = event.target;\n\n if ( element.closest('button') ) { return ; }\n\n if ( element.closest('img') || element.closest('.page--backdrop') ) {\n // click directly on the \n element = element.closest('.page');\n return this._clickHandlerPage(element, event);\n }\n\n if ( element.closest('.image') ) {\n // clicked not on the but the edge\n return this._clickHandlerEdge(element.closest('.image'), event) ;\n }\n }\n\n _clickHandlerPage(page, event) {\n if ( page.classList.contains('verso') ) {\n // navigating back\n this.isRTL ? this.next() : this.prev();\n } else {\n // navigating next\n this.isRTL ? this.prev() : this.next();\n }\n }\n\n _clickHandlerEdge(frame, event) {\n var offsetX = event.offsetX;\n var img = frame.querySelector('img');\n var page = frame.closest('.page');\n var edgeWidth = ( frame.offsetWidth - img.offsetWidth );\n\n var seq = parseInt(page.dataset.seq, 10);\n var totalSeq = this.service.manifest.totalSeq;\n var targetSeq;\n\n var pageSide;\n var offsetDelta;\n var offsetPercentage;\n\n if ( page.classList.contains('recto') ) {\n pageSide = 'recto';\n offsetDelta = this.isRTL ? 0 : img.offsetWidth;\n offsetPercentage = (offsetX - offsetDelta) / edgeWidth;\n if ( this.isRTL ) { offsetPercentage = 1.0 - offsetPercentage; }\n targetSeq = Math.ceil(( totalSeq - seq ) * offsetPercentage) + seq;\n } else {\n pageSide = 'verso';\n offsetDelta = this.isRTL ? img.offsetWidth : 0;\n offsetPercentage = (offsetX - offsetDelta) / edgeWidth;\n if (this.isRTL) { offsetPercentage = 1.0 - offsetPercentage; }\n targetSeq = Math.ceil(seq * offsetPercentage );\n }\n // console.log(\"-- clickHandlerEdge\", pageSide, offsetX, offsetDelta, offsetPercentage, `${(totalSeq - seq)} / ${seq}`, targetSeq);\n\n if ( targetSeq < 1 ) { targetSeq = 1; }\n else if ( targetSeq > totalSeq ) { targetSeq = totalSeq; }\n this.display(targetSeq);\n }\n\n // destroy() {\n // super.destroy();\n // this.container.removeEventListener('click', this._clickHandler);\n // }\n\n config() {\n var retval = super.config();\n retval.rotate = false;\n return retval;\n }\n\n};\n","import { createNanoEvents } from 'nanoevents';\nimport {Base} from './base';\n\nexport var Single = class extends Base {\n constructor(options={}) {\n super(options);\n this.mode = 'image';\n this.name = 'image';\n this.displayLabel = 'page by page';\n this.embedHtml = true;\n this.isAnimating = false;\n this.useAnimations = true;\n this._queue = [];\n }\n\n display(seq) {\n var self = this;\n\n seq = parseInt(seq, 10);\n\n if ( seq == this.currentSeq ) { return ; }\n if ( this.getPage(seq).dataset.visible == 'true' ) { return ; }\n\n var currentPage; var targetPage;\n if ( this.currentSeq ) {\n currentPage = this.container.querySelector(`.page[data-seq=\"${this.currentSeq}\"]`);\n }\n\n var targetPage = this.container.querySelector(`.page[data-seq=\"${seq}\"]`);\n if ( ! targetPage ) { return; }\n\n this.loadImage(targetPage);\n\n var delta = this.currentSeq < seq;\n this._queue.push([ seq, currentPage, targetPage, delta ]);\n\n this.currentSeq = seq;\n\n this._processQueue();\n }\n\n _processQueue() {\n var self = this;\n\n if ( ! this._queue.length ) { return; }\n\n if ( this.isAnimating ) {\n console.log(\"-- _processQueue: postponing\", this._queue[0][0]);\n setTimeout(() => { this._processQueue() }, 100);\n return;\n }\n\n this.isAnimating = true;\n console.log(\"-- _processQueue: processing\", this._queue[0][0]);\n\n var tuple = this._queue.shift();\n var seq = tuple[0];\n var currentPage = tuple[1];\n var targetPage = tuple[2];\n var delta = tuple[3];\n\n targetPage.dataset.visible = true;\n\n var currentPages = document.querySelectorAll('.page[data-visible=\"true\"]');\n\n if ( ! currentPages || ! currentPages.length || ! this._initialized ) { \n self.focus(targetPage);\n self.reader.emit('relocated', { seq: self.currentSeq });\n self.isAnimating = false;\n return ; \n }\n\n var inClass = delta > 0 ? 'page--moveFromRight' : 'page--moveFromLeft';\n var outClass = delta > 0 ? 'page--moveToLeft' : 'page--moveToRight';\n outClass = 'page--fade';\n\n var endCurrentPage = false;\n var endTargetPage = false;\n\n var onEndAnimation = function(currentPages, targetPages) {\n // console.log(\"-- onEndAnimation\", currentPages, targetPages);\n endTargetPage = false;\n endCurrentPage = false;\n currentPages.forEach((page) => { \n // console.log(\"-- onEndAnimation currentPages\", page.dataset.seq,self.sets.visible.has(parseInt(page.dataset.seq, 10)) );\n page.classList.remove(outClass); \n if ( page.dataset.seq == self.currentSeq ) { return ; }\n // if ( self.sets.visible.has(parseInt(page.dataset.seq, 10)) ) { page.dataset.visible = true; return ; }\n page.dataset.visible = false; \n // page.classList.remove(outClass, otherClass); \n self.unfocus(page);\n }) \n targetPage.classList.remove(inClass);\n targetPage.dataset.visible = true;\n targetPage.classList.remove(inClass);\n self.focus(targetPage);\n\nconsole.log(\"-- onEndAnimation\", self._queue.length, currentPages, targetPages);\n\n self.container.classList.remove('animating');\n self.isAnimating = false;\n\n self.reader.emit('relocated', { seq: self.currentSeq });\n }\n\n var outAnimationHandler = function(event) {\n currentPages.forEach((page) => { page.removeEventListener('animationend', outAnimationHandler); });\n endCurrentPage = true;\n // console.log(\"-- outAnimationHandler\", endCurrentPage, endTargetPage);\n if ( endTargetPage ) { onEndAnimation(currentPages, targetPage); }\n }\n var inAnimationHandler = function(event) {\n targetPage.removeEventListener('animationend', inAnimationHandler);\n endTargetPage = true;\n // console.log(\"-- inAnimationHandler\", endCurrentPage, endTargetPage);\n if ( endCurrentPage ) { onEndAnimation(currentPages, targetPage); } \n }\n\n if ( window.matchMedia('(prefers-reduced-motion)').matches ) {\n onEndAnimation(currentPages, targetPage);\n } else {\n this.container.classList.add('animating');\n currentPages.forEach((page) => { page.addEventListener('animationend', outAnimationHandler); });\n targetPage.addEventListener('animationend', inAnimationHandler);\n\n currentPage.classList.add(outClass);\n targetPage.classList.add(inClass); \n }\n\n this.visible(targetPage);\n }\n\n currentLocation() {\n return this.currentSeq;\n }\n\n next() {\n this.container.scrollTop = 0;\n this.display(this.currentSeq + 1);\n }\n\n prev() {\n this.container.scrollTop = 0;\n this.display(this.currentSeq - 1);\n }\n\n bindEvents() {\n var self = this;\n\n super.bindEvents();\n\n // this._clickHandler = this.clickHandler.bind(this);\n // this.container.addEventListener('click', this._clickHandler);\n\n // this._handlers.rotate = this.reader.on('rotate', function(delta) {\n // var seq = self.currentLocation();\n // self.service.manifest.rotateBy(seq, delta);\n // self.redrawPage(seq);\n // });\n\n this._handlers.rotate = this.reader.on('rotate', function(delta) {\n var seq = self.currentSeq; // self.currentLocation();\n var page = self.pagesIndex[seq];\n var image_frame = page.querySelector('.image');\n\n var rotated = parseInt(page.dataset.rotated || 360, 10);\n rotated += delta;\n rotated = rotated % 360;\n\n if ( rotated % 90 == 0 ) {\n // set margins!\n var margin = image_frame.clientWidth * 0.8;\n page.style.setProperty('--margin-rotated', ( margin / 2 - margin / 8 ) * -1);\n } else {\n page.style.setProperty('--margin-rotated', null);\n }\n\n page.dataset.rotated = rotated;\n });\n\n }\n\n bindPageEvents(page) {\n page.dataset.visible = false; page.classList.remove('page--visible');\n }\n\n};\n","import {Scroll} from './scroll';\nimport {Thumbnail} from './thumbnail';\nimport {Single} from \"./image\";\nimport {Flip} from './flip';\nimport {PlainText} from './plaintext';\nimport {Page} from './page';\n\nvar View = {};\nView.Scroll = Scroll;\nView.Thumbnail = Thumbnail;\nView.Single = Single;\nView.Flip = Flip;\nView.PlainText = PlainText;\nView.Page = Page;\n\nView.for = function(view) {\n if ( view == '1up' ) { return Scroll; }\n else if ( view == 'thumb' ) { return Thumbnail; }\n else if ( view == 'image' ) { return Single; }\n else if ( view == '2up' ) { return Flip; }\n else if ( view == 'text' || view == 'plaintext' ) { return PlainText; }\n else if ( view == 'page' ) { return Page; }\n}\n\nexport {View};\n","import { createNanoEvents } from 'nanoevents';\nimport {Base} from './base';\n\nexport var Page = class extends Base {\n constructor(options={}) {\n super(options);\n this.mode = 'page';\n this.name = 'page';\n this.displayLabel = 'page page by page';\n this.embedHtml = true;\n this.isAnimating = false;\n this.useAnimations = true;\n this._queue = [];\n }\n\n display(seq) {\n var self = this;\n\n seq = parseInt(seq, 10);\n\n if ( seq == this.currentSeq ) { return ; }\n if ( this.getPage(seq).dataset.visible == 'true' ) { return ; }\n\n var currentPage; var targetPage;\n if ( this.currentSeq ) {\n currentPage = this.getPage(this.currentSeq);\n }\n\n var targetPage = this.getPage(seq);\n if ( ! targetPage ) { return; }\n\n this.loadImage(targetPage);\n\n var delta = this.currentSeq < seq;\n this._queue.push([ seq, currentPage, targetPage, delta ]);\n\n this.currentSeq = seq;\n\n this._processQueue();\n }\n\n _processQueue() {\n var self = this;\n\n if ( ! this._queue.length ) { return; }\n\n if ( this.isAnimating ) {\n HT.log(\"-- _processQueue: postponing\", this._queue[0][0]);\n setTimeout(() => { this._processQueue() }, 100);\n return;\n }\n\n this.isAnimating = true;\n HT.log(\"-- _processQueue: processing\", this._queue[0][0]);\n\n var tuple = this._queue.shift();\n var seq = tuple[0];\n var currentPage = tuple[1];\n var targetPage = tuple[2];\n var delta = tuple[3];\n\n targetPage.dataset.visible = true;\n\n var currentPages = this.pages.filter((page) => page.dataset.visible == 'true');\n\n if ( ! currentPages || ! currentPages.length || ! this._initialized ) { \n self.focus(targetPage);\n self.reader.emit('relocated', { seq: self.currentSeq });\n self.isAnimating = false;\n return ; \n }\n\n var inClass = delta > 0 ? 'page--moveFromRight' : 'page--moveFromLeft';\n var outClass = delta > 0 ? 'page--moveToLeft' : 'page--moveToRight';\n outClass = 'page--fade';\n\n var endCurrentPage = false;\n var endTargetPage = false;\n\n var onEndAnimation = function(currentPages, targetPages) {\n endTargetPage = false;\n endCurrentPage = false;\n currentPages.forEach((page) => { \n page.classList.remove(outClass); \n if ( page.dataset.seq == self.currentSeq ) { return ; }\n page.dataset.visible = false; \n self.unfocus(page);\n }) \n targetPage.classList.remove(inClass);\n targetPage.dataset.visible = true;\n targetPage.classList.remove(inClass);\n self.focus(targetPage);\n\n // setTimeout(() => self.container.parentNode.scrollTop = 0);\n requestAnimationFrame(() => targetPage.scrollIntoView());\n\n HT.log(\"-- onEndAnimation\", self._queue.length, currentPages, targetPages);\n\n self.container.classList.remove('animating');\n self.isAnimating = false;\n\n self.reader.emit('relocated', { seq: self.currentSeq });\n }\n\n var outAnimationHandler = function(event) {\n currentPages.forEach((page) => { page.removeEventListener('animationend', outAnimationHandler); });\n endCurrentPage = true;\n if ( endTargetPage ) { onEndAnimation(currentPages, targetPage); }\n }\n var inAnimationHandler = function(event) {\n targetPage.removeEventListener('animationend', inAnimationHandler);\n endTargetPage = true;\n if ( endCurrentPage ) { onEndAnimation(currentPages, targetPage); } \n }\n\n if ( window.matchMedia('(prefers-reduced-motion)').matches ) {\n onEndAnimation(currentPages, targetPage);\n } else {\n this.container.classList.add('animating');\n currentPages.forEach((page) => { page.addEventListener('animationend', outAnimationHandler); });\n targetPage.addEventListener('animationend', inAnimationHandler);\n\n currentPage.classList.add(outClass);\n targetPage.classList.add(inClass); \n }\n\n this.visible(targetPage);\n }\n\n currentLocation() {\n return this.currentSeq;\n }\n\n next() {\n this.display(this.currentSeq + 1);\n }\n\n prev() {\n this.display(this.currentSeq - 1);\n }\n\n bindEvents() {\n var self = this;\n\n super.bindEvents();\n\n // this._clickHandler = this.clickHandler.bind(this);\n // this.container.addEventListener('click', this._clickHandler);\n\n // this._handlers.rotate = this.reader.on('rotate', function(delta) {\n // var seq = self.currentLocation();\n // self.service.manifest.rotateBy(seq, delta);\n // self.redrawPage(seq);\n // });\n\n this._handlers.rotate = this.reader.on('rotate', function(delta) {\n var seq = self.currentSeq; // self.currentLocation();\n var page = self.getPage(seq);\n var image_frame = page.querySelector('.image');\n\n var rotated = parseInt(page.dataset.rotated || 360, 10);\n rotated += delta;\n rotated = rotated % 360;\n\n if ( rotated % 90 == 0 ) {\n // set margins!\n var margin = image_frame.clientWidth * 0.8;\n page.style.setProperty('--margin-rotated', ( margin / 2 - margin / 8 ) * -1);\n } else {\n page.style.setProperty('--margin-rotated', null);\n }\n\n page.dataset.rotated = rotated;\n });\n\n }\n\n bindPageEvents(page) {\n page.dataset.visible = false; page.classList.remove('page--visible');\n }\n\n};\n","import { createNanoEvents } from 'nanoevents';\nimport {Single} from './image';\n\nimport debounce from 'lodash/debounce';\n\nexport var PlainText = class extends Single {\n constructor(options={}) {\n super(options);\n this.mode = this.name = 'plaintext';\n this.displayLabel = 'plain text';\n this.trackResize = false;\n }\n\n render(cb) {\n\n var fragment = document.createDocumentFragment();\n\n var slice_index = 1;\n for(var seq = 1; seq <= this.service.manifest.totalSeq; seq++) {\n\n var page = document.createElement('div');\n page.setAttribute('tabindex', '-1');\n\n page.classList.add('page');\n page.dataset.seq = seq;\n\n var klass = seq % 2 == 0 ? 'verso' : 'recto';\n if ( seq % 2 == 0 ) {\n slice_index += 1;\n }\n\n page.classList.add(klass);\n\n slice_index = this._slicify(seq);\n\n page.dataset.slice = slice_index;\n page.dataset.loaded = false;\n\n page.innerHTML = `
    #${seq}
    `;\n this._renderr(page);\n\n fragment.appendChild(page);\n this.pages.push(page);\n this.pagesIndex[seq] = page;\n }\n\n this.container.appendChild(fragment);\n\n var pages = this.container.querySelectorAll('.page');\n\n for(var i = 0; i < pages.length; i++) {\n this.bindPageEvents(pages[i]);\n }\n\n if ( this._initialSeq ) {\n this.display(this._initialSeq);\n }\n\n if ( cb ) {\n setTimeout(cb, 1000);\n this._initialized = true;\n }\n\n this._lastContainerWidth = this.container.offsetWidth * this.scale;\n // is this really necessary\n this._adjustContainer();\n }\n\n loadImage(page, options={}) {\n var self = this;\n\n var _process = function(seq, loadImage) {\n var page = self.pagesIndex[seq] ? self.pagesIndex[seq] : null;\n if ( page && page.dataset.loaded == 'false' ) {\n var html_url = self.service.html({ seq: seq });\n if ( html_url ) {\n self.service.loaders.images.queue({ src: html_url, page: page, mimetype: 'text/html' });\n }\n }\n }\n\n var pages = Array.isArray(page) ? page : [ page ];\n console.log(\"?? loadImage\", pages);\n var page = pages[0];\n\n for(var i = 0; i < pages.length; i++) {\n // first queue the immediate pages\n for(var i = 0; i < pages.length; i++) {\n var page = pages[i];\n var seq = parseInt(page.dataset.seq, 10);\n _process(seq, true);\n }\n }\n\n // now queue surrounding pages\n if ( options.lazy !== false ) {\n var page = pages[0];\n var seq = parseInt(page.dataset.seq, 10);\n\n for(var ii = seq - 2; ii < seq; ii++) {\n _process(ii, true);\n }\n }\n\n if ( options.lazy !== false ) {\n var page = pages[pages.length - 1];\n var seq = parseInt(page.dataset.seq, 10);\n for(var ii = seq + 2; ii > seq; ii--) {\n _process(ii, true);\n }\n }\n self.service.loaders.images.start();\n\n console.log(\"// loading:\", page.dataset.seq);\n }\n\n postText(text, datum) {\n super.postText(text, datum);\n var page_text = datum.page.querySelector('.page-text');\n if ( page_text.textContent.trim() == \"\" || ! page_text.textContent.trim().match(/\\w+/) ) {\n page_text.innerHTML = `

    NO TEXT ON PAGE

    This page does not contain any text recoverable by the OCR engine.

    `;\n }\n\n datum.page.dataset.loaded = true;\n }\n\n _drawHighlights(page) {\n // NOP\n }\n\n unloadImage(page) {\n\n page.dataset.loaded = 'false';\n page.dataset.isLeaving = false;\n\n\n var page_text = page.querySelector('.page-text');\n page_text.innerHTML = page_text.dataset.placeholder;\n }\n\n bindEvents() {\n\n this._handlers.resize = this.reader.on('resize', () => {\n // var loaded = this.container.querySelectorAll('[data-loaded=\"true\"]');\n // for(var i = 0; i < loaded.length; i++) {\n // var page = loaded[i];\n // var page_text = page.querySelector('.page-text');\n // if ( page_text.offsetHeight < page_text.scrollHeight ) {\n // // page.style.height = `${page_text.scrollHeight}px`;\n // page.style.height = 'auto';\n // }\n // }\n })\n\n this.reader.on('relocated', (params) => {\n this.reader.emit('status', `Showing page scan ${params.seq}`);\n });\n\n window.addEventListener('resize', this._resizer);\n\n }\n\n bindPageEvents(page) {\n page.dataset.visible = false;\n }\n\n config() {\n var retval = super.config();\n retval.rotate = false;\n retval.zoom = false;\n return retval;\n }\n\n\n};\n","import { createNanoEvents } from 'nanoevents';\nimport {Base, setfn} from './base';\n\nimport debounce from 'lodash/debounce';\n\nexport var Scroll = class extends Base {\n constructor(options={}) {\n super(options);\n this.mode = 'scroll';\n this.name = '1up';\n this.displayLabel = 'scroll page scans';\n this.pageOptions = {};\n this.embedHtml = true;\n this._debugLog = [];\n this.sets.expandable = new Map();\n }\n\n attachTo(element, cb) {\n this.root = element.parentElement;\n super.attachTo(element, cb);\n }\n\n _renderr(page) {\n }\n\n display(seq) {\n var target = this.getPage(seq);\n\n if ( ! target ) { return; }\n target.dataset.visible = true; target.classList.add('page--visible');\n let parentEl = this.root;\n if ( parentEl.scroll ) {\n parentEl.scroll(0, target.offsetTop);\n } else {\n parentEl.scrollTop = target.offsetTop;\n }\n this._lastKnownScrollPosition = this.root.scrollTop; \n this.emitter.emit('scrolled');\n }\n\n _reframePageText(page) {\n if ( page.dataset.reframed != 'true' ) {\n var frame = page.querySelector('.page-text');\n var seq = this.getPageSeq(page);\n var offsetHeight = frame.offsetHeight;\n var scrollHeight = frame.scrollHeight;\n var check = offsetHeight > scrollHeight ? scrollHeight / offsetHeight : offsetHeight / scrollHeight;\n HT.log(\"AHOY _reframePageText\", seq, this.currentSeq, \"/\", offsetHeight, scrollHeight, check);\n if ( offsetHeight < scrollHeight ) {\n if ( check <= 0.90 && seq < this.currentSeq ) {\n page.dataset.expandableHeight = scrollHeight;\n this.sets.expandable.set(seq, page);\n } else {\n frame.style.height = `${scrollHeight}px`;\n }\n }\n page.dataset.reframed = true;\n }\n }\n\n _reframePage(image, page) {\n if (page.dataset.reframed != 'true') {\n var frame = page.querySelector('.image');\n var img = frame.querySelector('img');\n var seq = this.getPageSeq(page);\n\n var r = image.height / image.width;\n var frameWidth = parseFloat(frame.style.width);\n var frameHeight = parseFloat(frame.style.height);\n var newFrameHeight = frameWidth * r;\n\n var check = frameHeight > newFrameHeight ? newFrameHeight / frameHeight : frameHeight / newFrameHeight;\n var isAdjusting = true;\n var message;\n if ( check <= 0.90 ) {\n if ( seq < this.currentSeq ) {\n // delay this resize\n page.dataset.expandableHeight = newFrameHeight;\n this.sets.expandable.set(seq, page);\n message = 'QUEUED';\n } else {\n frame.style.height = `${newFrameHeight}px`;\n page.dataset.unaltered = false;\n message = 'ALTERED';\n }\n } else {\n // ignore this\n page.dataset.unaltered = 'true';\n isAdjusting = false;\n message = 'UNALTERED';\n }\n\n HT.log(\"AHOY _reframePage\", message, seq, this.currentSeq, \"/\", frameHeight, newFrameHeight, check);\n\n if ( isAdjusting ) {\n img.dataset.width = frameWidth;\n img.dataset.height = newFrameHeight; // frameWidth * r;\n\n img.style.height = `${img.dataset.width}px`;\n img.style.height = `${img.dataset.height}px`;\n\n page.dataset.height = page.offsetHeight;\n } else {\n // we're not adjusting the height, which means we should \n // change the _width_\n img.dataset.naturalWidth = image.width;\n img.dataset.naturalHeight = image.height;\n img.dataset.naturalRatio = r;\n img.dataset.width = frameHeight / r;\n img.dataset.height = frameHeight;\n img.dataset.check = check;\n img.style.width = `${img.dataset.width}px`;\n frame.style.width = `${img.dataset.width}px`;\n }\n\n if (this._checkForFoldouts(image, page)) {\n var altText = img.getAttribute('alt');\n if (altText.indexOf('Foldout') < 0) {\n altText += '; Foldout';\n img.setAttribute('alt', altText);\n }\n }\n page.dataset.reframed = 'true';\n }\n\n }\n\n handleObserver(entries, observer) {\n entries.forEach(entry => {\n var page = entry.target;\n var seq = parseInt(page.dataset.seq, 10);\n if ( entry.isIntersecting && seq ) {\n if ( entry.intersectionRatio > 0 ) {\n page.dataset.lastViewsStarted = entry.time;\n this.sets.visible.add(seq);\n }\n } else {\n this.sets.visible.delete(seq);\n // console.log(\"<|\", entry.target.dataset.seq); \n }\n });\n\n this.emitter.emit('scrolled');\n };\n\n currentLocation() {\n return this.currentSeq;\n // var page = this.currentPage();\n // return page ? this.getPageSeq(page) : null;\n }\n\n currentPage() {\n var operating = this._operating();\n var visible = operating.visible;\n var maxPercentage = 0; var currentPage;\n for(var i = 0; i < visible.length; i++) {\n var page = this.getPage(visible[i]);\n var percentage = this.visibility(page, { rootMargin: 0 });\n if ( percentage > maxPercentage ) { currentPage = page; maxPercentage = percentage; }\n }\n return currentPage;\n }\n\n next() {\n this.display(this.currentSeq + 1);\n }\n\n prev() {\n this.display(this.currentSeq - 1);\n }\n\n // _postResizePage(page, bounds, rect) {\n // if ( this._scrollPause ) { return ; }\n // if ( rect.bottom <= bounds.bottom && rect.top < 0 ) {\n // var scrollTop = this.container.scrollTop;\n // setTimeout(function() {\n // var updated_rect = page.getBoundingClientRect();\n // var delta = updated_rect.height - rect.height;\n // if ( this.container.scrollTop == scrollTop ) {\n // // delta /= this.settings.scale;\n // // console.log(\"AHOY afterResized\", view.index, this.container.scrollTop, view.element.getBoundingClientRect().height, rect.height, delta / this.settings.scale);\n // this.container.scrollTop += Math.ceil(delta);\n // console.log(\"AHOY afterResized\", page.dataset.seq, scrollTop, this.container.scrollTop, delta);\n // } else {\n // console.log(\"AHOY donotResized\", page.dataset.seq, scrollTop, this.container.scrollTop, delta);\n // }\n // }.bind(this), 500);\n // }\n // }\n\n updatePageRotation(target, rotate) {\n // var margin = ( rotate % 180 == 0 ) ? 0 : ( target.offsetHeight - target.offsetWidth ) / 2;\n // target.dataset.rotate = rotate;\n // target.style.setProperty('--rotate', `${rotate}deg`);\n // target.style.setProperty('--rotate-margin', `-${margin}px ${margin}px`);\n this.reader.pagedetails.rotate[target.dataset.seq] = rotate;\n }\n\n bindEvents() {\n var self = this;\n super.bindEvents();\n\n this.observer = new IntersectionObserver(this.handleObserver.bind(this), {\n root: this.root,\n rootMargin: `${this.rootMargin}px`,\n threshold: 0\n });\n\n this._handlers.rotate = this.reader.on('rotate', function(delta) {\n var seq = self.currentSeq; // self.currentLocation();\n var page = self.pagesIndex[seq];\n var image_frame = page.querySelector('.image');\n\n var rotated = parseInt(page.dataset.rotated || 360, 10);\n rotated += delta;\n rotated = rotated % 360;\n\n if ( rotated % 90 == 0 ) {\n // set margins!\n var margin = image_frame.clientWidth * 0.8;\n page.style.setProperty('--margin-rotated', ( margin / 2 - margin / 8 ) * -1);\n } else {\n page.style.setProperty('--margin-rotated', null);\n }\n\n page.dataset.rotated = rotated;\n });\n\n this._lastKnownScrollPosition = this.root.scrollTop;\n this._ticking = false;\n\n this._handlers.scrolled = this.on('scrolled', debounce(this.scrollHandler.bind(this), 50));\n }\n\n scrollHandler() {\n if ( this._scrollPause ) { return ; }\n this.updateViewport();\n this.loadPages();\n var page = this.currentPage();\n HT.log(\"-- scrollHandler\", page, this.currentSeq);\n if ( page != null && this.currentSeq != page.dataset.seq ) {\n var seq = page.dataset.seq;\n this.reader.emit('relocated', { seq: seq });\n this.currentSeq = parseInt(seq, 10);\n if ( this._currentPage ) {\n this.unfocus(this._currentPage);\n }\n if ( this._targetSeq ) {\n this.focus(this.getPage(this._targetSeq));\n this.currentSeq = this._targetSeq;\n } else {\n this.focus(page);\n }\n this._currentPage = page;\n }\n\n this._setupExpandableTimer();\n }\n\n _setupExpandableTimer() {\n this._lastKnownScrollPosition = this.root.scrollTop;\n\n if ( this._expanding ) { HT.log(\"AHOY _expandableScrollHandler IN PROGRESS\"); return; }\n if ( this._tickingTimer ) { HT.log(\"AHOY _expandableScrollHandler :: resetting timer\", this._expandable.size); }\n if ( this._tickingTimer ) { clearTimeout(this._tickingTimer); }\n if ( this.sets.expandable.size == 0 ) { return ; }\n this._tickingTimer = setTimeout(() => {\n this._resizeExpandablePages();\n this._tickingTimer = null;\n }, 0);\n }\n\n _resizeExpandablePages() {\n let root = this.root;\n let delta = 0;\n if ( this.sets.expandable.size == 0 ) { return ; }\n this._expanding = true;\n\n let sequences = [...this.sets.expandable.keys()].sort((a, b) => { return a - b });\n sequences.forEach((seq) => {\n let page = this.sets.expandable.get(seq);\n if ( page.dataset.expandableHeight == 'resolved' ) { return; }\n let frame = this.format == 'plaintext' ? page.querySelector('.page-text') : page.querySelector('.image');\n let height1 = frame.offsetHeight; // arseFloat(frame.style.height, 10);\n let height2 = parseFloat(page.dataset.expandableHeight, 10);\n HT.log(\"AHOY _resizeExpandablePages ->\", seq, height1, height2);\n if ( seq < this.currentSeq ) {\n delta += ( height2 - height1 );\n }\n frame.style.height = this.format == 'plaintext' ? 'auto' : `${height2}px`;\n page.dataset.expandableHeight = 'resolved';\n this.sets.expandable.delete(seq);\n })\n\n // in theory we'd use _lastKnownScrollPosition, but it \n // seems to drift further in Safari/WebKit\n window.requestAnimationFrame(() => {\n HT.log(\"AHOY _resizeExpandablePages SCROLLING\", root.scrollTop, this._lastKnownScrollPosition, delta, this.currentSeq);\n root.scrollTop = root.scrollTop + delta\n this._lastKnownScrollPosition = root.scrollTop;\n })\n this._expanding = false;\n }\n\n bindPageEvents(page) {\n this.observer.observe(page);\n }\n\n clickHandler(event) {\n var element = event.target;\n super.clickHandler(event);\n if ( element.tagName.toLowerCase() == 'button' && element.classList.contains('action-load-page') ) {\n event.preventDefault();\n event.stopPropagation();\n this.loadImage(element.parentNode, { preload: false });\n }\n }\n\n focusHandler(event) {\n super.focusHandler(event);\n var target = event.target;\n if ( target.tagName.toLowerCase() == 'div' && target.classList.contains('page') && ! window.reactivated ) {\n target.parentNode.scrollTop = target.offsetTop - target.parentNode.offsetTop;\n }\n }\n\n visibility(page, options={}) {\n\n let { windowTop, windowHeight, windowBottom } = this.viewport();\n\n options.percentage = options.percentage || 0;\n\n // var rootMargin = this.rootMargin;\n var rootMargin = options.rootMargin === undefined ? this.rootMargin : options.rootMargin;\n\n var top = page.offsetTop;\n var height = parseInt(page.dataset.height, 10); // ppage.offsetHeight;\n var bottom = top + height;\n\n var containerTop = windowTop; var containerBottom = windowBottom;\n var elemTop = top; var elemBottom = bottom;\n\n var pageIsVisible = ( elemTop >= ( containerTop - rootMargin ) && elemBottom <= ( containerBottom + rootMargin ));\n var bottomIsVisible = ( elemTop < ( containerTop - rootMargin ) && containerTop < ( elemBottom + rootMargin ) )\n var topIsVisible = ( elemTop < ( containerBottom + rootMargin ) && containerBottom < ( elemBottom + rootMargin ));\n\n var percentage = 0; var test;\n if ( topIsVisible || bottomIsVisible || pageIsVisible ) {\n // now we're visible\n if ( pageIsVisible ) {\n percentage = 1.0;\n test = 'topIsVisible && bottomIsVisible';\n } else if ( topIsVisible ) {\n // only the top is visible\n var height_visible = windowBottom - top;\n percentage = height_visible / height;\n test = 'topIsVisible';\n } else if ( bottomIsVisible ) {\n var height_visible = bottom - windowTop;\n percentage = height_visible / height;\n test = 'bottomIsVisible';\n }\n }\n\n return percentage;\n\n if (top + height + rootMargin >= windowTop &&\n top - rootMargin <= windowTop + windowHeight ) {\n\n var height_visible = height - ( bottom - ( windowTop + windowHeight ) );\n var percentage = height_visible / height;\n\n return percentage;\n }\n\n return 0;\n }\n\n isVisible(page) {\n let percentage = this.visibility(page); // no rootMargin\n return percentage > 0;\n }\n\n loadPages() {\n // this.sets.visible = this.debugScrolled();\n if ( setfn.eqSet(this.sets.visible, this.sets.loaded) ) { return; }\n this.sets.loaded = new Set(this.sets.visible);\n\n var visible = this.sets.visible;\n // console.log('-- loadPages', visible);\n\n var tmp = [...visible].sort((a,b) => { return a - b});\n\n for(var i = 0; i < tmp.length; i++) {\n var seq = tmp[i];\n var page = this.getPage(seq);\n if ( this.isVisible(page) ) {\n // console.log(\"//\", seq);\n this.loadImage(page);\n } else {\n // console.log(\"@@\", seq);\n }\n }\n }\n\n debugScrolled(debug) {\n var t1 = (new Date).getTime();\n var visible = new Set;\n for(var idx in this.pages) {\n var page = this.pages[idx];\n if ( this.isVisible(page)) {\n visible.add(page.dataset.seq)\n }\n }\n if ( debug ) {\n HT.log(\"!!\", visible, ( ( new Date ).getTime() - t1 ));\n }\n return visible;\n }\n\n destroy() {\n this.observer.disconnect();\n // this.container.removeEventListener('click', this._handlers.click);\n\n super.destroy();\n this.observer = null;\n\n if ( this._tickingTimer ) { clearTimeout(this._tickingTimer); }\n }\n\n _destroy_page(page) {\n this.observer.unobserve(page);\n }\n\n};\n","import {Scroll} from './scroll';\nimport {setfn} from './base';\n\nexport var Thumbnail = class extends Scroll {\n constructor(options={}) {\n super(options);\n this.mode = 'thumbnail';\n this.name = 'thumb';\n this.displayLabel = 'thumbnails';\n this.possibles = [ 0.5, 0.75, 1.0 ];\n this.scale = 1.0;\n this.embedHtml = false;\n this.trackResize = false;\n this.format = 'image'; // force image\n\n // this.rootMargin = options.rootMargin || 256;\n this.unloadNearestThreshold = 150;\n\n }\n\n _adjustContainerWidth() {\n return `${( this.scale > 1 ? this.scale : 0.9 ) * 100}%`;\n }\n\n loadImage(page, options={}) {\n var self = this;\n\n var _process = function(seq, loadImage) {\n var page = self.pagesIndex.has(seq) ? self.pagesIndex.get(seq) : null;\n if ( page && page.dataset.loaded == 'false' ) {\n // img.src.indexOf(img.dataset.thumbnailSrc) < 0 \n if ( true || page.dataset.reframed != 'true' ) {\n if ( self.format == 'image' ) {\n var img = page.querySelector('img');\n self.service.loaders.thumbnails.queue({ src: img.dataset.thumbnailSrc, page: page }); \n } else {\n var html_url = self.service.html({ seq: seq });\n self.service.loaders.images.queue({ src: html_url, page: page, mimetype: 'text/html' });\n }\n }\n }\n }\n\n var pages = Array.isArray(page) ? page : [ page ];\n if ( ! pages.length ) { return; }\n var page = pages[0];\n\n var seq = parseInt(page.dataset.seq, 10);\n if ( Math.abs(seq - self.currentSeq ) > 20 ) {\n HT.log(\"-- RESETTING THE LOADERS\");\n self.service.loaders.thumbnails.stop(true);\n }\n\n for(var i = 0; i < pages.length; i++) {\n var page = pages[i];\n var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10);\n _process(seq, true);\n }\n\n HT.log(pages);\n self.service.loaders.thumbnails.start();\n\n if ( options.lazy !== false ) {\n var page = pages[0];\n var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10);\n for(var ii = seq - 20; ii < seq; ii++) {\n _process(ii, false);\n }\n\n if ( pages.length > 1 ) {\n page = pages[pages.length - 1];\n var seq = self.getPageSeq(page); // parseInt(page.dataset.seq, 10);\n for(var ii = seq + 20; ii > seq; ii--) {\n _process(ii, false);\n }\n }\n }\n\n if ( self.format == 'image' ) {\n self.service.loaders.thumbnails.start();\n } else {\n self.service.loaders.images.start();\n }\n\n HT.log(\"// loading:\", page.dataset.seq);\n }\n\n loadPages() {\n // this.sets.visible = this.debugScrolled();\n if ( setfn.eqSet(this.sets.visible, this.sets.loaded) ) { return; }\n this.sets.loaded = new Set(this.sets.visible);\n\n var visible = this.sets.visible;\n\n var tmp = [...visible].sort((a,b) => { return a - b});\n\n var possibles = [];\n for(var i = 0; i < tmp.length; i++) {\n var seq = tmp[i];\n if ( ! seq ) { continue; }\n var page = this.getPage(seq);\n if ( this.isVisible(page) ) {\n possibles.push(page);\n } else {\n HT.log(\"@@\", seq, page.dataset.lastViewsStarted >= ( 60000 * 2 ));\n if ( false && page.dataset.lastViewsStarted >= ( 60000 * 2 ) ) {\n visible.delete(seq);\n }\n }\n }\n\n this.loadImage(possibles);\n }\n\n postThumbnail(image, datum) {\n var page = datum.page;\n if ( page.dataset.loaded != 'true' ) {\n super.postThumbnail(image, datum);\n page.dataset.loaded = true;\n }\n }\n\n imageUrl(params) {\n if ( params instanceof HTMLElement ) {\n var element = params; params = {};\n params.seq = element.dataset.seq;\n params.width = element.offsetWidth;\n }\n return this.service.thumbnail(params);\n }\n\n minWidth() {\n // best guess\n // return 160;\n var max = null;\n for(var seq = 1; seq < this.service.manifest.totalSeq; seq++) {\n var meta = this.service.manifest.meta(seq);\n if ( max === null || meta.width > max.width ) {\n max = meta;\n }\n }\n // calculate a ratio based on the max height of a thumbnail,\n // since most page scans are taller than wider\n var r = 250 / max.height;\n var w = max.width * r;\n\n if ( window.innerWidth < 680 ) {\n w *= ( window.innerWidth / 680 );\n }\n \n return w;\n }\n\n bindEvents() {\n super.bindEvents();\n\n this.service.loaders.thumbnails.limit(4);\n\n // this._clickHandler = this.clickHandler.bind(this);\n // this.container.addEventListener('click', this._clickHandler);\n\n this.reader.on('redraw', (params) => {\n if ( ! params.scale ) { return; }\n this.scale = params.scale;\n this._resizePages();\n });\n }\n\n currentPage() {\n var operating = this._operating({ percentage: 0.75 });\n var visible = operating.visible;\n return this.getPage(visible[0]);\n }\n\n _resizePageByPages(page) {\n // var img = page.querySelector('img');\n // if ( img ) {\n // img.style.width = page.style.width;\n // img.style.height = page.style.height;\n // }\n }\n\n _checkForFoldouts(image, page) {\n /* NO OP */\n }\n\n redrawPageImages() {\n this._redrawPageImagesTimer = null;\n }\n\n clickHandler(event) {\n var element = event.target;\n HT.log(\"-- thumbnail clickHandler\", event, event.tagName);\n var check = element.closest('button');\n if ( ! check ) {\n element = element.closest('.page');\n if ( element ) {\n var lastView = this.reader.options.lastView || '1up';\n this.reader.restart({ view: lastView, seq: element.dataset.seq });\n }\n }\n }\n\n next(params={}) {\n var operating = this._operating({ percentage: 0.75 });\n var visible = operating.visible;\n if ( params.eventReferrer == 'accesskey' && document.activeElement && document.activeElement.closest(\".page\") ) {\n var focused = this.container.querySelector('.page[tabindex=\"0\"]');\n var currentSeq = parseInt(focused.dataset.seq, 10);\n if ( ! this.pagesIndex.has(currentSeq) ) { return ; }\n\n this.unfocus(focused);\n HT.log(\"-- next\", currentSeq, visible.indexOf(currentSeq + 1), visible.join(\" : \"));\n if ( visible.indexOf(currentSeq + 1) > -1 ) {\n // this.unfocus(this.getPage(currentSeq));\n currentSeq += 1;\n this.currentSeq = currentSeq;\n this.focus(this.getPage(currentSeq));\n return;\n }\n }\n // var lastSeq = parseInt(visible.pop(), 10);\n var actuallyVisible = this._actuallyVisible(visible);\n var lastPage = actuallyVisible.pop();\n console.log(\"AHOY FOUND\", lastPage);\n\n var lastSeq = this.getPageSeq(lastPage); // parseInt(visible[0], 10);\n\n this.display(lastSeq + 1);\n }\n\n prev(params={}) {\n var operating = this._operating({ percentage: 0.75 });\n var visible = operating.visible;\n\n var targetSeq;\n\n if ( params.eventReferrer == 'accesskey' && document.activeElement && document.activeElement.closest(\".page\") ) {\n var focused = this.container.querySelector('.page[tabindex=\"0\"]');\n var currentSeq = parseInt(focused.dataset.seq, 10);\n if ( ! this.pagesIndex.has(currentSeq - 1) ) { return ; }\n\n this.unfocus(focused);\n HT.log(\"-- prev\", currentSeq, visible.indexOf(currentSeq - 1), visible.join(\" : \"));\n if ( visible.indexOf(currentSeq - 1) > -1 ) {\n currentSeq -= 1;\n this.currentSeq = currentSeq;\n this.focus(this.getPage(currentSeq));\n return;\n } else {\n targetSeq = currentSeq - 1;\n }\n }\n\n var actuallyVisible = this._actuallyVisible(visible);\n\n var firstSeq = this.getPageSeq(actuallyVisible[0]); // parseInt(visible[0], 10);\n this._targetSeq = targetSeq;\n\n this.display(firstSeq - actuallyVisible.length);\n }\n\n _actuallyVisible(visible) {\n // what's really the first visible?\n var actuallyVisible = [];\n for(let i = 0; i < visible.length; i++) {\n var pg = this.getPage(visible[i]);\n var p = this.visibility(pg, { rootMargin: 0 });\n console.log(\"== visibility check\", visible[i], pg, p);\n if ( p >= 0.75 ) { actuallyVisible.push(pg); }\n }\n return actuallyVisible;\n }\n\n destroy() {\n super.destroy();\n this.service.loaders.thumbnails.limit(2); // restore default\n }\n\n config() {\n var retval = super.config();\n retval.zoom = true;\n retval.rotate = false;\n retval.foldouts = false;\n return retval;\n }\n\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function() {\n'use strict';\n\n// Exit early if we're not running in a browser.\nif (typeof window !== 'object') {\n return;\n}\n\n// Exit early if all IntersectionObserver and IntersectionObserverEntry\n// features are natively supported.\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype,\n 'isIntersecting', {\n get: function () {\n return this.intersectionRatio > 0;\n }\n });\n }\n return;\n}\n\n/**\n * Returns the embedding frame element, if any.\n * @param {!Document} doc\n * @return {!Element}\n */\nfunction getFrameElement(doc) {\n try {\n return doc.defaultView && doc.defaultView.frameElement || null;\n } catch (e) {\n // Ignore the error.\n return null;\n }\n}\n\n/**\n * A local reference to the root document.\n */\nvar document = (function(startDoc) {\n var doc = startDoc;\n var frame = getFrameElement(doc);\n while (frame) {\n doc = frame.ownerDocument;\n frame = getFrameElement(doc);\n }\n return doc;\n})(window.document);\n\n/**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\nvar registry = [];\n\n/**\n * The signal updater for cross-origin intersection. When not null, it means\n * that the polyfill is configured to work in a cross-origin mode.\n * @type {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nvar crossOriginUpdater = null;\n\n/**\n * The current cross-origin intersection. Only used in the cross-origin mode.\n * @type {DOMRect|ClientRect}\n */\nvar crossOriginRect = null;\n\n\n/**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\nfunction IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = ensureDOMRect(entry.rootBounds);\n this.boundingClientRect = ensureDOMRect(entry.boundingClientRect);\n this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect());\n this.isIntersecting = !!entry.intersectionRect;\n\n // Calculates the intersection ratio.\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n // Sets intersection ratio.\n if (targetArea) {\n // Round the intersection ratio to avoid floating point math issues:\n // https://github.com/w3c/IntersectionObserver/issues/324\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n}\n\n\n/**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\nfunction IntersectionObserver(callback, opt_options) {\n\n var options = opt_options || {};\n\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n\n if (\n options.root &&\n options.root.nodeType != 1 &&\n options.root.nodeType != 9\n ) {\n throw new Error('root must be a Document or Element');\n }\n\n // Binds and throttles `this._checkForIntersections`.\n this._checkForIntersections = throttle(\n this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n // Private properties.\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n // Public properties.\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function(margin) {\n return margin.value + margin.unit;\n }).join(' ');\n\n /** @private @const {!Array} */\n this._monitoringDocuments = [];\n /** @private @const {!Array} */\n this._monitoringUnsubscribes = [];\n}\n\n\n/**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\nIntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n\n/**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\nIntersectionObserver.prototype.POLL_INTERVAL = null;\n\n/**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\nIntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n\n/**\n * Sets up the polyfill in the cross-origin mode. The result is the\n * updater function that accepts two arguments: `boundingClientRect` and\n * `intersectionRect` - just as these fields would be available to the\n * parent via `IntersectionObserverEntry`. This function should be called\n * each time the iframe receives intersection information from the parent\n * window, e.g. via messaging.\n * @return {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nIntersectionObserver._setupCrossOriginUpdater = function() {\n if (!crossOriginUpdater) {\n /**\n * @param {DOMRect|ClientRect} boundingClientRect\n * @param {DOMRect|ClientRect} intersectionRect\n */\n crossOriginUpdater = function(boundingClientRect, intersectionRect) {\n if (!boundingClientRect || !intersectionRect) {\n crossOriginRect = getEmptyRect();\n } else {\n crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect);\n }\n registry.forEach(function(observer) {\n observer._checkForIntersections();\n });\n };\n }\n return crossOriginUpdater;\n};\n\n\n/**\n * Resets the cross-origin mode.\n */\nIntersectionObserver._resetCrossOriginUpdater = function() {\n crossOriginUpdater = null;\n crossOriginRect = null;\n};\n\n\n/**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.observe = function(target) {\n var isTargetAlreadyObserved = this._observationTargets.some(function(item) {\n return item.element == target;\n });\n\n if (isTargetAlreadyObserved) {\n return;\n }\n\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n\n this._registerInstance();\n this._observationTargets.push({element: target, entry: null});\n this._monitorIntersections(target.ownerDocument);\n this._checkForIntersections();\n};\n\n\n/**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.unobserve = function(target) {\n this._observationTargets =\n this._observationTargets.filter(function(item) {\n return item.element != target;\n });\n this._unmonitorIntersections(target.ownerDocument);\n if (this._observationTargets.length == 0) {\n this._unregisterInstance();\n }\n};\n\n\n/**\n * Stops observing all target elements for intersection changes.\n */\nIntersectionObserver.prototype.disconnect = function() {\n this._observationTargets = [];\n this._unmonitorAllIntersections();\n this._unregisterInstance();\n};\n\n\n/**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\nIntersectionObserver.prototype.takeRecords = function() {\n var records = this._queuedEntries.slice();\n this._queuedEntries = [];\n return records;\n};\n\n\n/**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\nIntersectionObserver.prototype._initThresholds = function(opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n\n return threshold.sort().filter(function(t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n return t !== a[i - 1];\n });\n};\n\n\n/**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\nIntersectionObserver.prototype._parseRootMargin = function(opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function(margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n return {value: parseFloat(parts[1]), unit: parts[2]};\n });\n\n // Handles shorthand.\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n\n return margins;\n};\n\n\n/**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._monitorIntersections = function(doc) {\n var win = doc.defaultView;\n if (!win) {\n // Already destroyed.\n return;\n }\n if (this._monitoringDocuments.indexOf(doc) != -1) {\n // Already monitoring.\n return;\n }\n\n // Private state for monitoring.\n var callback = this._checkForIntersections;\n var monitoringInterval = null;\n var domObserver = null;\n\n // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n if (this.POLL_INTERVAL) {\n monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL);\n } else {\n addEvent(win, 'resize', callback, true);\n addEvent(doc, 'scroll', callback, true);\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in win) {\n domObserver = new win.MutationObserver(callback);\n domObserver.observe(doc, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n\n this._monitoringDocuments.push(doc);\n this._monitoringUnsubscribes.push(function() {\n // Get the window object again. When a friendly iframe is destroyed, it\n // will be null.\n var win = doc.defaultView;\n\n if (win) {\n if (monitoringInterval) {\n win.clearInterval(monitoringInterval);\n }\n removeEvent(win, 'resize', callback, true);\n }\n\n removeEvent(doc, 'scroll', callback, true);\n if (domObserver) {\n domObserver.disconnect();\n }\n });\n\n // Also monitor the parent.\n var rootDoc =\n (this.root && (this.root.ownerDocument || this.root)) || document;\n if (doc != rootDoc) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._monitorIntersections(frame.ownerDocument);\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorIntersections = function(doc) {\n var index = this._monitoringDocuments.indexOf(doc);\n if (index == -1) {\n return;\n }\n\n var rootDoc =\n (this.root && (this.root.ownerDocument || this.root)) || document;\n\n // Check if any dependent targets are still remaining.\n var hasDependentTargets =\n this._observationTargets.some(function(item) {\n var itemDoc = item.element.ownerDocument;\n // Target is in this context.\n if (itemDoc == doc) {\n return true;\n }\n // Target is nested in this context.\n while (itemDoc && itemDoc != rootDoc) {\n var frame = getFrameElement(itemDoc);\n itemDoc = frame && frame.ownerDocument;\n if (itemDoc == doc) {\n return true;\n }\n }\n return false;\n });\n if (hasDependentTargets) {\n return;\n }\n\n // Unsubscribe.\n var unsubscribe = this._monitoringUnsubscribes[index];\n this._monitoringDocuments.splice(index, 1);\n this._monitoringUnsubscribes.splice(index, 1);\n unsubscribe();\n\n // Also unmonitor the parent.\n if (doc != rootDoc) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._unmonitorIntersections(frame.ownerDocument);\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorAllIntersections = function() {\n var unsubscribes = this._monitoringUnsubscribes.slice(0);\n this._monitoringDocuments.length = 0;\n this._monitoringUnsubscribes.length = 0;\n for (var i = 0; i < unsubscribes.length; i++) {\n unsubscribes[i]();\n }\n};\n\n\n/**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\nIntersectionObserver.prototype._checkForIntersections = function() {\n if (!this.root && crossOriginUpdater && !crossOriginRect) {\n // Cross origin monitoring, but no initial data available yet.\n return;\n }\n\n var rootIsInDom = this._rootIsInDom();\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n this._observationTargets.forEach(function(item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n var rootContainsTarget = this._rootContainsTarget(target);\n var oldEntry = item.entry;\n var intersectionRect = rootIsInDom && rootContainsTarget &&\n this._computeTargetAndRootIntersection(target, targetRect, rootRect);\n\n var rootBounds = null;\n if (!this._rootContainsTarget(target)) {\n rootBounds = getEmptyRect();\n } else if (!crossOriginUpdater || this.root) {\n rootBounds = rootRect;\n }\n\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: rootBounds,\n intersectionRect: intersectionRect\n });\n\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n};\n\n\n/**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} targetRect The bounding rect of the target.\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\nIntersectionObserver.prototype._computeTargetAndRootIntersection =\n function(target, targetRect, rootRect) {\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n\n while (!atRoot && parent) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ?\n window.getComputedStyle(parent) : {};\n\n // If the parent isn't displayed, an intersection can't happen.\n if (parentComputedStyle.display == 'none') return null;\n\n if (parent == this.root || parent.nodeType == /* DOCUMENT */ 9) {\n atRoot = true;\n if (parent == this.root || parent == document) {\n if (crossOriginUpdater && !this.root) {\n if (!crossOriginRect ||\n crossOriginRect.width == 0 && crossOriginRect.height == 0) {\n // A 0-size cross-origin intersection means no-intersection.\n parent = null;\n parentRect = null;\n intersectionRect = null;\n } else {\n parentRect = crossOriginRect;\n }\n } else {\n parentRect = rootRect;\n }\n } else {\n // Check if there's a frame that can be navigated to.\n var frame = getParentNode(parent);\n var frameRect = frame && getBoundingClientRect(frame);\n var frameIntersect =\n frame &&\n this._computeTargetAndRootIntersection(frame, frameRect, rootRect);\n if (frameRect && frameIntersect) {\n parent = frame;\n parentRect = convertFromParentRect(frameRect, frameIntersect);\n } else {\n parent = null;\n intersectionRect = null;\n }\n }\n } else {\n // If the element has a non-visible overflow, and it's not the \n // or element, update the intersection rect.\n // Note: and cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n var doc = parent.ownerDocument;\n if (parent != doc.body &&\n parent != doc.documentElement &&\n parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n }\n\n // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n }\n if (!intersectionRect) break;\n parent = parent && getParentNode(parent);\n }\n return intersectionRect;\n};\n\n\n/**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {ClientRect} The expanded root rect.\n * @private\n */\nIntersectionObserver.prototype._getRootRect = function() {\n var rootRect;\n if (this.root && !isDoc(this.root)) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use / instead of window since scroll bars affect size.\n var doc = isDoc(this.root) ? this.root : document;\n var html = doc.documentElement;\n var body = doc.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n return this._expandRectByRootMargin(rootRect);\n};\n\n\n/**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {DOMRect|ClientRect} rect The rect object to expand.\n * @return {ClientRect} The expanded rect.\n * @private\n */\nIntersectionObserver.prototype._expandRectByRootMargin = function(rect) {\n var margins = this._rootMarginValues.map(function(margin, i) {\n return margin.unit == 'px' ? margin.value :\n margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n\n return newRect;\n};\n\n\n/**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\nIntersectionObserver.prototype._hasCrossedThreshold =\n function(oldEntry, newEntry) {\n\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ?\n oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ?\n newEntry.intersectionRatio || 0 : -1;\n\n // Ignore unchanged ratios\n if (oldRatio === newRatio) return;\n\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i];\n\n // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n if (threshold == oldRatio || threshold == newRatio ||\n threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n};\n\n\n/**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\nIntersectionObserver.prototype._rootIsInDom = function() {\n return !this.root || containsDeep(document, this.root);\n};\n\n\n/**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\nIntersectionObserver.prototype._rootContainsTarget = function(target) {\n var rootDoc =\n (this.root && (this.root.ownerDocument || this.root)) || document;\n return (\n containsDeep(rootDoc, target) &&\n (!this.root || rootDoc == target.ownerDocument)\n );\n};\n\n\n/**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\nIntersectionObserver.prototype._registerInstance = function() {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n};\n\n\n/**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\nIntersectionObserver.prototype._unregisterInstance = function() {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n};\n\n\n/**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\nfunction now() {\n return window.performance && performance.now && performance.now();\n}\n\n\n/**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\nfunction throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function() {\n fn();\n timer = null;\n }, timeout);\n }\n };\n}\n\n\n/**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\nfunction addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\nfunction removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.detatchEvent == 'function') {\n node.detatchEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object|?ClientRect} The intersection rect or undefined if no\n * intersection is found.\n */\nfunction computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n\n return (width >= 0 && height >= 0) && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n } || null;\n}\n\n\n/**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {DOMRect|ClientRect} The (possibly shimmed) rect of the element.\n */\nfunction getBoundingClientRect(el) {\n var rect;\n\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {\n // Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/w3c/IntersectionObserver/pull/205\n }\n\n if (!rect) return getEmptyRect();\n\n // Older IE\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n return rect;\n}\n\n\n/**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {ClientRect} The empty rect.\n */\nfunction getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n}\n\n\n/**\n * Ensure that the result has all of the necessary fields of the DOMRect.\n * Specifically this ensures that `x` and `y` fields are set.\n *\n * @param {?DOMRect|?ClientRect} rect\n * @return {?DOMRect}\n */\nfunction ensureDOMRect(rect) {\n // A `DOMRect` object has `x` and `y` fields.\n if (!rect || 'x' in rect) {\n return rect;\n }\n // A IE's `ClientRect` type does not have `x` and `y`. The same is the case\n // for internally calculated Rect objects. For the purposes of\n // `IntersectionObserver`, it's sufficient to simply mirror `left` and `top`\n // for these fields.\n return {\n top: rect.top,\n y: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n right: rect.right,\n width: rect.width,\n height: rect.height\n };\n}\n\n\n/**\n * Inverts the intersection and bounding rect from the parent (frame) BCR to\n * the local BCR space.\n * @param {DOMRect|ClientRect} parentBoundingRect The parent's bound client rect.\n * @param {DOMRect|ClientRect} parentIntersectionRect The parent's own intersection rect.\n * @return {ClientRect} The local root bounding rect for the parent's children.\n */\nfunction convertFromParentRect(parentBoundingRect, parentIntersectionRect) {\n var top = parentIntersectionRect.top - parentBoundingRect.top;\n var left = parentIntersectionRect.left - parentBoundingRect.left;\n return {\n top: top,\n left: left,\n height: parentIntersectionRect.height,\n width: parentIntersectionRect.width,\n bottom: top + parentIntersectionRect.height,\n right: left + parentIntersectionRect.width\n };\n}\n\n\n/**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\nfunction containsDeep(parent, child) {\n var node = child;\n while (node) {\n if (node == parent) return true;\n\n node = getParentNode(node);\n }\n return false;\n}\n\n\n/**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\nfunction getParentNode(node) {\n var parent = node.parentNode;\n\n if (node.nodeType == /* DOCUMENT */ 9 && node != document) {\n // If this node is a document node, look for the embedding frame.\n return getFrameElement(node);\n }\n\n // If the parent has element that is assigned through shadow root slot\n if (parent && parent.assignedSlot) {\n parent = parent.assignedSlot.parentNode\n }\n\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n\n return parent;\n}\n\n/**\n * Returns true if `node` is a Document.\n * @param {!Node} node\n * @returns {boolean}\n */\nfunction isDoc(node) {\n return node && node.nodeType === 9;\n}\n\n\n// Exposes the constructors globally.\nwindow.IntersectionObserver = IntersectionObserver;\nwindow.IntersectionObserverEntry = IntersectionObserverEntry;\n\n}());\n","var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : ''\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","// https://babeljs.io/docs/en/babel-polyfill\n\nimport \"core-js/stable\";\nimport \"regenerator-runtime/runtime\";\n\n// -- reader\nimport { createNanoEvents } from 'nanoevents';\nimport {Control} from './components/controls';\nimport {Service, Loader} from './components/imgsrv';\nimport {View} from './components/views';\nimport {messages} from './components/messages';\n\nimport debounce from 'lodash/debounce';\n\nconst $main = document.querySelector('main'); window.$main = $main;\nvar $header = document.querySelector('header');\n\nlet reader;\n\n// --- MOCKING UP THE VIEWER\nvar HT = window.HT || {}; window.HT = HT;\nif ( location.hostname.indexOf('.hathitrust.org') < 0 ||\n ( HT.is_dev && ! ( location.hostname.indexOf('beta-3') == 0 || location.hostname.indexOf('preview') == 0 ) ) ) {\n // FOR PERFORMANCE IN DEV\n HT.force_size = 100; \n}\n\nconst $body = document.body;\nconst $viewer = document.querySelector('.d--reader--viewer');\nconst $root = document.querySelector('.d--reader');\nconst $sidebar = document.querySelector('#sidebar');\n\nconst usesGrid = window.getComputedStyle(document.documentElement).getPropertyValue('--uses-grid') != 'false';\nwindow.usesGrid = usesGrid;\n\nconst isSafari12 = navigator.userAgent.indexOf('Safari/') > -1 && \n navigator.userAgent.indexOf('Version/12.1') > -1;\nwindow.isSafari12 = isSafari12;\n\nconst isEtas = document.querySelector('#access-emergency-access') != null;\n\ndocument.documentElement.dataset.isDev = HT.is_dev;\n\nvar Reader = class {\n constructor(options={}) {\n this.options = Object.assign({ scale: 1.0 }, options);\n this.emitter = createNanoEvents();\n this.controls = {};\n this.pagedetails = { rotate: {}, scale: {} };\n this.identifier = this.options.identifier;\n this._trigger = null;\n this.trigger = {\n push: function(value) { this._trigger = value; },\n pop: function() { var retval = this._trigger; this._trigger = null; return retval; }\n }\n this.bindEvents();\n }\n\n start(params, cb) {\n if ( cb === undefined ) {\n cb = function() {\n this.emit('ready', this.view.name);\n $root.classList.remove('viewer--setup');\n this.view.display(params.seq || 1);\n }.bind(this);\n } else {\n var original_cb = cb;\n cb = function() {\n this.emit('ready', this.view.name);\n $root.classList.remove('viewer--setup');\n original_cb();\n }.bind(this);\n }\n\n $root.classList.add('viewer--setup');\n\n if ( params.view ) {\n $main.dataset.view = $root.dataset.view = params.view;\n $root.classList.add(`view--${params.view}`);\n\n if ( params.restarting ) {\n this.emit('status', `Switching to ${params.view} view`);\n }\n }\n\n const format = params.format;\n if ( params.format ) {\n this.options.format = params.format;\n } else if ( ! this.options.format ) {\n this.options.format = 'image';\n }\n $main.dataset.format = $root.dataset.format = this.options.format;\n\n if ( params.scale ) { this.options.scale = params.scale; }\n\n if ( this.controls.zoominator && ! this.controls.zoominator.check(this.options.scale) ) {\n // the scale is no longer valid\n this.options.scale = 1;\n }\n\n this.setView({ view: $root.dataset.view, format: this.options.format, seq: ( params.seq || 1 ) });\n setTimeout(function() {\n this.view.attachTo($viewer, cb);\n }.bind(this), 0);\n }\n\n restart(params) {\n var current = params.seq || this.view && this.view.currentLocation() || HT.params.seq;\n\n if ( params.view == this.view.name && params.view == 'plaintext' && params.clicked ) { params.view = '1up'; }\n if ( params.view == '2up' && this.service.manifest.totalSeq == 1 ) { params.view = '1up'; }\n if ( isEtas && params.format == 'plaintext' ) { params.view = 'page'; }\n if ( params.view == this.view.name && params.format == this.view.format ) { return ; }\n\n // we track format in the reader\n if ( params.format ) { this.options.format = params.format; }\n if ( params.view && params.view != this.view.name ) { this.options.lastView = this.view.name; }\n\n params.restarting = true;\n\n if ( this.view ) { \n $main.classList.remove(`view--${this.view.name}`);\n this.view.destroy(); \n this.view = null; \n }\n this.start(params, function() {\n this.view.display(current);\n }.bind(this));\n }\n\n setView(params) {\n var cls = View.for(params.view);\n this.view = new cls({ reader: this, service: this.service, scale: this.options.scale, format: params.format, seq: params.seq });\n this.emit('configure', this.view.config());\n this._updateViews(params.view);\n\n HT.update_status(`Viewing book in ${this.view.displayLabel} view.`);\n\n HT.prefs.set({ pt : { view : params.view, format: params.format } })\n\n HT.view = this.view;\n }\n\n next() {\n var params = { eventReferrer: document.documentElement.dataset.eventReferrer };\n this.view.next(params);\n document.documentElement.dataset.eventReferrer = null;\n }\n\n prev() {\n var params = { eventReferrer: document.documentElement.dataset.eventReferrer };\n this.view.prev(params);\n document.documentElement.dataset.eventReferrer = null;\n }\n\n first() {\n var params = { eventReferrer: document.documentElement.dataset.eventReferrer };\n this.view.first(params);\n document.documentElement.dataset.eventReferrer = null;\n }\n\n last() {\n var params = { eventReferrer: document.documentElement.dataset.eventReferrer };\n this.view.last(params);\n document.documentElement.dataset.eventReferrer = null;\n }\n\n display(seq) {\n this.view.display(seq);\n this.emit('show:reader');\n }\n\n jump(delta) {\n var seq = parseInt(this.view.currentLocation(), 10);\n var target = seq + delta;\n if ( target < 0 ) { target = 1; }\n else if ( target > this.service.manifest.totalSeq ) {\n target = this.service.manifest.totalSeq;\n }\n this.display(target);\n }\n\n on() {\n return this.emitter.on.apply(this.emitter, arguments)\n }\n\n emit(event, params={}) {\n this.emitter.emit(event, params);\n }\n\n bindEvents() {\n /* NOOP */\n var lastMessage; var statusTimer;\n\n this.on('relocated', (params) => {\n\n this._updateHistoryUrl(params);\n\n // legacy\n HT.params.seq = params.seq;\n HT.params.view = this.view.name;\n\n this._currentLocation = params.seq;\n\n this._updateLinks(params.seq);\n this.emit('track');\n });\n\n this.on('relocated', (params) => {\n this.emit('status', `Showing page scan ${params.seq}`);\n })\n\n this.on('redraw', (params) => {\n if ( params.scale ) { // && ! this.is_mobile\n this.options.scale = params.scale;\n this.trigger.push(`zoom:${params.scale}`); // triggers track\n this._logAction(undefined, `zoom:${params.scale}`);\n this._updateHistoryUrl({});\n }\n })\n\n this.on('updateSource', (params) => {\n console.log(\"-- updateSource\", params);\n this._updateImageResolution(params.seq, params);\n })\n\n this._updateViewports = function() {\n if ( ! usesGrid ) {\n $main.style.height = `${window.innerHeight - $header.clientHeight - 25}px`;\n $viewer.style.height = $main.style.height;\n $root.style.height = $main.style.height;\n if ( $sidebar.style ) {\n $sidebar.style.height = $main.style.height;\n }\n }\n if ( isSafari12 ) {\n // Safari 12 patching\n if ( this.view && this.view.container && this.view.container.parentElement ) {\n var node = this.view.container.parentElement;\n node.style.height = `${node.parentElement.clientHeight}px`;\n }\n }\n }\n\n if ( ! usesGrid || isSafari12 ) {\n this.on('resize', () => {\n this._updateViewports();\n })\n }\n\n const mediaQuery = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n this.options.prefersReducedMotion = ( ! mediaQuery || mediaQuery.matches );\n if ( mediaQuery && mediaQuery.addEventListener ) {\n mediaQuery.addEventListener('change', () => {\n this.options.prefersReducedMotion = mediaQuery.matches;\n })\n }\n\n this._resizer = debounce(function() {\n // DO NOT emit resize events if we're pinch-zooming??\n if ( window.visualViewport && window.visualViewport.scale > 1 ) { \n return ; \n }\n this.emit('resize');\n }.bind(this), 100);\n\n var jump = document.querySelector('#action-focus-current-page');\n jump.addEventListener('click', (event) => {\n event.preventDefault();\n this.view.focus(true);\n this._logAction(undefined, 'action-focus-current-page');\n console.log(\"AHOY FOCUS CURRENT PAGE\");\n return false;\n })\n\n var IGNORE_FOCUS = [ 'input', 'textarea', 'a', 'button' ];\n var accesskey_triggers = document.querySelectorAll('button[accesskey][data-target]');\n for(var i = 0; i < accesskey_triggers.length; i++) {\n var btn = accesskey_triggers[i];\n btn.addEventListener('click', (event) => {\n event.preventDefault();\n var btn = document.querySelector(`#${event.target.dataset.target}`);\n document.documentElement.dataset.eventReferrer = 'accesskey';\n btn.click();\n\n if ( this.debug_focus ) {\n var $console = $(\"#console\");\n if ( $console.length == 0 ) {\n $console = $(\"

    \").appendTo($(\".beta--panel\"));\n }\n $console.text(document.activeElement ? document.activeElement.outerHTML : '-NA-');\n }\n\n if ( document.activeElement && \n IGNORE_FOCUS.indexOf(document.activeElement.localName) >= 0 && \n document.activeElement.getAttribute('aria-hidden') != 'hidden' && \n ! document.activeElement.classList.contains('page')\n ) {\n return;\n }\n setTimeout(() => { \n // this.view.container.focus(); \n this.view.focus(true);\n if ( reader.debug_focus ) {\n // setTimeout(() => {\n // console.log(\"AHOY CONTAINER AFTER\", document.activeElement, document.querySelectorAll('.page[tabindex=\"0\"]'));\n // }, 500);\n }\n }, 500);\n })\n }\n\n window.addEventListener('resize', this._resizer);\n }\n\n // TODO - REFLECT CURRENT LAYOUT\n _updateLinks(seq) {\n var self = this;\n\n if ( ! seq ) { seq = this.view.currentLocation(); }\n if ( this.view.name == '2up' ) {\n // this is way more complicated\n var verso = this.view.container.querySelector('.page[tabindex=\"0\"].verso');\n var recto = this.view.container.querySelector('.page[tabindex=\"0\"].recto');\n\n [ [ 'current-recto-seq', recto ], [ 'current-verso-seq', verso ] ].forEach(function(tuple) {\n var span = document.querySelector(`#sidebar [data-slot=\"${tuple[0]}\"]`);\n if ( ! span ) { return ; }\n var page = tuple[1];\n if ( page && page.dataset.seq ) {\n span.innerText = page.dataset.seq;\n span.parentNode.previousElementSibling.disabled = false;\n span.parentNode.previousElementSibling.dataset.seq = page.dataset.seq;\n self._updateImageResolution(page.dataset.seq);\n } else {\n span.innerText = '-';\n span.parentNode.previousElementSibling.disabled = true;\n }\n })\n\n } else {\n var span = document.querySelector('#sidebar [data-slot=\"current-seq\"]');\n if ( span ) { span.innerText = seq; }\n\n this._updateImageResolution(seq);\n }\n self._updateLinkSeq(document.querySelector(\"#pageURL\"), seq, true);\n self._updateLinkSeq(document.querySelector(\"input[name=seq]\"), seq);\n self._updateLinkSeq(document.querySelector(\"#login-link\"), seq);\n self._updateLinkSeq(document.querySelector(\"#ssd-link\"), seq);\n self._updateLinkSeq(document.querySelector(\"#ssd-link\"), seq);\n\n document.querySelectorAll('a[data-params-seq=\"true\"]').forEach((link) => {\n self._updateLinkSeq(link, seq);\n })\n\n if ( HT.downloader && HT.downloader.updateDownloadFormatRangeOptions ) {\n HT.downloader.updateDownloadFormatRangeOptions();\n }\n\n self._updateOwnerId(seq);\n }\n\n _updateImageResolution(seq, meta) {\n if ( meta == undefined ) { meta = this.service.manifest.meta(seq); }\n var span = document.querySelector('#sidebar [data-slot=\"image-full-resolution\"]');\n if ( span && meta.resolution ) { \n span.innerHTML = `${meta.resolution} (${meta.size.width}x${meta.size.height})`; \n // document.querySelector('#option-image-target-ppi-original').value = meta.resolution;\n }\n\n span = document.querySelector('#sidebar [data-slot=\"image-screen-resolution\"]');\n if ( span && meta.resolution ) { \n var r = 300 / parseInt(meta.resolution, 10);\n var size150 = `${Math.ceil(meta.size.width * r)}x${Math.ceil(meta.size.height * r)}`;\n span.innerHTML = `300 dpi (${size150})`; \n }\n }\n\n _updateViews(view) {\n var self = this;\n if ( ! view ) { view = this.view.name; }\n self._updateLinkAttribute(document.querySelector(\"#login-button\"), \"view\", view);\n var inputs = document.querySelectorAll(\"input[name='view']\");\n for(var i = 0; i < inputs.length; i++) {\n inputs[i].value = view;\n }\n $main.dataset.view = $root.dataset.view = view;\n this._updateHistoryUrl({ view: view });\n }\n\n _updateLinkSeq($link, seq, options={}) {\n if ( ! $link ) { return ; }\n if ( seq == null || options.disabled == true ) {\n $link.setAttribute('disabled', 'disabled');\n $link.setAttribute('tabindex', -1);\n // $link.classList.add('disabled');\n if ( $link.tagName.toLowerCase() == 'a' ) {\n $link.dataset.href = $link.getAttribute('href');\n $link.setAttribute('href', 'javascript:function() { return false; }');\n }\n } else {\n if ( ! $link.classList.contains('disabled') && $link.getAttribute('disabled') == 'disabled' ) {\n $link.removeAttribute('disabled');\n $link.removeAttribute('tabindex');\n if ( $link.tagName.toLowerCase() == 'a' ) {\n $link.setAttribute('href', $link.dataset.href);\n }\n }\n if ( $link.tagName.toLowerCase() == 'input' && $link.getAttribute(\"name\") == \"seq\" ) {\n $link.value = seq;\n } else if ( $link.tagName.toLowerCase() == 'input' ) {\n var href; var ownerid;\n if ( $link.dataset.baseHref ) {\n href = $link.dataset.baseHref;\n if ( href.indexOf('hdl.handle.net') > -1 ) {\n // handle URL\n href += '?urlappend=%3Bseq=' + seq;\n if ( ownerid = this.service.manifest.ownerid(seq) ) {\n href += '%3Bownerid=' + ownerid;\n }\n }\n } else {\n href = $link.value.replace(/seq=\\d+/, \"seq=\" + seq);\n }\n $link.value = href;\n if ( $link.dataset.trackingLabel ) {\n $link.dataset.trackingLabel = href;\n }\n } else {\n this._updateLinkAttribute($link, \"seq\", seq);\n }\n }\n }\n\n _updateOwnerId(seq) {\n var ownerid;\n if ( ownerid = this.service.manifest.ownerid(seq) ) {\n document.querySelector('.ownerid-label').innerText = `OwnerID: ${ownerid} / Seq: ${this.service.manifest.physicalSeq(seq)}`;\n } else {\n document.querySelector('.ownerid-label').innerText = '';\n }\n }\n\n _updateHistoryUrl(params) {\n var href = window.location.pathname + location.search;\n var argv = [];\n argv.push(`id=${this.identifier}`);\n argv.push(`view=${params.view || this.view.name}`);\n if ( this.view.format == 'plaintext' ) {\n argv.push(`format=plaintext`);\n }\n argv.push(`seq=${params.seq || HT.params.seq}`);\n if ( HT.params.skin ) { argv.push(`skin=${HT.params.skin}`); }\n // if ( HT.params.prototype ) { argv.push(`prototype=${HT.params.prototype}`); }\n if ( this.options.scale > 1.0 ) { argv.push(`size=${Math.floor(this.options.scale * 100)}`) };\n if ( HT.params.q1 ) { argv.push(`q1=${HT.params.q1}`); }\n if ( HT.params.debug ) { argv.push(`debug=${HT.params.debug}`); }\n if ( HT.params.l11_tracking ) { argv.push(`l11_tracking=${HT.params.l11_tracking}`); }\n if ( HT.params.l11_uid ) { argv.push(`l11_uid=${HT.params.l11_uid}`); }\n if ( HT.params.ui ) { argv.push(`ui=${HT.params.ui}`); }\n var new_href = location.pathname + '?' + argv.join('&');\n var title = document.title;\n if ( ! title.match(/^#/) ) { this._original_title = title; }\n title = `#${params.seq || HT.params.seq} - ${this._original_title}`;\n window.history.replaceState(null, title, new_href);\n document.title = title;\n }\n\n _updateLinkAttribute($link, key, value) {\n if ( ! $link ) { return ; }\n var href = $link.getAttribute(\"href\");\n var regex = new RegExp(key + \"(=|%3D)\");\n if ( href.indexOf('#' + key) > -1 ) {\n regex = new RegExp('#' + key + '\\\\d+');\n href = href.replace(regex, '#' + key + value);\n $link.setAttribute('href', href);\n } else if ( ! regex.test(href) ) {\n // key not in href\n var text = key + \"=\" + value;\n var target_href = href;\n var idx;\n if ( ( idx = target_href.indexOf('target=') ) > -1 ) {\n // extract the target url\n idx += \"target=\".length;\n target_href = decodeURIComponent(href.substr(idx));\n }\n var sep = ';';\n if ( target_href.indexOf(\"&\") > -1 ) {\n // add to parameters - semicolon\n sep = '&';\n }\n target_href += sep + text;\n if ( idx > -1 ) {\n // re-encode\n target_href = href.substr(0, idx) + encodeURIComponent(target_href);\n }\n $link.setAttribute(\"href\", target_href);\n } else {\n // replace existing key\n regex = new RegExp(key + \"(=|%3D)\" + \"\\\\w+(;|&|%3B|%26)?\");\n $link.setAttribute(\"href\", href.replace(regex, key + \"$1\" + value + \"$2\"));\n }\n }\n\n _bestFitScale() {\n var scale = ( ( $(window).width() * 0.95 ) / 680 );\n this.options.bestFitScale = scale;\n return scale;\n }\n\n _logAction(href, trigger) {\n if ( HT.analytics && HT.analytics.logAction ) {\n HT.analytics.logAction(href, trigger);\n }\n }\n\n}\n\nvar service = new Service({\n manifest: {\n readingOrder: $viewer.dataset.readingOrder,\n totalSeq: $viewer.dataset.totalSeq,\n defaultSeq: $viewer.dataset.defaultSeq,\n firstSeq: $viewer.dataset.firstSeq,\n defaultHeight: $viewer.dataset.defaultHeight,\n defaultWidth: $viewer.dataset.defaultWidth,\n featureList: HT.params.featureList // JSON.parse($main.dataset.featureList)\n },\n identifier: HT.params.id,\n q1: HT.params.q1,\n debug: HT.params.debug,\n hasOcr: $viewer.dataset.hasOcr == 'true',\n allowFullDownload: $viewer.dataset.allowFullDownload == 'true'\n})\nHT.service = service;\n\nreader = new Reader({ identifier: HT.params.id });\nreader.$root = $root;\nreader.service = service;\nreader.isRTL = service.manifest.options.readingOrder == 'right-to-left';\nHT.reader = reader;\nHT.View = View;\n\n// initiate loaders\nHT.service.loaders.images = new Loader({ name: 'images' })\n .limit(3)\n .on(Loader.events.LOADED, function(image, datum) {\n if (! image ) { return false; }\n reader.view.postImage(image, datum);\n })\n .on(Loader.events.ERROR, function() {\n console.log(\"AHOY ERROR\", arguments);\n });\n\nHT.service.loaders.thumbnails = new Loader({ name: 'thumbnails' })\n .limit(2)\n .on(Loader.events.LOADED, function(image, datum) {\n if (! image ) { return false; }\n reader.view.postThumbnail(image, datum);\n })\n .on(Loader.events.ERROR, function() {\n console.log(\"AHOY ERROR\", arguments);\n });\n\n$viewer.dataset.readingOrder = service.manifest.options.readingOrder;\n$viewer.classList.toggle('reading-order--rtl', $root.dataset.readingOrder == 'right-to-left');\n\n// ADD CONTROLS\nreader.controls.layoutinator = new Control.Layoutinator({\n input: {\n tweaker: '#action-tweak-sidebar',\n toggle: '#action-toggle-sidebar',\n $layoutContainer: $main,\n sidebar: '#sidebar'\n },\n reader: reader\n});\n\nreader.controls.navigator = new Control.Navigator({\n input: {\n first: '#action-go-first',\n next: '#action-go-next',\n prev: '#action-go-prev',\n last: '#action-go-last',\n sequence: '#output-seq',\n range: '#range-seq'\n },\n reader: reader\n});\nreader.controls.navigator.on('updateLocation', (params) => {\n console.log(\"AHOY updateLocation\", params.seq);\n reader.view.display(params.seq);\n})\n\n\nreader.controls.screeninator = new Control.Screeninator({\n input: {\n fullscreen: '#action-toggle-fullscreen'\n },\n reader: reader\n});\n\nreader.controls.viewinator = new Control.Viewinator({\n input: {\n view: '#action-select-view',\n accessPlaintext: '#action-switch-view-plaintext'\n },\n reader: reader\n});\n\nreader.controls.zoominator = new Control.Zoominator({\n input: {\n zoomin: '.action-zoom-in',\n zoomout: '.action-zoom-out'\n },\n reader: reader\n});\n\nreader.controls.minimizer = new Control.Minimizer({\n input: {\n minimizer: '#action-go-minimal'\n },\n reader: reader\n});\n\nreader.controls.helpinator = new Control.Helpinator({\n input: {\n trigger: '#action-help'\n },\n reader: reader\n})\n\nreader.controls.jumpinator = new Control.Jumpinator({\n input: {\n prompt: '#action-jump-to-page',\n sections: '#panel-sections'\n },\n reader: reader\n})\n\nif ( reader.service.hasOcr ) {\n reader.controls.searchinator = new Control.Searchinator({\n input: {\n form: '.d--search-form',\n container: '#panel-search .results-container',\n panel: '#panel-search'\n },\n reader: reader\n }); \n\n reader.controls.searchinator.on('update', (params) => {\n HT.params.q1 = params.q1;\n reader.service.q1 = HT.params.q1;\n reader._updateHistoryUrl({});\n reader.view.resetHighlightIndex();\n reader.view.container.querySelectorAll('.page[data-loaded=\"true\"]').forEach((page) => {\n if ( ! params.q1 ) {\n reader.view._removeHighlights(page);\n } else {\n const html_url = reader.service.html({ seq: page.dataset.seq });\n reader.service.loaders.images.queue({ src: html_url, page: page, mimetype: 'text/html', redraw: true });\n }\n })\n reader.service.loaders.images.start();\n });\n}\n\n\nif ( reader.service.allowFullDownload ) {\n reader.controls.selectinator = new Control.Selectinator({\n reader: reader,\n input: document.querySelector('#download-selected-pages-output'),\n // link: selectedPagesPdfLink,\n reset: document.querySelector('#action-clear-selection')\n });\n}\n\n// analytics\nreader.on('track', () => {\n if ( HT.analytics && HT.analytics._simplifyPageHref ) {\n HT.analytics.trackPageview(HT.analytics._simplifyPageHref(location.href));\n }\n reader._logAction(undefined, reader.trigger.pop());\n})\n\ndocument.body.addEventListener('keydown', function(event) {\n if ( event.key == 'Tab' && \n ! event.shiftKey && \n reader.view && \n document.activeElement == reader.view.container ) {\n event.preventDefault();\n reader.view.focus(true);\n }\n\n if ( reader.view && ( event.key == 'PageUp' || event.key == 'PageDown' ) ) {\n if ( document.activeElement.closest(\"#sidebar\") ) { return ; }\n if ( document.activeElement.closest(\".d--reader\") ) { return ; }\n event.preventDefault;\n reader.view.focus(true);\n var t = reader.view.container.parentNode.scrollTop;\n var h = reader.view.container.parentNode.offsetHeight;\n reader.view.container.parentNode.scrollTop += h;\n return;\n }\n})\n\nHT.utils = HT.utils || {};\nHT.utils.handleOrientationChange = function(ignore) {\n const isEmbed = HT.params && HT.params.ui == 'embed';\n if ( window.innerWidth < 800 && ! isEmbed ) {\n if ( window.orientation && Math.abs(window.orientation) == 90 && HT.reader.service.manifest.totalSeq > 1 ) {\n // enable the 2up button\n HT.reader.controls.viewinator.enable('2up');\n } else {\n // disable the 2up and switch views\n HT.reader.controls.viewinator.disable('2up');\n if ( reader.view && reader.view.name == '2up' && ignore !== true ) {\n HT.reader.restart({ view: '1up', scale: 1.0 });\n } else {\n HT.params.view = '1up';\n }\n }\n }\n}\n\nif ( HT.params.ui && HT.params.ui == 'embed' && HT.params.view == 'default' ) {\n if ( window.innerWidth > window.innerHeight ) {\n HT.params.view = '2up';\n }\n}\nif ( HT.params.view == 'default' ) { HT.params.view = '1up'; }\nif ( HT.params.view == 'plaintext' ) {\n HT.params.view = 'page';\n HT.params.format = 'plaintext';\n}\nif ( HT.params.view == 'image' ) {\n HT.params.view = 'page';\n HT.params.format = 'image';\n}\nif ( reader.service.manifest.totalSeq == 1 ) {\n if ( HT.params.view == '2up' || HT.params.view == 'thumb' ) {\n HT.params.view = '1up';\n }\n}\n\nif ( isEtas && HT.params.format == 'plaintext' && HT.params.view == '1up' ) { HT.params.view = 'page'; }\n\nvar validViews = [ '1up', '2up', 'thumb', 'page' ];\nif ( validViews.indexOf(HT.params.view) < 0 ) { HT.params.view = '1up'; }\n\nvar validFormats = [ 'plaintext', 'image' ];\nif ( HT.params.format && validFormats.indexOf(HT.params.format) < 0 ) { HT.params.foramt = 'image'; }\n\n// BETA HANDLING\nHT.prefs.set({ pt: { skin: '2021' }});\nif ( window.hj ) { hj('tagRecording', [ `PT 2021` ]) };\nconst betaLink = document.querySelector('a.action-beta-2019');\nif ( betaLink )\n betaLink.addEventListener('click', (event) => {\n if ( window.hj ) { hj('tagRecording', [ `PT 2021 -> 2019` ]) };\n if ( reader.view.name == 'page' ) {\n HT.prefs.set({ pt: { view: reader.view.format == 'image' ? 'image' : 'plaintext' }});\n }\n})\n\n// page message checking\nfunction checkForPageMessages() {\n let seq = HT.params.seq;\n if ( HT.params.messagesList && HT.params.messagesList[seq] ) {\n let messageKey = HT.params.messagesList[seq];\n let el = reader.view.getPage(seq).querySelector('.page--message');\n let message;\n if ( message = messages[messageKey] ) {\n el.innerHTML = message.alert;\n if (message.detail) {\n el.querySelector('button').addEventListener('click', (event) => {\n event.preventDefault();\n bootbox.alert(message.detail);\n })\n }\n\n // and then remove the message to only show it on \n // startup\n delete HT.params.messagesList[seq];\n }\n }\n}\n\n// start the reader when all resources have been loaded\nlet scale = 1.0;\nwindow.addEventListener('load', (event) => {\n HT.utils.handleOrientationChange(true);\n reader.start(\n { \n view: HT.params.view || '1up', \n seq: HT.params.seq || 1, \n scale: scale, \n format: HT.params.format || 'image' \n },\n checkForPageMessages\n );\n setTimeout(() => {\n var event = document.createEvent('UIEvents');\n event.initEvent('resize', true, false, window, 0);\n window.dispatchEvent(event)\n }, 100);\n})\n\n// apparently we still need this?\nconst _scrollCheck = debounce(function(event) {\n if ( window.visualViewport && window.visualViewport.scale == 1 ) {\n const activeElement = document.activeElement.closest(\"input,select\");\n if ( activeElement ) { return ; }\n window.scrollTo(0,0);\n }\n}, 50);\nif ( true || ! ( $(\"html\").is(\".mobile\") && $(\"html\").is(\".ios\") ) ) {\n window.addEventListener('scroll', _scrollCheck);\n}\n\n// ERROR TRACKING\nHT.post_error = function(event) {\n const response = fetch('/cgi/pt/error', {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n message: event.message,\n filename: event.filename,\n lineno: event.lineno,\n colno: event.colno,\n error: event.error,\n trace: event.error ? event.error.stack : null,\n htid: HT.params.id,\n view: HT.params.view,\n seq: HT.params.seq,\n skin: 2021,\n imgsrv_url: event.imgsrv_url\n })\n })\n}\n\n/* WINDOW HANDLERS */\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n handleWindowBlur();\n } else {\n handleWindowFocus();\n }\n}\n\nfunction handleWindowFocus() {\n if ( window.inactivated ) {\n window.inactivated = false;\n window.reactivated = true;\n setTimeout(function() {\n window.reactivated = false;\n }, 500)\n }\n}\n\nfunction handleWindowBlur() {\n window.inactivated = true;\n window.reactivated = false;\n}\n\ndocument.addEventListener(\"visibilitychange\", handleVisibilityChange, false);\nwindow.addEventListener(\"focus\", handleWindowFocus, false);\nwindow.addEventListener(\"blur\", handleWindowBlur, false);\n\nconst skipLink = document.querySelector('#skiplinks a[href=\"#reader\"]');\nif ( skipLink ) {\n skipLink.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n document.querySelector('#reader').focus();\n })\n}\n\n\nwindow.addEventListener('error', function(event) {\n if ( event.message.toLowerCase().indexOf('script error') > -1 ) {\n return;\n }\n HT.post_error(event);\n})\n\nwindow.addEventListener('unhandledrejection', function(event) {\n var reason = event.reason;\n if ( ! reason ) { return ; }\n HT.post_error({\n message: reason.message,\n filename: reason.fileName,\n lineno: reason.lineNumber,\n colno: reason.columnNumber,\n error: {\n stack: reason.stack\n }\n });\n});\n\n"],"sourceRoot":""} \ No newline at end of file diff --git a/pt/web/2021/dist/js/utils.js b/pt/web/2021/dist/js/utils.js deleted file mode 100644 index 45a84cb70..000000000 --- a/pt/web/2021/dist/js/utils.js +++ /dev/null @@ -1,7972 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/* - * JQuery URL Parser plugin, v2.2.1 - * Developed and maintanined by Mark Perkins, mark@allmarkedup.com - * Source repository: https://github.com/allmarkedup/jQuery-URL-Parser - * Licensed under an MIT-style license. See https://github.com/allmarkedup/jQuery-URL-Parser/blob/master/LICENSE for details. - */ -; - -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD available; use anonymous module - if (typeof jQuery !== 'undefined') { - define(['jquery'], factory); - } else { - define([], factory); - } - } else { - // No AMD available; mutate global vars - if (typeof jQuery !== 'undefined') { - factory(jQuery); - } else { - factory(); - } - } -})(function ($, undefined) { - var tag2attr = { - a: 'href', - img: 'src', - form: 'action', - base: 'href', - script: 'src', - iframe: 'src', - link: 'href' - }, - key = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], - // keys available to query - aliases = { - 'anchor': 'fragment' - }, - // aliases for backwards compatability - parser = { - strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, - //less intuitive, more accurate to the specs - loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs - - }, - toString = Object.prototype.toString, - isint = /^[0-9]+$/; - - function parseUri(url, strictMode) { - var str = decodeURI(url), - res = parser[strictMode || false ? 'strict' : 'loose'].exec(str), - uri = { - attr: {}, - param: {}, - seg: {} - }, - i = 14; - - while (i--) { - uri.attr[key[i]] = res[i] || ''; - } // build query and fragment parameters - - - uri.param['query'] = parseString(uri.attr['query']); - uri.param['fragment'] = parseString(uri.attr['fragment']); // split path and fragement into segments - - uri.seg['path'] = uri.attr.path.replace(/^\/+|\/+$/g, '').split('/'); - uri.seg['fragment'] = uri.attr.fragment.replace(/^\/+|\/+$/g, '').split('/'); // compile a 'base' domain attribute - - uri.attr['base'] = uri.attr.host ? (uri.attr.protocol ? uri.attr.protocol + '://' + uri.attr.host : uri.attr.host) + (uri.attr.port ? ':' + uri.attr.port : '') : ''; - return uri; - } - - ; - - function getAttrName(elm) { - var tn = elm.tagName; - if (typeof tn !== 'undefined') return tag2attr[tn.toLowerCase()]; - return tn; - } - - function promote(parent, key) { - if (parent[key].length == 0) return parent[key] = {}; - var t = {}; - - for (var i in parent[key]) { - t[i] = parent[key][i]; - } - - parent[key] = t; - return t; - } - - function parse(parts, parent, key, val) { - var part = parts.shift(); - - if (!part) { - if (isArray(parent[key])) { - parent[key].push(val); - } else if ('object' == _typeof(parent[key])) { - parent[key] = val; - } else if ('undefined' == typeof parent[key]) { - parent[key] = val; - } else { - parent[key] = [parent[key], val]; - } - } else { - var obj = parent[key] = parent[key] || []; - - if (']' == part) { - if (isArray(obj)) { - if ('' != val) obj.push(val); - } else if ('object' == _typeof(obj)) { - obj[keys(obj).length] = val; - } else { - obj = parent[key] = [parent[key], val]; - } - } else if (~part.indexOf(']')) { - part = part.substr(0, part.length - 1); - if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); - parse(parts, obj, part, val); // key - } else { - if (!isint.test(part) && isArray(obj)) obj = promote(parent, key); - parse(parts, obj, part, val); - } - } - } - - function merge(parent, key, val) { - if (~key.indexOf(']')) { - var parts = key.split('['), - len = parts.length, - last = len - 1; - parse(parts, parent, 'base', val); - } else { - if (!isint.test(key) && isArray(parent.base)) { - var t = {}; - - for (var k in parent.base) { - t[k] = parent.base[k]; - } - - parent.base = t; - } - - set(parent.base, key, val); - } - - return parent; - } - - function parseString(str) { - return reduce(String(str).split(/&|;/), function (ret, pair) { - try { - pair = decodeURIComponent(pair.replace(/\+/g, ' ')); - } catch (e) {// ignore - } - - var eql = pair.indexOf('='), - brace = lastBraceInKey(pair), - key = pair.substr(0, brace || eql), - val = pair.substr(brace || eql, pair.length), - val = val.substr(val.indexOf('=') + 1, val.length); - if ('' == key) key = pair, val = ''; - return merge(ret, key, val); - }, { - base: {} - }).base; - } - - function set(obj, key, val) { - var v = obj[key]; - - if (undefined === v) { - obj[key] = val; - } else if (isArray(v)) { - v.push(val); - } else { - obj[key] = [v, val]; - } - } - - function lastBraceInKey(str) { - var len = str.length, - brace, - c; - - for (var i = 0; i < len; ++i) { - c = str[i]; - if (']' == c) brace = false; - if ('[' == c) brace = true; - if ('=' == c && !brace) return i; - } - } - - function reduce(obj, accumulator) { - var i = 0, - l = obj.length >> 0, - curr = arguments[2]; - - while (i < l) { - if (i in obj) curr = accumulator.call(undefined, curr, obj[i], i, obj); - ++i; - } - - return curr; - } - - function isArray(vArg) { - return Object.prototype.toString.call(vArg) === "[object Array]"; - } - - function keys(obj) { - var keys = []; - - for (prop in obj) { - if (obj.hasOwnProperty(prop)) keys.push(prop); - } - - return keys; - } - - function purl(url, strictMode) { - if (arguments.length === 1 && url === true) { - strictMode = true; - url = undefined; - } - - strictMode = strictMode || false; - url = url || window.location.toString(); - return { - data: parseUri(url, strictMode), - // get various attributes from the URI - attr: function attr(_attr) { - _attr = aliases[_attr] || _attr; - return typeof _attr !== 'undefined' ? this.data.attr[_attr] : this.data.attr; - }, - // return query string parameters - param: function param(_param) { - return typeof _param !== 'undefined' ? this.data.param.query[_param] : this.data.param.query; - }, - // return fragment parameters - fparam: function fparam(param) { - return typeof param !== 'undefined' ? this.data.param.fragment[param] : this.data.param.fragment; - }, - // return path segments - segment: function segment(seg) { - if (typeof seg === 'undefined') { - return this.data.seg.path; - } else { - seg = seg < 0 ? this.data.seg.path.length + seg : seg - 1; // negative segments count from the end - - return this.data.seg.path[seg]; - } - }, - // return fragment segments - fsegment: function fsegment(seg) { - if (typeof seg === 'undefined') { - return this.data.seg.fragment; - } else { - seg = seg < 0 ? this.data.seg.fragment.length + seg : seg - 1; // negative segments count from the end - - return this.data.seg.fragment[seg]; - } - } - }; - } - - ; - - if (typeof $ !== 'undefined') { - $.fn.url = function (strictMode) { - var url = ''; - - if (this.length) { - url = $(this).attr(getAttrName(this[0])) || ''; - } - - return purl(url, strictMode); - }; - - $.url = purl; - } else { - window.purl = purl; - } -}); -/** - * @popperjs/core v2.10.1 - MIT License - */ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -!function (e, t) { - "object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).Popper = {}); -}(void 0, function (e) { - function t(e) { - return null == e ? window : "[object Window]" !== e.toString() ? (e = e.ownerDocument) && e.defaultView || window : e; - } - - function n(e) { - return e instanceof t(e).Element || e instanceof Element; - } - - function o(e) { - return e instanceof t(e).HTMLElement || e instanceof HTMLElement; - } - - function r(e) { - return "undefined" != typeof ShadowRoot && (e instanceof t(e).ShadowRoot || e instanceof ShadowRoot); - } - - function i(e, t) { - void 0 === t && (t = !1); - var n = e.getBoundingClientRect(), - r = 1, - i = 1; - return o(e) && t && (t = e.offsetHeight, 0 < (e = e.offsetWidth) && (r = n.width / e || 1), 0 < t && (i = n.height / t || 1)), { - width: N(n.width / r), - height: N(n.height / i), - top: N(n.top / i), - right: N(n.right / r), - bottom: N(n.bottom / i), - left: N(n.left / r), - x: N(n.left / r), - y: N(n.top / i) - }; - } - - function a(e) { - return { - scrollLeft: (e = t(e)).pageXOffset, - scrollTop: e.pageYOffset - }; - } - - function s(e) { - return e ? (e.nodeName || "").toLowerCase() : null; - } - - function f(e) { - return ((n(e) ? e.ownerDocument : e.document) || window.document).documentElement; - } - - function p(e) { - return i(f(e)).left + a(e).scrollLeft; - } - - function c(e) { - return t(e).getComputedStyle(e); - } - - function l(e) { - return e = c(e), /auto|scroll|overlay|hidden/.test(e.overflow + e.overflowY + e.overflowX); - } - - function u(e, n, r) { - void 0 === r && (r = !1); - var c, - u = o(n); - - if (c = o(n)) { - var d = (c = n.getBoundingClientRect()).height / n.offsetHeight || 1; - c = 1 !== (c.width / n.offsetWidth || 1) || 1 !== d; - } - - d = c, c = f(n), e = i(e, d), d = { - scrollLeft: 0, - scrollTop: 0 - }; - var h = { - x: 0, - y: 0 - }; - return (u || !u && !r) && (("body" !== s(n) || l(c)) && (d = n !== t(n) && o(n) ? { - scrollLeft: n.scrollLeft, - scrollTop: n.scrollTop - } : a(n)), o(n) ? ((h = i(n, !0)).x += n.clientLeft, h.y += n.clientTop) : c && (h.x = p(c))), { - x: e.left + d.scrollLeft - h.x, - y: e.top + d.scrollTop - h.y, - width: e.width, - height: e.height - }; - } - - function d(e) { - var t = i(e), - n = e.offsetWidth, - o = e.offsetHeight; - return 1 >= Math.abs(t.width - n) && (n = t.width), 1 >= Math.abs(t.height - o) && (o = t.height), { - x: e.offsetLeft, - y: e.offsetTop, - width: n, - height: o - }; - } - - function h(e) { - return "html" === s(e) ? e : e.assignedSlot || e.parentNode || (r(e) ? e.host : null) || f(e); - } - - function m(e) { - return 0 <= ["html", "body", "#document"].indexOf(s(e)) ? e.ownerDocument.body : o(e) && l(e) ? e : m(h(e)); - } - - function v(e, n) { - var o; - void 0 === n && (n = []); - var r = m(e); - return e = r === (null == (o = e.ownerDocument) ? void 0 : o.body), o = t(r), r = e ? [o].concat(o.visualViewport || [], l(r) ? r : []) : r, n = n.concat(r), e ? n : n.concat(v(h(r))); - } - - function g(e) { - return o(e) && "fixed" !== c(e).position ? e.offsetParent : null; - } - - function b(e) { - for (var n = t(e), r = g(e); r && 0 <= ["table", "td", "th"].indexOf(s(r)) && "static" === c(r).position;) { - r = g(r); - } - - if (r && ("html" === s(r) || "body" === s(r) && "static" === c(r).position)) return n; - if (!r) e: { - if (r = -1 !== navigator.userAgent.toLowerCase().indexOf("firefox"), -1 === navigator.userAgent.indexOf("Trident") || !o(e) || "fixed" !== c(e).position) for (e = h(e); o(e) && 0 > ["html", "body"].indexOf(s(e));) { - var i = c(e); - - if ("none" !== i.transform || "none" !== i.perspective || "paint" === i.contain || -1 !== ["transform", "perspective"].indexOf(i.willChange) || r && "filter" === i.willChange || r && i.filter && "none" !== i.filter) { - r = e; - break e; - } - - e = e.parentNode; - } - r = null; - } - return r || n; - } - - function y(e) { - function t(e) { - o.add(e.name), [].concat(e.requires || [], e.requiresIfExists || []).forEach(function (e) { - o.has(e) || (e = n.get(e)) && t(e); - }), r.push(e); - } - - var n = new Map(), - o = new Set(), - r = []; - return e.forEach(function (e) { - n.set(e.name, e); - }), e.forEach(function (e) { - o.has(e.name) || t(e); - }), r; - } - - function w(e) { - var t; - return function () { - return t || (t = new Promise(function (n) { - Promise.resolve().then(function () { - t = void 0, n(e()); - }); - })), t; - }; - } - - function x(e) { - return e.split("-")[0]; - } - - function O(e, t) { - var n = t.getRootNode && t.getRootNode(); - if (e.contains(t)) return !0; - if (n && r(n)) do { - if (t && e.isSameNode(t)) return !0; - t = t.parentNode || t.host; - } while (t); - return !1; - } - - function j(e) { - return Object.assign({}, e, { - left: e.x, - top: e.y, - right: e.x + e.width, - bottom: e.y + e.height - }); - } - - function E(e, n) { - if ("viewport" === n) { - n = t(e); - var r = f(e); - n = n.visualViewport; - var s = r.clientWidth; - r = r.clientHeight; - var l = 0, - u = 0; - n && (s = n.width, r = n.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (l = n.offsetLeft, u = n.offsetTop)), e = j(e = { - width: s, - height: r, - x: l + p(e), - y: u - }); - } else o(n) ? ((e = i(n)).top += n.clientTop, e.left += n.clientLeft, e.bottom = e.top + n.clientHeight, e.right = e.left + n.clientWidth, e.width = n.clientWidth, e.height = n.clientHeight, e.x = e.left, e.y = e.top) : (u = f(e), e = f(u), s = a(u), n = null == (r = u.ownerDocument) ? void 0 : r.body, r = z(e.scrollWidth, e.clientWidth, n ? n.scrollWidth : 0, n ? n.clientWidth : 0), l = z(e.scrollHeight, e.clientHeight, n ? n.scrollHeight : 0, n ? n.clientHeight : 0), u = -s.scrollLeft + p(u), s = -s.scrollTop, "rtl" === c(n || e).direction && (u += z(e.clientWidth, n ? n.clientWidth : 0) - r), e = j({ - width: r, - height: l, - x: u, - y: s - })); - - return e; - } - - function D(e, t, r) { - return t = "clippingParents" === t ? function (e) { - var t = v(h(e)), - r = 0 <= ["absolute", "fixed"].indexOf(c(e).position) && o(e) ? b(e) : e; - return n(r) ? t.filter(function (e) { - return n(e) && O(e, r) && "body" !== s(e); - }) : []; - }(e) : [].concat(t), (r = (r = [].concat(t, [r])).reduce(function (t, n) { - return n = E(e, n), t.top = z(n.top, t.top), t.right = F(n.right, t.right), t.bottom = F(n.bottom, t.bottom), t.left = z(n.left, t.left), t; - }, E(e, r[0]))).width = r.right - r.left, r.height = r.bottom - r.top, r.x = r.left, r.y = r.top, r; - } - - function L(e) { - return e.split("-")[1]; - } - - function M(e) { - return 0 <= ["top", "bottom"].indexOf(e) ? "x" : "y"; - } - - function P(e) { - var t = e.reference, - n = e.element, - o = (e = e.placement) ? x(e) : null; - e = e ? L(e) : null; - var r = t.x + t.width / 2 - n.width / 2, - i = t.y + t.height / 2 - n.height / 2; - - switch (o) { - case "top": - r = { - x: r, - y: t.y - n.height - }; - break; - - case "bottom": - r = { - x: r, - y: t.y + t.height - }; - break; - - case "right": - r = { - x: t.x + t.width, - y: i - }; - break; - - case "left": - r = { - x: t.x - n.width, - y: i - }; - break; - - default: - r = { - x: t.x, - y: t.y - }; - } - - if (null != (o = o ? M(o) : null)) switch (i = "y" === o ? "height" : "width", e) { - case "start": - r[o] -= t[i] / 2 - n[i] / 2; - break; - - case "end": - r[o] += t[i] / 2 - n[i] / 2; - } - return r; - } - - function k(e) { - return Object.assign({}, { - top: 0, - right: 0, - bottom: 0, - left: 0 - }, e); - } - - function W(e, t) { - return t.reduce(function (t, n) { - return t[n] = e, t; - }, {}); - } - - function A(e, t) { - void 0 === t && (t = {}); - var o = t; - t = void 0 === (t = o.placement) ? e.placement : t; - var r = o.boundary, - a = void 0 === r ? "clippingParents" : r, - s = void 0 === (r = o.rootBoundary) ? "viewport" : r; - r = void 0 === (r = o.elementContext) ? "popper" : r; - var p = o.altBoundary, - c = void 0 !== p && p; - o = k("number" != typeof (o = void 0 === (o = o.padding) ? 0 : o) ? o : W(o, V)), p = e.rects.popper, a = D(n(c = e.elements[c ? "popper" === r ? "reference" : "popper" : r]) ? c : c.contextElement || f(e.elements.popper), a, s), c = P({ - reference: s = i(e.elements.reference), - element: p, - strategy: "absolute", - placement: t - }), p = j(Object.assign({}, p, c)), s = "popper" === r ? p : s; - var l = { - top: a.top - s.top + o.top, - bottom: s.bottom - a.bottom + o.bottom, - left: a.left - s.left + o.left, - right: s.right - a.right + o.right - }; - - if (e = e.modifiersData.offset, "popper" === r && e) { - var u = e[t]; - Object.keys(l).forEach(function (e) { - var t = 0 <= ["right", "bottom"].indexOf(e) ? 1 : -1, - n = 0 <= ["top", "bottom"].indexOf(e) ? "y" : "x"; - l[e] += u[n] * t; - }); - } - - return l; - } - - function B() { - for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) { - t[n] = arguments[n]; - } - - return !t.some(function (e) { - return !(e && "function" == typeof e.getBoundingClientRect); - }); - } - - function H(e) { - void 0 === e && (e = {}); - var t = e.defaultModifiers, - o = void 0 === t ? [] : t, - r = void 0 === (e = e.defaultOptions) ? Y : e; - return function (e, t, i) { - function a() { - f.forEach(function (e) { - return e(); - }), f = []; - } - - void 0 === i && (i = r); - var s = { - placement: "bottom", - orderedModifiers: [], - options: Object.assign({}, Y, r), - modifiersData: {}, - elements: { - reference: e, - popper: t - }, - attributes: {}, - styles: {} - }, - f = [], - p = !1, - c = { - state: s, - setOptions: function setOptions(i) { - return i = "function" == typeof i ? i(s.options) : i, a(), s.options = Object.assign({}, r, s.options, i), s.scrollParents = { - reference: n(e) ? v(e) : e.contextElement ? v(e.contextElement) : [], - popper: v(t) - }, i = function (e) { - var t = y(e); - return U.reduce(function (e, n) { - return e.concat(t.filter(function (e) { - return e.phase === n; - })); - }, []); - }(function (e) { - var t = e.reduce(function (e, t) { - var n = e[t.name]; - return e[t.name] = n ? Object.assign({}, n, t, { - options: Object.assign({}, n.options, t.options), - data: Object.assign({}, n.data, t.data) - }) : t, e; - }, {}); - return Object.keys(t).map(function (e) { - return t[e]; - }); - }([].concat(o, s.options.modifiers))), s.orderedModifiers = i.filter(function (e) { - return e.enabled; - }), s.orderedModifiers.forEach(function (e) { - var t = e.name, - n = e.options; - n = void 0 === n ? {} : n, "function" == typeof (e = e.effect) && (t = e({ - state: s, - name: t, - instance: c, - options: n - }), f.push(t || function () {})); - }), c.update(); - }, - forceUpdate: function forceUpdate() { - if (!p) { - var e = s.elements, - t = e.reference; - if (B(t, e = e.popper)) for (s.rects = { - reference: u(t, b(e), "fixed" === s.options.strategy), - popper: d(e) - }, s.reset = !1, s.placement = s.options.placement, s.orderedModifiers.forEach(function (e) { - return s.modifiersData[e.name] = Object.assign({}, e.data); - }), t = 0; t < s.orderedModifiers.length; t++) { - if (!0 === s.reset) s.reset = !1, t = -1;else { - var n = s.orderedModifiers[t]; - e = n.fn; - var o = n.options; - o = void 0 === o ? {} : o, n = n.name, "function" == typeof e && (s = e({ - state: s, - options: o, - name: n, - instance: c - }) || s); - } - } - } - }, - update: w(function () { - return new Promise(function (e) { - c.forceUpdate(), e(s); - }); - }), - destroy: function destroy() { - a(), p = !0; - } - }; - return B(e, t) ? (c.setOptions(i).then(function (e) { - !p && i.onFirstUpdate && i.onFirstUpdate(e); - }), c) : c; - }; - } - - function T(e) { - var n, - o = e.popper, - r = e.popperRect, - i = e.placement, - a = e.variation, - s = e.offsets, - p = e.position, - l = e.gpuAcceleration, - u = e.adaptive; - - if (!0 === (e = e.roundOffsets)) { - e = s.y; - var d = window.devicePixelRatio || 1; - e = { - x: X(X(s.x * d) / d) || 0, - y: X(X(e * d) / d) || 0 - }; - } else e = "function" == typeof e ? e(s) : s; - - e = void 0 === (e = (d = e).x) ? 0 : e, d = void 0 === (d = d.y) ? 0 : d; - var h = s.hasOwnProperty("x"); - s = s.hasOwnProperty("y"); - var m, - v = "left", - g = "top", - y = window; - - if (u) { - var w = b(o), - x = "clientHeight", - O = "clientWidth"; - w === t(o) && "static" !== c(w = f(o)).position && "absolute" === p && (x = "scrollHeight", O = "scrollWidth"), "top" !== i && ("left" !== i && "right" !== i || "end" !== a) || (g = "bottom", d -= w[x] - r.height, d *= l ? 1 : -1), "left" !== i && ("top" !== i && "bottom" !== i || "end" !== a) || (v = "right", e -= w[O] - r.width, e *= l ? 1 : -1); - } - - return o = Object.assign({ - position: p - }, u && Q), l ? Object.assign({}, o, ((m = {})[g] = s ? "0" : "", m[v] = h ? "0" : "", m.transform = 1 >= (y.devicePixelRatio || 1) ? "translate(" + e + "px, " + d + "px)" : "translate3d(" + e + "px, " + d + "px, 0)", m)) : Object.assign({}, o, ((n = {})[g] = s ? d + "px" : "", n[v] = h ? e + "px" : "", n.transform = "", n)); - } - - function R(e) { - return e.replace(/left|right|bottom|top/g, function (e) { - return te[e]; - }); - } - - function S(e) { - return e.replace(/start|end/g, function (e) { - return ne[e]; - }); - } - - function C(e, t, n) { - return void 0 === n && (n = { - x: 0, - y: 0 - }), { - top: e.top - t.height - n.y, - right: e.right - t.width + n.x, - bottom: e.bottom - t.height + n.y, - left: e.left - t.width - n.x - }; - } - - function q(e) { - return ["top", "right", "bottom", "left"].some(function (t) { - return 0 <= e[t]; - }); - } - - var N = Math.round, - V = ["top", "bottom", "right", "left"], - I = V.reduce(function (e, t) { - return e.concat([t + "-start", t + "-end"]); - }, []), - _ = [].concat(V, ["auto"]).reduce(function (e, t) { - return e.concat([t, t + "-start", t + "-end"]); - }, []), - U = "beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "), - z = Math.max, - F = Math.min, - X = Math.round, - Y = { - placement: "bottom", - modifiers: [], - strategy: "absolute" - }, - G = { - passive: !0 - }, - J = { - name: "eventListeners", - enabled: !0, - phase: "write", - fn: function fn() {}, - effect: function effect(e) { - var n = e.state, - o = e.instance, - r = (e = e.options).scroll, - i = void 0 === r || r, - a = void 0 === (e = e.resize) || e, - s = t(n.elements.popper), - f = [].concat(n.scrollParents.reference, n.scrollParents.popper); - return i && f.forEach(function (e) { - e.addEventListener("scroll", o.update, G); - }), a && s.addEventListener("resize", o.update, G), function () { - i && f.forEach(function (e) { - e.removeEventListener("scroll", o.update, G); - }), a && s.removeEventListener("resize", o.update, G); - }; - }, - data: {} - }, - K = { - name: "popperOffsets", - enabled: !0, - phase: "read", - fn: function fn(e) { - var t = e.state; - t.modifiersData[e.name] = P({ - reference: t.rects.reference, - element: t.rects.popper, - strategy: "absolute", - placement: t.placement - }); - }, - data: {} - }, - Q = { - top: "auto", - right: "auto", - bottom: "auto", - left: "auto" - }, - Z = { - name: "computeStyles", - enabled: !0, - phase: "beforeWrite", - fn: function fn(e) { - var t = e.state, - n = e.options; - e = void 0 === (e = n.gpuAcceleration) || e; - var o = n.adaptive; - o = void 0 === o || o, n = void 0 === (n = n.roundOffsets) || n, e = { - placement: x(t.placement), - variation: L(t.placement), - popper: t.elements.popper, - popperRect: t.rects.popper, - gpuAcceleration: e - }, null != t.modifiersData.popperOffsets && (t.styles.popper = Object.assign({}, t.styles.popper, T(Object.assign({}, e, { - offsets: t.modifiersData.popperOffsets, - position: t.options.strategy, - adaptive: o, - roundOffsets: n - })))), null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, T(Object.assign({}, e, { - offsets: t.modifiersData.arrow, - position: "absolute", - adaptive: !1, - roundOffsets: n - })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { - "data-popper-placement": t.placement - }); - }, - data: {} - }, - $ = { - name: "applyStyles", - enabled: !0, - phase: "write", - fn: function fn(e) { - var t = e.state; - Object.keys(t.elements).forEach(function (e) { - var n = t.styles[e] || {}, - r = t.attributes[e] || {}, - i = t.elements[e]; - o(i) && s(i) && (Object.assign(i.style, n), Object.keys(r).forEach(function (e) { - var t = r[e]; - !1 === t ? i.removeAttribute(e) : i.setAttribute(e, !0 === t ? "" : t); - })); - }); - }, - effect: function effect(e) { - var t = e.state, - n = { - popper: { - position: t.options.strategy, - left: "0", - top: "0", - margin: "0" - }, - arrow: { - position: "absolute" - }, - reference: {} - }; - return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow), function () { - Object.keys(t.elements).forEach(function (e) { - var r = t.elements[e], - i = t.attributes[e] || {}; - e = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce(function (e, t) { - return e[t] = "", e; - }, {}), o(r) && s(r) && (Object.assign(r.style, e), Object.keys(i).forEach(function (e) { - r.removeAttribute(e); - })); - }); - }; - }, - requires: ["computeStyles"] - }, - ee = { - name: "offset", - enabled: !0, - phase: "main", - requires: ["popperOffsets"], - fn: function fn(e) { - var t = e.state, - n = e.name, - o = void 0 === (e = e.options.offset) ? [0, 0] : e, - r = (e = _.reduce(function (e, n) { - var r = t.rects, - i = x(n), - a = 0 <= ["left", "top"].indexOf(i) ? -1 : 1, - s = "function" == typeof o ? o(Object.assign({}, r, { - placement: n - })) : o; - return r = (r = s[0]) || 0, s = ((s = s[1]) || 0) * a, i = 0 <= ["left", "right"].indexOf(i) ? { - x: s, - y: r - } : { - x: r, - y: s - }, e[n] = i, e; - }, {}))[t.placement], - i = r.x; - - r = r.y, null != t.modifiersData.popperOffsets && (t.modifiersData.popperOffsets.x += i, t.modifiersData.popperOffsets.y += r), t.modifiersData[n] = e; - } - }, - te = { - left: "right", - right: "left", - bottom: "top", - top: "bottom" - }, - ne = { - start: "end", - end: "start" - }, - oe = { - name: "flip", - enabled: !0, - phase: "main", - fn: function fn(e) { - var t = e.state, - n = e.options; - - if (e = e.name, !t.modifiersData[e]._skip) { - var o = n.mainAxis; - o = void 0 === o || o; - var r = n.altAxis; - r = void 0 === r || r; - var i = n.fallbackPlacements, - a = n.padding, - s = n.boundary, - f = n.rootBoundary, - p = n.altBoundary, - c = n.flipVariations, - l = void 0 === c || c, - u = n.allowedAutoPlacements; - c = x(n = t.options.placement), i = i || (c !== n && l ? function (e) { - if ("auto" === x(e)) return []; - var t = R(e); - return [S(e), t, S(t)]; - }(n) : [R(n)]); - var d = [n].concat(i).reduce(function (e, n) { - return e.concat("auto" === x(n) ? function (e, t) { - void 0 === t && (t = {}); - var n = t.boundary, - o = t.rootBoundary, - r = t.padding, - i = t.flipVariations, - a = t.allowedAutoPlacements, - s = void 0 === a ? _ : a, - f = L(t.placement); - 0 === (i = (t = f ? i ? I : I.filter(function (e) { - return L(e) === f; - }) : V).filter(function (e) { - return 0 <= s.indexOf(e); - })).length && (i = t); - var p = i.reduce(function (t, i) { - return t[i] = A(e, { - placement: i, - boundary: n, - rootBoundary: o, - padding: r - })[x(i)], t; - }, {}); - return Object.keys(p).sort(function (e, t) { - return p[e] - p[t]; - }); - }(t, { - placement: n, - boundary: s, - rootBoundary: f, - padding: a, - flipVariations: l, - allowedAutoPlacements: u - }) : n); - }, []); - n = t.rects.reference, i = t.rects.popper; - var h = new Map(); - c = !0; - - for (var m = d[0], v = 0; v < d.length; v++) { - var g = d[v], - b = x(g), - y = "start" === L(g), - w = 0 <= ["top", "bottom"].indexOf(b), - O = w ? "width" : "height", - j = A(t, { - placement: g, - boundary: s, - rootBoundary: f, - altBoundary: p, - padding: a - }); - - if (y = w ? y ? "right" : "left" : y ? "bottom" : "top", n[O] > i[O] && (y = R(y)), O = R(y), w = [], o && w.push(0 >= j[b]), r && w.push(0 >= j[y], 0 >= j[O]), w.every(function (e) { - return e; - })) { - m = g, c = !1; - break; - } - - h.set(g, w); - } - - if (c) for (o = function o(e) { - var t = d.find(function (t) { - if (t = h.get(t)) return t.slice(0, e).every(function (e) { - return e; - }); - }); - if (t) return m = t, "break"; - }, r = l ? 3 : 1; 0 < r && "break" !== o(r); r--) { - ; - } - t.placement !== m && (t.modifiersData[e]._skip = !0, t.placement = m, t.reset = !0); - } - }, - requiresIfExists: ["offset"], - data: { - _skip: !1 - } - }, - re = { - name: "preventOverflow", - enabled: !0, - phase: "main", - fn: function fn(e) { - var t = e.state, - n = e.options; - e = e.name; - var o = n.mainAxis, - r = void 0 === o || o, - i = void 0 !== (o = n.altAxis) && o; - o = void 0 === (o = n.tether) || o; - var a = n.tetherOffset, - s = void 0 === a ? 0 : a, - f = A(t, { - boundary: n.boundary, - rootBoundary: n.rootBoundary, - padding: n.padding, - altBoundary: n.altBoundary - }); - n = x(t.placement); - var p = L(t.placement), - c = !p, - l = M(n); - n = "x" === l ? "y" : "x", a = t.modifiersData.popperOffsets; - var u = t.rects.reference, - h = t.rects.popper, - m = "function" == typeof s ? s(Object.assign({}, t.rects, { - placement: t.placement - })) : s; - - if (s = { - x: 0, - y: 0 - }, a) { - if (r || i) { - var v = "y" === l ? "top" : "left", - g = "y" === l ? "bottom" : "right", - y = "y" === l ? "height" : "width", - w = a[l], - O = a[l] + f[v], - j = a[l] - f[g], - E = o ? -h[y] / 2 : 0, - D = "start" === p ? u[y] : h[y]; - p = "start" === p ? -h[y] : -u[y], h = t.elements.arrow, h = o && h ? d(h) : { - width: 0, - height: 0 - }; - var P = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : { - top: 0, - right: 0, - bottom: 0, - left: 0 - }; - v = P[v], g = P[g], h = z(0, F(u[y], h[y])), D = c ? u[y] / 2 - E - h - v - m : D - h - v - m, u = c ? -u[y] / 2 + E + h + g + m : p + h + g + m, c = t.elements.arrow && b(t.elements.arrow), m = t.modifiersData.offset ? t.modifiersData.offset[t.placement][l] : 0, c = a[l] + D - m - (c ? "y" === l ? c.clientTop || 0 : c.clientLeft || 0 : 0), u = a[l] + u - m, r && (r = o ? F(O, c) : O, j = o ? z(j, u) : j, r = z(r, F(w, j)), a[l] = r, s[l] = r - w), i && (r = (i = a[n]) + f["x" === l ? "top" : "left"], f = i - f["x" === l ? "bottom" : "right"], r = o ? F(r, c) : r, o = o ? z(f, u) : f, o = z(r, F(i, o)), a[n] = o, s[n] = o - i); - } - - t.modifiersData[e] = s; - } - }, - requiresIfExists: ["offset"] - }, - ie = { - name: "arrow", - enabled: !0, - phase: "main", - fn: function fn(e) { - var t, - n = e.state, - o = e.name, - r = e.options, - i = n.elements.arrow, - a = n.modifiersData.popperOffsets, - s = x(n.placement); - - if (e = M(s), s = 0 <= ["left", "right"].indexOf(s) ? "height" : "width", i && a) { - r = k("number" != typeof (r = "function" == typeof (r = r.padding) ? r(Object.assign({}, n.rects, { - placement: n.placement - })) : r) ? r : W(r, V)); - var f = d(i), - p = "y" === e ? "top" : "left", - c = "y" === e ? "bottom" : "right", - l = n.rects.reference[s] + n.rects.reference[e] - a[e] - n.rects.popper[s]; - a = a[e] - n.rects.reference[e], a = (i = (i = b(i)) ? "y" === e ? i.clientHeight || 0 : i.clientWidth || 0 : 0) / 2 - f[s] / 2 + (l / 2 - a / 2), s = z(r[p], F(a, i - f[s] - r[c])), n.modifiersData[o] = ((t = {})[e] = s, t.centerOffset = s - a, t); - } - }, - effect: function effect(e) { - var t = e.state; - - if (null != (e = void 0 === (e = e.options.element) ? "[data-popper-arrow]" : e)) { - if ("string" == typeof e && !(e = t.elements.popper.querySelector(e))) return; - O(t.elements.popper, e) && (t.elements.arrow = e); - } - }, - requires: ["popperOffsets"], - requiresIfExists: ["preventOverflow"] - }, - ae = { - name: "hide", - enabled: !0, - phase: "main", - requiresIfExists: ["preventOverflow"], - fn: function fn(e) { - var t = e.state; - e = e.name; - var n = t.rects.reference, - o = t.rects.popper, - r = t.modifiersData.preventOverflow, - i = A(t, { - elementContext: "reference" - }), - a = A(t, { - altBoundary: !0 - }); - n = C(i, n), o = C(a, o, r), r = q(n), a = q(o), t.modifiersData[e] = { - referenceClippingOffsets: n, - popperEscapeOffsets: o, - isReferenceHidden: r, - hasPopperEscaped: a - }, t.attributes.popper = Object.assign({}, t.attributes.popper, { - "data-popper-reference-hidden": r, - "data-popper-escaped": a - }); - } - }, - se = H({ - defaultModifiers: [J, K, Z, $] - }), - fe = [J, K, Z, $, ee, oe, re, ie, ae], - pe = H({ - defaultModifiers: fe - }); - - e.applyStyles = $, e.arrow = ie, e.computeStyles = Z, e.createPopper = pe, e.createPopperLite = se, e.defaultModifiers = fe, e.detectOverflow = A, e.eventListeners = J, e.flip = oe, e.hide = ae, e.offset = ee, e.popperGenerator = H, e.popperOffsets = K, e.preventOverflow = re, Object.defineProperty(e, "__esModule", { - value: !0 - }); -}); -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/**! -* tippy.js v6.3.1 -* (c) 2017-2021 atomiks -* MIT License -*/ -(function (global, factory) { - (typeof exports === "undefined" ? "undefined" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core')) : typeof define === 'function' && define.amd ? define(['@popperjs/core'], factory) : (global = global || self, global.tippy = factory(global.Popper)); -})(void 0, function (core) { - 'use strict'; - - var css = ".tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\"\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}"; - - function injectCSS(css) { - var style = document.createElement('style'); - style.textContent = css; - style.setAttribute('data-tippy-stylesheet', ''); - var head = document.head; - var firstStyleOrLinkTag = document.querySelector('head>style,head>link'); - - if (firstStyleOrLinkTag) { - head.insertBefore(style, firstStyleOrLinkTag); - } else { - head.appendChild(style); - } - } - - var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; - var ua = isBrowser ? navigator.userAgent : ''; - var isIE = /MSIE |Trident\//.test(ua); - var ROUND_ARROW = ''; - var BOX_CLASS = "tippy-box"; - var CONTENT_CLASS = "tippy-content"; - var BACKDROP_CLASS = "tippy-backdrop"; - var ARROW_CLASS = "tippy-arrow"; - var SVG_ARROW_CLASS = "tippy-svg-arrow"; - var TOUCH_OPTIONS = { - passive: true, - capture: true - }; - - function hasOwnProperty(obj, key) { - return {}.hasOwnProperty.call(obj, key); - } - - function getValueAtIndexOrReturn(value, index, defaultValue) { - if (Array.isArray(value)) { - var v = value[index]; - return v == null ? Array.isArray(defaultValue) ? defaultValue[index] : defaultValue : v; - } - - return value; - } - - function isType(value, type) { - var str = {}.toString.call(value); - return str.indexOf('[object') === 0 && str.indexOf(type + "]") > -1; - } - - function invokeWithArgsOrReturn(value, args) { - return typeof value === 'function' ? value.apply(void 0, args) : value; - } - - function debounce(fn, ms) { - // Avoid wrapping in `setTimeout` if ms is 0 anyway - if (ms === 0) { - return fn; - } - - var timeout; - return function (arg) { - clearTimeout(timeout); - timeout = setTimeout(function () { - fn(arg); - }, ms); - }; - } - - function removeProperties(obj, keys) { - var clone = Object.assign({}, obj); - keys.forEach(function (key) { - delete clone[key]; - }); - return clone; - } - - function splitBySpaces(value) { - return value.split(/\s+/).filter(Boolean); - } - - function normalizeToArray(value) { - return [].concat(value); - } - - function pushIfUnique(arr, value) { - if (arr.indexOf(value) === -1) { - arr.push(value); - } - } - - function unique(arr) { - return arr.filter(function (item, index) { - return arr.indexOf(item) === index; - }); - } - - function getBasePlacement(placement) { - return placement.split('-')[0]; - } - - function arrayFrom(value) { - return [].slice.call(value); - } - - function removeUndefinedProps(obj) { - return Object.keys(obj).reduce(function (acc, key) { - if (obj[key] !== undefined) { - acc[key] = obj[key]; - } - - return acc; - }, {}); - } - - function div() { - return document.createElement('div'); - } - - function isElement(value) { - return ['Element', 'Fragment'].some(function (type) { - return isType(value, type); - }); - } - - function isNodeList(value) { - return isType(value, 'NodeList'); - } - - function isMouseEvent(value) { - return isType(value, 'MouseEvent'); - } - - function isReferenceElement(value) { - return !!(value && value._tippy && value._tippy.reference === value); - } - - function getArrayOfElements(value) { - if (isElement(value)) { - return [value]; - } - - if (isNodeList(value)) { - return arrayFrom(value); - } - - if (Array.isArray(value)) { - return value; - } - - return arrayFrom(document.querySelectorAll(value)); - } - - function setTransitionDuration(els, value) { - els.forEach(function (el) { - if (el) { - el.style.transitionDuration = value + "ms"; - } - }); - } - - function setVisibilityState(els, state) { - els.forEach(function (el) { - if (el) { - el.setAttribute('data-state', state); - } - }); - } - - function getOwnerDocument(elementOrElements) { - var _element$ownerDocumen; - - var _normalizeToArray = normalizeToArray(elementOrElements), - element = _normalizeToArray[0]; // Elements created via a