From 09ec292194948296e9e76f7308c10e6ce098d6d5 Mon Sep 17 00:00:00 2001 From: Vermaas <vermaas@astron.nl> Date: Mon, 4 Mar 2024 08:35:36 +0100 Subject: [PATCH] update static --- atdb/atdb/settings/dev.py | 4 +- atdb/atdb/static/admin/css/base.css | 398 +- atdb/atdb/static/admin/css/changelists.css | 157 +- atdb/atdb/static/admin/css/dashboard.css | 3 + atdb/atdb/static/admin/css/forms.css | 117 +- atdb/atdb/static/admin/css/login.css | 3 +- atdb/atdb/static/admin/css/responsive.css | 137 +- atdb/atdb/static/admin/css/responsive_rtl.css | 6 +- atdb/atdb/static/admin/css/rtl.css | 111 +- atdb/atdb/static/admin/css/widgets.css | 135 +- atdb/atdb/static/admin/js/SelectBox.js | 4 + atdb/atdb/static/admin/js/SelectFilter2.js | 130 +- atdb/atdb/static/admin/js/actions.js | 44 +- .../admin/js/admin/DateTimeShortcuts.js | 13 +- .../admin/js/admin/RelatedObjectLookups.js | 99 +- atdb/atdb/static/admin/js/autocomplete.js | 42 +- atdb/atdb/static/admin/js/calendar.js | 20 +- atdb/atdb/static/admin/js/core.js | 20 +- atdb/atdb/static/admin/js/inlines.js | 33 +- atdb/atdb/static/admin/js/prepopulate_init.js | 6 +- atdb/atdb/static/admin/js/urlify.js | 3 +- .../static/admin/js/vendor/jquery/LICENSE.txt | 2 +- .../static/admin/js/vendor/jquery/jquery.js | 2264 ++-- .../admin/js/vendor/jquery/jquery.min.js | 4 +- .../admin/js/vendor/xregexp/LICENSE.txt | 2 +- .../static/admin/js/vendor/xregexp/xregexp.js | 9070 ++++++++++------- .../admin/js/vendor/xregexp/xregexp.min.js | 177 +- .../css/bootstrap-theme.min.css | 4 +- .../rest_framework/css/bootstrap.min.css | 4 +- .../static/rest_framework/css/default.css | 2 +- .../static/rest_framework/docs/css/base.css | 6 +- .../atdb/static/rest_framework/docs/js/api.js | 8 +- .../ATDB-LDV Workflow Diagram.png | Bin 347791 -> 349451 bytes .../taskdatabase/graphs/status_graph.html | 13 + .../graphs/status_graph_input_form.html | 24 + .../templates/taskdatabase/index.html | 2 +- atdb/taskdatabase/urls.py | 1 + atdb/taskdatabase/views.py | 58 +- 38 files changed, 7385 insertions(+), 5741 deletions(-) create mode 100644 atdb/taskdatabase/templates/taskdatabase/graphs/status_graph.html create mode 100644 atdb/taskdatabase/templates/taskdatabase/graphs/status_graph_input_form.html diff --git a/atdb/atdb/settings/dev.py b/atdb/atdb/settings/dev.py index 7174497c..fb537d01 100644 --- a/atdb/atdb/settings/dev.py +++ b/atdb/atdb/settings/dev.py @@ -13,8 +13,8 @@ DATABASES = { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'USER': 'atdb_admin', 'PASSWORD': 'atdb123', - #'NAME': 'atdb_ldv_19jan2024', - 'NAME': 'atdb_ldv_17feb2024', + 'NAME': 'atdb_ldv_1mar2024', + #'NAME': 'atdb_ldv_17feb2024', 'HOST': 'localhost', 'PORT': '5432', }, diff --git a/atdb/atdb/static/admin/css/base.css b/atdb/atdb/static/admin/css/base.css index 1cb3acdb..8a2837a5 100644 --- a/atdb/atdb/static/admin/css/base.css +++ b/atdb/atdb/static/admin/css/base.css @@ -2,93 +2,88 @@ DJANGO Admin styles */ -@import url(fonts.css); - /* VARIABLE DEFINITIONS */ +html[data-theme="light"], :root { - --primary: #79aec8; - --secondary: #417690; - --accent: #f5dd5d; - --primary-fg: #fff; - - --body-fg: #333; - --body-bg: #fff; - --body-quiet-color: #666; - --body-loud-color: #000; - - --header-color: #ffc; - --header-branding-color: var(--accent); - --header-bg: var(--secondary); - --header-link-color: var(--primary-fg); - - --breadcrumbs-fg: #c4dce8; - --breadcrumbs-link-fg: var(--body-bg); - --breadcrumbs-bg: var(--primary); - - --link-fg: #447e9b; - --link-hover-color: #036; - --link-selected-fg: #5b80b2; - - --hairline-color: #e8e8e8; - --border-color: #ccc; - - --error-fg: #ba2121; - - --message-success-bg: #dfd; - --message-warning-bg: #ffc; - --message-error-bg: #ffefef; - - --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */ - --selected-bg: #e4e4e4; /* E.g. selected table cells */ - --selected-row: #ffc; - - --button-fg: #fff; - --button-bg: var(--primary); - --button-hover-bg: #609ab6; - --default-button-bg: var(--secondary); - --default-button-hover-bg: #205067; - --close-button-bg: #888; /* Previously #bbb, contrast 1.92 */ - --close-button-hover-bg: #747474; - --delete-button-bg: #ba2121; - --delete-button-hover-bg: #a41515; - - --object-tools-fg: var(--button-fg); - --object-tools-bg: var(--close-button-bg); - --object-tools-hover-bg: var(--close-button-hover-bg); -} - -@media (prefers-color-scheme: dark) { - :root { - --primary: #264b5d; - --primary-fg: #eee; - - --body-fg: #eeeeee; - --body-bg: #121212; - --body-quiet-color: #e0e0e0; - --body-loud-color: #ffffff; - - --breadcrumbs-link-fg: #e0e0e0; - --breadcrumbs-bg: var(--primary); - - --link-fg: #81d4fa; - --link-hover-color: #4ac1f7; - --link-selected-fg: #6f94c6; - - --hairline-color: #272727; - --border-color: #353535; - - --error-fg: #e35f5f; - --message-success-bg: #006b1b; - --message-warning-bg: #583305; - --message-error-bg: #570808; - - --darkened-bg: #212121; - --selected-bg: #1b1b1b; - --selected-row: #00363a; - - --close-button-bg: #333333; - --close-button-hover-bg: #666666; - } + --primary: #79aec8; + --secondary: #417690; + --accent: #f5dd5d; + --primary-fg: #fff; + + --body-fg: #333; + --body-bg: #fff; + --body-quiet-color: #666; + --body-loud-color: #000; + + --header-color: #ffc; + --header-branding-color: var(--accent); + --header-bg: var(--secondary); + --header-link-color: var(--primary-fg); + + --breadcrumbs-fg: #c4dce8; + --breadcrumbs-link-fg: var(--body-bg); + --breadcrumbs-bg: #264b5d; + + --link-fg: #417893; + --link-hover-color: #036; + --link-selected-fg: var(--secondary); + + --hairline-color: #e8e8e8; + --border-color: #ccc; + + --error-fg: #ba2121; + + --message-success-bg: #dfd; + --message-warning-bg: #ffc; + --message-error-bg: #ffefef; + + --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */ + --selected-bg: #e4e4e4; /* E.g. selected table cells */ + --selected-row: #ffc; + + --button-fg: #fff; + --button-bg: var(--secondary); + --button-hover-bg: #205067; + --default-button-bg: #205067; + --default-button-hover-bg: var(--secondary); + --close-button-bg: #747474; + --close-button-hover-bg: #333; + --delete-button-bg: #ba2121; + --delete-button-hover-bg: #a41515; + + --object-tools-fg: var(--button-fg); + --object-tools-bg: var(--close-button-bg); + --object-tools-hover-bg: var(--close-button-hover-bg); + + --font-family-primary: + "Segoe UI", + system-ui, + Roboto, + "Helvetica Neue", + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; + --font-family-monospace: + ui-monospace, + Menlo, + Monaco, + "Cascadia Mono", + "Segoe UI Mono", + "Roboto Mono", + "Oxygen Mono", + "Ubuntu Monospace", + "Source Code Pro", + "Fira Mono", + "Droid Sans Mono", + "Courier New", + monospace, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; } html, body { @@ -98,8 +93,8 @@ html, body { body { margin: 0; padding: 0; - font-size: 14px; - font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; + font-size: 0.875rem; + font-family: var(--font-family-primary); color: var(--body-fg); background: var(--body-bg); } @@ -107,7 +102,7 @@ body { /* LINKS */ a:link, a:visited { - color: var(--link-fg); + color: var(--body-fg); text-decoration: none; transition: color 0.15s, background 0.15s; } @@ -151,12 +146,12 @@ h1,h2,h3,h4,h5 { h1 { margin: 0 0 20px; font-weight: 300; - font-size: 20px; + font-size: 1.25rem; color: var(--body-quiet-color); } h2 { - font-size: 16px; + font-size: 1rem; margin: 1em 0 .5em 0; } @@ -166,20 +161,20 @@ h2.subhead { } h3 { - font-size: 14px; + font-size: 0.875rem; margin: .8em 0 .3em 0; color: var(--body-quiet-color); font-weight: bold; } h4 { - font-size: 12px; + font-size: 0.75rem; margin: 1em 0 .8em 0; padding-bottom: 3px; } h5 { - font-size: 10px; + font-size: 0.625rem; margin: 1.5em 0 .5em 0; color: var(--body-quiet-color); text-transform: uppercase; @@ -196,8 +191,8 @@ li ul { } li, dt, dd { - font-size: 13px; - line-height: 20px; + font-size: 0.8125rem; + line-height: 1.25rem; } dt { @@ -223,7 +218,7 @@ fieldset { } blockquote { - font-size: 11px; + font-size: 0.6875rem; color: #777; margin-left: 2px; padding-left: 10px; @@ -231,9 +226,9 @@ blockquote { } code, pre { - font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; + font-family: var(--font-family-monospace); color: var(--body-quiet-color); - font-size: 12px; + font-size: 0.75rem; overflow-x: auto; } @@ -255,22 +250,21 @@ hr { border: none; margin: 0; padding: 0; - font-size: 1px; line-height: 1px; } /* TEXT STYLES & MODIFIERS */ .small { - font-size: 11px; + font-size: 0.6875rem; } .mini { - font-size: 10px; + font-size: 0.625rem; } .help, p.help, form p.help, div.help, form div.help, div.help li { - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -300,7 +294,7 @@ p img, h1 img, h2 img, h3 img, h4 img, td img { } .hidden { - display: none; + display: none !important; } /* TABLES */ @@ -311,8 +305,8 @@ table { } td, th { - font-size: 13px; - line-height: 16px; + font-size: 0.8125rem; + line-height: 1rem; border-bottom: 1px solid var(--hairline-color); vertical-align: top; padding: 8px; @@ -327,7 +321,7 @@ thead th, tfoot td { color: var(--body-quiet-color); padding: 5px 10px; - font-size: 11px; + font-size: 0.6875rem; background: var(--body-bg); border: none; border-top: 1px solid var(--hairline-color); @@ -437,7 +431,7 @@ table thead th.sorted .sortoptions a.sortremove:after { top: -6px; left: 3px; font-weight: 200; - font-size: 18px; + font-size: 1.125rem; color: var(--body-quiet-color); } @@ -476,9 +470,9 @@ input, textarea, select, .form-row p, form .button { margin: 2px 0; padding: 2px 3px; vertical-align: middle; - font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; + font-family: var(--font-family-primary); font-weight: normal; - font-size: 13px; + font-size: 0.8125rem; } .form-row div.help { padding: 2px 3px; @@ -505,7 +499,7 @@ textarea:focus, select:focus, .vTextField:focus { } select { - height: 30px; + height: 1.875rem; } select[multiple] { @@ -541,7 +535,6 @@ a.button { } .button.default, input[type=submit].default, .submit-row input.default { - float: right; border: none; font-weight: 400; background: var(--default-button-bg); @@ -589,15 +582,15 @@ input[type=button][disabled].default { margin: 0; padding: 8px; font-weight: 400; - font-size: 13px; + font-size: 0.8125rem; text-align: left; - background: var(--primary); + background: var(--header-bg); color: var(--header-link-color); } .module caption, .inline-group h2 { - font-size: 12px; + font-size: 0.75rem; letter-spacing: 0.5px; text-transform: uppercase; } @@ -616,12 +609,13 @@ ul.messagelist { ul.messagelist li { display: block; font-weight: 400; - font-size: 13px; + font-size: 0.8125rem; padding: 10px 10px 10px 65px; margin: 0 0 10px 0; background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat; background-size: 16px auto; color: var(--body-fg); + word-break: break-word; } ul.messagelist li.warning { @@ -635,7 +629,7 @@ ul.messagelist li.error { } .errornote { - font-size: 14px; + font-size: 0.875rem; font-weight: 700; display: block; padding: 10px 12px; @@ -656,7 +650,7 @@ ul.errorlist { } ul.errorlist li { - font-size: 13px; + font-size: 0.8125rem; display: block; margin-bottom: 4px; overflow-wrap: break-word; @@ -697,7 +691,7 @@ td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { } .description { - font-size: 12px; + font-size: 0.75rem; padding: 5px 0 0 12px; } @@ -726,6 +720,11 @@ div.breadcrumbs a:focus, div.breadcrumbs a:hover { background: url(../img/icon-viewlink.svg) 0 1px no-repeat; } +.hidelink { + padding-left: 16px; + background: url(../img/icon-hidelink.svg) 0 1px no-repeat; +} + .addlink { padding-left: 16px; background: url(../img/icon-addlink.svg) 0 1px no-repeat; @@ -753,7 +752,7 @@ a.deletelink:focus, a.deletelink:hover { /* OBJECT TOOLS */ .object-tools { - font-size: 10px; + font-size: 0.625rem; font-weight: bold; padding-left: 0; float: right; @@ -765,7 +764,7 @@ a.deletelink:focus, a.deletelink:hover { display: block; float: left; margin-left: 5px; - height: 16px; + height: 1rem; } .object-tools a { @@ -779,7 +778,7 @@ a.deletelink:focus, a.deletelink:hover { background: var(--object-tools-bg); color: var(--object-tools-fg); font-weight: 400; - font-size: 11px; + font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.5px; } @@ -808,14 +807,21 @@ a.deletelink:focus, a.deletelink:hover { /* OBJECT HISTORY */ -table#change-history { +#change-history table { width: 100%; } -table#change-history tbody th { +#change-history table tbody th { width: 16em; } +#change-history .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + /* PAGE STRUCTURE */ #container { @@ -828,10 +834,6 @@ table#change-history tbody th { height: 100%; } -#container > div { - flex-shrink: 0; -} - #container > .main { display: flex; flex: 1 0 auto; @@ -842,6 +844,20 @@ table#change-history tbody th { max-width: 100%; } +.skip-to-content-link { + position: absolute; + top: -999px; + margin: 5px; + padding: 5px; + background: var(--body-bg); + z-index: 1; +} + +.skip-to-content-link:focus { + left: 0px; + top: 0px; +} + #content { padding: 20px 40px; } @@ -902,10 +918,9 @@ table#change-history tbody th { padding: 10px 40px; background: var(--header-bg); color: var(--header-color); - overflow: hidden; } -#header a:link, #header a:visited { +#header a:link, #header a:visited, #logout-form button { color: var(--header-link-color); } @@ -914,24 +929,25 @@ table#change-history tbody th { } #branding { - float: left; + display: flex; } -#branding h1 { +#site-name { padding: 0; - margin: 0 20px 0 0; + margin: 0; + margin-inline-end: 20px; font-weight: 300; - font-size: 24px; - color: var(--accent); + font-size: 1.5rem; + color: var(--header-branding-color); } -#branding h1, #branding h1 a:link, #branding h1 a:visited { +#site-name a:link, #site-name a:visited { color: var(--accent); } #branding h2 { padding: 0 10px; - font-size: 14px; + font-size: 0.875rem; margin: -8px 0 8px 0; font-weight: normal; color: var(--header-color); @@ -941,25 +957,43 @@ table#change-history tbody th { text-decoration: none; } +#logout-form { + display: inline; +} + +#logout-form button { + background: none; + border: 0; + cursor: pointer; + font-family: var(--font-family-primary); +} + #user-tools { float: right; - padding: 0; margin: 0 0 0 20px; + text-align: right; +} + +#user-tools, #logout-form button{ + padding: 0; font-weight: 300; - font-size: 11px; + font-size: 0.6875rem; letter-spacing: 0.5px; text-transform: uppercase; - text-align: right; } -#user-tools a { +#user-tools a, #logout-form button { border-bottom: 1px solid rgba(255, 255, 255, 0.25); } -#user-tools a:focus, #user-tools a:hover { +#user-tools a:focus, #user-tools a:hover, +#logout-form button:active, #logout-form button:hover { text-decoration: none; - border-bottom-color: var(--primary); - color: var(--primary); + border-bottom: 0; +} + +#logout-form button:active, #logout-form button:hover { + margin-bottom: 1px; } /* SIDEBAR */ @@ -979,7 +1013,7 @@ table#change-history tbody th { } #content-related h4 { - font-size: 13px; + font-size: 0.8125rem; } #content-related p { @@ -1003,7 +1037,7 @@ table#change-history tbody th { padding: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--hairline-color); - font-size: 18px; + font-size: 1.125rem; color: var(--body-fg); } @@ -1023,8 +1057,8 @@ table#change-history tbody th { .delete-confirmation form .cancel-link { display: inline-block; vertical-align: middle; - height: 15px; - line-height: 15px; + height: 0.9375rem; + line-height: 0.9375rem; border-radius: 4px; padding: 10px 15px; color: var(--button-fg); @@ -1050,3 +1084,73 @@ table#change-history tbody th { .popup #header { padding: 10px 20px; } + +/* PAGINATOR */ + +.paginator { + display: flex; + align-items: center; + gap: 4px; + font-size: 0.8125rem; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid var(--hairline-color); + width: 100%; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: var(--button-bg); + text-decoration: none; + color: var(--button-fg); +} + +.paginator a.showall { + border: none; + background: none; + color: var(--link-fg); +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: var(--link-hover-color); +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 0.8125rem; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: var(--link-hover-color); +} + +.paginator input { + margin-left: auto; +} + +.base-svgs { + display: none; +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + border: 0; + color: var(--body-fg); + background-color: var(--body-bg); +} diff --git a/atdb/atdb/static/admin/css/changelists.css b/atdb/atdb/static/admin/css/changelists.css index b4a15578..573c3896 100644 --- a/atdb/atdb/static/admin/css/changelists.css +++ b/atdb/atdb/static/admin/css/changelists.css @@ -84,18 +84,18 @@ #toolbar form input { border-radius: 4px; - font-size: 14px; + font-size: 0.875rem; padding: 5px; color: var(--body-fg); } #toolbar #searchbar { - height: 19px; + height: 1.1875rem; border: 1px solid var(--border-color); padding: 2px 5px; margin: 0; vertical-align: top; - font-size: 13px; + font-size: 0.8125rem; max-width: 100%; } @@ -105,7 +105,7 @@ #toolbar form input[type="submit"] { border: 1px solid var(--border-color); - font-size: 13px; + font-size: 0.8125rem; padding: 4px 8px; margin: 0; vertical-align: middle; @@ -125,6 +125,10 @@ margin-right: 4px; } +#changelist-search .help { + word-break: break-word; +} + /* FILTER COLUMN */ #changelist-filter { @@ -136,7 +140,7 @@ } #changelist-filter h2 { - font-size: 14px; + font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.5px; padding: 5px 15px; @@ -144,10 +148,34 @@ border-bottom: none; } -#changelist-filter h3 { +#changelist-filter h3, +#changelist-filter details summary { font-weight: 400; padding: 0 15px; margin-bottom: 10px; + cursor: pointer; +} + +#changelist-filter details summary > * { + display: inline; +} + +#changelist-filter details > summary { + list-style-type: none; +} + +#changelist-filter details > summary::-webkit-details-marker { + display: none; +} + +#changelist-filter details > summary::before { + content: '→'; + font-weight: bold; + color: var(--link-hover-color); +} + +#changelist-filter details[open] > summary::before { + content: '↓'; } #changelist-filter ul { @@ -169,8 +197,7 @@ #changelist-filter a { display: block; color: var(--body-quiet-color); - text-overflow: ellipsis; - overflow-x: hidden; + word-break: break-word; } #changelist-filter li.selected { @@ -189,84 +216,35 @@ color: var(--link-hover-color); } -#changelist-filter #changelist-filter-clear a { - font-size: 13px; - padding-bottom: 10px; +#changelist-filter #changelist-filter-extra-actions { + font-size: 0.8125rem; + margin-bottom: 10px; border-bottom: 1px solid var(--hairline-color); } /* DATE DRILLDOWN */ -.change-list ul.toplinks { - display: block; - float: left; - padding: 0; - margin: 0; - width: 100%; -} - -.change-list ul.toplinks li { - padding: 3px 6px; +.change-list .toplinks { + display: flex; + padding-bottom: 5px; + flex-wrap: wrap; + gap: 3px 17px; font-weight: bold; - list-style-type: none; - display: inline-block; } -.change-list ul.toplinks .date-back a { - color: var(--body-quiet-color); +.change-list .toplinks a { + font-size: 0.8125rem; } -.change-list ul.toplinks .date-back a:focus, -.change-list ul.toplinks .date-back a:hover { - color: var(--link-hover-color); -} - -/* PAGINATOR */ - -.paginator { - font-size: 13px; - padding-top: 10px; - padding-bottom: 10px; - line-height: 22px; - margin: 0; - border-top: 1px solid var(--hairline-color); - width: 100%; -} - -.paginator a:link, .paginator a:visited { - padding: 2px 6px; - background: var(--button-bg); - text-decoration: none; - color: var(--button-fg); -} - -.paginator a.showall { - border: none; - background: none; - color: var(--link-fg); +.change-list .toplinks .date-back { + color: var(--body-quiet-color); } -.paginator a.showall:focus, .paginator a.showall:hover { - background: none; +.change-list .toplinks .date-back:focus, +.change-list .toplinks .date-back:hover { color: var(--link-hover-color); } -.paginator .end { - margin-right: 6px; -} - -.paginator .this-page { - padding: 2px 6px; - font-weight: bold; - font-size: 13px; - vertical-align: top; -} - -.paginator a:focus, .paginator a:hover { - color: white; - background: var(--link-hover-color); -} - /* ACTIONS */ .filtered .actions { @@ -278,31 +256,40 @@ vertical-align: baseline; } -#changelist table tbody tr.selected { +/* Once the :has() pseudo-class is supported by all browsers, the tr.selected + selector and the JS adding the class can be removed. */ +#changelist tbody tr.selected { background-color: var(--selected-row); } +#changelist tbody tr:has(.action-select:checked) { + background-color: var(--selected-row); +} + +@media (forced-colors: active) { + #changelist tbody tr.selected { + background-color: SelectedItem; + } + #changelist tbody tr:has(.action-select:checked) { + background-color: SelectedItem; + } +} + #changelist .actions { padding: 10px; background: var(--body-bg); border-top: none; border-bottom: none; - line-height: 24px; + line-height: 1.5rem; color: var(--body-quiet-color); width: 100%; } -#changelist .actions.selected { /* XXX Probably unused? */ - background: var(--body-bg); - border-top: 1px solid var(--body-bg); - border-bottom: 1px solid #edecd6; -} - #changelist .actions span.all, #changelist .actions span.action-counter, #changelist .actions span.clear, #changelist .actions span.question { - font-size: 13px; + font-size: 0.8125rem; margin: 0 0.5em; } @@ -312,11 +299,11 @@ #changelist .actions select { vertical-align: top; - height: 24px; + height: 1.5rem; color: var(--body-fg); border: 1px solid var(--border-color); border-radius: 4px; - font-size: 14px; + font-size: 0.875rem; padding: 0 0 0 4px; margin: 0; margin-left: 10px; @@ -329,17 +316,17 @@ #changelist .actions label { display: inline-block; vertical-align: middle; - font-size: 13px; + font-size: 0.8125rem; } #changelist .actions .button { - font-size: 13px; + font-size: 0.8125rem; border: 1px solid var(--border-color); border-radius: 4px; background: var(--body-bg); box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; cursor: pointer; - height: 24px; + height: 1.5rem; line-height: 1; padding: 4px 8px; margin: 0; diff --git a/atdb/atdb/static/admin/css/dashboard.css b/atdb/atdb/static/admin/css/dashboard.css index 91d6efde..242b81a4 100644 --- a/atdb/atdb/static/admin/css/dashboard.css +++ b/atdb/atdb/static/admin/css/dashboard.css @@ -1,4 +1,7 @@ /* DASHBOARD */ +.dashboard td, .dashboard th { + word-break: break-word; +} .dashboard .module table th { width: 100%; diff --git a/atdb/atdb/static/admin/css/forms.css b/atdb/atdb/static/admin/css/forms.css index 89b22701..6cfe9da1 100644 --- a/atdb/atdb/static/admin/css/forms.css +++ b/atdb/atdb/static/admin/css/forms.css @@ -5,7 +5,7 @@ .form-row { overflow: hidden; padding: 10px; - font-size: 13px; + font-size: 0.8125rem; border-bottom: 1px solid var(--hairline-color); } @@ -22,12 +22,20 @@ form .form-row p { padding-left: 0; } +.flex-container { + display: flex; +} + +.form-multiline > div { + padding-bottom: 10px; +} + /* FORM LABELS */ label { font-weight: normal; color: var(--body-quiet-color); - font-size: 13px; + font-size: 0.8125rem; } .required label, label.required { @@ -37,16 +45,19 @@ label { /* RADIO BUTTONS */ -form ul.radiolist li { - list-style-type: none; +form div.radiolist div { + padding-right: 7px; } -form ul.radiolist label { - float: none; - display: inline; +form div.radiolist.inline div { + display: inline-block; +} + +form div.radiolist label { + width: auto; } -form ul.radiolist input[type="radio"] { +form div.radiolist input[type="radio"] { margin: -2px 4px 0 0; padding: 0; } @@ -66,7 +77,7 @@ form ul.inline li { .aligned label { display: block; padding: 4px 10px 0 0; - float: left; + min-width: 160px; width: 160px; word-wrap: break-word; line-height: 1; @@ -76,14 +87,15 @@ form ul.inline li { content: ''; display: inline-block; vertical-align: middle; - height: 26px; + height: 1.625rem; } -.aligned label + p, .aligned label + div.help, .aligned label + div.readonly { +.aligned label + p, .aligned .checkbox-row + div.help, .aligned label + div.readonly { padding: 6px 0; margin-top: 0; margin-bottom: 0; - margin-left: 170px; + margin-left: 0; + overflow-wrap: break-word; } .aligned ul label { @@ -105,7 +117,7 @@ form .aligned ul { padding-left: 10px; } -form .aligned ul.radiolist { +form .aligned div.radiolist { display: inline-block; margin: 0; padding: 0; @@ -113,16 +125,17 @@ form .aligned ul.radiolist { form .aligned p.help, form .aligned div.help { - clear: left; margin-top: 0; margin-left: 160px; padding-left: 10px; } -form .aligned label + p.help, -form .aligned label + div.help { +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { margin-left: 0; padding-left: 0; + font-weight: normal; } form .aligned p.help:last-child, @@ -167,14 +180,7 @@ form .aligned table p { width: 610px; } -.checkbox-row p.help, -.checkbox-row div.help { - margin-left: 0; - padding-left: 0; -} - fieldset .fieldBox { - float: left; margin-right: 20px; } @@ -185,6 +191,7 @@ fieldset .fieldBox { } form .wide p, +form .wide ul.errorlist, form .wide input + p.help, form .wide input + div.help { margin-left: 200px; @@ -192,7 +199,7 @@ form .wide input + div.help { form .wide p.help, form .wide div.help { - padding-left: 38px; + padding-left: 50px; } form div.help ul { @@ -238,19 +245,21 @@ fieldset.collapsed .collapse-toggle { /* MONOSPACE TEXTAREAS */ fieldset.monospace textarea { - font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; + font-family: var(--font-family-monospace); } /* SUBMIT ROW */ .submit-row { - padding: 12px 14px; + padding: 12px 14px 12px; margin: 0 0 20px; background: var(--darkened-bg); border: 1px solid var(--hairline-color); border-radius: 4px; - text-align: right; overflow: hidden; + display: flex; + gap: 10px; + flex-wrap: wrap; } body.popup .submit-row { @@ -258,32 +267,29 @@ body.popup .submit-row { } .submit-row input { - height: 35px; - line-height: 15px; - margin: 0 0 0 5px; + height: 2.1875rem; + line-height: 0.9375rem; } -.submit-row input.default { - margin: 0 0 0 8px; - text-transform: uppercase; +.submit-row input, .submit-row a { + margin: 0; } -.submit-row p { - margin: 0.3em; +.submit-row input.default { + text-transform: uppercase; } -.submit-row p.deletelink-box { - float: left; - margin: 0; +.submit-row a.deletelink { + margin-left: auto; } .submit-row a.deletelink { display: block; background: var(--delete-button-bg); border-radius: 4px; - padding: 10px 15px; - height: 15px; - line-height: 15px; + padding: 0.625rem 0.9375rem; + height: 0.9375rem; + line-height: 0.9375rem; color: var(--button-fg); } @@ -292,9 +298,8 @@ body.popup .submit-row { background: var(--close-button-bg); border-radius: 4px; padding: 10px 15px; - height: 15px; - line-height: 15px; - margin: 0 0 0 5px; + height: 0.9375rem; + line-height: 0.9375rem; color: var(--button-fg); } @@ -302,12 +307,14 @@ body.popup .submit-row { .submit-row a.deletelink:hover, .submit-row a.deletelink:active { background: var(--delete-button-hover-bg); + text-decoration: none; } .submit-row a.closelink:focus, .submit-row a.closelink:hover, .submit-row a.closelink:active { background: var(--close-button-hover-bg); + text-decoration: none; } /* CUSTOM FORM FIELDS */ @@ -349,10 +356,6 @@ body.popup .submit-row { width: 2.2em; } -.vTextField, .vUUIDField { - width: 20em; -} - .vIntegerField { width: 5em; } @@ -365,6 +368,10 @@ body.popup .submit-row { width: 5em; } +.vTextField, .vUUIDField { + width: 20em; +} + /* INLINES */ .inline-group { @@ -388,7 +395,7 @@ body.popup .submit-row { margin: 0; color: var(--body-quiet-color); padding: 5px; - font-size: 13px; + font-size: 0.8125rem; background: var(--darkened-bg); border-top: 1px solid var(--hairline-color); border-bottom: 1px solid var(--hairline-color); @@ -400,7 +407,7 @@ body.popup .submit-row { .inline-related h3 span.delete label { margin-left: 2px; - font-size: 11px; + font-size: 0.6875rem; } .inline-related fieldset { @@ -413,7 +420,7 @@ body.popup .submit-row { .inline-related fieldset.module h3 { margin: 0; padding: 2px 5px 3px 5px; - font-size: 11px; + font-size: 0.6875rem; text-align: left; font-weight: bold; background: #bcd; @@ -454,7 +461,7 @@ body.popup .submit-row { height: 1.1em; padding: 2px 9px; overflow: hidden; - font-size: 9px; + font-size: 0.5625rem; font-weight: bold; color: var(--body-quiet-color); _width: 700px; @@ -489,7 +496,7 @@ body.popup .submit-row { .inline-group .tabular tr.add-row td a { background: url(../img/icon-addlink.svg) 0 1px no-repeat; padding-left: 16px; - font-size: 12px; + font-size: 0.75rem; } .empty-form { @@ -507,8 +514,8 @@ body.popup .submit-row { } .related-lookup { - width: 16px; - height: 16px; + width: 1rem; + height: 1rem; background-image: url(../img/search.svg); } diff --git a/atdb/atdb/static/admin/css/login.css b/atdb/atdb/static/admin/css/login.css index 10d9d220..389772f5 100644 --- a/atdb/atdb/static/admin/css/login.css +++ b/atdb/atdb/static/admin/css/login.css @@ -12,7 +12,8 @@ } .login #header h1 { - font-size: 18px; + font-size: 1.125rem; + margin: 0; } .login #header h1 a { diff --git a/atdb/atdb/static/admin/css/responsive.css b/atdb/atdb/static/admin/css/responsive.css index 8c6dd810..bb539456 100644 --- a/atdb/atdb/static/admin/css/responsive.css +++ b/atdb/atdb/static/admin/css/responsive.css @@ -14,11 +14,11 @@ input[type="submit"], button { td, th { padding: 10px; - font-size: 14px; + font-size: 0.875rem; } .small { - font-size: 12px; + font-size: 0.75rem; } /* Layout */ @@ -28,7 +28,7 @@ input[type="submit"], button { } #content { - padding: 20px 30px 30px; + padding: 15px 20px 20px; } div.breadcrumbs { @@ -43,9 +43,8 @@ input[type="submit"], button { justify-content: flex-start; } - #branding h1 { + #site-name { margin: 0 0 8px; - font-size: 20px; line-height: 1.2; } @@ -88,7 +87,7 @@ input[type="submit"], button { } td .changelink, td .addlink { - font-size: 13px; + font-size: 0.8125rem; } /* Changelist */ @@ -105,13 +104,13 @@ input[type="submit"], button { } #changelist-search label { - line-height: 22px; + line-height: 1.375rem; } #toolbar form #searchbar { flex: 1 0 auto; width: 0; - height: 22px; + height: 1.375rem; margin: 0 10px 0 6px; } @@ -131,10 +130,6 @@ input[type="submit"], button { padding: 15px 0; } - #changelist .actions.selected { - border: none; - } - #changelist .actions label { display: flex; } @@ -152,7 +147,7 @@ input[type="submit"], button { #changelist .actions span.clear, #changelist .actions span.question, #changelist .actions span.action-counter { - font-size: 11px; + font-size: 0.6875rem; margin: 0 10px 0 0; } @@ -176,7 +171,7 @@ input[type="submit"], button { /* Forms */ label { - font-size: 14px; + font-size: 0.875rem; } .form-row input[type=text], @@ -191,12 +186,12 @@ input[type="submit"], button { box-sizing: border-box; margin: 0; padding: 6px 8px; - min-height: 36px; - font-size: 14px; + min-height: 2.25rem; + font-size: 0.875rem; } .form-row select { - height: 36px; + height: 2.25rem; } .form-row select[multiple] { @@ -204,12 +199,6 @@ input[type="submit"], button { min-height: 0; } - fieldset .fieldBox { - float: none; - margin: 0 -10px; - padding: 0 10px; - } - fieldset .fieldBox + .fieldBox { margin-top: 10px; padding-top: 10px; @@ -232,24 +221,20 @@ input[type="submit"], button { margin-left: 15px; } - form .aligned ul.radiolist { + form .aligned div.radiolist { margin-left: 2px; } - /* Related widget */ - - .related-widget-wrapper { - float: none; + .submit-row { + padding: 8px; } - .related-widget-wrapper-link + .selector { - max-width: calc(100% - 30px); - margin-right: 15px; + .submit-row a.deletelink { + padding: 10px 7px; } - select + .related-widget-wrapper-link, - .related-widget-wrapper-link + .related-widget-wrapper-link { - margin-left: 10px; + .button, input[type=submit], input[type=button], .submit-row input, a.button { + padding: 7px; } /* Selector */ @@ -269,7 +254,7 @@ input[type="submit"], button { } .selector .selector-filter input { - width: auto; + width: 100%; min-height: 0; flex: 1 1; } @@ -291,7 +276,6 @@ input[type="submit"], button { width: 26px; height: 52px; padding: 2px 0; - margin: auto 15px; border-radius: 20px; transform: translateY(-10px); } @@ -335,7 +319,6 @@ input[type="submit"], button { width: 52px; height: 26px; padding: 0 2px; - margin: 15px auto; transform: none; } @@ -383,22 +366,18 @@ input[type="submit"], button { display: none; } - form .form-row p.datetime { - width: 100%; - } - .datetime input { width: 50%; max-width: 120px; } .datetime span { - font-size: 13px; + font-size: 0.8125rem; } .datetime .timezonewarning { display: block; - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -435,7 +414,7 @@ input[type="submit"], button { padding: 15px 20px; } - .login #branding h1 { + .login #site-name { margin: 0; } @@ -496,7 +475,7 @@ input[type="submit"], button { #content-related .module h2 { padding: 10px 15px; - font-size: 16px; + font-size: 1rem; } /* Changelist */ @@ -557,8 +536,6 @@ input[type="submit"], button { .aligned .form-row, .aligned .form-row > div { - display: flex; - flex-wrap: wrap; max-width: 100vw; } @@ -566,6 +543,14 @@ input[type="submit"], button { width: calc(100vw - 30px); } + .flex-container { + flex-flow: column; + } + + .flex-container.checkbox-row { + flex-flow: row; + } + textarea { max-width: none; } @@ -585,6 +570,7 @@ input[type="submit"], button { .aligned label { width: 100%; + min-width: auto; padding: 0 0 10px; } @@ -599,10 +585,6 @@ input[type="submit"], button { max-width: 100%; } - .aligned .checkbox-row { - align-items: center; - } - .aligned .checkbox-row input { flex: 0 1 auto; margin: 0; @@ -621,8 +603,7 @@ input[type="submit"], button { } .aligned p.file-upload { - margin-left: 0; - font-size: 13px; + font-size: 0.8125rem; } span.clearable-file-input { @@ -630,7 +611,7 @@ input[type="submit"], button { } span.clearable-file-input label { - font-size: 13px; + font-size: 0.8125rem; padding-bottom: 0; } @@ -645,17 +626,19 @@ input[type="submit"], button { padding: 0; } - form .aligned ul { + form .aligned ul, + form .aligned ul.errorlist { margin-left: 0; padding-left: 0; } - form .aligned ul.radiolist { + form .aligned div.radiolist { + margin-top: 5px; margin-right: 15px; margin-bottom: -3px; } - form .aligned ul.radiolist:not(.inline) li + li { + form .aligned div.radiolist:not(.inline) div + div { margin-top: 5px; } @@ -683,23 +666,14 @@ input[type="submit"], button { align-self: center; } - select + .related-widget-wrapper-link, - .related-widget-wrapper-link + .related-widget-wrapper-link { - margin-left: 15px; - } - /* Selector */ .selector { flex-direction: column; - } - - .selector > * { - float: none; + gap: 10px 0; } .selector-available, .selector-chosen { - margin-bottom: 0; flex: 1 1 auto; } @@ -709,11 +683,9 @@ input[type="submit"], button { .selector ul.selector-chooser { display: block; - float: none; width: 52px; height: 26px; padding: 0 2px; - margin: 15px auto 20px; transform: none; } @@ -811,28 +783,23 @@ input[type="submit"], button { /* Submit row */ .submit-row { - padding: 10px 10px 0; + padding: 10px; margin: 0 0 15px; - display: flex; flex-direction: column; + gap: 8px; } - .submit-row > * { - width: 100%; - } - - .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink { - float: none; - margin: 0 0 10px; + .submit-row input, .submit-row input.default, .submit-row a { text-align: center; } .submit-row a.closelink { padding: 10px 0; + text-align: center; } - .submit-row p.deletelink-box { - order: 4; + .submit-row a.deletelink { + margin: 0; } /* Messages */ @@ -906,7 +873,7 @@ input[type="submit"], button { .errornote { margin: 0 0 20px; padding: 8px 12px; - font-size: 13px; + font-size: 0.8125rem; } /* Calendar and clock */ @@ -953,8 +920,8 @@ input[type="submit"], button { .calendar-shortcuts { padding: 10px 0; - font-size: 12px; - line-height: 12px; + font-size: 0.75rem; + line-height: 0.75rem; } .calendar-shortcuts a { @@ -986,7 +953,7 @@ input[type="submit"], button { /* History */ table#change-history tbody th, table#change-history tbody td { - font-size: 13px; + font-size: 0.8125rem; word-break: break-word; } @@ -997,7 +964,7 @@ input[type="submit"], button { /* Docs */ table.model tbody th, table.model tbody td { - font-size: 13px; + font-size: 0.8125rem; word-break: break-word; } } diff --git a/atdb/atdb/static/admin/css/responsive_rtl.css b/atdb/atdb/static/admin/css/responsive_rtl.css index 66d3c2f9..31dc8ff7 100644 --- a/atdb/atdb/static/admin/css/responsive_rtl.css +++ b/atdb/atdb/static/admin/css/responsive_rtl.css @@ -69,7 +69,8 @@ margin-right: 15px; } - [dir="rtl"] .aligned ul { + [dir="rtl"] .aligned ul, + [dir="rtl"] form .aligned ul.errorlist { margin-right: 0; } @@ -77,4 +78,7 @@ margin-left: 0; margin-right: 0; } + [dir="rtl"] .aligned .vCheckboxLabel { + padding: 1px 5px 0 0; + } } diff --git a/atdb/atdb/static/admin/css/rtl.css b/atdb/atdb/static/admin/css/rtl.css index 0447f893..9027c7ed 100644 --- a/atdb/atdb/static/admin/css/rtl.css +++ b/atdb/atdb/static/admin/css/rtl.css @@ -13,7 +13,7 @@ th { margin-right: 1.5em; } -.viewlink, .addlink, .changelink { +.viewlink, .addlink, .changelink, .hidelink { padding-left: 0; padding-right: 16px; background-position: 100% 1px; @@ -107,23 +107,25 @@ thead th.sorted .text { border-left: none; } -/* FORMS */ - -.aligned label { - padding: 0 0 3px 1em; - float: right; +.paginator .end { + margin-left: 6px; + margin-right: 0; } -.submit-row { - text-align: left +.paginator input { + margin-left: 0; + margin-right: auto; } -.submit-row p.deletelink-box { - float: right; +/* FORMS */ + +.aligned label { + padding: 0 0 3px 1em; } -.submit-row input.default { +.submit-row a.deletelink { margin-left: 0; + margin-right: auto; } .vDateField, .vTimeField { @@ -134,13 +136,11 @@ thead th.sorted .text { margin-left: 5px; } -form .aligned p.help, form .aligned div.help { - clear: right; -} - form .aligned ul { margin-right: 163px; + padding-right: 10px; margin-left: 0; + padding-left: 0; } form ul.inline li { @@ -149,12 +149,39 @@ form ul.inline li { padding-left: 7px; } -input[type=submit].default, .submit-row input.default { - float: left; +form .aligned p.help, +form .aligned div.help { + margin-right: 160px; + padding-right: 10px; +} + +form div.help ul, +form .aligned .checkbox-row + .help, +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { + margin-right: 0; + padding-right: 0; +} + +form .wide p.help, form .wide div.help { + padding-left: 0; + padding-right: 50px; +} + +form .wide p, +form .wide ul.errorlist, +form .wide input + p.help, +form .wide input + div.help { + margin-right: 200px; + margin-left: 0px; +} + +.submit-row { + text-align: right; } fieldset .fieldBox { - float: right; margin-left: 20px; margin-right: 0; } @@ -175,12 +202,24 @@ fieldset .fieldBox { top: 0; left: auto; right: 10px; + background: url(../img/calendar-icons.svg) 0 -30px no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -45px; } .calendarnav-next { top: 0; right: auto; left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -15px; } .calendar caption, .calendarbox h2 { @@ -195,6 +234,38 @@ fieldset .fieldBox { text-align: right; } +.selector-add { + background: url(../img/selector-icons.svg) 0 -64px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -80px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -112px; +} + +a.selector-chooseall { + background: url(../img/selector-icons.svg) right -128px no-repeat; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -144px; +} + +a.selector-clearall { + background: url(../img/selector-icons.svg) 0 -160px no-repeat; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -176px; +} + .inline-deletelink { float: left; } @@ -225,3 +296,7 @@ form .form-row p.datetime { margin-left: inherit; margin-right: 2px; } + +.selector .selector-chooser { + margin: 0; +} diff --git a/atdb/atdb/static/admin/css/widgets.css b/atdb/atdb/static/admin/css/widgets.css index c7d64566..d3d4732c 100644 --- a/atdb/atdb/static/admin/css/widgets.css +++ b/atdb/atdb/static/admin/css/widgets.css @@ -1,24 +1,23 @@ /* SELECTOR (FILTER INTERFACE) */ .selector { - width: 800px; - float: left; + display: flex; + flex-grow: 1; + gap: 0 10px; } .selector select { - width: 380px; height: 17.2em; + flex: 1 0 auto; + overflow: scroll; + width: 100%; } .selector-available, .selector-chosen { - float: left; - width: 380px; text-align: center; - margin-bottom: 5px; -} - -.selector-chosen select { - border-top: none; + display: flex; + flex-direction: column; + flex: 1 1; } .selector-available h2, .selector-chosen h2 { @@ -26,9 +25,24 @@ border-radius: 4px 4px 0 0; } -.selector-chosen h2 { +.selector-chosen .list-footer-display { + border: 1px solid var(--border-color); + border-top: none; + border-radius: 0 0 4px 4px; + margin: 0 0 10px; + padding: 8px; + text-align: center; background: var(--primary); color: var(--header-link-color); + cursor: pointer; +} +.selector-chosen .list-footer-display__clear { + color: var(--breadcrumbs-fg); +} + +.selector-chosen h2 { + background: var(--secondary); + color: var(--header-link-color); } .selector .selector-available h2 { @@ -41,9 +55,10 @@ border-width: 0 1px; padding: 8px; color: var(--body-quiet-color); - font-size: 10px; + font-size: 0.625rem; margin: 0; text-align: left; + display: flex; } .selector .selector-filter label, @@ -55,20 +70,26 @@ padding: 0; overflow: hidden; line-height: 1; + min-width: auto; } -.selector .selector-available input { - width: 320px; +.selector-filter input { + flex-grow: 1; +} + +.selector .selector-available input, +.selector .selector-chosen input { margin-left: 8px; } .selector ul.selector-chooser { - float: left; + align-self: center; width: 22px; background-color: var(--selected-bg); border-radius: 10px; - margin: 10em 5px 0 5px; + margin: 0; padding: 0; + transform: translateY(-17px); } .selector-chooser li { @@ -82,6 +103,15 @@ margin: 0 0 10px; border-radius: 0 0 4px 4px; } +.selector .selector-chosen--with-filtered select { + margin: 0; + border-radius: 0; + height: 14em; +} + +.selector .selector-chosen:not(.selector-chosen--with-filtered) .list-footer-display { + display: none; +} .selector-add, .selector-remove { width: 16px; @@ -121,7 +151,7 @@ a.selector-chooseall, a.selector-clearall { display: inline-block; height: 16px; text-align: left; - margin: 1px auto 3px; + margin: 0 auto; overflow: hidden; font-weight: bold; line-height: 16px; @@ -168,6 +198,7 @@ a.active.selector-clearall:focus, a.active.selector-clearall:hover { .stacked { float: left; width: 490px; + display: block; } .stacked select { @@ -193,6 +224,7 @@ a.active.selector-clearall:focus, a.active.selector-clearall:hover { margin: 0 0 10px 40%; background-color: #eee; border-radius: 10px; + transform: none; } .stacked .selector-chooser li { @@ -250,8 +282,8 @@ a.active.selector-clearall:focus, a.active.selector-clearall:hover { .selector .search-label-icon { background: url(../img/search.svg) 0 0 no-repeat; display: inline-block; - height: 18px; - width: 18px; + height: 1.125rem; + width: 1.125rem; } /* DATE AND TIME */ @@ -267,7 +299,7 @@ p.datetime { .datetime span { white-space: nowrap; font-weight: normal; - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -277,7 +309,7 @@ p.datetime { } table p.datetime { - font-size: 11px; + font-size: 0.6875rem; margin-left: 0; padding-left: 0; } @@ -311,7 +343,7 @@ table p.datetime { } .timezonewarning { - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -322,7 +354,7 @@ p.url { margin: 0; padding: 0; color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; font-weight: bold; } @@ -337,14 +369,10 @@ p.file-upload { margin: 0; padding: 0; color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; font-weight: bold; } -.aligned p.file-upload { - margin-left: 170px; -} - .file-upload a { font-weight: normal; } @@ -355,7 +383,7 @@ p.file-upload { span.clearable-file-input label { color: var(--body-fg); - font-size: 11px; + font-size: 0.6875rem; display: inline; float: none; } @@ -364,7 +392,7 @@ span.clearable-file-input label { .calendarbox, .clockbox { margin: 5px auto; - font-size: 12px; + font-size: 0.75rem; width: 19em; text-align: center; background: var(--body-bg); @@ -398,7 +426,7 @@ span.clearable-file-input label { text-align: center; border-top: none; font-weight: 700; - font-size: 12px; + font-size: 0.75rem; color: #333; background: var(--accent); } @@ -408,14 +436,14 @@ span.clearable-file-input label { background: var(--darkened-bg); border-bottom: 1px solid var(--border-color); font-weight: 400; - font-size: 12px; + font-size: 0.75rem; text-align: center; color: var(--body-quiet-color); } .calendar td { font-weight: 400; - font-size: 12px; + font-size: 0.75rem; text-align: center; padding: 0; border-top: 1px solid var(--hairline-color); @@ -423,7 +451,7 @@ span.clearable-file-input label { } .calendar td.selected a { - background: var(--primary); + background: var(--secondary); color: var(--button-fg); } @@ -455,7 +483,7 @@ span.clearable-file-input label { } .calendarnav { - font-size: 10px; + font-size: 0.625rem; text-align: center; color: #ccc; margin: 0; @@ -470,8 +498,8 @@ span.clearable-file-input label { .calendar-shortcuts { background: var(--body-bg); color: var(--body-quiet-color); - font-size: 11px; - line-height: 11px; + font-size: 0.6875rem; + line-height: 0.6875rem; border-top: 1px solid var(--hairline-color); padding: 8px 0; } @@ -509,18 +537,18 @@ span.clearable-file-input label { .calendar-cancel { margin: 0; padding: 4px 0; - font-size: 12px; - background: #eee; + font-size: 0.75rem; + background: var(--close-button-bg); border-top: 1px solid var(--border-color); - color: var(--body-fg); + color: var(--button-fg); } .calendar-cancel:focus, .calendar-cancel:hover { - background: #ddd; + background: var(--close-button-hover-bg); } .calendar-cancel a { - color: black; + color: var(--button-fg); display: block; } @@ -551,24 +579,25 @@ ul.timelist, .timelist li { /* RELATED WIDGET WRAPPER */ .related-widget-wrapper { - float: left; /* display properly in form rows with multiple fields */ - overflow: hidden; /* clear floated contents */ + display: flex; + gap: 0 10px; + flex-grow: 1; + flex-wrap: wrap; + margin-bottom: 5px; } .related-widget-wrapper-link { - opacity: 0.3; + opacity: .6; + filter: grayscale(1); } .related-widget-wrapper-link:link { - opacity: .8; -} - -.related-widget-wrapper-link:link:focus, -.related-widget-wrapper-link:link:hover { opacity: 1; + filter: grayscale(0); } -select + .related-widget-wrapper-link, -.related-widget-wrapper-link + .related-widget-wrapper-link { - margin-left: 7px; +/* GIS MAPS */ +.dj_map { + width: 600px; + height: 400px; } diff --git a/atdb/atdb/static/admin/js/SelectBox.js b/atdb/atdb/static/admin/js/SelectBox.js index ace6d9df..3db4ec7f 100644 --- a/atdb/atdb/static/admin/js/SelectBox.js +++ b/atdb/atdb/static/admin/js/SelectBox.js @@ -41,6 +41,10 @@ } SelectBox.redisplay(id); }, + get_hidden_node_count(id) { + const cache = SelectBox.cache[id] || []; + return cache.filter(node => node.displayed === 0).length; + }, delete_from_cache: function(id, value) { let delete_index = null; const cache = SelectBox.cache[id]; diff --git a/atdb/atdb/static/admin/js/SelectFilter2.js b/atdb/atdb/static/admin/js/SelectFilter2.js index 6c709a08..fc59eba7 100644 --- a/atdb/atdb/static/admin/js/SelectFilter2.js +++ b/atdb/atdb/static/admin/js/SelectFilter2.js @@ -30,6 +30,9 @@ Requires core.js and SelectBox.js. // <div class="selector"> or <div class="selector stacked"> const selector_div = quickElement('div', from_box.parentNode); + // Make sure the selector div is at the beginning so that the + // add link would be displayed to the right of the widget. + from_box.parentNode.prepend(selector_div); selector_div.className = is_stacked ? 'selector stacked' : 'selector'; // <div class="selector-available"> @@ -78,7 +81,7 @@ Requires core.js and SelectBox.js. remove_link.className = 'selector-remove'; // <div class="selector-chosen"> - const selector_chosen = quickElement('div', selector_div); + const selector_chosen = quickElement('div', selector_div, '', 'id', field_id + '_selector_chosen'); selector_chosen.className = 'selector-chosen'; const title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); quickElement( @@ -93,9 +96,30 @@ Requires core.js and SelectBox.js. [field_name] ) ); + + const filter_selected_p = quickElement('p', selector_chosen, '', 'id', field_id + '_filter_selected'); + filter_selected_p.className = 'selector-filter'; + + const search_filter_selected_label = quickElement('label', filter_selected_p, '', 'for', field_id + '_selected_input'); + + quickElement( + 'span', search_filter_selected_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of selected %s."), [field_name]) + ); + + filter_selected_p.appendChild(document.createTextNode(' ')); + + const filter_selected_input = quickElement('input', filter_selected_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_selected_input.id = field_id + '_selected_input'; const to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', '', 'size', from_box.size, 'name', from_box.name); to_box.className = 'filtered'; + + const warning_footer = quickElement('div', selector_chosen, '', 'class', 'list-footer-display'); + quickElement('span', warning_footer, '', 'id', field_id + '_list-footer-display-text'); + quickElement('span', warning_footer, ' (click to clear)', 'class', 'list-footer-display__clear'); + const clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); clear_all.className = 'selector-clearall'; @@ -106,6 +130,8 @@ Requires core.js and SelectBox.js. if (elem.classList.contains('active')) { move_func(from, to); SelectFilter.refresh_icons(field_id); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); } e.preventDefault(); }; @@ -121,14 +147,29 @@ Requires core.js and SelectBox.js. clear_all.addEventListener('click', function(e) { move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); }); + warning_footer.addEventListener('click', function(e) { + filter_selected_input.value = ''; + SelectBox.filter(field_id + '_to', ''); + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); + }); filter_input.addEventListener('keypress', function(e) { - SelectFilter.filter_key_press(e, field_id); + SelectFilter.filter_key_press(e, field_id, '_from', '_to'); }); filter_input.addEventListener('keyup', function(e) { - SelectFilter.filter_key_up(e, field_id); + SelectFilter.filter_key_up(e, field_id, '_from'); }); filter_input.addEventListener('keydown', function(e) { - SelectFilter.filter_key_down(e, field_id); + SelectFilter.filter_key_down(e, field_id, '_from', '_to'); + }); + filter_selected_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id, '_to', '_from'); + }); + filter_selected_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id, '_to', '_selected_input'); + }); + filter_selected_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id, '_to', '_from'); }); selector_div.addEventListener('change', function(e) { if (e.target.tagName === 'SELECT') { @@ -146,6 +187,7 @@ Requires core.js and SelectBox.js. } }); from_box.closest('form').addEventListener('submit', function() { + SelectBox.filter(field_id + '_to', ''); SelectBox.select_all(field_id + '_to'); }); SelectBox.init(field_id + '_from'); @@ -153,24 +195,6 @@ Requires core.js and SelectBox.js. // Move selected from_box options to to_box SelectBox.move(field_id + '_from', field_id + '_to'); - if (!is_stacked) { - // In horizontal mode, give the same height to the two boxes. - const j_from_box = document.getElementById(field_id + '_from'); - const j_to_box = document.getElementById(field_id + '_to'); - let height = filter_p.offsetHeight + j_from_box.offsetHeight; - - const j_to_box_style = window.getComputedStyle(j_to_box); - if (j_to_box_style.getPropertyValue('box-sizing') === 'border-box') { - // Add the padding and border to the final height. - height += parseInt(j_to_box_style.getPropertyValue('padding-top'), 10) - + parseInt(j_to_box_style.getPropertyValue('padding-bottom'), 10) - + parseInt(j_to_box_style.getPropertyValue('border-top-width'), 10) - + parseInt(j_to_box_style.getPropertyValue('border-bottom-width'), 10); - } - - j_to_box.style.height = height + 'px'; - } - // Initial icon refresh SelectFilter.refresh_icons(field_id); }, @@ -181,6 +205,24 @@ Requires core.js and SelectBox.js. field.required = false; return any_selected; }, + refresh_filtered_warning: function(field_id) { + const count = SelectBox.get_hidden_node_count(field_id + '_to'); + const selector = document.getElementById(field_id + '_selector_chosen'); + const warning = document.getElementById(field_id + '_list-footer-display-text'); + selector.className = selector.className.replace('selector-chosen--with-filtered', ''); + warning.textContent = interpolate(ngettext( + '%s selected option not visible', + '%s selected options not visible', + count + ), [count]); + if(count > 0) { + selector.className += ' selector-chosen--with-filtered'; + } + }, + refresh_filtered_selects: function(field_id) { + SelectBox.filter(field_id + '_from', document.getElementById(field_id + "_input").value); + SelectBox.filter(field_id + '_to', document.getElementById(field_id + "_selected_input").value); + }, refresh_icons: function(field_id) { const from = document.getElementById(field_id + '_from'); const to = document.getElementById(field_id + '_to'); @@ -190,39 +232,47 @@ Requires core.js and SelectBox.js. // Active if the corresponding box isn't empty document.getElementById(field_id + '_add_all_link').classList.toggle('active', from.querySelector('option')); document.getElementById(field_id + '_remove_all_link').classList.toggle('active', to.querySelector('option')); + SelectFilter.refresh_filtered_warning(field_id); }, - filter_key_press: function(event, field_id) { - const from = document.getElementById(field_id + '_from'); + filter_key_press: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); // don't submit form if user pressed Enter if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { - from.selectedIndex = 0; - SelectBox.move(field_id + '_from', field_id + '_to'); - from.selectedIndex = 0; + source_box.selectedIndex = 0; + SelectBox.move(field_id + source, field_id + target); + source_box.selectedIndex = 0; event.preventDefault(); } }, - filter_key_up: function(event, field_id) { - const from = document.getElementById(field_id + '_from'); - const temp = from.selectedIndex; - SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value); - from.selectedIndex = temp; + filter_key_up: function(event, field_id, source, filter_input) { + const input = filter_input || '_input'; + const source_box = document.getElementById(field_id + source); + const temp = source_box.selectedIndex; + SelectBox.filter(field_id + source, document.getElementById(field_id + input).value); + source_box.selectedIndex = temp; + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); }, - filter_key_down: function(event, field_id) { - const from = document.getElementById(field_id + '_from'); + filter_key_down: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); + // right key (39) or left key (37) + const direction = source === '_from' ? 39 : 37; // right arrow -- move across - if ((event.which && event.which === 39) || (event.keyCode && event.keyCode === 39)) { - const old_index = from.selectedIndex; - SelectBox.move(field_id + '_from', field_id + '_to'); - from.selectedIndex = (old_index === from.length) ? from.length - 1 : old_index; + if ((event.which && event.which === direction) || (event.keyCode && event.keyCode === direction)) { + const old_index = source_box.selectedIndex; + SelectBox.move(field_id + source, field_id + target); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); + source_box.selectedIndex = (old_index === source_box.length) ? source_box.length - 1 : old_index; return; } // down arrow -- wrap around if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { - from.selectedIndex = (from.length === from.selectedIndex + 1) ? 0 : from.selectedIndex + 1; + source_box.selectedIndex = (source_box.length === source_box.selectedIndex + 1) ? 0 : source_box.selectedIndex + 1; } // up arrow -- wrap around if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { - from.selectedIndex = (from.selectedIndex === 0) ? from.length - 1 : from.selectedIndex - 1; + source_box.selectedIndex = (source_box.selectedIndex === 0) ? source_box.length - 1 : source_box.selectedIndex - 1; } } }; diff --git a/atdb/atdb/static/admin/js/actions.js b/atdb/atdb/static/admin/js/actions.js index 3e76ff96..6a2ae91a 100644 --- a/atdb/atdb/static/admin/js/actions.js +++ b/atdb/atdb/static/admin/js/actions.js @@ -36,7 +36,10 @@ function clearAcross(options) { reset(options); - document.querySelector(options.acrossInput).value = 0; + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 0; + }); document.querySelector(options.actionContainer).classList.remove(options.selectedClass); } @@ -88,6 +91,16 @@ window.Actions = function(actionCheckboxes, options) { options = Object.assign({}, defaults, options); let list_editable_changed = false; + let lastChecked = null; + let shiftPressed = false; + + document.addEventListener('keydown', (event) => { + shiftPressed = event.shiftKey; + }); + + document.addEventListener('keyup', (event) => { + shiftPressed = event.shiftKey; + }); document.getElementById(options.allToggleId).addEventListener('click', function(event) { checker(actionCheckboxes, options, this.checked); @@ -97,8 +110,10 @@ document.querySelectorAll(options.acrossQuestions + " a").forEach(function(el) { el.addEventListener('click', function(event) { event.preventDefault(); - const acrossInput = document.querySelector(options.acrossInput); - acrossInput.value = 1; + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 1; + }); showClear(options); }); }); @@ -113,19 +128,35 @@ }); }); + function affectedCheckboxes(target, withModifier) { + const multiSelect = (lastChecked && withModifier && lastChecked !== target); + if (!multiSelect) { + return [target]; + } + const checkboxes = Array.from(actionCheckboxes); + const targetIndex = checkboxes.findIndex(el => el === target); + const lastCheckedIndex = checkboxes.findIndex(el => el === lastChecked); + const startIndex = Math.min(targetIndex, lastCheckedIndex); + const endIndex = Math.max(targetIndex, lastCheckedIndex); + const filtered = checkboxes.filter((el, index) => (startIndex <= index) && (index <= endIndex)); + return filtered; + }; + Array.from(document.getElementById('result_list').tBodies).forEach(function(el) { el.addEventListener('change', function(event) { const target = event.target; if (target.classList.contains('action-select')) { - target.closest('tr').classList.toggle(options.selectedClass, target.checked); + const checkboxes = affectedCheckboxes(target, shiftPressed); + checker(checkboxes, options, target.checked); updateCounter(actionCheckboxes, options); + lastChecked = target; } else { list_editable_changed = true; } }); }); - document.querySelector('#changelist-form button[name=index]').addEventListener('click', function() { + document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) { if (list_editable_changed) { const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); if (!confirmed) { @@ -148,6 +179,9 @@ } }); } + // Sync counter when navigating to the page, such as through the back + // button. + window.addEventListener('pageshow', (event) => updateCounter(actionCheckboxes, options)); }; // Call function fn when the DOM is loaded and ready. If it is already diff --git a/atdb/atdb/static/admin/js/admin/DateTimeShortcuts.js b/atdb/atdb/static/admin/js/admin/DateTimeShortcuts.js index 9bad0f54..aa1cae9e 100644 --- a/atdb/atdb/static/admin/js/admin/DateTimeShortcuts.js +++ b/atdb/atdb/static/admin/js/admin/DateTimeShortcuts.js @@ -90,10 +90,9 @@ } message = interpolate(message, [timezoneOffset]); - const warning = document.createElement('span'); - warning.className = warningClass; + const warning = document.createElement('div'); + warning.classList.add('help', warningClass); warning.textContent = message; - inp.parentNode.appendChild(document.createElement('br')); inp.parentNode.appendChild(warning); }, // Add clock widget to a given field @@ -388,13 +387,7 @@ DateTimeShortcuts.calendars[num].drawNextMonth(); }, handleCalendarCallback: function(num) { - let format = get_format('DATE_INPUT_FORMATS')[0]; - // the format needs to be escaped a little - format = format.replace('\\', '\\\\') - .replace('\r', '\\r') - .replace('\n', '\\n') - .replace('\t', '\\t') - .replace("'", "\\'"); + const format = get_format('DATE_INPUT_FORMATS')[0]; return function(y, m, d) { DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); DateTimeShortcuts.calendarInputs[num].focus(); diff --git a/atdb/atdb/static/admin/js/admin/RelatedObjectLookups.js b/atdb/atdb/static/admin/js/admin/RelatedObjectLookups.js index 289e1cee..32e3f5b8 100644 --- a/atdb/atdb/static/admin/js/admin/RelatedObjectLookups.js +++ b/atdb/atdb/static/admin/js/admin/RelatedObjectLookups.js @@ -4,14 +4,43 @@ 'use strict'; { const $ = django.jQuery; + let popupIndex = 0; + const relatedWindows = []; + + function dismissChildPopups() { + relatedWindows.forEach(function(win) { + if(!win.closed) { + win.dismissChildPopups(); + win.close(); + } + }); + } + + function setPopupIndex() { + if(document.getElementsByName("_popup").length > 0) { + const index = window.name.lastIndexOf("__") + 2; + popupIndex = parseInt(window.name.substring(index)); + } else { + popupIndex = 0; + } + } + + function addPopupIndex(name) { + return name + "__" + (popupIndex + 1); + } + + function removePopupIndex(name) { + return name.replace(new RegExp("__" + (popupIndex + 1) + "$"), ''); + } function showAdminPopup(triggeringLink, name_regexp, add_popup) { - const name = triggeringLink.id.replace(name_regexp, ''); + const name = addPopupIndex(triggeringLink.id.replace(name_regexp, '')); const href = new URL(triggeringLink.href); if (add_popup) { href.searchParams.set('_popup', 1); } const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + relatedWindows.push(win); win.focus(); return false; } @@ -21,13 +50,17 @@ } function dismissRelatedLookupPopup(win, chosenId) { - const name = win.name; + const name = removePopupIndex(win.name); const elem = document.getElementById(name); if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { elem.value += ',' + chosenId; } else { document.getElementById(name).value = chosenId; } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } @@ -46,19 +79,52 @@ siblings.each(function() { const elm = $(this); elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); + elm.removeAttr('aria-disabled'); }); } else { siblings.removeAttr('href'); + siblings.attr('aria-disabled', true); } } + function updateRelatedSelectsOptions(currentSelect, win, objId, newRepr, newId) { + // After create/edit a model from the options next to the current + // select (+ or :pencil:) update ForeignKey PK of the rest of selects + // in the page. + + const path = win.location.pathname; + // Extract the model from the popup url '.../<model>/add/' or + // '.../<model>/<id>/change/' depending the action (add or change). + const modelName = path.split('/')[path.split('/').length - (objId ? 4 : 3)]; + // Exclude autocomplete selects. + const selectsRelated = document.querySelectorAll(`[data-model-ref="${modelName}"] select:not(.admin-autocomplete)`); + + selectsRelated.forEach(function(select) { + if (currentSelect === select) { + return; + } + + let option = select.querySelector(`option[value="${objId}"]`); + + if (!option) { + option = new Option(newRepr, newId); + select.options.add(option); + return; + } + + option.textContent = newRepr; + option.value = newId; + }); + } + function dismissAddRelatedObjectPopup(win, newId, newRepr) { - const name = win.name; + const name = removePopupIndex(win.name); const elem = document.getElementById(name); if (elem) { const elemName = elem.nodeName.toUpperCase(); if (elemName === 'SELECT') { elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + updateRelatedSelectsOptions(elem, win, null, newRepr, newId); } else if (elemName === 'INPUT') { if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { elem.value += ',' + newId; @@ -74,11 +140,15 @@ SelectBox.add_to_cache(toId, o); SelectBox.redisplay(toId); } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { - const id = win.name.replace(/^edit_/, ''); + const id = removePopupIndex(win.name.replace(/^edit_/, '')); const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); const selects = $(selectsSelector); selects.find('option').each(function() { @@ -86,18 +156,23 @@ this.textContent = newRepr; this.value = newId; } - }); + }).trigger('change'); + updateRelatedSelectsOptions(selects[0], win, objId, newRepr, newId); selects.next().find('.select2-selection__rendered').each(function() { // The element can have a clear button as a child. // Use the lastChild to modify only the displayed value. this.lastChild.textContent = newRepr; this.title = newRepr; }); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } function dismissDeleteRelatedObjectPopup(win, objId) { - const id = win.name.replace(/^delete_/, ''); + const id = removePopupIndex(win.name.replace(/^delete_/, '')); const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); const selects = $(selectsSelector); selects.find('option').each(function() { @@ -105,6 +180,10 @@ $(this).remove(); } }).trigger('change'); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } @@ -115,17 +194,23 @@ window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + window.dismissChildPopups = dismissChildPopups; // Kept for backward compatibility window.showAddAnotherPopup = showRelatedObjectPopup; window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + window.addEventListener('unload', function(evt) { + window.dismissChildPopups(); + }); + $(document).ready(function() { + setPopupIndex(); $("a[data-popup-opener]").on('click', function(event) { event.preventDefault(); opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); }); - $('body').on('click', '.related-widget-wrapper-link', function(e) { + $('body').on('click', '.related-widget-wrapper-link[data-popup="yes"]', function(e) { e.preventDefault(); if (this.href) { const event = $.Event('django:show-related', {href: this.href}); diff --git a/atdb/atdb/static/admin/js/autocomplete.js b/atdb/atdb/static/admin/js/autocomplete.js index c55eee1f..d3daeab8 100644 --- a/atdb/atdb/static/admin/js/autocomplete.js +++ b/atdb/atdb/static/admin/js/autocomplete.js @@ -1,28 +1,22 @@ 'use strict'; { const $ = django.jQuery; - const init = function($element, options) { - const settings = $.extend({ - ajax: { - data: function(params) { - return { - term: params.term, - page: params.page, - app_label: $element.data('app-label'), - model_name: $element.data('model-name'), - field_name: $element.data('field-name') - }; - } - } - }, options); - $element.select2(settings); - }; - $.fn.djangoAdminSelect2 = function(options) { - const settings = $.extend({}, options); + $.fn.djangoAdminSelect2 = function() { $.each(this, function(i, element) { - const $element = $(element); - init($element, settings); + $(element).select2({ + ajax: { + data: (params) => { + return { + term: params.term, + page: params.page, + app_label: element.dataset.appLabel, + model_name: element.dataset.modelName, + field_name: element.dataset.fieldName + }; + } + } + }); }); return this; }; @@ -33,9 +27,7 @@ $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); }); - $(document).on('formset:added', (function() { - return function(event, $newFormset) { - return $newFormset.find('.admin-autocomplete').djangoAdminSelect2(); - }; - })(this)); + document.addEventListener('formset:added', (event) => { + $(event.target).find('.admin-autocomplete').djangoAdminSelect2(); + }); } diff --git a/atdb/atdb/static/admin/js/calendar.js b/atdb/atdb/static/admin/js/calendar.js index a62d10a7..776310f7 100644 --- a/atdb/atdb/static/admin/js/calendar.js +++ b/atdb/atdb/static/admin/js/calendar.js @@ -36,6 +36,24 @@ depends on core.js for utility functions like removeChildren or quickElement pgettext('abbrev. month December', 'Dec') ], daysOfWeek: [ + gettext('Sunday'), + gettext('Monday'), + gettext('Tuesday'), + gettext('Wednesday'), + gettext('Thursday'), + gettext('Friday'), + gettext('Saturday') + ], + daysOfWeekAbbrev: [ + pgettext('abbrev. day Sunday', 'Sun'), + pgettext('abbrev. day Monday', 'Mon'), + pgettext('abbrev. day Tuesday', 'Tue'), + pgettext('abbrev. day Wednesday', 'Wed'), + pgettext('abbrev. day Thursday', 'Thur'), + pgettext('abbrev. day Friday', 'Fri'), + pgettext('abbrev. day Saturday', 'Sat') + ], + daysOfWeekInitial: [ pgettext('one letter Sunday', 'S'), pgettext('one letter Monday', 'M'), pgettext('one letter Tuesday', 'T'), @@ -98,7 +116,7 @@ depends on core.js for utility functions like removeChildren or quickElement // Draw days-of-week header let tableRow = quickElement('tr', tableBody); for (let i = 0; i < 7; i++) { - quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]); + quickElement('th', tableRow, CalendarNamespace.daysOfWeekInitial[(i + CalendarNamespace.firstDayOfWeek) % 7]); } const startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); diff --git a/atdb/atdb/static/admin/js/core.js b/atdb/atdb/static/admin/js/core.js index 3a2e4aa7..10504d4a 100644 --- a/atdb/atdb/static/admin/js/core.js +++ b/atdb/atdb/static/admin/js/core.js @@ -1,4 +1,4 @@ -// Core javascript helper functions +// Core JavaScript helper functions 'use strict'; // quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); @@ -85,6 +85,18 @@ function findPosY(obj) { return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); }; + Date.prototype.getAbbrevDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeekAbbrev[this.getDay()]; + }; + + Date.prototype.getFullDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeek[this.getDay()]; + }; + Date.prototype.getAbbrevMonthName = function() { return typeof window.CalendarNamespace === "undefined" ? this.getTwoDigitMonth() @@ -99,6 +111,8 @@ function findPosY(obj) { Date.prototype.strftime = function(format) { const fields = { + a: this.getAbbrevDayName(), + A: this.getFullDayName(), b: this.getAbbrevMonthName(), B: this.getFullMonthName(), c: this.toString(), @@ -119,11 +133,11 @@ function findPosY(obj) { let result = '', i = 0; while (i < format.length) { if (format.charAt(i) === '%') { - result = result + fields[format.charAt(i + 1)]; + result += fields[format.charAt(i + 1)]; ++i; } else { - result = result + format.charAt(i); + result += format.charAt(i); } ++i; } diff --git a/atdb/atdb/static/admin/js/inlines.js b/atdb/atdb/static/admin/js/inlines.js index 82ec0272..e9a1dfe1 100644 --- a/atdb/atdb/static/admin/js/inlines.js +++ b/atdb/atdb/static/admin/js/inlines.js @@ -88,7 +88,12 @@ if (options.added) { options.added(row); } - $(document).trigger('formset:added', [row, options.prefix]); + row.get(0).dispatchEvent(new CustomEvent("formset:added", { + bubbles: true, + detail: { + formsetName: options.prefix + } + })); }; /** @@ -130,7 +135,11 @@ if (options.removed) { options.removed(row); } - $(document).trigger('formset:removed', [row, options.prefix]); + document.dispatchEvent(new CustomEvent("formset:removed", { + detail: { + formsetName: options.prefix + } + })); // Update the TOTAL_FORMS form count. const forms = $("." + options.formCssClass); $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); @@ -218,12 +227,10 @@ // instantiate a new SelectFilter instance for it. if (typeof SelectFilter !== 'undefined') { $('.selectfilter').each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], false); + SelectFilter.init(value.id, this.dataset.fieldName, false); }); $('.selectfilterstacked').each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], true); + SelectFilter.init(value.id, this.dataset.fieldName, true); }); } }; @@ -283,12 +290,10 @@ // If any SelectFilter widgets were added, instantiate a new instance. if (typeof SelectFilter !== "undefined") { $(".selectfilter").each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], false); + SelectFilter.init(value.id, this.dataset.fieldName, false); }); $(".selectfilterstacked").each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], true); + SelectFilter.init(value.id, this.dataset.fieldName, true); }); } }; @@ -300,7 +305,13 @@ dependency_list = input.data('dependency_list') || [], dependencies = []; $.each(dependency_list, function(i, field_name) { - dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id')); + // Dependency in a fieldset. + let field_element = row.find('.form-row .field-' + field_name); + // Dependency without a fieldset. + if (!field_element.length) { + field_element = row.find('.form-row.field-' + field_name); + } + dependencies.push('#' + field_element.find('input, select, textarea').attr('id')); }); if (dependencies.length) { input.prepopulate(dependencies, input.attr('maxlength')); diff --git a/atdb/atdb/static/admin/js/prepopulate_init.js b/atdb/atdb/static/admin/js/prepopulate_init.js index 72ebdcf5..a58841f0 100644 --- a/atdb/atdb/static/admin/js/prepopulate_init.js +++ b/atdb/atdb/static/admin/js/prepopulate_init.js @@ -3,7 +3,11 @@ const $ = django.jQuery; const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); $.each(fields, function(index, field) { - $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field'); + $( + '.empty-form .form-row .field-' + field.name + + ', .empty-form.form-row .field-' + field.name + + ', .empty-form .form-row.field-' + field.name + ).addClass('prepopulated_field'); $(field.id).data('dependency_list', field.dependency_list).prepopulate( field.dependency_ids, field.maxLength, field.allowUnicode ); diff --git a/atdb/atdb/static/admin/js/urlify.js b/atdb/atdb/static/admin/js/urlify.js index 61dedb23..9fc04094 100644 --- a/atdb/atdb/static/admin/js/urlify.js +++ b/atdb/atdb/static/admin/js/urlify.js @@ -163,8 +163,7 @@ s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens s = s.substring(0, num_chars); // trim to first num_chars chars - s = s.replace(/-+$/g, ''); // trim any trailing hyphens - return s; + return s.replace(/-+$/g, ''); // trim any trailing hyphens } window.URLify = URLify; } diff --git a/atdb/atdb/static/admin/js/vendor/jquery/LICENSE.txt b/atdb/atdb/static/admin/js/vendor/jquery/LICENSE.txt index e3dbacb9..f642c3f7 100644 --- a/atdb/atdb/static/admin/js/vendor/jquery/LICENSE.txt +++ b/atdb/atdb/static/admin/js/vendor/jquery/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright JS Foundation and other contributors, https://js.foundation/ +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/atdb/atdb/static/admin/js/vendor/jquery/jquery.js b/atdb/atdb/static/admin/js/vendor/jquery/jquery.js index 50937333..1a86433c 100644 --- a/atdb/atdb/static/admin/js/vendor/jquery/jquery.js +++ b/atdb/atdb/static/admin/js/vendor/jquery/jquery.js @@ -1,15 +1,12 @@ /*! - * jQuery JavaScript Library v3.5.1 + * jQuery JavaScript Library v3.7.1 * https://jquery.com/ * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * - * Date: 2020-05-04T22:49Z + * Date: 2023-08-28T13:37Z */ ( function( global, factory ) { @@ -23,7 +20,7 @@ // (such as Node.js), expose a factory as module.exports. // This accentuates the need for the creation of a real `window`. // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. + // See ticket trac-14549 for more info. module.exports = global.document ? factory( global, true ) : function( w ) { @@ -76,12 +73,16 @@ var support = {}; var isFunction = function isFunction( obj ) { - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML <object> elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - return typeof obj === "function" && typeof obj.nodeType !== "number"; - }; + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; var isWindow = function isWindow( obj ) { @@ -146,8 +147,9 @@ function toType( obj ) { -var - version = "3.5.1", +var version = "3.7.1", + + rhtmlSuffix = /HTML$/i, // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -393,6 +395,38 @@ jQuery.extend( { return obj; }, + + // Retrieve the text value of an array of DOM nodes + text: function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += jQuery.text( node ); + } + } + if ( nodeType === 1 || nodeType === 11 ) { + return elem.textContent; + } + if ( nodeType === 9 ) { + return elem.documentElement.textContent; + } + if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; + }, + // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; @@ -401,7 +435,7 @@ jQuery.extend( { if ( isArrayLike( Object( arr ) ) ) { jQuery.merge( ret, typeof arr === "string" ? - [ arr ] : arr + [ arr ] : arr ); } else { push.call( ret, arr ); @@ -415,6 +449,15 @@ jQuery.extend( { return arr == null ? -1 : indexOf.call( arr, elem, i ); }, + isXMLDoc: function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Assume HTML when documentElement doesn't yet exist, such as inside + // document fragments. + return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); + }, + // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit merge: function( first, second ) { @@ -496,9 +539,9 @@ if ( typeof Symbol === "function" ) { // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); function isArrayLike( obj ) { @@ -516,43 +559,98 @@ function isArrayLike( obj ) { return type === "array" || length === 0 || typeof length === "number" && length > 0 && ( length - 1 ) in obj; } -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.5 - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://js.foundation/ - * - * Date: 2020-03-14 - */ -( function( window ) { + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var pop = arr.pop; + + +var sort = arr.sort; + + +var splice = arr.splice; + + +var whitespace = "[\\x20\\t\\r\\n\\f]"; + + +var rtrimCSS = new RegExp( + "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", + "g" +); + + + + +// Note: an element does not contain itself +jQuery.contains = function( a, b ) { + var bup = b && b.parentNode; + + return a === bup || !!( bup && bup.nodeType === 1 && ( + + // Support: IE 9 - 11+ + // IE doesn't have `contains` on SVG. + a.contains ? + a.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); +}; + + + + +// CSS string/identifier serialization +// https://drafts.csswg.org/cssom/#common-serializing-idioms +var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + +function fcssescape( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; +} + +jQuery.escapeSelector = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + + + + +var preferredDoc = document, + pushNative = push; + +( function() { + var i, - support, Expr, - getText, - isXML, - tokenize, - compile, - select, outermostContext, sortInput, hasDuplicate, + push = pushNative, // Local document vars - setDocument, document, - docElem, + documentElement, documentIsHTML, rbuggyQSA, - rbuggyMatches, matches, - contains, // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, + expando = jQuery.expando, dirruns = 0, done = 0, classCache = createCache(), @@ -566,47 +664,22 @@ var i, return 0; }, - // Instance methods - hasOwn = ( {} ).hasOwnProperty, - arr = [], - pop = arr.pop, - pushNative = arr.push, - push = arr.push, - slice = arr.slice, - - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[ i ] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + - "ismap|loop|multiple|open|readonly|required|scoped", + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + + "loop|multiple|open|readonly|required|scoped", // Regular expressions - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] - // or strings [capture 3 or capture 4]" + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", @@ -625,101 +698,88 @@ var i, // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + - whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + - "*" ), + rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + + whitespace + "*" ), rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), ridentifier = new RegExp( "^" + identifier + "$" ), matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + ID: new RegExp( "^#(" + identifier + ")" ), + CLASS: new RegExp( "^\\.(" + identifier + ")" ), + TAG: new RegExp( "^(" + identifier + "|[*])" ), + ATTR: new RegExp( "^" + attributes ), + PSEUDO: new RegExp( "^" + pseudos ), + CHILD: new RegExp( + "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + bool: new RegExp( "^(?:" + booleans + ")$", "i" ), // For use in libraries implementing .is() // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + + needsContext: new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, - rhtml = /HTML$/i, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, - rnative = /^[^{]+\{\s*\[native \w/, - // Easily-parseable/retrievable ID or TAG or CLASS selectors rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\([^\\r\\n\\f])", "g" ), funescape = function( escape, nonHex ) { var high = "0x" + escape.slice( 1 ) - 0x10000; - return nonHex ? + if ( nonHex ) { // Strip the backslash prefix from a non-hex escape sequence - nonHex : - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + - ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + return nonHex; } - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + return high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, - // Used for iframes - // See setDocument() + // Used for iframes; see `setDocument`. + // Support: IE 9 - 11+, Edge 12 - 18+ // Removing the function wrapper causes a "Permission Denied" - // error in IE + // error in IE/Edge. unloadHandler = function() { setDocument(); }, inDisabledFieldset = addCombinator( function( elem ) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + return elem.disabled === true && nodeName( elem, "fieldset" ); }, { dir: "parentNode", next: "legend" } ); +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + // Optimize for push.apply( _, NodeList ) try { push.apply( @@ -727,32 +787,22 @@ try { preferredDoc.childNodes ); - // Support: Android<4.0 + // Support: Android <=4.0 // Detect silently failing push.apply // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { + push = { + apply: function( target, els ) { pushNative.apply( target, slice.call( els ) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - - // Can't trust NodeList.length - while ( ( target[ j++ ] = els[ i++ ] ) ) {} - target.length = j - 1; + }, + call: function( target ) { + pushNative.apply( target, slice.call( arguments, 1 ) ); } }; } -function Sizzle( selector, context, results, seed ) { +function find( selector, context, results, seed ) { var m, i, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument, @@ -786,11 +836,10 @@ function Sizzle( selector, context, results, seed ) { if ( nodeType === 9 ) { if ( ( elem = context.getElementById( m ) ) ) { - // Support: IE, Opera, Webkit - // TODO: identify versions + // Support: IE 9 only // getElementById can match elements by name instead of ID if ( elem.id === m ) { - results.push( elem ); + push.call( results, elem ); return results; } } else { @@ -800,14 +849,13 @@ function Sizzle( selector, context, results, seed ) { // Element context } else { - // Support: IE, Opera, Webkit - // TODO: identify versions + // Support: IE 9 only // getElementById can match elements by name instead of ID if ( newContext && ( elem = newContext.getElementById( m ) ) && - contains( context, elem ) && + find.contains( context, elem ) && elem.id === m ) { - results.push( elem ); + push.call( results, elem ); return results; } } @@ -818,22 +866,15 @@ function Sizzle( selector, context, results, seed ) { return results; // Class selector - } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && - context.getElementsByClassName ) { - + } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); return results; } } // Take advantage of querySelectorAll - if ( support.qsa && - !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - - // Support: IE 8 only - // Exclude object elements - ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + if ( !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { newSelector = selector; newContext = context; @@ -846,7 +887,7 @@ function Sizzle( selector, context, results, seed ) { // as such selectors are not recognized by querySelectorAll. // Thanks to Andrew Dupont for this technique. if ( nodeType === 1 && - ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) { // Expand context for sibling selectors newContext = rsibling.test( selector ) && testContext( context.parentNode ) || @@ -854,11 +895,15 @@ function Sizzle( selector, context, results, seed ) { // We can use :scope instead of the ID hack if the browser // supports it & if we're not changing the context. - if ( newContext !== context || !support.scope ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when + // strict-comparing two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( newContext != context || !support.scope ) { // Capture the context ID, setting it first if necessary if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = nid.replace( rcssescape, fcssescape ); + nid = jQuery.escapeSelector( nid ); } else { context.setAttribute( "id", ( nid = expando ) ); } @@ -891,7 +936,7 @@ function Sizzle( selector, context, results, seed ) { } // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); + return select( selector.replace( rtrimCSS, "$1" ), context, results, seed ); } /** @@ -905,7 +950,8 @@ function createCache() { function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + // Use (key + " ") to avoid collision with native prototype properties + // (see https://github.com/jquery/sizzle/issues/157) if ( keys.push( key + " " ) > Expr.cacheLength ) { // Only keep the most recent entries @@ -917,7 +963,7 @@ function createCache() { } /** - * Mark a function for special use by Sizzle + * Mark a function for special use by jQuery selector module * @param {Function} fn The function to mark */ function markFunction( fn ) { @@ -948,56 +994,13 @@ function assert( fn ) { } } -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split( "|" ), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[ i ] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( ( cur = cur.nextSibling ) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - /** * Returns a function to use in pseudos for input types * @param {String} type */ function createInputPseudo( type ) { return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; + return nodeName( elem, "input" ) && elem.type === type; }; } @@ -1007,8 +1010,8 @@ function createInputPseudo( type ) { */ function createButtonPseudo( type ) { return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return ( name === "input" || name === "button" ) && elem.type === type; + return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) && + elem.type === type; }; } @@ -1044,14 +1047,13 @@ function createDisabledPseudo( disabled ) { } } - // Support: IE 6 - 11 + // Support: IE 6 - 11+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors return elem.isDisabled === disabled || // Where there is no isDisabled, check manually - /* jshint -W018 */ elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; + inDisabledFieldset( elem ) === disabled; } return elem.disabled === disabled; @@ -1091,7 +1093,7 @@ function createPositionalPseudo( fn ) { } /** - * Checks a node for validity as a Sizzle context + * Checks a node for validity as a jQuery selector context * @param {Element|Object=} context * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value */ @@ -1099,31 +1101,13 @@ function testContext( context ) { return context && typeof context.getElementsByTagName !== "undefined" && context; } -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var namespace = elem.namespaceURI, - docElem = ( elem.ownerDocument || elem ).documentElement; - - // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); -}; - /** * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document + * @param {Element|Object} [node] An element or document object to use to set the document * @returns {Object} Returns the current document */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, subWindow, +function setDocument( node ) { + var subWindow, doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected @@ -1137,87 +1121,90 @@ setDocument = Sizzle.setDocument = function( node ) { // Update global variables document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); + documentElement = document.documentElement; + documentIsHTML = !jQuery.isXMLDoc( document ); + + // Support: iOS 7 only, IE 9 - 11+ + // Older browsers didn't support unprefixed `matches`. + matches = documentElement.matches || + documentElement.webkitMatchesSelector || + documentElement.msMatchesSelector; // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + // Accessing iframe documents after unload throws "permission denied" errors + // (see trac-13936). + // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, + // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. + if ( documentElement.msMatchesSelector && - // Support: IE 11, Edge - if ( subWindow.addEventListener ) { - subWindow.addEventListener( "unload", unloadHandler, false ); + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - // Support: IE 9 - 10 only - } else if ( subWindow.attachEvent ) { - subWindow.attachEvent( "onunload", unloadHandler ); - } + // Support: IE 9 - 11+, Edge 12 - 18+ + subWindow.addEventListener( "unload", unloadHandler ); } - // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - support.scope = assert( function( el ) { - docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); - return typeof el.querySelectorAll !== "undefined" && - !el.querySelectorAll( ":scope fieldset div" ).length; + // Support: IE <10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + documentElement.appendChild( el ).id = jQuery.expando; + return !document.getElementsByName || + !document.getElementsByName( jQuery.expando ).length; } ); - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert( function( el ) { - el.className = "i"; - return !el.getAttribute( "className" ); + // Support: IE 9 only + // Check to see if it's possible to do matchesSelector + // on a disconnected node. + support.disconnectedMatch = assert( function( el ) { + return matches.call( el, "*" ); } ); - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert( function( el ) { - el.appendChild( document.createComment( "" ) ); - return !el.getElementsByTagName( "*" ).length; + // Support: IE 9 - 11+, Edge 12 - 18+ + // IE/Edge don't support the :scope pseudo-class. + support.scope = assert( function() { + return document.querySelectorAll( ":scope" ); } ); - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - docElem.appendChild( el ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; + // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only + // Make sure the `:has()` argument is parsed unforgivingly. + // We include `*` in the test to detect buggy implementations that are + // _selectively_ forgiving (specifically when the list includes at least + // one valid selector). + // Note that we treat complete lack of support for `:has()` as if it were + // spec-compliant support, which is fine because use of `:has()` in such + // environments will fail in the qSA path and fall back to jQuery traversal + // anyway. + support.cssHas = assert( function() { + try { + document.querySelector( ":has(*,:jqfake)" ); + return false; + } catch ( e ) { + return true; + } } ); // ID filter and find if ( support.getById ) { - Expr.filter[ "ID" ] = function( id ) { + Expr.filter.ID = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { return elem.getAttribute( "id" ) === attrId; }; }; - Expr.find[ "ID" ] = function( id, context ) { + Expr.find.ID = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var elem = context.getElementById( id ); return elem ? [ elem ] : []; } }; } else { - Expr.filter[ "ID" ] = function( id ) { + Expr.filter.ID = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { var node = typeof elem.getAttributeNode !== "undefined" && @@ -1228,7 +1215,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Support: IE 6 - 7 only // getElementById is not reliable as a find shortcut - Expr.find[ "ID" ] = function( id, context ) { + Expr.find.ID = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var node, i, elems, elem = context.getElementById( id ); @@ -1258,40 +1245,18 @@ setDocument = Sizzle.setDocument = function( node ) { } // Tag - Expr.find[ "TAG" ] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, + Expr.find.TAG = function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; + // DocumentFragment nodes don't have gEBTN + } else { + return context.querySelectorAll( tag ); + } + }; // Class - Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + Expr.find.CLASS = function( className, context ) { if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } @@ -1302,177 +1267,94 @@ setDocument = Sizzle.setDocument = function( node ) { // QSA and matchesSelector support - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 rbuggyQSA = []; - if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + - "<select id='" + expando + "-\r\\' msallowcapture=''>" + - "<option selected=''></option></select>"; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - el.querySelectorAll( "\\\f" ); - rbuggyQSA.push( "[\\r\\n\\f]" ); - } ); + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { - assert( function( el ) { - el.innerHTML = "<a href='' disabled='disabled'></a>" + - "<select disabled='disabled'><option/></select>"; + var input; - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); + documentElement.appendChild( el ).innerHTML = + "<a id='" + expando + "' href='' disabled='disabled'></a>" + + "<select id='" + expando + "-\r\\' disabled='disabled'>" + + "<option selected=''></option></select>"; - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll( "[name=d]" ).length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } + // Support: iOS <=7 - 8 only + // Boolean attributes and "value" are not treated correctly in some XML documents + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } + // Support: iOS <=7 - 8 only + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } - // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll( "*,:x" ); - rbuggyQSA.push( ",.*:" ); - } ); - } + // Support: iOS 8 only + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } - if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector ) ) ) ) { + // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } - assert( function( el ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE 9 - 11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + documentElement.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + } ); - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); + if ( !support.cssHas ) { - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - } ); + // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ + // Our regular `try-catch` mechanism fails to detect natively-unsupported + // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) + // in browsers that parse the `:has()` argument as a forgiving selector list. + // https://drafts.csswg.org/selectors/#relational now requires the argument + // to be parsed unforgivingly, but browsers have not yet fully adjusted. + rbuggyQSA.push( ":has" ); } rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); - } : - function( a, b ) { - if ( b ) { - while ( ( b = b.parentNode ) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; /* Sorting ---------------------------------------------------------------------- */ // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { + sortOrder = function( a, b ) { // Flag for duplicate removal if ( a === b ) { @@ -1506,8 +1388,8 @@ setDocument = Sizzle.setDocument = function( node ) { // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq - if ( a == document || a.ownerDocument == preferredDoc && - contains( preferredDoc, a ) ) { + if ( a === document || a.ownerDocument == preferredDoc && + find.contains( preferredDoc, a ) ) { return -1; } @@ -1515,100 +1397,33 @@ setDocument = Sizzle.setDocument = function( node ) { // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq - if ( b == document || b.ownerDocument == preferredDoc && - contains( preferredDoc, b ) ) { + if ( b === document || b.ownerDocument == preferredDoc && + find.contains( preferredDoc, b ) ) { return 1; } // Maintain original order return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : 0; } return compare & 4 ? -1 : 1; - } : - function( a, b ) { - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - return a == document ? -1 : - b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( ( cur = cur.parentNode ) ) { - ap.unshift( cur ); - } - cur = b; - while ( ( cur = cur.parentNode ) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[ i ] === bp[ i ] ) { - i++; - } - - return i ? - - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[ i ], bp[ i ] ) : - - // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - ap[ i ] == preferredDoc ? -1 : - bp[ i ] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; }; return document; -}; +} -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); +find.matches = function( expr, elements ) { + return find( expr, null, null, elements ); }; -Sizzle.matchesSelector = function( elem, expr ) { +find.matchesSelector = function( elem, expr ) { setDocument( elem ); - if ( support.matchesSelector && documentIsHTML && + if ( documentIsHTML && !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { try { var ret = matches.call( elem, expr ); @@ -1616,9 +1431,9 @@ Sizzle.matchesSelector = function( elem, expr ) { // IE 9's matchesSelector returns false on disconnected nodes if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { return ret; } } catch ( e ) { @@ -1626,10 +1441,10 @@ Sizzle.matchesSelector = function( elem, expr ) { } } - return Sizzle( expr, document, null, [ elem ] ).length > 0; + return find( expr, document, null, [ elem ] ).length > 0; }; -Sizzle.contains = function( context, elem ) { +find.contains = function( context, elem ) { // Set document vars if needed // Support: IE 11+, Edge 17 - 18+ @@ -1639,10 +1454,11 @@ Sizzle.contains = function( context, elem ) { if ( ( context.ownerDocument || context ) != document ) { setDocument( context ); } - return contains( context, elem ); + return jQuery.contains( context, elem ); }; -Sizzle.attr = function( elem, name ) { + +find.attr = function( elem, name ) { // Set document vars if needed // Support: IE 11+, Edge 17 - 18+ @@ -1655,25 +1471,19 @@ Sizzle.attr = function( elem, name ) { var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) + // Don't get fooled by Object.prototype properties (see trac-13807) val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? fn( elem, name, !documentIsHTML ) : undefined; - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; -}; + if ( val !== undefined ) { + return val; + } -Sizzle.escape = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); + return elem.getAttribute( name ); }; -Sizzle.error = function( msg ) { +find.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " + msg ); }; @@ -1681,16 +1491,20 @@ Sizzle.error = function( msg ) { * Document sorting and removing duplicates * @param {ArrayLike} results */ -Sizzle.uniqueSort = function( results ) { +jQuery.uniqueSort = function( results ) { var elem, duplicates = [], j = 0, i = 0; // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); + // + // Support: Android <=4.0+ + // Testing for detecting duplicates is unpredictable so instead assume we can't + // depend on duplicate detection in all browsers without a stable sort. + hasDuplicate = !support.sortStable; + sortInput = !support.sortStable && slice.call( results, 0 ); + sort.call( results, sortOrder ); if ( hasDuplicate ) { while ( ( elem = results[ i++ ] ) ) { @@ -1698,59 +1512,23 @@ Sizzle.uniqueSort = function( results ) { j = duplicates.push( i ); } } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; + while ( j-- ) { + splice.call( results, duplicates[ j ], 1 ); + } } - // Do not include comment or processing instruction nodes + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; - return ret; + return results; +}; + +jQuery.fn.uniqueSort = function() { + return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); }; -Expr = Sizzle.selectors = { +Expr = jQuery.expr = { // Can be adjusted by the user cacheLength: 50, @@ -1771,12 +1549,12 @@ Expr = Sizzle.selectors = { }, preFilter: { - "ATTR": function( match ) { + ATTR: function( match ) { match[ 1 ] = match[ 1 ].replace( runescape, funescape ); // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || - match[ 5 ] || "" ).replace( runescape, funescape ); + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" ) + .replace( runescape, funescape ); if ( match[ 2 ] === "~=" ) { match[ 3 ] = " " + match[ 3 ] + " "; @@ -1785,7 +1563,7 @@ Expr = Sizzle.selectors = { return match.slice( 0, 4 ); }, - "CHILD": function( match ) { + CHILD: function( match ) { /* matches from matchExpr["CHILD"] 1 type (only|nth|...) @@ -1803,29 +1581,30 @@ Expr = Sizzle.selectors = { // nth-* requires argument if ( !match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); + find.error( match[ 0 ] ); } // numeric x and y parameters for Expr.filter.CHILD // remember that false/true cast respectively to 0/1 match[ 4 ] = +( match[ 4 ] ? match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) + ); match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - // other types prohibit arguments + // other types prohibit arguments } else if ( match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); + find.error( match[ 0 ] ); } return match; }, - "PSEUDO": function( match ) { + PSEUDO: function( match ) { var excess, unquoted = !match[ 6 ] && match[ 2 ]; - if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + if ( matchExpr.CHILD.test( match[ 0 ] ) ) { return null; } @@ -1854,36 +1633,36 @@ Expr = Sizzle.selectors = { filter: { - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + TAG: function( nodeNameSelector ) { + var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); return nodeNameSelector === "*" ? function() { return true; } : function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + return nodeName( elem, expectedNodeName ); }; }, - "CLASS": function( className ) { + CLASS: function( className ) { var pattern = classCache[ className + " " ]; return pattern || - ( pattern = new RegExp( "(^|" + whitespace + - ")" + className + "(" + whitespace + "|$)" ) ) && classCache( - className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); + ( pattern = new RegExp( "(^|" + whitespace + ")" + className + + "(" + whitespace + "|$)" ) ) && + classCache( className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); } ); }, - "ATTR": function( name, operator, check ) { + ATTR: function( name, operator, check ) { return function( elem ) { - var result = Sizzle.attr( elem, name ); + var result = find.attr( elem, name ); if ( result == null ) { return operator === "!="; @@ -1894,22 +1673,34 @@ Expr = Sizzle.selectors = { result += ""; - /* eslint-disable max-len */ - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - /* eslint-enable max-len */ + if ( operator === "=" ) { + return result === check; + } + if ( operator === "!=" ) { + return result !== check; + } + if ( operator === "^=" ) { + return check && result.indexOf( check ) === 0; + } + if ( operator === "*=" ) { + return check && result.indexOf( check ) > -1; + } + if ( operator === "$=" ) { + return check && result.slice( -check.length ) === check; + } + if ( operator === "~=" ) { + return ( " " + result.replace( rwhitespace, " " ) + " " ) + .indexOf( check ) > -1; + } + if ( operator === "|=" ) { + return result === check || result.slice( 0, check.length + 1 ) === check + "-"; + } + return false; }; }, - "CHILD": function( type, what, _argument, first, last ) { + CHILD: function( type, what, _argument, first, last ) { var simple = type.slice( 0, 3 ) !== "nth", forward = type.slice( -4 ) !== "last", ofType = what === "of-type"; @@ -1922,7 +1713,7 @@ Expr = Sizzle.selectors = { } : function( elem, _context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, + var cache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), @@ -1937,7 +1728,7 @@ Expr = Sizzle.selectors = { node = elem; while ( ( node = node[ dir ] ) ) { if ( ofType ? - node.nodeName.toLowerCase() === name : + nodeName( node, name ) : node.nodeType === 1 ) { return false; @@ -1956,17 +1747,8 @@ Expr = Sizzle.selectors = { if ( forward && useCache ) { // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; + outerCache = parent[ expando ] || ( parent[ expando ] = {} ); + cache = outerCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; @@ -1978,7 +1760,7 @@ Expr = Sizzle.selectors = { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; break; } } @@ -1987,17 +1769,8 @@ Expr = Sizzle.selectors = { // Use previously-cached element index if available if ( useCache ) { - - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + cache = outerCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex; } @@ -2011,7 +1784,7 @@ Expr = Sizzle.selectors = { ( diff = nodeIndex = 0 ) || start.pop() ) ) { if ( ( ofType ? - node.nodeName.toLowerCase() === name : + nodeName( node, name ) : node.nodeType === 1 ) && ++diff ) { @@ -2019,13 +1792,7 @@ Expr = Sizzle.selectors = { if ( useCache ) { outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - uniqueCache[ type ] = [ dirruns, diff ]; + outerCache[ type ] = [ dirruns, diff ]; } if ( node === elem ) { @@ -2043,19 +1810,19 @@ Expr = Sizzle.selectors = { }; }, - "PSEUDO": function( pseudo, argument ) { + PSEUDO: function( pseudo, argument ) { // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes + // https://www.w3.org/TR/selectors/#pseudo-classes // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters // Remember that setFilters inherits from pseudos var args, fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); + find.error( "unsupported pseudo: " + pseudo ); // The user may use createPseudo to indicate that // arguments are needed to create the filter function - // just as Sizzle does + // just as jQuery does if ( fn[ expando ] ) { return fn( argument ); } @@ -2069,7 +1836,7 @@ Expr = Sizzle.selectors = { matched = fn( seed, argument ), i = matched.length; while ( i-- ) { - idx = indexOf( seed, matched[ i ] ); + idx = indexOf.call( seed, matched[ i ] ); seed[ idx ] = !( matches[ idx ] = matched[ i ] ); } } ) : @@ -2085,14 +1852,14 @@ Expr = Sizzle.selectors = { pseudos: { // Potentially complex pseudos - "not": markFunction( function( selector ) { + not: markFunction( function( selector ) { // Trim the selector passed to compile // to avoid treating leading and trailing // spaces as combinators var input = [], results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); + matcher = compile( selector.replace( rtrimCSS, "$1" ) ); return matcher[ expando ] ? markFunction( function( seed, matches, _context, xml ) { @@ -2111,22 +1878,23 @@ Expr = Sizzle.selectors = { input[ 0 ] = elem; matcher( input, null, xml, results ); - // Don't keep the element (issue #299) + // Don't keep the element + // (see https://github.com/jquery/sizzle/issues/299) input[ 0 ] = null; return !results.pop(); }; } ), - "has": markFunction( function( selector ) { + has: markFunction( function( selector ) { return function( elem ) { - return Sizzle( selector, elem ).length > 0; + return find( selector, elem ).length > 0; }; } ), - "contains": markFunction( function( text ) { + contains: markFunction( function( text ) { text = text.replace( runescape, funescape ); return function( elem ) { - return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1; }; } ), @@ -2136,12 +1904,12 @@ Expr = Sizzle.selectors = { // or beginning with the identifier C immediately followed by "-". // The matching of C against the element's language value is performed case-insensitively. // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { + // https://www.w3.org/TR/selectors/#lang-pseudo + lang: markFunction( function( lang ) { // lang value must be a valid identifier if ( !ridentifier.test( lang || "" ) ) { - Sizzle.error( "unsupported lang: " + lang ); + find.error( "unsupported lang: " + lang ); } lang = lang.replace( runescape, funescape ).toLowerCase(); return function( elem ) { @@ -2160,38 +1928,39 @@ Expr = Sizzle.selectors = { } ), // Miscellaneous - "target": function( elem ) { + target: function( elem ) { var hash = window.location && window.location.hash; return hash && hash.slice( 1 ) === elem.id; }, - "root": function( elem ) { - return elem === docElem; + root: function( elem ) { + return elem === documentElement; }, - "focus": function( elem ) { - return elem === document.activeElement && - ( !document.hasFocus || document.hasFocus() ) && + focus: function( elem ) { + return elem === safeActiveElement() && + document.hasFocus() && !!( elem.type || elem.href || ~elem.tabIndex ); }, // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), + enabled: createDisabledPseudo( false ), + disabled: createDisabledPseudo( true ), - "checked": function( elem ) { + checked: function( elem ) { // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return ( nodeName === "input" && !!elem.checked ) || - ( nodeName === "option" && !!elem.selected ); + // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + return ( nodeName( elem, "input" ) && !!elem.checked ) || + ( nodeName( elem, "option" ) && !!elem.selected ); }, - "selected": function( elem ) { + selected: function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly + // Support: IE <=11+ + // Accessing the selectedIndex property + // forces the browser to treat the default option as + // selected when in an optgroup. if ( elem.parentNode ) { // eslint-disable-next-line no-unused-expressions elem.parentNode.selectedIndex; @@ -2201,9 +1970,9 @@ Expr = Sizzle.selectors = { }, // Contents - "empty": function( elem ) { + empty: function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo + // https://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) // nodeType < 6 works because attributes (2) do not appear as children @@ -2215,49 +1984,49 @@ Expr = Sizzle.selectors = { return true; }, - "parent": function( elem ) { - return !Expr.pseudos[ "empty" ]( elem ); + parent: function( elem ) { + return !Expr.pseudos.empty( elem ); }, // Element/input types - "header": function( elem ) { + header: function( elem ) { return rheader.test( elem.nodeName ); }, - "input": function( elem ) { + input: function( elem ) { return rinputs.test( elem.nodeName ); }, - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; + button: function( elem ) { + return nodeName( elem, "input" ) && elem.type === "button" || + nodeName( elem, "button" ); }, - "text": function( elem ) { + text: function( elem ) { var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && + return nodeName( elem, "input" ) && elem.type === "text" && - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + // Support: IE <10 only + // New HTML5 attribute values (e.g., "search") appear + // with elem.type === "text" ( ( attr = elem.getAttribute( "type" ) ) == null || attr.toLowerCase() === "text" ); }, // Position-in-collection - "first": createPositionalPseudo( function() { + first: createPositionalPseudo( function() { return [ 0 ]; } ), - "last": createPositionalPseudo( function( _matchIndexes, length ) { + last: createPositionalPseudo( function( _matchIndexes, length ) { return [ length - 1 ]; } ), - "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + eq: createPositionalPseudo( function( _matchIndexes, length, argument ) { return [ argument < 0 ? argument + length : argument ]; } ), - "even": createPositionalPseudo( function( matchIndexes, length ) { + even: createPositionalPseudo( function( matchIndexes, length ) { var i = 0; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); @@ -2265,7 +2034,7 @@ Expr = Sizzle.selectors = { return matchIndexes; } ), - "odd": createPositionalPseudo( function( matchIndexes, length ) { + odd: createPositionalPseudo( function( matchIndexes, length ) { var i = 1; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); @@ -2273,19 +2042,24 @@ Expr = Sizzle.selectors = { return matchIndexes; } ), - "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? - argument + length : - argument > length ? - length : - argument; + lt: createPositionalPseudo( function( matchIndexes, length, argument ) { + var i; + + if ( argument < 0 ) { + i = argument + length; + } else if ( argument > length ) { + i = length; + } else { + i = argument; + } + for ( ; --i >= 0; ) { matchIndexes.push( i ); } return matchIndexes; } ), - "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + gt: createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; ++i < length; ) { matchIndexes.push( i ); @@ -2295,7 +2069,7 @@ Expr = Sizzle.selectors = { } }; -Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; +Expr.pseudos.nth = Expr.pseudos.eq; // Add button/input type pseudos for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { @@ -2310,7 +2084,7 @@ function setFilters() {} setFilters.prototype = Expr.filters = Expr.pseudos; Expr.setFilters = new setFilters(); -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { +function tokenize( selector, parseOnly ) { var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[ selector + " " ]; @@ -2338,13 +2112,13 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { matched = false; // Combinators - if ( ( match = rcombinators.exec( soFar ) ) ) { + if ( ( match = rleadingCombinator.exec( soFar ) ) ) { matched = match.shift(); tokens.push( { value: matched, // Cast descendant combinators to space - type: match[ 0 ].replace( rtrim, " " ) + type: match[ 0 ].replace( rtrimCSS, " " ) } ); soFar = soFar.slice( matched.length ); } @@ -2371,14 +2145,16 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { // Return the length of the invalid excess // if we're just parsing // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : + if ( parseOnly ) { + return soFar.length; + } - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; + return soFar ? + find.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} function toSelector( tokens ) { var i = 0, @@ -2411,7 +2187,7 @@ function addCombinator( matcher, combinator, base ) { // Check against all ancestor/preceding elements function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, + var oldCache, outerCache, newCache = [ dirruns, doneName ]; // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching @@ -2428,14 +2204,9 @@ function addCombinator( matcher, combinator, base ) { if ( elem.nodeType === 1 || checkNonElements ) { outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || - ( outerCache[ elem.uniqueID ] = {} ); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { + if ( skip && nodeName( elem, skip ) ) { elem = elem[ dir ] || elem; - } else if ( ( oldCache = uniqueCache[ key ] ) && + } else if ( ( oldCache = outerCache[ key ] ) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements @@ -2443,7 +2214,7 @@ function addCombinator( matcher, combinator, base ) { } else { // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; + outerCache[ key ] = newCache; // A match means we're done; a fail means we have to keep checking if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { @@ -2475,7 +2246,7 @@ function multipleContexts( selector, contexts, results ) { var i = 0, len = contexts.length; for ( ; i < len; i++ ) { - Sizzle( selector, contexts[ i ], results ); + find( selector, contexts[ i ], results ); } return results; } @@ -2509,38 +2280,37 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS postFinder = setMatcher( postFinder, postSelector ); } return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, + var temp, i, elem, matcherOut, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context - elems = seed || multipleContexts( - selector || "*", - context.nodeType ? [ context ] : context, - [] - ), + elems = seed || + multipleContexts( selector || "*", + context.nodeType ? [ context ] : context, [] ), // Prefilter to get matcher input, preserving a map for seed-results synchronization matcherIn = preFilter && ( seed || !selector ) ? condense( elems, preMap, preFilter, context, xml ) : - elems, + elems; - matcherOut = matcher ? + if ( matcher ) { - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + // If we have a postFinder, or filtered seed, or non-seed postFilter + // or preexisting results, + matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - // ...intermediate processing is necessary - [] : + // ...intermediate processing is necessary + [] : - // ...otherwise use results directly - results : - matcherIn; + // ...otherwise use results directly + results; - // Find primary matches - if ( matcher ) { + // Find primary matches matcher( matcherIn, matcherOut, context, xml ); + } else { + matcherOut = matcherIn; } // Apply postFilter @@ -2578,7 +2348,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS i = matcherOut.length; while ( i-- ) { if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) { seed[ temp ] = !( results[ temp ] = elem ); } @@ -2613,15 +2383,21 @@ function matcherFromTokens( tokens ) { return elem === checkContext; }, implicitRelative, true ), matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; + return indexOf.call( checkContext, elem ) > -1; }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( ( checkContext = context ).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) + // Avoid hanging onto element + // (see https://github.com/jquery/sizzle/issues/299) checkContext = null; return ret; } ]; @@ -2646,11 +2422,10 @@ function matcherFromTokens( tokens ) { i > 1 && elementMatcher( matchers ), i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens - .slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrim, "$1" ), + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrimCSS, "$1" ), matcher, i < j && matcherFromTokens( tokens.slice( i, j ) ), j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), @@ -2676,7 +2451,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { contextBackup = outermostContext, // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + elems = seed || byElement && Expr.find.TAG( "*", outermost ), // Use integer dirruns iff this is the outermost matcher dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), @@ -2692,8 +2467,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { } // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + // Support: iOS <=7 - 9 only + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching + // elements by id. (see trac-14142) for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { if ( byElement && elem ) { j = 0; @@ -2708,7 +2484,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { } while ( ( matcher = elementMatchers[ j++ ] ) ) { if ( matcher( elem, context || document, xml ) ) { - results.push( elem ); + push.call( results, elem ); break; } } @@ -2771,7 +2547,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { if ( outermost && !seed && setMatched.length > 0 && ( matchedCount + setMatchers.length ) > 1 ) { - Sizzle.uniqueSort( results ); + jQuery.uniqueSort( results ); } } @@ -2789,7 +2565,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { superMatcher; } -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { +function compile( selector, match /* Internal Use Only */ ) { var i, setMatchers = [], elementMatchers = [], @@ -2812,27 +2588,25 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { } // Cache the compiled function - cached = compilerCache( - selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) - ); + cached = compilerCache( selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) ); // Save selector and tokenization cached.selector = selector; } return cached; -}; +} /** - * A low-level selection function that works with Sizzle's compiled + * A low-level selection function that works with jQuery's compiled * selector functions * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile + * selector function built with jQuery selector compile * @param {Element} context * @param {Array} [results] * @param {Array} [seed] A set of elements to match against */ -select = Sizzle.select = function( selector, context, results, seed ) { +function select( selector, context, results, seed ) { var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, match = !seed && tokenize( ( selector = compiled.selector || selector ) ); @@ -2846,10 +2620,12 @@ select = Sizzle.select = function( selector, context, results, seed ) { // Reduce context if the leading compound selector is an ID tokens = match[ 0 ] = match[ 0 ].slice( 0 ); if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - context = ( Expr.find[ "ID" ]( token.matches[ 0 ] - .replace( runescape, funescape ), context ) || [] )[ 0 ]; + context = ( Expr.find.ID( + token.matches[ 0 ].replace( runescape, funescape ), + context + ) || [] )[ 0 ]; if ( !context ) { return results; @@ -2862,7 +2638,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { } // Fetch a seed set for right-to-left matching - i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length; while ( i-- ) { token = tokens[ i ]; @@ -2875,8 +2651,8 @@ select = Sizzle.select = function( selector, context, results, seed ) { // Search, expanding context for leading sibling combinators if ( ( seed = find( token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || - context + rsibling.test( tokens[ 0 ].type ) && + testContext( context.parentNode ) || context ) ) ) { // If seed is empty or no tokens remain, we can return early @@ -2903,21 +2679,18 @@ select = Sizzle.select = function( selector, context, results, seed ) { !context || rsibling.test( selector ) && testContext( context.parentNode ) || context ); return results; -}; +} // One-time assignments +// Support: Android <=4.0 - 4.1+ // Sort stability support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - // Initialize against the default document setDocument(); -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Support: Android <=4.0 - 4.1+ // Detached nodes confoundingly follow *each other* support.sortDetached = assert( function( el ) { @@ -2925,68 +2698,29 @@ support.sortDetached = assert( function( el ) { return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; } ); -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert( function( el ) { - el.innerHTML = "<a href='#'></a>"; - return el.firstChild.getAttribute( "href" ) === "#"; -} ) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - } ); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert( function( el ) { - el.innerHTML = "<input/>"; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -} ) ) { - addHandle( "value", function( elem, _name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - } ); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert( function( el ) { - return el.getAttribute( "disabled" ) == null; -} ) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; - } - } ); -} - -return Sizzle; - -} )( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; +jQuery.find = find; // Deprecated jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; +jQuery.unique = jQuery.uniqueSort; + +// These have always been private, but they used to be documented as part of +// Sizzle so let's maintain them for now for backwards compatibility purposes. +find.compile = compile; +find.select = select; +find.setDocument = setDocument; +find.tokenize = tokenize; +find.escape = jQuery.escapeSelector; +find.getText = jQuery.text; +find.isXML = jQuery.isXMLDoc; +find.selectors = jQuery.expr; +find.support = jQuery.support; +find.uniqueSort = jQuery.uniqueSort; + /* eslint-enable */ + +} )(); var dir = function( elem, dir, until ) { @@ -3020,13 +2754,6 @@ var siblings = function( n, elem ) { var rneedsContext = jQuery.expr.match.needsContext; - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -}; var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); @@ -3125,8 +2852,8 @@ jQuery.fn.extend( { var rootjQuery, // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) + // Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521) + // Strict HTML recognition (trac-11290: must start with <) // Shortcut simple #id case for speed rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, @@ -3277,7 +3004,7 @@ jQuery.fn.extend( { if ( cur.nodeType < 11 && ( targets ? targets.index( cur ) > -1 : - // Don't pass non-elements to Sizzle + // Don't pass non-elements to jQuery#find cur.nodeType === 1 && jQuery.find.matchesSelector( cur, selectors ) ) ) { @@ -3832,7 +3559,7 @@ jQuery.extend( { if ( jQuery.Deferred.exceptionHook ) { jQuery.Deferred.exceptionHook( e, - process.stackTrace ); + process.error ); } // Support: Promises/A+ section 2.3.3.3.4.1 @@ -3860,10 +3587,17 @@ jQuery.extend( { process(); } else { - // Call an optional hook to record the stack, in case of exception + // Call an optional hook to record the error, in case of exception // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); + if ( jQuery.Deferred.getErrorHook ) { + process.error = jQuery.Deferred.getErrorHook(); + + // The deprecated alias of the above. While the name suggests + // returning the stack, not an error instance, jQuery just passes + // it directly to `console.warn` so both will work; an instance + // just better cooperates with source maps. + } else if ( jQuery.Deferred.getStackHook ) { + process.error = jQuery.Deferred.getStackHook(); } window.setTimeout( process ); } @@ -3997,8 +3731,8 @@ jQuery.extend( { resolveContexts = Array( i ), resolveValues = slice.call( arguments ), - // the master Deferred - master = jQuery.Deferred(), + // the primary Deferred + primary = jQuery.Deferred(), // subordinate callback factory updateFunc = function( i ) { @@ -4006,30 +3740,30 @@ jQuery.extend( { resolveContexts[ i ] = this; resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; if ( !( --remaining ) ) { - master.resolveWith( resolveContexts, resolveValues ); + primary.resolveWith( resolveContexts, resolveValues ); } }; }; // Single- and empty arguments are adopted like Promise.resolve if ( remaining <= 1 ) { - adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, !remaining ); // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( master.state() === "pending" || + if ( primary.state() === "pending" || isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - return master.then(); + return primary.then(); } } // Multiple arguments are aggregated like Promise.all array elements while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); } - return master.promise(); + return primary.promise(); } } ); @@ -4038,12 +3772,16 @@ jQuery.extend( { // warn about them ASAP rather than swallowing them by default. var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; -jQuery.Deferred.exceptionHook = function( error, stack ) { +// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error +// captured before the async barrier to get the original error cause +// which may otherwise be hidden. +jQuery.Deferred.exceptionHook = function( error, asyncError ) { // Support: IE 8 - 9 only // Console exists when dev tools are open, which can happen at any time if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + window.console.warn( "jQuery.Deferred exception: " + error.message, + error.stack, asyncError ); } }; @@ -4083,7 +3821,7 @@ jQuery.extend( { isReady: false, // A counter to track how many items to wait for before - // the ready event fires. See #6781 + // the ready event fires. See trac-6781 readyWait: 1, // Handle when the DOM is ready @@ -4180,8 +3918,8 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { for ( ; i < len; i++ ) { fn( elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) ); } } @@ -4211,7 +3949,7 @@ function fcamelCase( _all, letter ) { // Convert dashed to camelCase; used by the css and data modules // Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (#9572) +// Microsoft forgot to hump their vendor prefix (trac-9572) function camelCase( string ) { return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); } @@ -4247,7 +3985,7 @@ Data.prototype = { value = {}; // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. + // but we should not, see trac-8335. // Always return an empty object. if ( acceptData( owner ) ) { @@ -4486,7 +4224,7 @@ jQuery.fn.extend( { while ( i-- ) { // Support: IE 11 only - // The attrs elements can be null (#14894) + // The attrs elements can be null (trac-14894) if ( attrs[ i ] ) { name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { @@ -4909,9 +4647,9 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); input = document.createElement( "input" ); // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) + // Check state lost if the name is set (trac-11217) // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) + // `name` and `type` must use .setAttribute for WWA (trac-14901) input.setAttribute( "type", "radio" ); input.setAttribute( "checked", "checked" ); input.setAttribute( "name", "t" ); @@ -4935,7 +4673,7 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); } )(); -// We have to close these tags to support XHTML (#13200) +// We have to close these tags to support XHTML (trac-13200) var wrapMap = { // XHTML parsers do not magically insert elements in the @@ -4961,7 +4699,7 @@ if ( !support.option ) { function getAll( context, tag ) { // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) + // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) var ret; if ( typeof context.getElementsByTagName !== "undefined" ) { @@ -5044,7 +4782,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) { // Remember the top-level container tmp = fragment.firstChild; - // Ensure the created nodes are orphaned (#12392) + // Ensure the created nodes are orphaned (trac-12392) tmp.textContent = ""; } } @@ -5089,10 +4827,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) { } -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; function returnTrue() { return true; @@ -5102,25 +4837,6 @@ function returnFalse() { return false; } -// Support: IE <=9 - 11+ -// focus() and blur() are asynchronous, except when they are no-op. -// So expect focus to be synchronous when the element is already active, -// and blur to be synchronous when the element is not already active. -// (focus and blur are always synchronous in other supported browsers, -// this just defines when we can count on it). -function expectSync( elem, type ) { - return ( elem === safeActiveElement() ) === ( type === "focus" ); -} - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - function on( elem, types, selector, data, fn, one ) { var origFn, type; @@ -5387,8 +5103,8 @@ jQuery.event = { event = jQuery.event.fix( nativeEvent ), handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event @@ -5468,15 +5184,15 @@ jQuery.event = { for ( ; cur !== this; cur = cur.parentNode || this ) { - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + // Don't check non-elements (trac-13208) + // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { matchedHandlers = []; matchedSelectors = {}; for ( i = 0; i < delegateCount; i++ ) { handleObj = handlers[ i ]; - // Don't conflict with Object.prototype properties (#13203) + // Don't conflict with Object.prototype properties (trac-13203) sel = handleObj.selector + " "; if ( matchedSelectors[ sel ] === undefined ) { @@ -5512,12 +5228,12 @@ jQuery.event = { get: isFunction( hook ) ? function() { if ( this.originalEvent ) { - return hook( this.originalEvent ); + return hook( this.originalEvent ); } } : function() { if ( this.originalEvent ) { - return this.originalEvent[ name ]; + return this.originalEvent[ name ]; } }, @@ -5558,7 +5274,7 @@ jQuery.event = { el.click && nodeName( el, "input" ) ) { // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", returnTrue ); + leverageNative( el, "click", true ); } // Return false to allow normal processing in the caller @@ -5609,10 +5325,10 @@ jQuery.event = { // synthetic events by interrupting progress until reinvoked in response to // *native* events that it fires directly, ensuring that state changes have // already occurred before other listeners are invoked. -function leverageNative( el, type, expectSync ) { +function leverageNative( el, type, isSetup ) { - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if ( !expectSync ) { + // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add + if ( !isSetup ) { if ( dataPriv.get( el, type ) === undefined ) { jQuery.event.add( el, type, returnTrue ); } @@ -5624,15 +5340,13 @@ function leverageNative( el, type, expectSync ) { jQuery.event.add( el, type, { namespace: false, handler: function( event ) { - var notAsync, result, + var result, saved = dataPriv.get( this, type ); if ( ( event.isTrigger & 1 ) && this[ type ] ) { // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if ( !saved.length ) { + if ( !saved ) { // Store arguments for use when handling the inner native event // There will always be at least one argument (an event object), so this array @@ -5641,27 +5355,22 @@ function leverageNative( el, type, expectSync ) { dataPriv.set( this, type, saved ); // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - notAsync = expectSync( this, type ); this[ type ](); result = dataPriv.get( this, type ); - if ( saved !== result || notAsync ) { - dataPriv.set( this, type, false ); - } else { - result = {}; - } + dataPriv.set( this, type, false ); + if ( saved !== result ) { // Cancel the outer synthetic event event.stopImmediatePropagation(); event.preventDefault(); - return result.value; + + return result; } // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. + // (focus or blur), assume that the surrogate already propagated from triggering + // the native event and prevent that from happening again here. // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the // bubbling surrogate propagates *after* the non-bubbling base), but that seems // less bad than duplication. @@ -5671,22 +5380,25 @@ function leverageNative( el, type, expectSync ) { // If this is a native event triggered above, everything is now in order // Fire an inner synthetic event with the original arguments - } else if ( saved.length ) { + } else if ( saved ) { // ...and capture the result - dataPriv.set( this, type, { - value: jQuery.event.trigger( - - // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), - saved.slice( 1 ), - this - ) - } ); - - // Abort handling of the native event - event.stopImmediatePropagation(); + dataPriv.set( this, type, jQuery.event.trigger( + saved[ 0 ], + saved.slice( 1 ), + this + ) ); + + // Abort handling of the native event by all jQuery handlers while allowing + // native handlers on the same element to run. On target, this is achieved + // by stopping immediate propagation just on the jQuery event. However, + // the native event is re-wrapped by a jQuery one on each level of the + // propagation so the only way to stop it for jQuery is to stop it for + // everyone via native `stopPropagation()`. This is not a problem for + // focus/blur which don't bubble, but it does also stop click on checkboxes + // and radios. We accept this limitation. + event.stopPropagation(); + event.isImmediatePropagationStopped = returnTrue; } } } ); @@ -5724,7 +5436,7 @@ jQuery.Event = function( src, props ) { // Create target properties // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) + // Target should not be a text node (trac-504, trac-13143) this.target = ( src.target && src.target.nodeType === 3 ) ? src.target.parentNode : src.target; @@ -5821,49 +5533,77 @@ jQuery.each( { targetTouches: true, toElement: true, touches: true, + which: true +}, jQuery.event.addProp ); - which: function( event ) { - var button = event.button; - - // Add which for key events - if ( event.which == null && rkeyEvent.test( event.type ) ) { - return event.charCode != null ? event.charCode : event.keyCode; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { - if ( button & 1 ) { - return 1; - } +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - if ( button & 2 ) { - return 3; - } + function focusMappedHandler( nativeEvent ) { + if ( document.documentMode ) { - if ( button & 4 ) { - return 2; + // Support: IE 11+ + // Attach a single focusin/focusout handler on the document while someone wants + // focus/blur. This is because the former are synchronous in IE while the latter + // are async. In other browsers, all those handlers are invoked synchronously. + + // `handle` from private data would already wrap the event, but we need + // to change the `type` here. + var handle = dataPriv.get( this, "handle" ), + event = jQuery.event.fix( nativeEvent ); + event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; + event.isSimulated = true; + + // First, handle focusin/focusout + handle( nativeEvent ); + + // ...then, handle focus/blur + // + // focus/blur don't bubble while focusin/focusout do; simulate the former by only + // invoking the handler at the lower level. + if ( event.target === event.currentTarget ) { + + // The setup part calls `leverageNative`, which, in turn, calls + // `jQuery.event.add`, so event handle will already have been set + // by this point. + handle( event ); } + } else { - return 0; + // For non-IE browsers, attach a single capturing handler on the document + // while someone wants focusin/focusout. + jQuery.event.simulate( delegateType, nativeEvent.target, + jQuery.event.fix( nativeEvent ) ); } - - return event.which; } -}, jQuery.event.addProp ); -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { jQuery.event.special[ type ] = { // Utilize native event if possible so blur/focus sequence is correct setup: function() { + var attaches; + // Claim the first handler // dataPriv.set( this, "focus", ... ) // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, expectSync ); + leverageNative( this, type, true ); - // Return false to allow normal processing in the caller - return false; + if ( document.documentMode ) { + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + attaches = dataPriv.get( this, delegateType ); + if ( !attaches ) { + this.addEventListener( delegateType, focusMappedHandler ); + } + dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); + } else { + + // Return false to allow normal processing in the caller + return false; + } }, trigger: function() { @@ -5874,8 +5614,84 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp return true; }, + teardown: function() { + var attaches; + + if ( document.documentMode ) { + attaches = dataPriv.get( this, delegateType ) - 1; + if ( !attaches ) { + this.removeEventListener( delegateType, focusMappedHandler ); + dataPriv.remove( this, delegateType ); + } else { + dataPriv.set( this, delegateType, attaches ); + } + } else { + + // Return false to indicate standard teardown should be applied + return false; + } + }, + + // Suppress native focus or blur if we're currently inside + // a leveraged native-event stack + _default: function( event ) { + return dataPriv.get( event.target, type ); + }, + delegateType: delegateType }; + + // Support: Firefox <=44 + // Firefox doesn't have focus(in | out) events + // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 + // + // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 + // focus(in | out) events fire after focus & blur events, + // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order + // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 + // + // Support: IE 9 - 11+ + // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, + // attach a single handler for both events in IE. + jQuery.event.special[ delegateType ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ); + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + if ( !attaches ) { + if ( document.documentMode ) { + this.addEventListener( delegateType, focusMappedHandler ); + } else { + doc.addEventListener( type, focusMappedHandler, true ); + } + } + dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ) - 1; + + if ( !attaches ) { + if ( document.documentMode ) { + this.removeEventListener( delegateType, focusMappedHandler ); + } else { + doc.removeEventListener( type, focusMappedHandler, true ); + } + dataPriv.remove( dataHolder, delegateType ); + } else { + dataPriv.set( dataHolder, delegateType, attaches ); + } + } + }; } ); // Create mouseenter/leave events using mouseover/out and event-time checks @@ -5970,7 +5786,8 @@ var // checked="checked" or checked rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + + rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g; // Prefer a tbody over its parent table for containing new rows function manipulationTarget( elem, content ) { @@ -6084,7 +5901,7 @@ function domManip( collection, args, callback, ignored ) { // Use the original fragment for the last item // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). + // being emptied incorrectly in certain situations (trac-8070). for ( ; i < l; i++ ) { node = fragment; @@ -6106,7 +5923,7 @@ function domManip( collection, args, callback, ignored ) { if ( hasScripts ) { doc = scripts[ scripts.length - 1 ].ownerDocument; - // Reenable scripts + // Re-enable scripts jQuery.map( scripts, restoreScript ); // Evaluate executable scripts on first document insertion @@ -6125,6 +5942,12 @@ function domManip( collection, args, callback, ignored ) { }, doc ); } } else { + + // Unwrap a CDATA section containing script contents. This shouldn't be + // needed as in XML documents they're already not visible when + // inspecting element contents and in HTML documents they have no + // meaning but we're preserving that logic for backwards compatibility. + // This will be removed completely in 4.0. See gh-4904. DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); } } @@ -6171,7 +5994,8 @@ jQuery.extend( { if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) { - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + // We eschew jQuery#find here for performance reasons: + // https://jsperf.com/getall-vs-sizzle/2 destElements = getAll( clone ); srcElements = getAll( elem ); @@ -6407,9 +6231,12 @@ jQuery.each( { } ); var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); +var rcustomProp = /^--/; + + var getStyles = function( elem ) { - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) // IE throws on elements created in popups // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" var view = elem.ownerDocument.defaultView; @@ -6509,7 +6336,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); } // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) + // Style of cloned element affects source element cloned (trac-8908) div.style.backgroundClip = "content-box"; div.cloneNode( true ).style.backgroundClip = ""; support.clearCloneStyle = div.style.backgroundClip === "content-box"; @@ -6541,6 +6368,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); // set in CSS while `offset*` properties report correct values. // Behavior in IE 9 is more subtle than in newer versions & it passes // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) reliableTrDimensions: function() { var table, tr, trChild, trStyle; if ( reliableTrDimensionsVal == null ) { @@ -6548,17 +6379,32 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); tr = document.createElement( "tr" ); trChild = document.createElement( "div" ); - table.style.cssText = "position:absolute;left:-11111px"; + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "box-sizing:content-box;border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. tr.style.height = "1px"; trChild.style.height = "9px"; + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is `display: block` + // gets around this issue. + trChild.style.display = "block"; + documentElement .appendChild( table ) .appendChild( tr ) .appendChild( trChild ); trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; documentElement.removeChild( table ); } @@ -6570,6 +6416,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); function curCSS( elem, name, computed ) { var width, minWidth, maxWidth, ret, + isCustomProp = rcustomProp.test( name ), // Support: Firefox 51+ // Retrieving style before computed somehow @@ -6580,11 +6427,42 @@ function curCSS( elem, name, computed ) { computed = computed || getStyles( elem ); // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) + // .css('filter') (IE 9 only, trac-12537) + // .css('--customProperty) (gh-3144) if ( computed ) { + + // Support: IE <=9 - 11+ + // IE only supports `"float"` in `getPropertyValue`; in computed styles + // it's only available as `"cssFloat"`. We no longer modify properties + // sent to `.css()` apart from camelCasing, so we need to check both. + // Normally, this would create difference in behavior: if + // `getPropertyValue` returns an empty string, the value returned + // by `.css()` would be `undefined`. This is usually the case for + // disconnected elements. However, in IE even disconnected elements + // with no styles return `"none"` for `getPropertyValue( "float" )` ret = computed.getPropertyValue( name ) || computed[ name ]; + if ( isCustomProp && ret ) { + + // Support: Firefox 105+, Chrome <=105+ + // Spec requires trimming whitespace for custom properties (gh-4926). + // Firefox only trims leading whitespace. Chrome just collapses + // both leading & trailing whitespace to a single space. + // + // Fall back to `undefined` if empty string returned. + // This collapses a missing definition with property defined + // and set to an empty string but there's no standard API + // allowing us to differentiate them without a performance penalty + // and returning `undefined` aligns with older jQuery. + // + // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED + // as whitespace while CSS does not, but this is not a problem + // because CSS preprocessing replaces them with U+000A LINE FEED + // (which *is* CSS whitespace) + // https://www.w3.org/TR/css-syntax-3/#input-preprocessing + ret = ret.replace( rtrimCSS, "$1" ) || undefined; + } + if ( ret === "" && !isAttached( elem ) ) { ret = jQuery.style( elem, name ); } @@ -6680,7 +6558,6 @@ var // except "table", "table-cell", or "table-caption" // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, cssShow = { position: "absolute", visibility: "hidden", display: "block" }, cssNormalTransform = { letterSpacing: "0", @@ -6702,7 +6579,8 @@ function setPositiveNumber( _elem, value, subtract ) { function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { var i = dimension === "width" ? 1 : 0, extra = 0, - delta = 0; + delta = 0, + marginDelta = 0; // Adjustment may not be necessary if ( box === ( isBorderBox ? "border" : "content" ) ) { @@ -6712,8 +6590,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed for ( ; i < 4; i += 2 ) { // Both box models exclude margin + // Count margin delta separately to only add it after scroll gutter adjustment. + // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). if ( box === "margin" ) { - delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); } // If we get here with a content-box, we're seeking "padding" or "border" or "margin" @@ -6764,7 +6644,7 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed ) ) || 0; } - return delta; + return delta + marginDelta; } function getWidthOrHeight( elem, dimension, extra ) { @@ -6862,26 +6742,35 @@ jQuery.extend( { // Don't automatically add "px" to these possibly-unitless properties cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true + animationIterationCount: true, + aspectRatio: true, + borderImageSlice: true, + columnCount: true, + flexGrow: true, + flexShrink: true, + fontWeight: true, + gridArea: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnStart: true, + gridRow: true, + gridRowEnd: true, + gridRowStart: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + scale: true, + widows: true, + zIndex: true, + zoom: true, + + // SVG-related + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeMiterlimit: true, + strokeOpacity: true }, // Add in properties whose names you wish to fix before @@ -6916,15 +6805,15 @@ jQuery.extend( { if ( value !== undefined ) { type = typeof value; - // Convert "+=" or "-=" to relative numbers (#7345) + // Convert "+=" or "-=" to relative numbers (trac-7345) if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { value = adjustCSS( elem, name, ret ); - // Fixes bug #9237 + // Fixes bug trac-9237 type = "number"; } - // Make sure that null and NaN values aren't set (#7116) + // Make sure that null and NaN values aren't set (trac-7116) if ( value == null || value !== value ) { return; } @@ -7022,10 +6911,10 @@ jQuery.each( [ "height", "width" ], function( _i, dimension ) { // Running getBoundingClientRect on a disconnected node // in IE throws an error. ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); } }, @@ -7084,7 +6973,7 @@ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, swap( elem, { marginLeft: 0 }, function() { return elem.getBoundingClientRect().left; } ) - ) + "px"; + ) + "px"; } } ); @@ -7223,7 +7112,7 @@ Tween.propHooks = { if ( jQuery.fx.step[ tween.prop ] ) { jQuery.fx.step[ tween.prop ]( tween ); } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || + jQuery.cssHooks[ tween.prop ] || tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); } else { @@ -7468,7 +7357,7 @@ function defaultPrefilter( elem, props, opts ) { anim.done( function() { - /* eslint-enable no-loop-func */ + /* eslint-enable no-loop-func */ // The final step of a "hide" animation is actually hiding the element if ( !hidden ) { @@ -7548,7 +7437,7 @@ function Animation( elem, properties, options ) { remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) temp = remaining / animation.duration || 0, percent = 1 - temp, index = 0, @@ -7588,7 +7477,7 @@ function Animation( elem, properties, options ) { tweens: [], createTween: function( prop, end ) { var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.opts.specialEasing[ prop ] || animation.opts.easing ); animation.tweens.push( tween ); return tween; }, @@ -7761,7 +7650,8 @@ jQuery.fn.extend( { anim.stop( true ); } }; - doAnimation.finish = doAnimation; + + doAnimation.finish = doAnimation; return empty || optall.queue === false ? this.each( doAnimation ) : @@ -7937,7 +7827,6 @@ jQuery.fx.speeds = { // Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ jQuery.fn.delay = function( time, type ) { time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; type = type || "fx"; @@ -8162,8 +8051,7 @@ jQuery.extend( { // Support: IE <=9 - 11 only // elem.tabIndex doesn't always return the // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) + // Use proper attribute retrieval (trac-12072) var tabindex = jQuery.find.attr( elem, "tabindex" ); if ( tabindex ) { @@ -8267,8 +8155,7 @@ function classesToArray( value ) { jQuery.fn.extend( { addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; + var classNames, cur, curValue, className, i, finalValue; if ( isFunction( value ) ) { return this.each( function( j ) { @@ -8276,36 +8163,35 @@ jQuery.fn.extend( { } ); } - classes = classesToArray( value ); + classNames = classesToArray( value ); - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + if ( cur.indexOf( " " + className + " " ) < 0 ) { + cur += className + " "; } } // Only assign if different to avoid unneeded rendering. finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); + this.setAttribute( "class", finalValue ); } } - } + } ); } return this; }, removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; + var classNames, cur, curValue, className, i, finalValue; if ( isFunction( value ) ) { return this.each( function( j ) { @@ -8317,45 +8203,42 @@ jQuery.fn.extend( { return this.attr( "class", "" ); } - classes = classesToArray( value ); + classNames = classesToArray( value ); - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); + while ( cur.indexOf( " " + className + " " ) > -1 ) { + cur = cur.replace( " " + className + " ", " " ); } } // Only assign if different to avoid unneeded rendering. finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); + this.setAttribute( "class", finalValue ); } } - } + } ); } return this; }, toggleClass: function( value, stateVal ) { - var type = typeof value, + var classNames, className, i, self, + type = typeof value, isValidValue = type === "string" || Array.isArray( value ); - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - if ( isFunction( value ) ) { return this.each( function( i ) { jQuery( this ).toggleClass( @@ -8365,17 +8248,20 @@ jQuery.fn.extend( { } ); } - return this.each( function() { - var className, i, self, classNames; + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + classNames = classesToArray( value ); + return this.each( function() { if ( isValidValue ) { // Toggle individual class names - i = 0; self = jQuery( this ); - classNames = classesToArray( value ); - while ( ( className = classNames[ i++ ] ) ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; // Check each className given, space separated list if ( self.hasClass( className ) ) { @@ -8401,8 +8287,8 @@ jQuery.fn.extend( { if ( this.setAttribute ) { this.setAttribute( "class", className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" + "" : + dataPriv.get( this, "__className__" ) || "" ); } } @@ -8417,7 +8303,7 @@ jQuery.fn.extend( { while ( ( elem = this[ i++ ] ) ) { if ( elem.nodeType === 1 && ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; + return true; } } @@ -8509,7 +8395,7 @@ jQuery.extend( { val : // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) + // option.text throws exceptions (trac-14686, trac-14858) // Strip and collapse whitespace // https://html.spec.whatwg.org/#strip-and-collapse-whitespace stripAndCollapse( jQuery.text( elem ) ); @@ -8536,7 +8422,7 @@ jQuery.extend( { option = options[ i ]; // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) + // IE8-9 doesn't update selected after form reset (trac-2551) if ( ( option.selected || i === index ) && // Don't return options that are disabled or in a disabled optgroup @@ -8610,9 +8496,39 @@ jQuery.each( [ "radio", "checkbox" ], function() { // Return jQuery for attributes-only inclusion +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} -support.focusin = "onfocusin" in window; + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, @@ -8679,8 +8595,8 @@ jQuery.extend( jQuery.event, { return; } - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + // Determine event propagation path in advance, per W3C events spec (trac-9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { bubbleType = special.delegateType || type; @@ -8707,9 +8623,7 @@ jQuery.extend( jQuery.event, { special.bindType || type; // jQuery handler - handle = ( - dataPriv.get( cur, "events" ) || Object.create( null ) - )[ event.type ] && + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && dataPriv.get( cur, "handle" ); if ( handle ) { handle.apply( cur, data ); @@ -8734,7 +8648,7 @@ jQuery.extend( jQuery.event, { acceptData( elem ) ) { // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) + // Don't do default actions on window, that's where global variables be (trac-6170) if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { // Don't re-trigger an onFOO event when we call its FOO() method @@ -8802,80 +8716,6 @@ jQuery.fn.extend( { } ); -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) { - xml = undefined; - } - - if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - var rbracket = /\[\]$/, rCRLF = /\r?\n/g, @@ -8971,16 +8811,14 @@ jQuery.fn.extend( { // Can add propHook for "elements" to filter or add form elements var elements = jQuery.prop( this, "elements" ); return elements ? jQuery.makeArray( elements ) : this; - } ) - .filter( function() { + } ).filter( function() { var type = this.type; // Use .is( ":disabled" ) so that fieldset[disabled] works return this.name && !jQuery( this ).is( ":disabled" ) && rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && ( this.checked || !rcheckableType.test( type ) ); - } ) - .map( function( _i, elem ) { + } ).map( function( _i, elem ) { var val = jQuery( this ).val(); if ( val == null ) { @@ -9005,7 +8843,7 @@ var rantiCache = /([?&])_=[^&]*/, rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - // #7653, #8125, #8152: local protocol detection + // trac-7653, trac-8125, trac-8152: local protocol detection rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, rnoContent = /^(?:GET|HEAD)$/, rprotocol = /^\/\//, @@ -9028,12 +8866,13 @@ var */ transports = {}, - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression allTypes = "*/".concat( "*" ), // Anchor tag for parsing the document origin originAnchor = document.createElement( "a" ); - originAnchor.href = location.href; + +originAnchor.href = location.href; // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport function addToPrefiltersOrTransports( structure ) { @@ -9098,7 +8937,7 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqX // A special extend for ajax options // that takes "flat" options (not to be deep extended) -// Fixes #9887 +// Fixes trac-9887 function ajaxExtend( target, src ) { var key, deep, flatOptions = jQuery.ajaxSettings.flatOptions || {}; @@ -9414,8 +9253,8 @@ jQuery.extend( { // Context for global events is callbackContext if it is a DOM node or jQuery collection globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, + jQuery( callbackContext ) : + jQuery.event, // Deferreds deferred = jQuery.Deferred(), @@ -9509,12 +9348,12 @@ jQuery.extend( { deferred.promise( jqXHR ); // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) + // Handle falsy url in the settings object (trac-10093: consistency with old signature) // We also use the url parameter if available s.url = ( ( url || s.url || location.href ) + "" ) .replace( rprotocol, location.protocol + "//" ); - // Alias method option to type as per ticket #12004 + // Alias method option to type as per ticket trac-12004 s.type = options.method || options.type || s.method || s.type; // Extract dataTypes list @@ -9557,7 +9396,7 @@ jQuery.extend( { } // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) fireGlobals = jQuery.event && s.global; // Watch for a new set of requests @@ -9586,7 +9425,7 @@ jQuery.extend( { if ( s.data && ( s.processData || typeof s.data === "string" ) ) { cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - // #9682: remove data so that it's not used in an eventual retry + // trac-9682: remove data so that it's not used in an eventual retry delete s.data; } @@ -9727,8 +9566,10 @@ jQuery.extend( { response = ajaxHandleResponses( s, jqXHR, responses ); } - // Use a noop converter for missing script - if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { s.converters[ "text script" ] = function() {}; } @@ -9857,7 +9698,7 @@ jQuery._evalUrl = function( url, options, doc ) { return jQuery.ajax( { url: url, - // Make this explicit, since user can override this through ajaxSetup (#11264) + // Make this explicit, since user can override this through ajaxSetup (trac-11264) type: "GET", dataType: "script", cache: true, @@ -9966,7 +9807,7 @@ var xhrSuccessStatus = { 0: 200, // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 + // trac-1450: sometimes IE returns 1223 when it should be 204 1223: 204 }, xhrSupported = jQuery.ajaxSettings.xhr(); @@ -10038,7 +9879,7 @@ jQuery.ajaxTransport( function( options ) { } else { complete( - // File: protocol always yields status 0; see #8605, #14207 + // File: protocol always yields status 0; see trac-8605, trac-14207 xhr.status, xhr.statusText ); @@ -10099,7 +9940,7 @@ jQuery.ajaxTransport( function( options ) { xhr.send( options.hasContent && options.data || null ); } catch ( e ) { - // #14683: Only rethrow if this hasn't been notified as an error yet + // trac-14683: Only rethrow if this hasn't been notified as an error yet if ( callback ) { throw e; } @@ -10466,12 +10307,6 @@ jQuery.offset = { options.using.call( elem, props ); } else { - if ( typeof props.top === "number" ) { - props.top += "px"; - } - if ( typeof props.left === "number" ) { - props.left += "px"; - } curElem.css( props ); } } @@ -10640,8 +10475,11 @@ jQuery.each( [ "top", "left" ], function( _i, prop ) { // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, - function( defaultExtra, funcName ) { + jQuery.each( { + padding: "inner" + name, + content: type, + "": "outer" + name + }, function( defaultExtra, funcName ) { // Margin is only for outerHeight, outerWidth jQuery.fn[ funcName ] = function( margin, value ) { @@ -10722,11 +10560,14 @@ jQuery.fn.extend( { }, hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + return this + .on( "mouseenter", fnOver ) + .on( "mouseleave", fnOut || fnOver ); } } ); -jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + +jQuery.each( + ( "blur focus focusin focusout resize scroll click dblclick " + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + "change select submit keydown keypress keyup contextmenu" ).split( " " ), function( _i, name ) { @@ -10737,14 +10578,17 @@ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + this.on( name, null, data, fn ) : this.trigger( name ); }; - } ); + } +); // Support: Android <=4.0 only // Make sure we trim BOM and NBSP -var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; +// Require that the "whitespace run" starts from a non-whitespace +// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position. +var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; // Bind a function to a context, optionally partially applying any // arguments. @@ -10811,7 +10655,7 @@ jQuery.isNumeric = function( obj ) { jQuery.trim = function( text ) { return text == null ? "" : - ( text + "" ).replace( rtrim, "" ); + ( text + "" ).replace( rtrim, "$1" ); }; @@ -10859,8 +10703,8 @@ jQuery.noConflict = function( deep ) { }; // Expose jQuery and $ identifiers, even in AMD -// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) -// and CommonJS for browser emulators (#13566) +// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (trac-13566) if ( typeof noGlobal === "undefined" ) { window.jQuery = window.$ = jQuery; } diff --git a/atdb/atdb/static/admin/js/vendor/jquery/jquery.min.js b/atdb/atdb/static/admin/js/vendor/jquery/jquery.min.js index b0614034..7f37b5d9 100644 --- a/atdb/atdb/static/admin/js/vendor/jquery/jquery.min.js +++ b/atdb/atdb/static/admin/js/vendor/jquery/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S}); +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function p(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",t="(?:\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",p="\\["+ge+"*("+t+")(?:"+ge+"*([*^$|!~]?=)"+ge+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+t+"))|)"+ge+"*\\]",g=":("+t+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+p+")*)|.*)\\)|)",v=new RegExp(ge+"+","g"),y=new RegExp("^"+ge+"*,"+ge+"*"),m=new RegExp("^"+ge+"*([>+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="<a id='"+S+"' href='' disabled='disabled'></a><select id='"+S+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0<I(t,T,null,[e]).length},I.contains=function(e,t){return(e.ownerDocument||e)!=T&&V(e),ce.contains(e,t)},I.attr=function(e,t){(e.ownerDocument||e)!=T&&V(e);var n=b.attrHandle[t.toLowerCase()],r=n&&ue.call(b.attrHandle,t.toLowerCase())?n(e,t,!C):void 0;return void 0!==r?r:e.getAttribute(t)},I.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ce.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!le.sortStable,o=!le.sortStable&&ae.call(e,0),de.call(e,l),a){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)he.call(e,n[r],1)}return o=null,e},ce.fn.uniqueSort=function(){return this.pushStack(ce.uniqueSort(ae.apply(this)))},(b=ce.expr={cacheLength:50,createPseudo:F,match:D,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(v," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(d,e,t,h,g){var v="nth"!==d.slice(0,3),y="last"!==d.slice(-4),m="of-type"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u=v!==y?"nextSibling":"previousSibling",l=e.parentNode,c=m&&e.nodeName.toLowerCase(),f=!n&&!m,p=!1;if(l){if(v){while(u){o=e;while(o=o[u])if(m?fe(o,c):1===o.nodeType)return!1;s=u="only"===d&&!s&&"nextSibling"}return!0}if(s=[y?l.firstChild:l.lastChild],y&&f){p=(a=(r=(i=l[S]||(l[S]={}))[d]||[])[0]===E&&r[1])&&r[2],o=a&&l.childNodes[a];while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if(1===o.nodeType&&++p&&o===e){i[d]=[E,a,p];break}}else if(f&&(p=a=(r=(i=e[S]||(e[S]={}))[d]||[])[0]===E&&r[1]),!1===p)while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if((m?fe(o,c):1===o.nodeType)&&++p&&(f&&((i=o[S]||(o[S]={}))[d]=[E,p]),o===e))break;return(p-=g)===h||p%h==0&&0<=p/h}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||I.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?F(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=se.call(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:F(function(e){var r=[],i=[],s=ne(e.replace(ve,"$1"));return s[S]?F(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:F(function(t){return function(e){return 0<I(t,e).length}}),contains:F(function(t){return t=t.replace(O,P),function(e){return-1<(e.textContent||ce.text(e)).indexOf(t)}}),lang:F(function(n){return A.test(n||"")||I.error("unsupported lang: "+n),n=n.replace(O,P).toLowerCase(),function(e){var t;do{if(t=C?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=ie.location&&ie.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===r},focus:function(e){return e===function(){try{return T.activeElement}catch(e){}}()&&T.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:z(!1),disabled:z(!0),checked:function(e){return fe(e,"input")&&!!e.checked||fe(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return N.test(e.nodeName)},button:function(e){return fe(e,"input")&&"button"===e.type||fe(e,"button")},text:function(e){var t;return fe(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:X(function(){return[0]}),last:X(function(e,t){return[t-1]}),eq:X(function(e,t,n){return[n<0?n+t:n]}),even:X(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:X(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:X(function(e,t,n){var r;for(r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:X(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=B(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=_(e);function G(){}function Y(e,t){var n,r,i,o,a,s,u,l=c[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=y.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=m.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(ve," ")}),a=a.slice(n.length)),b.filter)!(r=D[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?I.error(e):c(e,s).slice(0)}function Q(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function J(a,e,t){var s=e.dir,u=e.next,l=u||s,c=t&&"parentNode"===l,f=n++;return e.first?function(e,t,n){while(e=e[s])if(1===e.nodeType||c)return a(e,t,n);return!1}:function(e,t,n){var r,i,o=[E,f];if(n){while(e=e[s])if((1===e.nodeType||c)&&a(e,t,n))return!0}else while(e=e[s])if(1===e.nodeType||c)if(i=e[S]||(e[S]={}),u&&fe(e,u))e=e[s]||e;else{if((r=i[l])&&r[0]===E&&r[1]===f)return o[2]=r[2];if((i[l]=o)[2]=a(e,t,n))return!0}return!1}}function K(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Z(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function ee(d,h,g,v,y,e){return v&&!v[S]&&(v=ee(v)),y&&!y[S]&&(y=ee(y,e)),F(function(e,t,n,r){var i,o,a,s,u=[],l=[],c=t.length,f=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)I(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),p=!d||!e&&h?f:Z(f,u,d,n,r);if(g?g(p,s=y||(e?d:c||v)?[]:t,n,r):s=p,v){i=Z(s,l),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(s[l[o]]=!(p[l[o]]=a))}if(e){if(y||d){if(y){i=[],o=s.length;while(o--)(a=s[o])&&i.push(p[o]=a);y(null,s=[],i,r)}o=s.length;while(o--)(a=s[o])&&-1<(i=y?se.call(e,a):u[o])&&(e[i]=!(t[i]=a))}}else s=Z(s===t?s.splice(c,s.length):s),y?y(null,t,s,r):k.apply(t,s)})}function te(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=J(function(e){return e===i},a,!0),l=J(function(e){return-1<se.call(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!=w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[J(K(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return ee(1<s&&K(c),1<s&&Q(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ve,"$1"),t,s<n&&te(e.slice(s,n)),n<r&&te(e=e.slice(n)),n<r&&Q(e))}c.push(t)}return K(c)}function ne(e,t){var n,v,y,m,x,r,i=[],o=[],a=u[e+" "];if(!a){t||(t=Y(e)),n=t.length;while(n--)(a=te(t[n]))[S]?i.push(a):o.push(a);(a=u(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=E+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==T||(V(o),n=!C);while(s=v[a++])if(s(o,t||T,n)){k.call(r,o);break}i&&(E=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=pe.call(r));f=Z(f)}k.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&ce.uniqueSort(r)}return i&&(E=h,w=p),c},m?F(r):r))).selector=e}return a}function re(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&Y(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&C&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(O,P),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=D.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(O,P),H.test(o[0].type)&&U(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&Q(o)))return k.apply(n,r),n;break}}}return(l||ne(e,c))(r,t,!C,n,!t||H.test(e)&&U(t.parentNode)||t),n}G.prototype=b.filters=b.pseudos,b.setFilters=new G,le.sortStable=S.split("").sort(l).join("")===S,V(),le.sortDetached=$(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce.find=I,ce.expr[":"]=ce.expr.pseudos,ce.unique=ce.uniqueSort,I.compile=ne,I.select=re,I.setDocument=V,I.tokenize=Y,I.escape=ce.escapeSelector,I.getText=ce.text,I.isXML=ce.isXMLDoc,I.selectors=ce.expr,I.support=ce.support,I.uniqueSort=ce.uniqueSort}();var d=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&ce(e).is(n))break;r.push(e)}return r},h=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},b=ce.expr.match.needsContext,w=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1<se.call(n,e)!==r}):ce.filter(n,e,r)}ce.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ce.find.matchesSelector(r,e)?[r]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;t<r;t++)if(ce.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)ce.find(e,i[t],n);return 1<r?ce.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&b.test(e)?ce(e):e||[],!1).length}});var k,S=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&ce(e);if(!b.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?ce.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?se.call(ce(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return d(e,"parentNode")},parentsUntil:function(e,t,n){return d(e,"parentNode",n)},next:function(e){return A(e,"nextSibling")},prev:function(e){return A(e,"previousSibling")},nextAll:function(e){return d(e,"nextSibling")},prevAll:function(e){return d(e,"previousSibling")},nextUntil:function(e,t,n){return d(e,"nextSibling",n)},prevUntil:function(e,t,n){return d(e,"previousSibling",n)},siblings:function(e){return h((e.parentNode||{}).firstChild,e)},children:function(e){return h(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(fe(e,"template")&&(e=e.content||e),ce.merge([],e.childNodes))}},function(r,i){ce.fn[r]=function(e,t){var n=ce.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=ce.filter(t,n)),1<this.length&&(j[r]||ce.uniqueSort(n),E.test(r)&&n.reverse()),this.pushStack(n)}});var D=/[^\x20\t\r\n\f]+/g;function N(e){return e}function q(e){throw e}function L(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}ce.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},ce.each(e.match(D)||[],function(e,t){n[t]=!0}),n):ce.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){ce.each(e,function(e,t){v(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==x(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return ce.each(arguments,function(e,t){var n;while(-1<(n=ce.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<ce.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},ce.extend({Deferred:function(e){var o=[["notify","progress",ce.Callbacks("memory"),ce.Callbacks("memory"),2],["resolve","done",ce.Callbacks("once memory"),ce.Callbacks("once memory"),0,"resolved"],["reject","fail",ce.Callbacks("once memory"),ce.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return ce.Deferred(function(r){ce.each(o,function(e,t){var n=v(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,v(t)?s?t.call(e,l(u,o,N,s),l(u,o,q,s)):(u++,t.call(e,l(u,o,N,s),l(u,o,q,s),l(u,o,N,o.notifyWith))):(a!==N&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){ce.Deferred.exceptionHook&&ce.Deferred.exceptionHook(e,t.error),u<=i+1&&(a!==q&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(ce.Deferred.getErrorHook?t.error=ce.Deferred.getErrorHook():ce.Deferred.getStackHook&&(t.error=ce.Deferred.getStackHook()),ie.setTimeout(t))}}return ce.Deferred(function(e){o[0][3].add(l(0,e,v(r)?r:N,e.notifyWith)),o[1][3].add(l(0,e,v(t)?t:N)),o[2][3].add(l(0,e,v(n)?n:q))}).promise()},promise:function(e){return null!=e?ce.extend(e,a):a}},s={};return ce.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=ae.call(arguments),o=ce.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?ae.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(L(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||v(i[t]&&i[t].then)))return o.then();while(t--)L(i[t],a(t),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ce.Deferred.exceptionHook=function(e,t){ie.console&&ie.console.warn&&e&&H.test(e.name)&&ie.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ce.readyException=function(e){ie.setTimeout(function(){throw e})};var O=ce.Deferred();function P(){C.removeEventListener("DOMContentLoaded",P),ie.removeEventListener("load",P),ce.ready()}ce.fn.ready=function(e){return O.then(e)["catch"](function(e){ce.readyException(e)}),this},ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ce.readyWait:ce.isReady)||(ce.isReady=!0)!==e&&0<--ce.readyWait||O.resolveWith(C,[ce])}}),ce.ready.then=O.then,"complete"===C.readyState||"loading"!==C.readyState&&!C.documentElement.doScroll?ie.setTimeout(ce.ready):(C.addEventListener("DOMContentLoaded",P),ie.addEventListener("load",P));var M=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)M(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(ce(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},R=/^-ms-/,I=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function F(e){return e.replace(R,"ms-").replace(I,W)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function B(){this.expando=ce.expando+B.uid++}B.uid=1,B.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[F(t)]=n;else for(r in t)i[F(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][F(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(F):(t=F(t))in r?[t]:t.match(D)||[]).length;while(n--)delete r[t[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var _=new B,z=new B,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,U=/[A-Z]/g;function V(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(U,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:X.test(i)?JSON.parse(i):i)}catch(e){}z.set(e,t,n)}else n=void 0;return n}ce.extend({hasData:function(e){return z.hasData(e)||_.hasData(e)},data:function(e,t,n){return z.access(e,t,n)},removeData:function(e,t){z.remove(e,t)},_data:function(e,t,n){return _.access(e,t,n)},_removeData:function(e,t){_.remove(e,t)}}),ce.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=z.get(o),1===o.nodeType&&!_.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=F(r.slice(5)),V(o,r,i[r]));_.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){z.set(this,n)}):M(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=z.get(o,n))?t:void 0!==(t=V(o,n))?t:void 0;this.each(function(){z.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){z.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=_.get(e,t),n&&(!r||Array.isArray(n)?r=_.access(e,t,ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=ce.queue(e,t),r=n.length,i=n.shift(),o=ce._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){ce.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return _.get(e,n)||_.access(e,n,{empty:ce.Callbacks("once memory").add(function(){_.remove(e,[t+"queue",n])})})}}),ce.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?ce.queue(this[0],t):void 0===n?this:this.each(function(){var e=ce.queue(this,t,n);ce._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&ce.dequeue(this,t)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=ce.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=_.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var G=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Y=new RegExp("^(?:([+-])=|)("+G+")([a-z%]*)$","i"),Q=["Top","Right","Bottom","Left"],J=C.documentElement,K=function(e){return ce.contains(e.ownerDocument,e)},Z={composed:!0};J.getRootNode&&(K=function(e){return ce.contains(e.ownerDocument,e)||e.getRootNode(Z)===e.ownerDocument});var ee=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&K(e)&&"none"===ce.css(e,"display")};function te(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return ce.css(e,t,"")},u=s(),l=n&&n[3]||(ce.cssNumber[t]?"":"px"),c=e.nodeType&&(ce.cssNumber[t]||"px"!==l&&+u)&&Y.exec(ce.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)ce.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ne={};function re(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=_.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ee(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ne[s])||(o=a.body.appendChild(a.createElement(s)),u=ce.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ne[s]=u)))):"none"!==n&&(l[c]="none",_.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}ce.fn.extend({show:function(){return re(this,!0)},hide:function(){return re(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ee(this)?ce(this).show():ce(this).hide()})}});var xe,be,we=/^(?:checkbox|radio)$/i,Te=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="<textarea>x</textarea>",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="<option></option>",le.option=!!xe.lastChild;var ke={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n<r;n++)_.set(e[n],"globalEval",!t||_.get(t[n],"globalEval"))}ke.tbody=ke.tfoot=ke.colgroup=ke.caption=ke.thead,ke.th=ke.td,le.option||(ke.optgroup=ke.option=[1,"<select multiple='multiple'>","</select>"]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))ce.merge(p,o.nodeType?[o]:o);else if(je.test(o)){a=a||f.appendChild(t.createElement("div")),s=(Te.exec(o)||["",""])[1].toLowerCase(),u=ke[s]||ke._default,a.innerHTML=u[1]+ce.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;ce.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<ce.inArray(o,r))i&&i.push(o);else if(l=K(o),a=Se(f.appendChild(o),"script"),l&&Ee(a),n){c=0;while(o=a[c++])Ce.test(o.type||"")&&n.push(o)}return f}var De=/^([^.]*)(?:\.(.+)|)/;function Ne(){return!0}function qe(){return!1}function Le(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Le(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=qe;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return ce().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,i,r,n)})}function He(e,r,t){t?(_.set(e,r,!1),ce.event.add(e,r,{namespace:!1,handler:function(e){var t,n=_.get(this,r);if(1&e.isTrigger&&this[r]){if(n)(ce.event.special[r]||{}).delegateType&&e.stopPropagation();else if(n=ae.call(arguments),_.set(this,r,n),this[r](),t=_.get(this,r),_.set(this,r,!1),n!==t)return e.stopImmediatePropagation(),e.preventDefault(),t}else n&&(_.set(this,r,ce.event.trigger(n[0],n.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ne)}})):void 0===_.get(e,r)&&ce.event.add(e,r,Ne)}ce.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.get(t);if($(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&ce.find.matchesSelector(J,i),n.guid||(n.guid=ce.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof ce&&ce.event.triggered!==e.type?ce.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(D)||[""]).length;while(l--)d=g=(s=De.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=ce.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=ce.event.special[d]||{},c=ce.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),ce.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.hasData(e)&&_.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(D)||[""]).length;while(l--)if(d=g=(s=De.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=ce.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||ce.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)ce.event.remove(e,d+t[l],n,r,!0);ce.isEmptyObject(u)&&_.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=ce.event.fix(e),l=(_.get(this,"events")||Object.create(null))[u.type]||[],c=ce.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=ce.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<ce(i,this).index(l):ce.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(ce.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[ce.expando]?e:new ce.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click",!0),!1},trigger:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click"),!0},_default:function(e){var t=e.target;return we.test(t.type)&&t.click&&fe(t,"input")&&_.get(t,"click")||fe(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){if(!(this instanceof ce.Event))return new ce.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ne:qe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[ce.expando]=!0},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:qe,isPropagationStopped:qe,isImmediatePropagationStopped:qe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ne,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ne,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ne,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ce.event.addProp),ce.each({focus:"focusin",blur:"focusout"},function(r,i){function o(e){if(C.documentMode){var t=_.get(this,"handle"),n=ce.event.fix(e);n.type="focusin"===e.type?"focus":"blur",n.isSimulated=!0,t(e),n.target===n.currentTarget&&t(n)}else ce.event.simulate(i,e.target,ce.event.fix(e))}ce.event.special[r]={setup:function(){var e;if(He(this,r,!0),!C.documentMode)return!1;(e=_.get(this,i))||this.addEventListener(i,o),_.set(this,i,(e||0)+1)},trigger:function(){return He(this,r),!0},teardown:function(){var e;if(!C.documentMode)return!1;(e=_.get(this,i)-1)?_.set(this,i,e):(this.removeEventListener(i,o),_.remove(this,i))},_default:function(e){return _.get(e.target,r)},delegateType:i},ce.event.special[i]={setup:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i);n||(C.documentMode?this.addEventListener(i,o):e.addEventListener(r,o,!0)),_.set(t,i,(n||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i)-1;n?_.set(t,i,n):(C.documentMode?this.removeEventListener(i,o):e.removeEventListener(r,o,!0),_.remove(t,i))}}}),ce.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){ce.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||ce.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),ce.fn.extend({on:function(e,t,n,r){return Le(this,e,t,n,r)},one:function(e,t,n,r){return Le(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ce(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=qe),this.each(function(){ce.event.remove(this,e,n,t)})}});var Oe=/<script|<style|<link/i,Pe=/checked\s*(?:[^=]|=\s*.checked.)/i,Me=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)ce.event.add(t,i,s[i][n]);z.hasData(e)&&(o=z.access(e),a=ce.extend({},o),z.set(t,a))}}function $e(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=v(d);if(h||1<f&&"string"==typeof d&&!le.checkClone&&Pe.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),$e(t,r,i,o)});if(f&&(t=(e=Ae(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=ce.map(Se(e,"script"),Ie)).length;c<f;c++)u=e,c!==p&&(u=ce.clone(u,!0,!0),s&&ce.merge(a,Se(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,ce.map(a,We),c=0;c<s;c++)u=a[c],Ce.test(u.type||"")&&!_.access(u,"globalEval")&&ce.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?ce._evalUrl&&!u.noModule&&ce._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):m(u.textContent.replace(Me,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?ce.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ce.cleanData(Se(r)),r.parentNode&&(n&&K(r)&&Ee(Se(r,"script")),r.parentNode.removeChild(r));return e}ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=K(e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(a=Se(c),r=0,i=(o=Se(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&we.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||Se(e),a=a||Se(c),r=0,i=o.length;r<i;r++)Fe(o[r],a[r]);else Fe(e,c);return 0<(a=Se(c,"script")).length&&Ee(a,!f&&Se(e,"script")),c},cleanData:function(e){for(var t,n,r,i=ce.event.special,o=0;void 0!==(n=e[o]);o++)if($(n)){if(t=n[_.expando]){if(t.events)for(r in t.events)i[r]?ce.event.remove(n,r):ce.removeEvent(n,r,t.handle);n[_.expando]=void 0}n[z.expando]&&(n[z.expando]=void 0)}}}),ce.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return M(this,function(e){return void 0===e?ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return $e(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return $e(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(Se(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return M(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Oe.test(e)&&!ke[(Te.exec(e)||["",""])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(ce.cleanData(Se(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return $e(this,arguments,function(e){var t=this.parentNode;ce.inArray(this,n)<0&&(ce.cleanData(Se(this)),t&&t.replaceChild(e,this))},n)}}),ce.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){ce.fn[e]=function(e){for(var t,n=[],r=ce(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),ce(r[o])[a](t),s.apply(n,t.get());return this.pushStack(n)}});var _e=new RegExp("^("+G+")(?!px)[a-z%]+$","i"),ze=/^--/,Xe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=ie),t.getComputedStyle(e)},Ue=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ve=new RegExp(Q.join("|"),"i");function Ge(e,t,n){var r,i,o,a,s=ze.test(t),u=e.style;return(n=n||Xe(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(ve,"$1")||void 0),""!==a||K(e)||(a=ce.style(e,t)),!le.pixelBoxStyles()&&_e.test(a)&&Ve.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function Ye(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",J.appendChild(u).appendChild(l);var e=ie.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),J.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=C.createElement("div"),l=C.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",le.clearCloneStyle="content-box"===l.style.backgroundClip,ce.extend(le,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=C.createElement("table"),t=C.createElement("tr"),n=C.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="box-sizing:content-box;border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",J.appendChild(e).appendChild(t).appendChild(n),r=ie.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,J.removeChild(e)),a}}))}();var Qe=["Webkit","Moz","ms"],Je=C.createElement("div").style,Ke={};function Ze(e){var t=ce.cssProps[e]||Ke[e];return t||(e in Je?e:Ke[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Je)return e}(e)||e)}var et=/^(none|table(?!-c[ea]).+)/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=Y.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function it(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=ce.css(e,n+Q[a],!0,i)),r?("content"===n&&(u-=ce.css(e,"padding"+Q[a],!0,i)),"margin"!==n&&(u-=ce.css(e,"border"+Q[a]+"Width",!0,i))):(u+=ce.css(e,"padding"+Q[a],!0,i),"padding"!==n?u+=ce.css(e,"border"+Q[a]+"Width",!0,i):s+=ce.css(e,"border"+Q[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u+l}function ot(e,t,n){var r=Xe(e),i=(!le.boxSizingReliable()||n)&&"border-box"===ce.css(e,"boxSizing",!1,r),o=i,a=Ge(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(_e.test(a)){if(!n)return a;a="auto"}return(!le.boxSizingReliable()&&i||!le.reliableTrDimensions()&&fe(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===ce.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===ce.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+it(e,t,n||(i?"border":"content"),o,r,a)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ge(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=F(t),u=ze.test(t),l=e.style;if(u||(t=Ze(s)),a=ce.cssHooks[t]||ce.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=Y.exec(n))&&i[1]&&(n=te(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(ce.cssNumber[s]?"":"px")),le.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=F(t);return ze.test(t)||(t=Ze(s)),(a=ce.cssHooks[t]||ce.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ge(e,t,r)),"normal"===i&&t in nt&&(i=nt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),ce.each(["height","width"],function(e,u){ce.cssHooks[u]={get:function(e,t,n){if(t)return!et.test(ce.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ot(e,u,n):Ue(e,tt,function(){return ot(e,u,n)})},set:function(e,t,n){var r,i=Xe(e),o=!le.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===ce.css(e,"boxSizing",!1,i),s=n?it(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-it(e,u,"border",!1,i)-.5)),s&&(r=Y.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=ce.css(e,u)),rt(0,t,s)}}}),ce.cssHooks.marginLeft=Ye(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ge(e,"marginLeft"))||e.getBoundingClientRect().left-Ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),ce.each({margin:"",padding:"",border:"Width"},function(i,o){ce.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+Q[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(ce.cssHooks[i+o].set=rt)}),ce.fn.extend({css:function(e,t){return M(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Xe(e),i=t.length;a<i;a++)o[t[a]]=ce.css(e,t[a],!1,r);return o}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,1<arguments.length)}}),((ce.Tween=at).prototype={constructor:at,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ce.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=ce.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}}).init.prototype=at.prototype,(at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ce.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){ce.fx.step[e.prop]?ce.fx.step[e.prop](e):1!==e.elem.nodeType||!ce.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:ce.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ce.fx=at.prototype.init,ce.fx.step={};var st,ut,lt,ct,ft=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function dt(){ut&&(!1===C.hidden&&ie.requestAnimationFrame?ie.requestAnimationFrame(dt):ie.setTimeout(dt,ce.fx.interval),ce.fx.tick())}function ht(){return ie.setTimeout(function(){st=void 0}),st=Date.now()}function gt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=Q[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function vt(e,t,n){for(var r,i=(yt.tweeners[t]||[]).concat(yt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function yt(o,e,t){var n,a,r=0,i=yt.prefilters.length,s=ce.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=st||ht(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:ce.extend({},e),opts:ce.extend(!0,{specialEasing:{},easing:ce.easing._default},t),originalProperties:e,originalOptions:t,startTime:st||ht(),duration:t.duration,tweens:[],createTween:function(e,t){var n=ce.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=F(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=ce.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=yt.prefilters[r].call(l,o,c,l.opts))return v(n.stop)&&(ce._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return ce.map(c,vt,l),v(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),ce.fx.timer(ce.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}ce.Animation=ce.extend(yt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return te(n.elem,e,Y.exec(t),n),n}]},tweener:function(e,t){v(e)?(t=e,e=["*"]):e=e.match(D);for(var n,r=0,i=e.length;r<i;r++)n=e[r],yt.tweeners[n]=yt.tweeners[n]||[],yt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ee(e),v=_.get(e,"fxshow");for(r in n.queue||(null==(a=ce._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,ce.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ft.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||ce.style(e,r)}if((u=!ce.isEmptyObject(t))||!ce.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=_.get(e,"display")),"none"===(c=ce.css(e,"display"))&&(l?c=l:(re([e],!0),l=e.style.display||l,c=ce.css(e,"display"),re([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===ce.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=_.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&re([e],!0),p.done(function(){for(r in g||re([e]),_.remove(e,"fxshow"),d)ce.style(e,r,d[r])})),u=vt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?yt.prefilters.unshift(e):yt.prefilters.push(e)}}),ce.speed=function(e,t,n){var r=e&&"object"==typeof e?ce.extend({},e):{complete:n||!n&&t||v(e)&&e,duration:e,easing:n&&t||t&&!v(t)&&t};return ce.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in ce.fx.speeds?r.duration=ce.fx.speeds[r.duration]:r.duration=ce.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){v(r.old)&&r.old.call(this),r.queue&&ce.dequeue(this,r.queue)},r},ce.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ee).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=ce.isEmptyObject(t),o=ce.speed(e,n,r),a=function(){var e=yt(this,ce.extend({},t),o);(i||_.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=ce.timers,r=_.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&pt.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||ce.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=_.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=ce.timers,o=n?n.length:0;for(t.finish=!0,ce.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),ce.each(["toggle","show","hide"],function(e,r){var i=ce.fn[r];ce.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(gt(r,!0),e,t,n)}}),ce.each({slideDown:gt("show"),slideUp:gt("hide"),slideToggle:gt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){ce.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),ce.timers=[],ce.fx.tick=function(){var e,t=0,n=ce.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ce.fx.stop(),st=void 0},ce.fx.timer=function(e){ce.timers.push(e),ce.fx.start()},ce.fx.interval=13,ce.fx.start=function(){ut||(ut=!0,dt())},ce.fx.stop=function(){ut=null},ce.fx.speeds={slow:600,fast:200,_default:400},ce.fn.delay=function(r,e){return r=ce.fx&&ce.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=ie.setTimeout(e,r);t.stop=function(){ie.clearTimeout(n)}})},lt=C.createElement("input"),ct=C.createElement("select").appendChild(C.createElement("option")),lt.type="checkbox",le.checkOn=""!==lt.value,le.optSelected=ct.selected,(lt=C.createElement("input")).value="t",lt.type="radio",le.radioValue="t"===lt.value;var mt,xt=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return M(this,ce.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}),ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ce.prop(e,t,n):(1===o&&ce.isXMLDoc(e)||(i=ce.attrHooks[t.toLowerCase()]||(ce.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=ce.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&"radio"===t&&fe(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(D);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\w+/g),function(e,t){var a=xt[t]||ce.find.attr;xt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=xt[o],xt[o]=r,r=null!=a(e,t,n)?o:null,xt[o]=i),r}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;function Tt(e){return(e.match(D)||[]).join(" ")}function Ct(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(D)||[]}ce.fn.extend({prop:function(e,t){return M(this,ce.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,i=ce.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),le.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ce.propFix[this.toLowerCase()]=this}),ce.fn.extend({addClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).addClass(t.call(this,e,Ct(this)))}):(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).removeClass(t.call(this,e,Ct(this)))}):arguments.length?(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return v(t)?this.each(function(e){ce(this).toggleClass(t.call(this,e,Ct(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=kt(t),this.each(function(){if(s)for(o=ce(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=Ct(this))&&_.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":_.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+Tt(Ct(n))+" ").indexOf(t))return!0;return!1}});var St=/\r/g;ce.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=v(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,ce(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=ce.map(t,function(e){return null==e?"":e+""})),(r=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=ce.valHooks[t.type]||ce.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(St,""):null==e?"":e:void 0}}),ce.extend({valHooks:{option:{get:function(e){var t=ce.find.attr(e,"value");return null!=t?t:Tt(ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!fe(n.parentNode,"optgroup"))){if(t=ce(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=ce.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<ce.inArray(ce.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ce.each(["radio","checkbox"],function(){ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<ce.inArray(ce(e).val(),t)}},le.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Et=ie.location,jt={guid:Date.now()},At=/\?/;ce.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new ie.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||ce.error("Invalid XML: "+(n?ce.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Dt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};ce.extend(ce.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||C],d=ue.call(e,"type")?e.type:e,h=ue.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||C,3!==n.nodeType&&8!==n.nodeType&&!Dt.test(d+ce.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[ce.expando]?e:new ce.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:ce.makeArray(t,[e]),c=ce.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!y(n)){for(s=c.delegateType||d,Dt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||C)&&p.push(a.defaultView||a.parentWindow||ie)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(_.get(o,"events")||Object.create(null))[e.type]&&_.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&$(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!$(n)||u&&v(n[d])&&!y(n)&&((a=n[u])&&(n[u]=null),ce.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Nt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Nt),ce.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(r,null,t)}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ce.event.trigger(e,t,n,!0)}});var qt=/\[\]$/,Lt=/\r?\n/g,Ht=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;function Pt(n,e,r,i){var t;if(Array.isArray(e))ce.each(e,function(e,t){r||qt.test(n)?i(n,t):Pt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==x(e))i(n,e);else for(t in e)Pt(n+"["+t+"]",e[t],r,i)}ce.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)Pt(n,e[n],t,i);return r.join("&")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&Ot.test(this.nodeName)&&!Ht.test(e)&&(this.checked||!we.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:Array.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Lt,"\r\n")}}):{name:t.name,value:n.replace(Lt,"\r\n")}}).get()}});var Mt=/%20/g,Rt=/#.*$/,It=/([?&])_=[^&]*/,Wt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:GET|HEAD)$/,$t=/^\/\//,Bt={},_t={},zt="*/".concat("*"),Xt=C.createElement("a");function Ut(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(D)||[];if(v(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Vt(t,i,o,a){var s={},u=t===_t;function l(e){var r;return s[e]=!0,ce.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Gt(e,t){var n,r,i=ce.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ce.extend(!0,e,r),e}Xt.href=Et.href,ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,ce.ajaxSettings),t):Gt(ce.ajaxSettings,e)},ajaxPrefilter:Ut(Bt),ajaxTransport:Ut(_t),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=ce.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?ce(y):ce.event,x=ce.Deferred(),b=ce.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Wt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace($t,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(D)||[""],null==v.crossDomain){r=C.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Xt.protocol+"//"+Xt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=ce.param(v.data,v.traditional)),Vt(Bt,v,t,T),h)return T;for(i in(g=ce.event&&v.global)&&0==ce.active++&&ce.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ft.test(v.type),f=v.url.replace(Rt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Mt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(At.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(It,"$1"),o=(At.test(f)?"&":"?")+"_="+jt.guid+++o),v.url=f+o),v.ifModified&&(ce.lastModified[f]&&T.setRequestHeader("If-Modified-Since",ce.lastModified[f]),ce.etag[f]&&T.setRequestHeader("If-None-Match",ce.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+zt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Vt(_t,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=ie.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&ie.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<ce.inArray("script",v.dataTypes)&&ce.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(ce.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(ce.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--ce.active||ce.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return ce.get(e,t,n,"json")},getScript:function(e,t){return ce.get(e,void 0,t,"script")}}),ce.each(["get","post"],function(e,i){ce[i]=function(e,t,n,r){return v(t)&&(r=r||n,n=t,t=void 0),ce.ajax(ce.extend({url:e,type:i,dataType:r,data:t,success:n},ce.isPlainObject(e)&&e))}}),ce.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),ce._evalUrl=function(e,t,n){return ce.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){ce.globalEval(e,t,n)}})},ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return v(n)?this.each(function(e){ce(this).wrapInner(n.call(this,e))}):this.each(function(){var e=ce(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=v(t);return this.each(function(e){ce(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ce(this).replaceWith(this.childNodes)}),this}}),ce.expr.pseudos.hidden=function(e){return!ce.expr.pseudos.visible(e)},ce.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ce.ajaxSettings.xhr=function(){try{return new ie.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Qt=ce.ajaxSettings.xhr();le.cors=!!Qt&&"withCredentials"in Qt,le.ajax=Qt=!!Qt,ce.ajaxTransport(function(i){var o,a;if(le.cors||Qt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Yt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&ie.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),ce.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ce.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=ce("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=Tt(e.slice(s)),e=e.slice(0,s)),v(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&ce.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?ce("<div>").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var en=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;ce.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=ae.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(ae.call(arguments)))}).guid=e.guid=e.guid||ce.guid++,i},ce.holdReady=function(e){e?ce.readyWait++:ce.ready(!0)},ce.isArray=Array.isArray,ce.parseJSON=JSON.parse,ce.nodeName=fe,ce.isFunction=v,ce.isWindow=y,ce.camelCase=F,ce.type=x,ce.now=Date.now,ce.isNumeric=function(e){var t=ce.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},ce.trim=function(e){return null==e?"":(e+"").replace(en,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return ce});var tn=ie.jQuery,nn=ie.$;return ce.noConflict=function(e){return ie.$===ce&&(ie.$=nn),e&&ie.jQuery===ce&&(ie.jQuery=tn),ce},"undefined"==typeof e&&(ie.jQuery=ie.$=ce),ce}); diff --git a/atdb/atdb/static/admin/js/vendor/xregexp/LICENSE.txt b/atdb/atdb/static/admin/js/vendor/xregexp/LICENSE.txt index 43f08b4c..4d80338c 100644 --- a/atdb/atdb/static/admin/js/vendor/xregexp/LICENSE.txt +++ b/atdb/atdb/static/admin/js/vendor/xregexp/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2007-2017 Steven Levithan <http://xregexp.com/> +Copyright (c) 2007-present Steven Levithan <http://xregexp.com/> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js b/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js index ded6f6fa..215482c4 100644 --- a/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js +++ b/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js @@ -1,2820 +1,547 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.XRegExp = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ -/*! - * XRegExp.build 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2012-2017 MIT License - * Inspired by Lea Verou's RegExp.create <lea.verou.me> - */ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.XRegExp = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ +"use strict"; -module.exports = function(XRegExp) { - 'use strict'; +var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice"); - var REGEX_DATA = 'xregexp'; - var subParts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g; - var parts = XRegExp.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subParts], 'g', { - conjunction: 'or' - }); +var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from"); - /** - * Strips a leading `^` and trailing unescaped `$`, if both are present. - * - * @private - * @param {String} pattern Pattern to process. - * @returns {String} Pattern with edge anchors removed. - */ - function deanchor(pattern) { - // Allow any number of empty noncapturing groups before/after anchors, because regexes - // built/generated by XRegExp sometimes include them - var leadingAnchor = /^(?:\(\?:\))*\^/; - var trailingAnchor = /\$(?:\(\?:\))*$/; - - if ( - leadingAnchor.test(pattern) && - trailingAnchor.test(pattern) && - // Ensure that the trailing `$` isn't escaped - trailingAnchor.test(pattern.replace(/\\[\s\S]/g, '')) - ) { - return pattern.replace(leadingAnchor, '').replace(trailingAnchor, ''); - } +var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol"); - return pattern; - } +var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method"); - /** - * Converts the provided value to an XRegExp. Native RegExp flags are not preserved. - * - * @private - * @param {String|RegExp} value Value to convert. - * @param {Boolean} [addFlagX] Whether to apply the `x` flag in cases when `value` is not - * already a regex generated by XRegExp - * @returns {RegExp} XRegExp object with XRegExp syntax applied. - */ - function asXRegExp(value, addFlagX) { - var flags = addFlagX ? 'x' : ''; - return XRegExp.isRegExp(value) ? - (value[REGEX_DATA] && value[REGEX_DATA].captureNames ? - // Don't recompile, to preserve capture names - value : - // Recompile as XRegExp - XRegExp(value.source, flags) - ) : - // Compile string as XRegExp - XRegExp(value, flags); - } +var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array"); - /** - * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in - * the outer pattern and provided subpatterns are automatically renumbered to work correctly. - * Native flags used by provided subpatterns are ignored in favor of the `flags` argument. - * - * @memberOf XRegExp - * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows - * `({{name}})` as shorthand for `(?<name>{{name}})`. Patterns cannot be embedded within - * character classes. - * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A - * leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present. - * @param {String} [flags] Any combination of XRegExp flags. - * @returns {RegExp} Regex with interpolated subpatterns. - * @example - * - * var time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', { - * hours: XRegExp.build('{{h12}} : | {{h24}}', { - * h12: /1[0-2]|0?[1-9]/, - * h24: /2[0-3]|[01][0-9]/ - * }, 'x'), - * minutes: /^[0-5][0-9]$/ - * }); - * time.test('10:59'); // -> true - * XRegExp.exec('10:59', time).minutes; // -> '59' - */ - XRegExp.build = function(pattern, subs, flags) { - flags = flags || ''; - // Used with `asXRegExp` calls for `pattern` and subpatterns in `subs`, to work around how - // some browsers convert `RegExp('\n')` to a regex that contains the literal characters `\` - // and `n`. See more details at <https://github.com/slevithan/xregexp/pull/163>. - var addFlagX = flags.indexOf('x') > -1; - var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern); - // Add flags within a leading mode modifier to the overall pattern's flags - if (inlineFlags) { - flags = XRegExp._clipDuplicates(flags + inlineFlags[1]); - } +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); - var data = {}; - for (var p in subs) { - if (subs.hasOwnProperty(p)) { - // Passing to XRegExp enables extended syntax and ensures independent validity, - // lest an unescaped `(`, `)`, `[`, or trailing `\` breaks the `(?:)` wrapper. For - // subpatterns provided as native regexes, it dies on octals and adds the property - // used to hold extended regex instance data, for simplicity. - var sub = asXRegExp(subs[p], addFlagX); - data[p] = { - // Deanchoring allows embedding independently useful anchored regexes. If you - // really need to keep your anchors, double them (i.e., `^^...$$`). - pattern: deanchor(sub.source), - names: sub[REGEX_DATA].captureNames || [] - }; - } - } +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); - // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid; - // helps keep this simple. Named captures will be put back. - var patternAsRegex = asXRegExp(pattern, addFlagX); - - // 'Caps' is short for 'captures' - var numCaps = 0; - var numPriorCaps; - var numOuterCaps = 0; - var outerCapsMap = [0]; - var outerCapNames = patternAsRegex[REGEX_DATA].captureNames || []; - var output = patternAsRegex.source.replace(parts, function($0, $1, $2, $3, $4) { - var subName = $1 || $2; - var capName; - var intro; - var localCapIndex; - // Named subpattern - if (subName) { - if (!data.hasOwnProperty(subName)) { - throw new ReferenceError('Undefined property ' + $0); - } - // Named subpattern was wrapped in a capturing group - if ($1) { - capName = outerCapNames[numOuterCaps]; - outerCapsMap[++numOuterCaps] = ++numCaps; - // If it's a named group, preserve the name. Otherwise, use the subpattern name - // as the capture name - intro = '(?<' + (capName || subName) + '>'; - } else { - intro = '(?:'; - } - numPriorCaps = numCaps; - return intro + data[subName].pattern.replace(subParts, function(match, paren, backref) { - // Capturing group - if (paren) { - capName = data[subName].names[numCaps - numPriorCaps]; - ++numCaps; - // If the current capture has a name, preserve the name - if (capName) { - return '(?<' + capName + '>'; - } - // Backreference - } else if (backref) { - localCapIndex = +backref - 1; - // Rewrite the backreference - return data[subName].names[localCapIndex] ? - // Need to preserve the backreference name in case using flag `n` - '\\k<' + data[subName].names[localCapIndex] + '>' : - '\\' + (+backref + numPriorCaps); - } - return match; - }) + ')'; - } - // Capturing group - if ($3) { - capName = outerCapNames[numOuterCaps]; - outerCapsMap[++numOuterCaps] = ++numCaps; - // If the current capture has a name, preserve the name - if (capName) { - return '(?<' + capName + '>'; - } - // Backreference - } else if ($4) { - localCapIndex = +$4 - 1; - // Rewrite the backreference - return outerCapNames[localCapIndex] ? - // Need to preserve the backreference name in case using flag `n` - '\\k<' + outerCapNames[localCapIndex] + '>' : - '\\' + outerCapsMap[+$4]; - } - return $0; - }); +_Object$defineProperty(exports, "__esModule", { + value: true +}); - return XRegExp(output, flags); - }; +exports["default"] = void 0; -}; +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray")); + +var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each")); + +var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat")); + +var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of")); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context4 = Object.prototype.toString.call(o)).call(_context4, 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; } -},{}],2:[function(require,module,exports){ /*! - * XRegExp.matchRecursive 3.2.0 + * XRegExp Unicode Base 5.1.1 * <xregexp.com> - * Steven Levithan (c) 2009-2017 MIT License + * Steven Levithan (c) 2008-present MIT License */ +var _default = function _default(XRegExp) { + /** + * Adds base support for Unicode matching: + * - Adds syntax `\p{..}` for matching Unicode tokens. Tokens can be inverted using `\P{..}` or + * `\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the + * braces for token names that are a single letter (e.g. `\pL` or `PL`). + * - Adds flag A (astral), which enables 21-bit Unicode support. + * - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data. + * + * Unicode Base relies on externally provided Unicode character data. Official addons are + * available to provide data for Unicode categories, scripts, and properties. + * + * @requires XRegExp + */ + // ==--------------------------== + // Private stuff + // ==--------------------------== + // Storage for Unicode data + var unicode = {}; + var unicodeTypes = {}; // Reuse utils + + var dec = XRegExp._dec; + var hex = XRegExp._hex; + var pad4 = XRegExp._pad4; // Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed + + function normalize(name) { + return name.replace(/[- _]+/g, '').toLowerCase(); + } // Gets the decimal code of a literal code unit, \xHH, \uHHHH, or a backslash-escaped literal + + + function charCode(chr) { + var esc = /^\\[xu](.+)/.exec(chr); + return esc ? dec(esc[1]) : chr.charCodeAt(chr[0] === '\\' ? 1 : 0); + } // Inverts a list of ordered BMP characters and ranges + + + function invertBmp(range) { + var output = ''; + var lastEnd = -1; + (0, _forEach["default"])(XRegExp).call(XRegExp, range, /(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/, function (m) { + var start = charCode(m[1]); + + if (start > lastEnd + 1) { + output += "\\u".concat(pad4(hex(lastEnd + 1))); + + if (start > lastEnd + 2) { + output += "-\\u".concat(pad4(hex(start - 1))); + } + } + + lastEnd = charCode(m[2] || m[1]); + }); -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Returns a match detail object composed of the provided values. - * - * @private - */ - function row(name, value, start, end) { - return { - name: name, - value: value, - start: start, - end: end - }; + if (lastEnd < 0xFFFF) { + output += "\\u".concat(pad4(hex(lastEnd + 1))); + + if (lastEnd < 0xFFFE) { + output += '-\\uFFFF'; + } } - /** - * Returns an array of match strings between outermost left and right delimiters, or an array of - * objects with detailed match parts and position data. An error is thrown if delimiters are - * unbalanced within the data. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {String} left Left delimiter as an XRegExp pattern. - * @param {String} right Right delimiter as an XRegExp pattern. - * @param {String} [flags] Any native or XRegExp flags, used for the left and right delimiters. - * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options. - * @returns {Array} Array of matches, or an empty array. - * @example - * - * // Basic usage - * var str = '(t((e))s)t()(ing)'; - * XRegExp.matchRecursive(str, '\\(', '\\)', 'g'); - * // -> ['t((e))s', '', 'ing'] - * - * // Extended information mode with valueNames - * str = 'Here is <div> <div>an</div></div> example'; - * XRegExp.matchRecursive(str, '<div\\s*>', '</div>', 'gi', { - * valueNames: ['between', 'left', 'match', 'right'] - * }); - * // -> [ - * // {name: 'between', value: 'Here is ', start: 0, end: 8}, - * // {name: 'left', value: '<div>', start: 8, end: 13}, - * // {name: 'match', value: ' <div>an</div>', start: 13, end: 27}, - * // {name: 'right', value: '</div>', start: 27, end: 33}, - * // {name: 'between', value: ' example', start: 33, end: 41} - * // ] - * - * // Omitting unneeded parts with null valueNames, and using escapeChar - * str = '...{1}.\\{{function(x,y){return {y:x}}}'; - * XRegExp.matchRecursive(str, '{', '}', 'g', { - * valueNames: ['literal', null, 'value', null], - * escapeChar: '\\' - * }); - * // -> [ - * // {name: 'literal', value: '...', start: 0, end: 3}, - * // {name: 'value', value: '1', start: 4, end: 5}, - * // {name: 'literal', value: '.\\{', start: 6, end: 9}, - * // {name: 'value', value: 'function(x,y){return {y:x}}', start: 10, end: 37} - * // ] - * - * // Sticky mode via flag y - * str = '<1><<<2>>><3>4<5>'; - * XRegExp.matchRecursive(str, '<', '>', 'gy'); - * // -> ['1', '<<2>>', '3'] - */ - XRegExp.matchRecursive = function(str, left, right, flags, options) { - flags = flags || ''; - options = options || {}; - var global = flags.indexOf('g') > -1; - var sticky = flags.indexOf('y') > -1; - // Flag `y` is controlled internally - var basicFlags = flags.replace(/y/g, ''); - var escapeChar = options.escapeChar; - var vN = options.valueNames; - var output = []; - var openTokens = 0; - var delimStart = 0; - var delimEnd = 0; - var lastOuterEnd = 0; - var outerStart; - var innerStart; - var leftMatch; - var rightMatch; - var esc; - left = XRegExp(left, basicFlags); - right = XRegExp(right, basicFlags); - - if (escapeChar) { - if (escapeChar.length > 1) { - throw new Error('Cannot use more than one escape character'); - } - escapeChar = XRegExp.escape(escapeChar); - // Example of concatenated `esc` regex: - // `escapeChar`: '%' - // `left`: '<' - // `right`: '>' - // Regex is: /(?:%[\S\s]|(?:(?!<|>)[^%])+)+/ - esc = new RegExp( - '(?:' + escapeChar + '[\\S\\s]|(?:(?!' + - // Using `XRegExp.union` safely rewrites backreferences in `left` and `right`. - // Intentionally not passing `basicFlags` to `XRegExp.union` since any syntax - // transformation resulting from those flags was already applied to `left` and - // `right` when they were passed through the XRegExp constructor above. - XRegExp.union([left, right], '', {conjunction: 'or'}).source + - ')[^' + escapeChar + '])+)+', - // Flags `gy` not needed here - flags.replace(/[^imu]+/g, '') - ); - } + return output; + } // Generates an inverted BMP range on first use - while (true) { - // If using an escape character, advance to the delimiter's next starting position, - // skipping any escaped characters in between - if (escapeChar) { - delimEnd += (XRegExp.exec(str, esc, delimEnd, 'sticky') || [''])[0].length; - } - leftMatch = XRegExp.exec(str, left, delimEnd); - rightMatch = XRegExp.exec(str, right, delimEnd); - // Keep the leftmost match only - if (leftMatch && rightMatch) { - if (leftMatch.index <= rightMatch.index) { - rightMatch = null; - } else { - leftMatch = null; - } - } - // Paths (LM: leftMatch, RM: rightMatch, OT: openTokens): - // LM | RM | OT | Result - // 1 | 0 | 1 | loop - // 1 | 0 | 0 | loop - // 0 | 1 | 1 | loop - // 0 | 1 | 0 | throw - // 0 | 0 | 1 | throw - // 0 | 0 | 0 | break - // The paths above don't include the sticky mode special case. The loop ends after the - // first completed match if not `global`. - if (leftMatch || rightMatch) { - delimStart = (leftMatch || rightMatch).index; - delimEnd = delimStart + (leftMatch || rightMatch)[0].length; - } else if (!openTokens) { - break; - } - if (sticky && !openTokens && delimStart > lastOuterEnd) { - break; - } - if (leftMatch) { - if (!openTokens) { - outerStart = delimStart; - innerStart = delimEnd; - } - ++openTokens; - } else if (rightMatch && openTokens) { - if (!--openTokens) { - if (vN) { - if (vN[0] && outerStart > lastOuterEnd) { - output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart)); - } - if (vN[1]) { - output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart)); - } - if (vN[2]) { - output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart)); - } - if (vN[3]) { - output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd)); - } - } else { - output.push(str.slice(innerStart, delimStart)); - } - lastOuterEnd = delimEnd; - if (!global) { - break; - } - } - } else { - throw new Error('Unbalanced delimiter found in string'); - } - // If the delimiter matched an empty string, avoid an infinite loop - if (delimStart === delimEnd) { - ++delimEnd; - } - } - if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) { - output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length)); - } + function cacheInvertedBmp(slug) { + var prop = 'b!'; + return unicode[slug][prop] || (unicode[slug][prop] = invertBmp(unicode[slug].bmp)); + } // Combines and optionally negates BMP and astral data - return output; - }; -}; + function buildAstral(slug, isNegated) { + var item = unicode[slug]; + var combined = ''; -},{}],3:[function(require,module,exports){ -/*! - * XRegExp Unicode Base 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2008-2017 MIT License - */ + if (item.bmp && !item.isBmpLast) { + var _context; -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds base support for Unicode matching: - * - Adds syntax `\p{..}` for matching Unicode tokens. Tokens can be inverted using `\P{..}` or - * `\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the - * braces for token names that are a single letter (e.g. `\pL` or `PL`). - * - Adds flag A (astral), which enables 21-bit Unicode support. - * - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data. - * - * Unicode Base relies on externally provided Unicode character data. Official addons are - * available to provide data for Unicode categories, scripts, blocks, and properties. - * - * @requires XRegExp - */ - - // ==--------------------------== - // Private stuff - // ==--------------------------== - - // Storage for Unicode data - var unicode = {}; - - // Reuse utils - var dec = XRegExp._dec; - var hex = XRegExp._hex; - var pad4 = XRegExp._pad4; - - // Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed - function normalize(name) { - return name.replace(/[- _]+/g, '').toLowerCase(); + combined = (0, _concat["default"])(_context = "[".concat(item.bmp, "]")).call(_context, item.astral ? '|' : ''); } - // Gets the decimal code of a literal code unit, \xHH, \uHHHH, or a backslash-escaped literal - function charCode(chr) { - var esc = /^\\[xu](.+)/.exec(chr); - return esc ? - dec(esc[1]) : - chr.charCodeAt(chr.charAt(0) === '\\' ? 1 : 0); + if (item.astral) { + combined += item.astral; } - // Inverts a list of ordered BMP characters and ranges - function invertBmp(range) { - var output = ''; - var lastEnd = -1; - - XRegExp.forEach( - range, - /(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/, - function(m) { - var start = charCode(m[1]); - if (start > (lastEnd + 1)) { - output += '\\u' + pad4(hex(lastEnd + 1)); - if (start > (lastEnd + 2)) { - output += '-\\u' + pad4(hex(start - 1)); - } - } - lastEnd = charCode(m[2] || m[1]); - } - ); + if (item.isBmpLast && item.bmp) { + var _context2; - if (lastEnd < 0xFFFF) { - output += '\\u' + pad4(hex(lastEnd + 1)); - if (lastEnd < 0xFFFE) { - output += '-\\uFFFF'; - } - } + combined += (0, _concat["default"])(_context2 = "".concat(item.astral ? '|' : '', "[")).call(_context2, item.bmp, "]"); + } // Astral Unicode tokens always match a code point, never a code unit + + + return isNegated ? "(?:(?!".concat(combined, ")(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))") : "(?:".concat(combined, ")"); + } // Builds a complete astral pattern on first use + + + function cacheAstral(slug, isNegated) { + var prop = isNegated ? 'a!' : 'a='; + return unicode[slug][prop] || (unicode[slug][prop] = buildAstral(slug, isNegated)); + } // ==--------------------------== + // Core functionality + // ==--------------------------== + + /* + * Add astral mode (flag A) and Unicode token syntax: `\p{..}`, `\P{..}`, `\p{^..}`, `\pC`. + */ - return output; + + XRegExp.addToken( // Use `*` instead of `+` to avoid capturing `^` as the token name in `\p{^}` + /\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/, function (match, scope, flags) { + var ERR_DOUBLE_NEG = 'Invalid double negation '; + var ERR_UNKNOWN_NAME = 'Unknown Unicode token '; + var ERR_UNKNOWN_REF = 'Unicode token missing data '; + var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token '; + var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes'; + + var _match = (0, _slicedToArray2["default"])(match, 6), + fullToken = _match[0], + pPrefix = _match[1], + caretNegation = _match[2], + typePrefix = _match[3], + tokenName = _match[4], + tokenSingleCharName = _match[5]; // Negated via \P{..} or \p{^..} + + + var isNegated = pPrefix === 'P' || !!caretNegation; // Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A + + var isAstralMode = (0, _indexOf["default"])(flags).call(flags, 'A') !== -1; // Token lookup name. Check `tokenSingleCharName` first to avoid passing `undefined` + // via `\p{}` + + var slug = normalize(tokenSingleCharName || tokenName); // Token data object + + var item = unicode[slug]; + + if (pPrefix === 'P' && caretNegation) { + throw new SyntaxError(ERR_DOUBLE_NEG + fullToken); } - // Generates an inverted BMP range on first use - function cacheInvertedBmp(slug) { - var prop = 'b!'; - return ( - unicode[slug][prop] || - (unicode[slug][prop] = invertBmp(unicode[slug].bmp)) - ); + if (!unicode.hasOwnProperty(slug)) { + throw new SyntaxError(ERR_UNKNOWN_NAME + fullToken); } - // Combines and optionally negates BMP and astral data - function buildAstral(slug, isNegated) { - var item = unicode[slug]; - var combined = ''; + if (typePrefix) { + if (!(unicodeTypes[typePrefix] && unicodeTypes[typePrefix][slug])) { + throw new SyntaxError(ERR_UNKNOWN_NAME + fullToken); + } + } // Switch to the negated form of the referenced Unicode token - if (item.bmp && !item.isBmpLast) { - combined = '[' + item.bmp + ']' + (item.astral ? '|' : ''); - } - if (item.astral) { - combined += item.astral; - } - if (item.isBmpLast && item.bmp) { - combined += (item.astral ? '|' : '') + '[' + item.bmp + ']'; - } - // Astral Unicode tokens always match a code point, never a code unit - return isNegated ? - '(?:(?!' + combined + ')(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))' : - '(?:' + combined + ')'; + if (item.inverseOf) { + slug = normalize(item.inverseOf); + + if (!unicode.hasOwnProperty(slug)) { + var _context3; + + throw new ReferenceError((0, _concat["default"])(_context3 = "".concat(ERR_UNKNOWN_REF + fullToken, " -> ")).call(_context3, item.inverseOf)); + } + + item = unicode[slug]; + isNegated = !isNegated; } - // Builds a complete astral pattern on first use - function cacheAstral(slug, isNegated) { - var prop = isNegated ? 'a!' : 'a='; - return ( - unicode[slug][prop] || - (unicode[slug][prop] = buildAstral(slug, isNegated)) - ); + if (!(item.bmp || isAstralMode)) { + throw new SyntaxError(ERR_ASTRAL_ONLY + fullToken); } - // ==--------------------------== - // Core functionality - // ==--------------------------== - - /* - * Add astral mode (flag A) and Unicode token syntax: `\p{..}`, `\P{..}`, `\p{^..}`, `\pC`. - */ - XRegExp.addToken( - // Use `*` instead of `+` to avoid capturing `^` as the token name in `\p{^}` - /\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/, - function(match, scope, flags) { - var ERR_DOUBLE_NEG = 'Invalid double negation '; - var ERR_UNKNOWN_NAME = 'Unknown Unicode token '; - var ERR_UNKNOWN_REF = 'Unicode token missing data '; - var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token '; - var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes'; - // Negated via \P{..} or \p{^..} - var isNegated = match[1] === 'P' || !!match[2]; - // Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A - var isAstralMode = flags.indexOf('A') > -1; - // Token lookup name. Check `[4]` first to avoid passing `undefined` via `\p{}` - var slug = normalize(match[4] || match[3]); - // Token data object - var item = unicode[slug]; - - if (match[1] === 'P' && match[2]) { - throw new SyntaxError(ERR_DOUBLE_NEG + match[0]); - } - if (!unicode.hasOwnProperty(slug)) { - throw new SyntaxError(ERR_UNKNOWN_NAME + match[0]); - } + if (isAstralMode) { + if (scope === 'class') { + throw new SyntaxError(ERR_ASTRAL_IN_CLASS); + } - // Switch to the negated form of the referenced Unicode token - if (item.inverseOf) { - slug = normalize(item.inverseOf); - if (!unicode.hasOwnProperty(slug)) { - throw new ReferenceError(ERR_UNKNOWN_REF + match[0] + ' -> ' + item.inverseOf); - } - item = unicode[slug]; - isNegated = !isNegated; - } + return cacheAstral(slug, isNegated); + } - if (!(item.bmp || isAstralMode)) { - throw new SyntaxError(ERR_ASTRAL_ONLY + match[0]); - } - if (isAstralMode) { - if (scope === 'class') { - throw new SyntaxError(ERR_ASTRAL_IN_CLASS); - } + return scope === 'class' ? isNegated ? cacheInvertedBmp(slug) : item.bmp : "".concat((isNegated ? '[^' : '[') + item.bmp, "]"); + }, { + scope: 'all', + optionalFlags: 'A', + leadChar: '\\' + }); + /** + * Adds to the list of Unicode tokens that XRegExp regexes can match via `\p` or `\P`. + * + * @memberOf XRegExp + * @param {Array} data Objects with named character ranges. Each object may have properties + * `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are + * optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If + * `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent, + * the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are + * provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and + * `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan + * high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and + * `astral` data should be a combination of literal characters and `\xHH` or `\uHHHH` escape + * sequences, with hyphens to create ranges. Any regex metacharacters in the data should be + * escaped, apart from range-creating hyphens. The `astral` data can additionally use + * character classes and alternation, and should use surrogate pairs to represent astral code + * points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is + * defined as the exact inverse of another token. + * @param {String} [typePrefix] Enables optionally using this type as a prefix for all of the + * provided Unicode tokens, e.g. if given `'Type'`, then `\p{TokenName}` can also be written + * as `\p{Type=TokenName}`. + * @example + * + * // Basic use + * XRegExp.addUnicodeData([{ + * name: 'XDigit', + * alias: 'Hexadecimal', + * bmp: '0-9A-Fa-f' + * }]); + * XRegExp('\\p{XDigit}:\\p{Hexadecimal}+').test('0:3D'); // -> true + */ + + XRegExp.addUnicodeData = function (data, typePrefix) { + var ERR_NO_NAME = 'Unicode token requires name'; + var ERR_NO_DATA = 'Unicode token has no character data '; + + if (typePrefix) { + // Case sensitive to match ES2018 + unicodeTypes[typePrefix] = {}; + } - return cacheAstral(slug, isNegated); - } + var _iterator = _createForOfIteratorHelper(data), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var item = _step.value; - return scope === 'class' ? - (isNegated ? cacheInvertedBmp(slug) : item.bmp) : - (isNegated ? '[^' : '[') + item.bmp + ']'; - }, - { - scope: 'all', - optionalFlags: 'A', - leadChar: '\\' + if (!item.name) { + throw new Error(ERR_NO_NAME); } - ); - - /** - * Adds to the list of Unicode tokens that XRegExp regexes can match via `\p` or `\P`. - * - * @memberOf XRegExp - * @param {Array} data Objects with named character ranges. Each object may have properties - * `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are - * optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If - * `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent, - * the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are - * provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and - * `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan - * high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and - * `astral` data should be a combination of literal characters and `\xHH` or `\uHHHH` escape - * sequences, with hyphens to create ranges. Any regex metacharacters in the data should be - * escaped, apart from range-creating hyphens. The `astral` data can additionally use - * character classes and alternation, and should use surrogate pairs to represent astral code - * points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is - * defined as the exact inverse of another token. - * @example - * - * // Basic use - * XRegExp.addUnicodeData([{ - * name: 'XDigit', - * alias: 'Hexadecimal', - * bmp: '0-9A-Fa-f' - * }]); - * XRegExp('\\p{XDigit}:\\p{Hexadecimal}+').test('0:3D'); // -> true - */ - XRegExp.addUnicodeData = function(data) { - var ERR_NO_NAME = 'Unicode token requires name'; - var ERR_NO_DATA = 'Unicode token has no character data '; - var item; - - for (var i = 0; i < data.length; ++i) { - item = data[i]; - if (!item.name) { - throw new Error(ERR_NO_NAME); - } - if (!(item.inverseOf || item.bmp || item.astral)) { - throw new Error(ERR_NO_DATA + item.name); - } - unicode[normalize(item.name)] = item; - if (item.alias) { - unicode[normalize(item.alias)] = item; - } + + if (!(item.inverseOf || item.bmp || item.astral)) { + throw new Error(ERR_NO_DATA + item.name); } - // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and - // flags might now produce different results - XRegExp.cache.flush('patterns'); - }; + var normalizedName = normalize(item.name); + unicode[normalizedName] = item; - /** - * @ignore - * - * Return a reference to the internal Unicode definition structure for the given Unicode - * Property if the given name is a legal Unicode Property for use in XRegExp `\p` or `\P` regex - * constructs. - * - * @memberOf XRegExp - * @param {String} name Name by which the Unicode Property may be recognized (case-insensitive), - * e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode - * Properties and Property Aliases. - * @returns {Object} Reference to definition structure when the name matches a Unicode Property. - * - * @note - * For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories. - * - * @note - * This method is *not* part of the officially documented API and may change or be removed in - * the future. It is meant for userland code that wishes to reuse the (large) internal Unicode - * structures set up by XRegExp. - */ - XRegExp._getUnicodeProperty = function(name) { - var slug = normalize(name); - return unicode[slug]; - }; + if (typePrefix) { + unicodeTypes[typePrefix][normalizedName] = true; + } -}; + if (item.alias) { + var normalizedAlias = normalize(item.alias); + unicode[normalizedAlias] = item; -},{}],4:[function(require,module,exports){ -/*! - * XRegExp Unicode Blocks 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2010-2017 MIT License - * Unicode data by Mathias Bynens <mathiasbynens.be> - */ + if (typePrefix) { + unicodeTypes[typePrefix][normalizedAlias] = true; + } + } + } // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and + // flags might now produce different results -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds support for all Unicode blocks. Block names use the prefix 'In'. E.g., - * `\p{InBasicLatin}`. Token names are case insensitive, and any spaces, hyphens, and - * underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ - - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Blocks'); + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); } - XRegExp.addUnicodeData([ - { - name: 'InAdlam', - astral: '\uD83A[\uDD00-\uDD5F]' - }, - { - name: 'InAegean_Numbers', - astral: '\uD800[\uDD00-\uDD3F]' - }, - { - name: 'InAhom', - astral: '\uD805[\uDF00-\uDF3F]' - }, - { - name: 'InAlchemical_Symbols', - astral: '\uD83D[\uDF00-\uDF7F]' - }, - { - name: 'InAlphabetic_Presentation_Forms', - bmp: '\uFB00-\uFB4F' - }, - { - name: 'InAnatolian_Hieroglyphs', - astral: '\uD811[\uDC00-\uDE7F]' - }, - { - name: 'InAncient_Greek_Musical_Notation', - astral: '\uD834[\uDE00-\uDE4F]' - }, - { - name: 'InAncient_Greek_Numbers', - astral: '\uD800[\uDD40-\uDD8F]' - }, - { - name: 'InAncient_Symbols', - astral: '\uD800[\uDD90-\uDDCF]' - }, - { - name: 'InArabic', - bmp: '\u0600-\u06FF' - }, - { - name: 'InArabic_Extended_A', - bmp: '\u08A0-\u08FF' - }, - { - name: 'InArabic_Mathematical_Alphabetic_Symbols', - astral: '\uD83B[\uDE00-\uDEFF]' - }, - { - name: 'InArabic_Presentation_Forms_A', - bmp: '\uFB50-\uFDFF' - }, - { - name: 'InArabic_Presentation_Forms_B', - bmp: '\uFE70-\uFEFF' - }, - { - name: 'InArabic_Supplement', - bmp: '\u0750-\u077F' - }, - { - name: 'InArmenian', - bmp: '\u0530-\u058F' - }, - { - name: 'InArrows', - bmp: '\u2190-\u21FF' - }, - { - name: 'InAvestan', - astral: '\uD802[\uDF00-\uDF3F]' - }, - { - name: 'InBalinese', - bmp: '\u1B00-\u1B7F' - }, - { - name: 'InBamum', - bmp: '\uA6A0-\uA6FF' - }, - { - name: 'InBamum_Supplement', - astral: '\uD81A[\uDC00-\uDE3F]' - }, - { - name: 'InBasic_Latin', - bmp: '\0-\x7F' - }, - { - name: 'InBassa_Vah', - astral: '\uD81A[\uDED0-\uDEFF]' - }, - { - name: 'InBatak', - bmp: '\u1BC0-\u1BFF' - }, - { - name: 'InBengali', - bmp: '\u0980-\u09FF' - }, - { - name: 'InBhaiksuki', - astral: '\uD807[\uDC00-\uDC6F]' - }, - { - name: 'InBlock_Elements', - bmp: '\u2580-\u259F' - }, - { - name: 'InBopomofo', - bmp: '\u3100-\u312F' - }, - { - name: 'InBopomofo_Extended', - bmp: '\u31A0-\u31BF' - }, - { - name: 'InBox_Drawing', - bmp: '\u2500-\u257F' - }, - { - name: 'InBrahmi', - astral: '\uD804[\uDC00-\uDC7F]' - }, - { - name: 'InBraille_Patterns', - bmp: '\u2800-\u28FF' - }, - { - name: 'InBuginese', - bmp: '\u1A00-\u1A1F' - }, - { - name: 'InBuhid', - bmp: '\u1740-\u175F' - }, - { - name: 'InByzantine_Musical_Symbols', - astral: '\uD834[\uDC00-\uDCFF]' - }, - { - name: 'InCJK_Compatibility', - bmp: '\u3300-\u33FF' - }, - { - name: 'InCJK_Compatibility_Forms', - bmp: '\uFE30-\uFE4F' - }, - { - name: 'InCJK_Compatibility_Ideographs', - bmp: '\uF900-\uFAFF' - }, - { - name: 'InCJK_Compatibility_Ideographs_Supplement', - astral: '\uD87E[\uDC00-\uDE1F]' - }, - { - name: 'InCJK_Radicals_Supplement', - bmp: '\u2E80-\u2EFF' - }, - { - name: 'InCJK_Strokes', - bmp: '\u31C0-\u31EF' - }, - { - name: 'InCJK_Symbols_and_Punctuation', - bmp: '\u3000-\u303F' - }, - { - name: 'InCJK_Unified_Ideographs', - bmp: '\u4E00-\u9FFF' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_A', - bmp: '\u3400-\u4DBF' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_B', - astral: '[\uD840-\uD868][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF]' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_C', - astral: '\uD869[\uDF00-\uDFFF]|[\uD86A-\uD86C][\uDC00-\uDFFF]|\uD86D[\uDC00-\uDF3F]' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_D', - astral: '\uD86D[\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1F]' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_E', - astral: '\uD86E[\uDC20-\uDFFF]|[\uD86F-\uD872][\uDC00-\uDFFF]|\uD873[\uDC00-\uDEAF]' - }, - { - name: 'InCarian', - astral: '\uD800[\uDEA0-\uDEDF]' - }, - { - name: 'InCaucasian_Albanian', - astral: '\uD801[\uDD30-\uDD6F]' - }, - { - name: 'InChakma', - astral: '\uD804[\uDD00-\uDD4F]' - }, - { - name: 'InCham', - bmp: '\uAA00-\uAA5F' - }, - { - name: 'InCherokee', - bmp: '\u13A0-\u13FF' - }, - { - name: 'InCherokee_Supplement', - bmp: '\uAB70-\uABBF' - }, - { - name: 'InCombining_Diacritical_Marks', - bmp: '\u0300-\u036F' - }, - { - name: 'InCombining_Diacritical_Marks_Extended', - bmp: '\u1AB0-\u1AFF' - }, - { - name: 'InCombining_Diacritical_Marks_Supplement', - bmp: '\u1DC0-\u1DFF' - }, - { - name: 'InCombining_Diacritical_Marks_for_Symbols', - bmp: '\u20D0-\u20FF' - }, - { - name: 'InCombining_Half_Marks', - bmp: '\uFE20-\uFE2F' - }, - { - name: 'InCommon_Indic_Number_Forms', - bmp: '\uA830-\uA83F' - }, - { - name: 'InControl_Pictures', - bmp: '\u2400-\u243F' - }, - { - name: 'InCoptic', - bmp: '\u2C80-\u2CFF' - }, - { - name: 'InCoptic_Epact_Numbers', - astral: '\uD800[\uDEE0-\uDEFF]' - }, - { - name: 'InCounting_Rod_Numerals', - astral: '\uD834[\uDF60-\uDF7F]' - }, - { - name: 'InCuneiform', - astral: '\uD808[\uDC00-\uDFFF]' - }, - { - name: 'InCuneiform_Numbers_and_Punctuation', - astral: '\uD809[\uDC00-\uDC7F]' - }, - { - name: 'InCurrency_Symbols', - bmp: '\u20A0-\u20CF' - }, - { - name: 'InCypriot_Syllabary', - astral: '\uD802[\uDC00-\uDC3F]' - }, - { - name: 'InCyrillic', - bmp: '\u0400-\u04FF' - }, - { - name: 'InCyrillic_Extended_A', - bmp: '\u2DE0-\u2DFF' - }, - { - name: 'InCyrillic_Extended_B', - bmp: '\uA640-\uA69F' - }, - { - name: 'InCyrillic_Extended_C', - bmp: '\u1C80-\u1C8F' - }, - { - name: 'InCyrillic_Supplement', - bmp: '\u0500-\u052F' - }, - { - name: 'InDeseret', - astral: '\uD801[\uDC00-\uDC4F]' - }, - { - name: 'InDevanagari', - bmp: '\u0900-\u097F' - }, - { - name: 'InDevanagari_Extended', - bmp: '\uA8E0-\uA8FF' - }, - { - name: 'InDingbats', - bmp: '\u2700-\u27BF' - }, - { - name: 'InDomino_Tiles', - astral: '\uD83C[\uDC30-\uDC9F]' - }, - { - name: 'InDuployan', - astral: '\uD82F[\uDC00-\uDC9F]' - }, - { - name: 'InEarly_Dynastic_Cuneiform', - astral: '\uD809[\uDC80-\uDD4F]' - }, - { - name: 'InEgyptian_Hieroglyphs', - astral: '\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F]' - }, - { - name: 'InElbasan', - astral: '\uD801[\uDD00-\uDD2F]' - }, - { - name: 'InEmoticons', - astral: '\uD83D[\uDE00-\uDE4F]' - }, - { - name: 'InEnclosed_Alphanumeric_Supplement', - astral: '\uD83C[\uDD00-\uDDFF]' - }, - { - name: 'InEnclosed_Alphanumerics', - bmp: '\u2460-\u24FF' - }, - { - name: 'InEnclosed_CJK_Letters_and_Months', - bmp: '\u3200-\u32FF' - }, - { - name: 'InEnclosed_Ideographic_Supplement', - astral: '\uD83C[\uDE00-\uDEFF]' - }, - { - name: 'InEthiopic', - bmp: '\u1200-\u137F' - }, - { - name: 'InEthiopic_Extended', - bmp: '\u2D80-\u2DDF' - }, - { - name: 'InEthiopic_Extended_A', - bmp: '\uAB00-\uAB2F' - }, - { - name: 'InEthiopic_Supplement', - bmp: '\u1380-\u139F' - }, - { - name: 'InGeneral_Punctuation', - bmp: '\u2000-\u206F' - }, - { - name: 'InGeometric_Shapes', - bmp: '\u25A0-\u25FF' - }, - { - name: 'InGeometric_Shapes_Extended', - astral: '\uD83D[\uDF80-\uDFFF]' - }, - { - name: 'InGeorgian', - bmp: '\u10A0-\u10FF' - }, - { - name: 'InGeorgian_Supplement', - bmp: '\u2D00-\u2D2F' - }, - { - name: 'InGlagolitic', - bmp: '\u2C00-\u2C5F' - }, - { - name: 'InGlagolitic_Supplement', - astral: '\uD838[\uDC00-\uDC2F]' - }, - { - name: 'InGothic', - astral: '\uD800[\uDF30-\uDF4F]' - }, - { - name: 'InGrantha', - astral: '\uD804[\uDF00-\uDF7F]' - }, - { - name: 'InGreek_Extended', - bmp: '\u1F00-\u1FFF' - }, - { - name: 'InGreek_and_Coptic', - bmp: '\u0370-\u03FF' - }, - { - name: 'InGujarati', - bmp: '\u0A80-\u0AFF' - }, - { - name: 'InGurmukhi', - bmp: '\u0A00-\u0A7F' - }, - { - name: 'InHalfwidth_and_Fullwidth_Forms', - bmp: '\uFF00-\uFFEF' - }, - { - name: 'InHangul_Compatibility_Jamo', - bmp: '\u3130-\u318F' - }, - { - name: 'InHangul_Jamo', - bmp: '\u1100-\u11FF' - }, - { - name: 'InHangul_Jamo_Extended_A', - bmp: '\uA960-\uA97F' - }, - { - name: 'InHangul_Jamo_Extended_B', - bmp: '\uD7B0-\uD7FF' - }, - { - name: 'InHangul_Syllables', - bmp: '\uAC00-\uD7AF' - }, - { - name: 'InHanunoo', - bmp: '\u1720-\u173F' - }, - { - name: 'InHatran', - astral: '\uD802[\uDCE0-\uDCFF]' - }, - { - name: 'InHebrew', - bmp: '\u0590-\u05FF' - }, - { - name: 'InHigh_Private_Use_Surrogates', - bmp: '\uDB80-\uDBFF' - }, - { - name: 'InHigh_Surrogates', - bmp: '\uD800-\uDB7F' - }, - { - name: 'InHiragana', - bmp: '\u3040-\u309F' - }, - { - name: 'InIPA_Extensions', - bmp: '\u0250-\u02AF' - }, - { - name: 'InIdeographic_Description_Characters', - bmp: '\u2FF0-\u2FFF' - }, - { - name: 'InIdeographic_Symbols_and_Punctuation', - astral: '\uD81B[\uDFE0-\uDFFF]' - }, - { - name: 'InImperial_Aramaic', - astral: '\uD802[\uDC40-\uDC5F]' - }, - { - name: 'InInscriptional_Pahlavi', - astral: '\uD802[\uDF60-\uDF7F]' - }, - { - name: 'InInscriptional_Parthian', - astral: '\uD802[\uDF40-\uDF5F]' - }, - { - name: 'InJavanese', - bmp: '\uA980-\uA9DF' - }, - { - name: 'InKaithi', - astral: '\uD804[\uDC80-\uDCCF]' - }, - { - name: 'InKana_Supplement', - astral: '\uD82C[\uDC00-\uDCFF]' - }, - { - name: 'InKanbun', - bmp: '\u3190-\u319F' - }, - { - name: 'InKangxi_Radicals', - bmp: '\u2F00-\u2FDF' - }, - { - name: 'InKannada', - bmp: '\u0C80-\u0CFF' - }, - { - name: 'InKatakana', - bmp: '\u30A0-\u30FF' - }, - { - name: 'InKatakana_Phonetic_Extensions', - bmp: '\u31F0-\u31FF' - }, - { - name: 'InKayah_Li', - bmp: '\uA900-\uA92F' - }, - { - name: 'InKharoshthi', - astral: '\uD802[\uDE00-\uDE5F]' - }, - { - name: 'InKhmer', - bmp: '\u1780-\u17FF' - }, - { - name: 'InKhmer_Symbols', - bmp: '\u19E0-\u19FF' - }, - { - name: 'InKhojki', - astral: '\uD804[\uDE00-\uDE4F]' - }, - { - name: 'InKhudawadi', - astral: '\uD804[\uDEB0-\uDEFF]' - }, - { - name: 'InLao', - bmp: '\u0E80-\u0EFF' - }, - { - name: 'InLatin_Extended_Additional', - bmp: '\u1E00-\u1EFF' - }, - { - name: 'InLatin_Extended_A', - bmp: '\u0100-\u017F' - }, - { - name: 'InLatin_Extended_B', - bmp: '\u0180-\u024F' - }, - { - name: 'InLatin_Extended_C', - bmp: '\u2C60-\u2C7F' - }, - { - name: 'InLatin_Extended_D', - bmp: '\uA720-\uA7FF' - }, - { - name: 'InLatin_Extended_E', - bmp: '\uAB30-\uAB6F' - }, - { - name: 'InLatin_1_Supplement', - bmp: '\x80-\xFF' - }, - { - name: 'InLepcha', - bmp: '\u1C00-\u1C4F' - }, - { - name: 'InLetterlike_Symbols', - bmp: '\u2100-\u214F' - }, - { - name: 'InLimbu', - bmp: '\u1900-\u194F' - }, - { - name: 'InLinear_A', - astral: '\uD801[\uDE00-\uDF7F]' - }, - { - name: 'InLinear_B_Ideograms', - astral: '\uD800[\uDC80-\uDCFF]' - }, - { - name: 'InLinear_B_Syllabary', - astral: '\uD800[\uDC00-\uDC7F]' - }, - { - name: 'InLisu', - bmp: '\uA4D0-\uA4FF' - }, - { - name: 'InLow_Surrogates', - bmp: '\uDC00-\uDFFF' - }, - { - name: 'InLycian', - astral: '\uD800[\uDE80-\uDE9F]' - }, - { - name: 'InLydian', - astral: '\uD802[\uDD20-\uDD3F]' - }, - { - name: 'InMahajani', - astral: '\uD804[\uDD50-\uDD7F]' - }, - { - name: 'InMahjong_Tiles', - astral: '\uD83C[\uDC00-\uDC2F]' - }, - { - name: 'InMalayalam', - bmp: '\u0D00-\u0D7F' - }, - { - name: 'InMandaic', - bmp: '\u0840-\u085F' - }, - { - name: 'InManichaean', - astral: '\uD802[\uDEC0-\uDEFF]' - }, - { - name: 'InMarchen', - astral: '\uD807[\uDC70-\uDCBF]' - }, - { - name: 'InMathematical_Alphanumeric_Symbols', - astral: '\uD835[\uDC00-\uDFFF]' - }, - { - name: 'InMathematical_Operators', - bmp: '\u2200-\u22FF' - }, - { - name: 'InMeetei_Mayek', - bmp: '\uABC0-\uABFF' - }, - { - name: 'InMeetei_Mayek_Extensions', - bmp: '\uAAE0-\uAAFF' - }, - { - name: 'InMende_Kikakui', - astral: '\uD83A[\uDC00-\uDCDF]' - }, - { - name: 'InMeroitic_Cursive', - astral: '\uD802[\uDDA0-\uDDFF]' - }, - { - name: 'InMeroitic_Hieroglyphs', - astral: '\uD802[\uDD80-\uDD9F]' - }, - { - name: 'InMiao', - astral: '\uD81B[\uDF00-\uDF9F]' - }, - { - name: 'InMiscellaneous_Mathematical_Symbols_A', - bmp: '\u27C0-\u27EF' - }, - { - name: 'InMiscellaneous_Mathematical_Symbols_B', - bmp: '\u2980-\u29FF' - }, - { - name: 'InMiscellaneous_Symbols', - bmp: '\u2600-\u26FF' - }, - { - name: 'InMiscellaneous_Symbols_and_Arrows', - bmp: '\u2B00-\u2BFF' - }, - { - name: 'InMiscellaneous_Symbols_and_Pictographs', - astral: '\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF]' - }, - { - name: 'InMiscellaneous_Technical', - bmp: '\u2300-\u23FF' - }, - { - name: 'InModi', - astral: '\uD805[\uDE00-\uDE5F]' - }, - { - name: 'InModifier_Tone_Letters', - bmp: '\uA700-\uA71F' - }, - { - name: 'InMongolian', - bmp: '\u1800-\u18AF' - }, - { - name: 'InMongolian_Supplement', - astral: '\uD805[\uDE60-\uDE7F]' - }, - { - name: 'InMro', - astral: '\uD81A[\uDE40-\uDE6F]' - }, - { - name: 'InMultani', - astral: '\uD804[\uDE80-\uDEAF]' - }, - { - name: 'InMusical_Symbols', - astral: '\uD834[\uDD00-\uDDFF]' - }, - { - name: 'InMyanmar', - bmp: '\u1000-\u109F' - }, - { - name: 'InMyanmar_Extended_A', - bmp: '\uAA60-\uAA7F' - }, - { - name: 'InMyanmar_Extended_B', - bmp: '\uA9E0-\uA9FF' - }, - { - name: 'InNKo', - bmp: '\u07C0-\u07FF' - }, - { - name: 'InNabataean', - astral: '\uD802[\uDC80-\uDCAF]' - }, - { - name: 'InNew_Tai_Lue', - bmp: '\u1980-\u19DF' - }, - { - name: 'InNewa', - astral: '\uD805[\uDC00-\uDC7F]' - }, - { - name: 'InNumber_Forms', - bmp: '\u2150-\u218F' - }, - { - name: 'InOgham', - bmp: '\u1680-\u169F' - }, - { - name: 'InOl_Chiki', - bmp: '\u1C50-\u1C7F' - }, - { - name: 'InOld_Hungarian', - astral: '\uD803[\uDC80-\uDCFF]' - }, - { - name: 'InOld_Italic', - astral: '\uD800[\uDF00-\uDF2F]' - }, - { - name: 'InOld_North_Arabian', - astral: '\uD802[\uDE80-\uDE9F]' - }, - { - name: 'InOld_Permic', - astral: '\uD800[\uDF50-\uDF7F]' - }, - { - name: 'InOld_Persian', - astral: '\uD800[\uDFA0-\uDFDF]' - }, - { - name: 'InOld_South_Arabian', - astral: '\uD802[\uDE60-\uDE7F]' - }, - { - name: 'InOld_Turkic', - astral: '\uD803[\uDC00-\uDC4F]' - }, - { - name: 'InOptical_Character_Recognition', - bmp: '\u2440-\u245F' - }, - { - name: 'InOriya', - bmp: '\u0B00-\u0B7F' - }, - { - name: 'InOrnamental_Dingbats', - astral: '\uD83D[\uDE50-\uDE7F]' - }, - { - name: 'InOsage', - astral: '\uD801[\uDCB0-\uDCFF]' - }, - { - name: 'InOsmanya', - astral: '\uD801[\uDC80-\uDCAF]' - }, - { - name: 'InPahawh_Hmong', - astral: '\uD81A[\uDF00-\uDF8F]' - }, - { - name: 'InPalmyrene', - astral: '\uD802[\uDC60-\uDC7F]' - }, - { - name: 'InPau_Cin_Hau', - astral: '\uD806[\uDEC0-\uDEFF]' - }, - { - name: 'InPhags_pa', - bmp: '\uA840-\uA87F' - }, - { - name: 'InPhaistos_Disc', - astral: '\uD800[\uDDD0-\uDDFF]' - }, - { - name: 'InPhoenician', - astral: '\uD802[\uDD00-\uDD1F]' - }, - { - name: 'InPhonetic_Extensions', - bmp: '\u1D00-\u1D7F' - }, - { - name: 'InPhonetic_Extensions_Supplement', - bmp: '\u1D80-\u1DBF' - }, - { - name: 'InPlaying_Cards', - astral: '\uD83C[\uDCA0-\uDCFF]' - }, - { - name: 'InPrivate_Use_Area', - bmp: '\uE000-\uF8FF' - }, - { - name: 'InPsalter_Pahlavi', - astral: '\uD802[\uDF80-\uDFAF]' - }, - { - name: 'InRejang', - bmp: '\uA930-\uA95F' - }, - { - name: 'InRumi_Numeral_Symbols', - astral: '\uD803[\uDE60-\uDE7F]' - }, - { - name: 'InRunic', - bmp: '\u16A0-\u16FF' - }, - { - name: 'InSamaritan', - bmp: '\u0800-\u083F' - }, - { - name: 'InSaurashtra', - bmp: '\uA880-\uA8DF' - }, - { - name: 'InSharada', - astral: '\uD804[\uDD80-\uDDDF]' - }, - { - name: 'InShavian', - astral: '\uD801[\uDC50-\uDC7F]' - }, - { - name: 'InShorthand_Format_Controls', - astral: '\uD82F[\uDCA0-\uDCAF]' - }, - { - name: 'InSiddham', - astral: '\uD805[\uDD80-\uDDFF]' - }, - { - name: 'InSinhala', - bmp: '\u0D80-\u0DFF' - }, - { - name: 'InSinhala_Archaic_Numbers', - astral: '\uD804[\uDDE0-\uDDFF]' - }, - { - name: 'InSmall_Form_Variants', - bmp: '\uFE50-\uFE6F' - }, - { - name: 'InSora_Sompeng', - astral: '\uD804[\uDCD0-\uDCFF]' - }, - { - name: 'InSpacing_Modifier_Letters', - bmp: '\u02B0-\u02FF' - }, - { - name: 'InSpecials', - bmp: '\uFFF0-\uFFFF' - }, - { - name: 'InSundanese', - bmp: '\u1B80-\u1BBF' - }, - { - name: 'InSundanese_Supplement', - bmp: '\u1CC0-\u1CCF' - }, - { - name: 'InSuperscripts_and_Subscripts', - bmp: '\u2070-\u209F' - }, - { - name: 'InSupplemental_Arrows_A', - bmp: '\u27F0-\u27FF' - }, - { - name: 'InSupplemental_Arrows_B', - bmp: '\u2900-\u297F' - }, - { - name: 'InSupplemental_Arrows_C', - astral: '\uD83E[\uDC00-\uDCFF]' - }, - { - name: 'InSupplemental_Mathematical_Operators', - bmp: '\u2A00-\u2AFF' - }, - { - name: 'InSupplemental_Punctuation', - bmp: '\u2E00-\u2E7F' - }, - { - name: 'InSupplemental_Symbols_and_Pictographs', - astral: '\uD83E[\uDD00-\uDDFF]' - }, - { - name: 'InSupplementary_Private_Use_Area_A', - astral: '[\uDB80-\uDBBF][\uDC00-\uDFFF]' - }, - { - name: 'InSupplementary_Private_Use_Area_B', - astral: '[\uDBC0-\uDBFF][\uDC00-\uDFFF]' - }, - { - name: 'InSutton_SignWriting', - astral: '\uD836[\uDC00-\uDEAF]' - }, - { - name: 'InSyloti_Nagri', - bmp: '\uA800-\uA82F' - }, - { - name: 'InSyriac', - bmp: '\u0700-\u074F' - }, - { - name: 'InTagalog', - bmp: '\u1700-\u171F' - }, - { - name: 'InTagbanwa', - bmp: '\u1760-\u177F' - }, - { - name: 'InTags', - astral: '\uDB40[\uDC00-\uDC7F]' - }, - { - name: 'InTai_Le', - bmp: '\u1950-\u197F' - }, - { - name: 'InTai_Tham', - bmp: '\u1A20-\u1AAF' - }, - { - name: 'InTai_Viet', - bmp: '\uAA80-\uAADF' - }, - { - name: 'InTai_Xuan_Jing_Symbols', - astral: '\uD834[\uDF00-\uDF5F]' - }, - { - name: 'InTakri', - astral: '\uD805[\uDE80-\uDECF]' - }, - { - name: 'InTamil', - bmp: '\u0B80-\u0BFF' - }, - { - name: 'InTangut', - astral: '[\uD81C-\uD821][\uDC00-\uDFFF]' - }, - { - name: 'InTangut_Components', - astral: '\uD822[\uDC00-\uDEFF]' - }, - { - name: 'InTelugu', - bmp: '\u0C00-\u0C7F' - }, - { - name: 'InThaana', - bmp: '\u0780-\u07BF' - }, - { - name: 'InThai', - bmp: '\u0E00-\u0E7F' - }, - { - name: 'InTibetan', - bmp: '\u0F00-\u0FFF' - }, - { - name: 'InTifinagh', - bmp: '\u2D30-\u2D7F' - }, - { - name: 'InTirhuta', - astral: '\uD805[\uDC80-\uDCDF]' - }, - { - name: 'InTransport_and_Map_Symbols', - astral: '\uD83D[\uDE80-\uDEFF]' - }, - { - name: 'InUgaritic', - astral: '\uD800[\uDF80-\uDF9F]' - }, - { - name: 'InUnified_Canadian_Aboriginal_Syllabics', - bmp: '\u1400-\u167F' - }, - { - name: 'InUnified_Canadian_Aboriginal_Syllabics_Extended', - bmp: '\u18B0-\u18FF' - }, - { - name: 'InVai', - bmp: '\uA500-\uA63F' - }, - { - name: 'InVariation_Selectors', - bmp: '\uFE00-\uFE0F' - }, - { - name: 'InVariation_Selectors_Supplement', - astral: '\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'InVedic_Extensions', - bmp: '\u1CD0-\u1CFF' - }, - { - name: 'InVertical_Forms', - bmp: '\uFE10-\uFE1F' - }, - { - name: 'InWarang_Citi', - astral: '\uD806[\uDCA0-\uDCFF]' - }, - { - name: 'InYi_Radicals', - bmp: '\uA490-\uA4CF' - }, - { - name: 'InYi_Syllables', - bmp: '\uA000-\uA48F' - }, - { - name: 'InYijing_Hexagram_Symbols', - bmp: '\u4DC0-\u4DFF' - } - ]); - + XRegExp.cache.flush('patterns'); + }; + /** + * @ignore + * + * Return a reference to the internal Unicode definition structure for the given Unicode + * Property if the given name is a legal Unicode Property for use in XRegExp `\p` or `\P` regex + * constructs. + * + * @memberOf XRegExp + * @param {String} name Name by which the Unicode Property may be recognized (case-insensitive), + * e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode + * Properties and Property Aliases. + * @returns {Object} Reference to definition structure when the name matches a Unicode Property. + * + * @note + * For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories. + * + * @note + * This method is *not* part of the officially documented API and may change or be removed in + * the future. It is meant for userland code that wishes to reuse the (large) internal Unicode + * structures set up by XRegExp. + */ + + + XRegExp._getUnicodeProperty = function (name) { + var slug = normalize(name); + return unicode[slug]; + }; }; -},{}],5:[function(require,module,exports){ -/*! - * XRegExp Unicode Categories 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2010-2017 MIT License - * Unicode data by Mathias Bynens <mathiasbynens.be> - */ +exports["default"] = _default; +module.exports = exports.default; +},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],2:[function(require,module,exports){ +"use strict"; -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds support for Unicode's general categories. E.g., `\p{Lu}` or `\p{Uppercase Letter}`. See - * category descriptions in UAX #44 <http://unicode.org/reports/tr44/#GC_Values_Table>. Token - * names are case insensitive, and any spaces, hyphens, and underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ - - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Categories'); - } +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); - XRegExp.addUnicodeData([ - { - name: 'C', - alias: 'Other', - isBmpLast: true, - bmp: '\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u0560\u0588\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08B5\u08BE-\u08D3\u08E2\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0AFA-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D00\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180E\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ABF-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1CBF\u1CC8-\u1CCF\u1CF7\u1CFA-\u1CFF\u1DF6-\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BF-\u20CF\u20F1-\u20FF\u218C-\u218F\u23FF\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2B97\u2BBA-\u2BBC\u2BC9\u2BD2-\u2BEB\u2BF0-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E45-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FD6-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7AF\uA7B8-\uA7F6\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA8FE\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB66-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF', - astral: '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9C-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2F\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD70-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE34-\uDE37\uDE3B-\uDE3E\uDE48-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD00-\uDE5F\uDE7F-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC70-\uDC7E\uDCBD\uDCC2-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD44-\uDD4F\uDD77-\uDD7F\uDDCE\uDDCF\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF3B\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5A\uDC5C\uDC5E-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEB8-\uDEBF\uDECA-\uDEFF\uDF1A-\uDF1C\uDF2C-\uDF2F\uDF40-\uDFFF]|\uD806[\uDC00-\uDC9F\uDCF3-\uDCFE\uDD00-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD823-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83F\uD874-\uD87D\uD87F-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDE70-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDEFF\uDF45-\uDF4F\uDF7F-\uDF8E\uDFA0-\uDFDF\uDFE1-\uDFFF]|\uD821[\uDFED-\uDFFF]|\uD822[\uDEF3-\uDFFF]|\uD82C[\uDC02-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDE9-\uDDFF\uDE46-\uDEFF\uDF57-\uDF5F\uDF72-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4B-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD6F\uDDAD-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDEFF]|\uD83D[\uDED3-\uDEDF\uDEED-\uDEEF\uDEF7-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDD0F\uDD1F\uDD28-\uDD2F\uDD31\uDD32\uDD3F\uDD4C-\uDD4F\uDD5F-\uDD7F\uDD92-\uDDBF\uDDC1-\uDFFF]|\uD869[\uDED7-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]' - }, - { - name: 'Cc', - alias: 'Control', - bmp: '\0-\x1F\x7F-\x9F' - }, - { - name: 'Cf', - alias: 'Format', - bmp: '\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB', - astral: '\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]' - }, - { - name: 'Cn', - alias: 'Unassigned', - bmp: '\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u0560\u0588\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u05FF\u061D\u070E\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08B5\u08BE-\u08D3\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0AFA-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D00\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ABF-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1CBF\u1CC8-\u1CCF\u1CF7\u1CFA-\u1CFF\u1DF6-\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u2065\u2072\u2073\u208F\u209D-\u209F\u20BF-\u20CF\u20F1-\u20FF\u218C-\u218F\u23FF\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2B97\u2BBA-\u2BBC\u2BC9\u2BD2-\u2BEB\u2BF0-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E45-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FD6-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7AF\uA7B8-\uA7F6\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA8FE\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB66-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD\uFEFE\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFF8\uFFFE\uFFFF', - astral: '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9C-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2F\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD70-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE34-\uDE37\uDE3B-\uDE3E\uDE48-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD00-\uDE5F\uDE7F-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC70-\uDC7E\uDCC2-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD44-\uDD4F\uDD77-\uDD7F\uDDCE\uDDCF\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF3B\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5A\uDC5C\uDC5E-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEB8-\uDEBF\uDECA-\uDEFF\uDF1A-\uDF1C\uDF2C-\uDF2F\uDF40-\uDFFF]|\uD806[\uDC00-\uDC9F\uDCF3-\uDCFE\uDD00-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD823-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83F\uD874-\uD87D\uD87F-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDE70-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDEFF\uDF45-\uDF4F\uDF7F-\uDF8E\uDFA0-\uDFDF\uDFE1-\uDFFF]|\uD821[\uDFED-\uDFFF]|\uD822[\uDEF3-\uDFFF]|\uD82C[\uDC02-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDE9-\uDDFF\uDE46-\uDEFF\uDF57-\uDF5F\uDF72-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4B-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD6F\uDDAD-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDEFF]|\uD83D[\uDED3-\uDEDF\uDEED-\uDEEF\uDEF7-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDD0F\uDD1F\uDD28-\uDD2F\uDD31\uDD32\uDD3F\uDD4C-\uDD4F\uDD5F-\uDD7F\uDD92-\uDDBF\uDDC1-\uDFFF]|\uD869[\uDED7-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]' - }, - { - name: 'Co', - alias: 'Private_Use', - bmp: '\uE000-\uF8FF', - astral: '[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]' - }, - { - name: 'Cs', - alias: 'Surrogate', - bmp: '\uD800-\uDFFF' - }, - { - name: 'L', - alias: 'Letter', - bmp: 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Ll', - alias: 'Lowercase_Letter', - bmp: 'a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A', - astral: '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD83A[\uDD22-\uDD43]' - }, - { - name: 'Lm', - alias: 'Modifier_Letter', - bmp: '\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E\uFF9F', - astral: '\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0]' - }, - { - name: 'Lo', - alias: 'Other_Letter', - bmp: '\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Lt', - alias: 'Titlecase_Letter', - bmp: '\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC' - }, - { - name: 'Lu', - alias: 'Uppercase_Letter', - bmp: 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A', - astral: '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]' - }, - { - name: 'M', - alias: 'Mark', - bmp: '\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', - astral: '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDCA-\uDDCC\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'Mc', - alias: 'Spacing_Mark', - bmp: '\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2\u1CF3\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC', - astral: '\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4]|\uD81B[\uDF51-\uDF7E]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]' - }, - { - name: 'Me', - alias: 'Enclosing_Mark', - bmp: '\u0488\u0489\u1ABE\u20DD-\u20E0\u20E2-\u20E4\uA670-\uA672' - }, - { - name: 'Mn', - alias: 'Nonspacing_Mark', - bmp: '\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', - astral: '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDCA-\uDDCC\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'N', - alias: 'Number', - bmp: '0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', - astral: '\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE47\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2]|\uD807[\uDC50-\uDC6C]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDF50-\uDF59\uDF5B-\uDF61]|\uD834[\uDF60-\uDF71]|\uD835[\uDFCE-\uDFFF]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83C[\uDD00-\uDD0C]' - }, - { - name: 'Nd', - alias: 'Decimal_Number', - bmp: '0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', - astral: '\uD801[\uDCA0-\uDCA9]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9]|\uD807[\uDC50-\uDC59]|\uD81A[\uDE60-\uDE69\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD83A[\uDD50-\uDD59]' - }, - { - name: 'Nl', - alias: 'Letter_Number', - bmp: '\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF', - astral: '\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]' - }, - { - name: 'No', - alias: 'Other_Number', - bmp: '\xB2\xB3\xB9\xBC-\xBE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D58-\u0D5E\u0D70-\u0D78\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835', - astral: '\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE47\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C]|\uD81A[\uDF5B-\uDF61]|\uD834[\uDF60-\uDF71]|\uD83A[\uDCC7-\uDCCF]|\uD83C[\uDD00-\uDD0C]' - }, - { - name: 'P', - alias: 'Punctuation', - bmp: '\x21-\x23\x25-\\x2A\x2C-\x2F\x3A\x3B\\x3F\x40\\x5B-\\x5D\x5F\\x7B\x7D\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E44\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65', - astral: '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' - }, - { - name: 'Pc', - alias: 'Connector_Punctuation', - bmp: '\x5F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F' - }, - { - name: 'Pd', - alias: 'Dash_Punctuation', - bmp: '\\x2D\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u2E40\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D' - }, - { - name: 'Pe', - alias: 'Close_Punctuation', - bmp: '\\x29\\x5D\x7D\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u2309\u230B\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3E\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63' - }, - { - name: 'Pf', - alias: 'Final_Punctuation', - bmp: '\xBB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21' - }, - { - name: 'Pi', - alias: 'Initial_Punctuation', - bmp: '\xAB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20' - }, - { - name: 'Po', - alias: 'Other_Punctuation', - bmp: '\x21-\x23\x25-\x27\\x2A\x2C\\x2E\x2F\x3A\x3B\\x3F\x40\\x5C\xA1\xA7\xB6\xB7\xBF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166D\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u2E3C-\u2E3F\u2E41\u2E43\u2E44\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65', - astral: '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' - }, - { - name: 'Ps', - alias: 'Open_Punctuation', - bmp: '\\x28\\x5B\\x7B\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2308\u230A\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u2E42\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3F\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62' - }, - { - name: 'S', - alias: 'Symbol', - bmp: '\\x24\\x2B\x3C-\x3E\\x5E\x60\\x7C\x7E\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BE\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u23FE\u2400-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD', - astral: '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9B\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD83B[\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]' - }, - { - name: 'Sc', - alias: 'Currency_Symbol', - bmp: '\\x24\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BE\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6' - }, - { - name: 'Sk', - alias: 'Modifier_Symbol', - bmp: '\\x5E\x60\xA8\xAF\xB4\xB8\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u309B\u309C\uA700-\uA716\uA720\uA721\uA789\uA78A\uAB5B\uFBB2-\uFBC1\uFF3E\uFF40\uFFE3', - astral: '\uD83C[\uDFFB-\uDFFF]' - }, - { - name: 'Sm', - alias: 'Math_Symbol', - bmp: '\\x2B\x3C-\x3E\\x7C\x7E\xAC\xB1\xD7\xF7\u03F6\u0606-\u0608\u2044\u2052\u207A-\u207C\u208A-\u208C\u2118\u2140-\u2144\u214B\u2190-\u2194\u219A\u219B\u21A0\u21A3\u21A6\u21AE\u21CE\u21CF\u21D2\u21D4\u21F4-\u22FF\u2320\u2321\u237C\u239B-\u23B3\u23DC-\u23E1\u25B7\u25C1\u25F8-\u25FF\u266F\u27C0-\u27C4\u27C7-\u27E5\u27F0-\u27FF\u2900-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2AFF\u2B30-\u2B44\u2B47-\u2B4C\uFB29\uFE62\uFE64-\uFE66\uFF0B\uFF1C-\uFF1E\uFF5C\uFF5E\uFFE2\uFFE9-\uFFEC', - astral: '\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]' - }, - { - name: 'So', - alias: 'Other_Symbol', - bmp: '\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u23FE\u2400-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD', - astral: '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9B\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]' - }, - { - name: 'Z', - alias: 'Separator', - bmp: '\x20\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000' - }, - { - name: 'Zl', - alias: 'Line_Separator', - bmp: '\u2028' - }, - { - name: 'Zp', - alias: 'Paragraph_Separator', - bmp: '\u2029' - }, - { - name: 'Zs', - alias: 'Space_Separator', - bmp: '\x20\xA0\u1680\u2000-\u200A\u202F\u205F\u3000' - } - ]); +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); -}; +_Object$defineProperty(exports, "__esModule", { + value: true +}); + +exports["default"] = void 0; + +var _categories = _interopRequireDefault(require("../../tools/output/categories")); -},{}],6:[function(require,module,exports){ /*! - * XRegExp Unicode Properties 3.2.0 + * XRegExp Unicode Categories 5.1.1 * <xregexp.com> - * Steven Levithan (c) 2012-2017 MIT License + * Steven Levithan (c) 2010-present MIT License * Unicode data by Mathias Bynens <mathiasbynens.be> */ +var _default = function _default(XRegExp) { + /** + * Adds support for Unicode's general categories. E.g., `\p{Lu}` or `\p{Uppercase Letter}`. See + * category descriptions in UAX #44 <http://unicode.org/reports/tr44/#GC_Values_Table>. Token + * names are case insensitive, and any spaces, hyphens, and underscores are ignored. + * + * Uses Unicode 14.0.0. + * + * @requires XRegExp, Unicode Base + */ + if (!XRegExp.addUnicodeData) { + throw new ReferenceError('Unicode Base must be loaded before Unicode Categories'); + } + + XRegExp.addUnicodeData(_categories["default"]); +}; -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds properties to meet the UTS #18 Level 1 RL1.2 requirements for Unicode regex support. See - * <http://unicode.org/reports/tr18/#RL1.2>. Following are definitions of these properties from - * UAX #44 <http://unicode.org/reports/tr44/>: - * - * - Alphabetic - * Characters with the Alphabetic property. Generated from: Lowercase + Uppercase + Lt + Lm + - * Lo + Nl + Other_Alphabetic. - * - * - Default_Ignorable_Code_Point - * For programmatic determination of default ignorable code points. New characters that should - * be ignored in rendering (unless explicitly supported) will be assigned in these ranges, - * permitting programs to correctly handle the default rendering of such characters when not - * otherwise supported. - * - * - Lowercase - * Characters with the Lowercase property. Generated from: Ll + Other_Lowercase. - * - * - Noncharacter_Code_Point - * Code points permanently reserved for internal use. - * - * - Uppercase - * Characters with the Uppercase property. Generated from: Lu + Other_Uppercase. - * - * - White_Space - * Spaces, separator characters and other control characters which should be treated by - * programming languages as "white space" for the purpose of parsing elements. - * - * The properties ASCII, Any, and Assigned are also included but are not defined in UAX #44. UTS - * #18 RL1.2 additionally requires support for Unicode scripts and general categories. These are - * included in XRegExp's Unicode Categories and Unicode Scripts addons. - * - * Token names are case insensitive, and any spaces, hyphens, and underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ - - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Properties'); - } +exports["default"] = _default; +module.exports = exports.default; +},{"../../tools/output/categories":222,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],3:[function(require,module,exports){ +"use strict"; - var unicodeData = [ - { - name: 'ASCII', - bmp: '\0-\x7F' - }, - { - name: 'Alphabetic', - bmp: 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0345\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05B0-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0657\u0659-\u065F\u066E-\u06D3\u06D5-\u06DC\u06E1-\u06E8\u06ED-\u06EF\u06FA-\u06FC\u06FF\u0710-\u073F\u074D-\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0817\u081A-\u082C\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08DF\u08E3-\u08E9\u08F0-\u093B\u093D-\u094C\u094E-\u0950\u0955-\u0963\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C4\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09F0\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A42\u0A47\u0A48\u0A4B\u0A4C\u0A51\u0A59-\u0A5C\u0A5E\u0A70-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC5\u0AC7-\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0-\u0AE3\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D-\u0B44\u0B47\u0B48\u0B4B\u0B4C\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4C\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCC\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E46\u0E4D\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0ECD\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F71-\u0F81\u0F88-\u0F97\u0F99-\u0FBC\u1000-\u1036\u1038\u103B-\u103F\u1050-\u1062\u1065-\u1068\u106E-\u1086\u108E\u109C\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1713\u1720-\u1733\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17B3\u17B6-\u17C8\u17D7\u17DC\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u1938\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A1B\u1A20-\u1A5E\u1A61-\u1A74\u1AA7\u1B00-\u1B33\u1B35-\u1B43\u1B45-\u1B4B\u1B80-\u1BA9\u1BAC-\u1BAF\u1BBA-\u1BE5\u1BE7-\u1BF1\u1C00-\u1C35\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1D00-\u1DBF\u1DE7-\u1DF4\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u24B6-\u24E9\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA674-\uA67B\uA67F-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA827\uA840-\uA873\uA880-\uA8C3\uA8C5\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA92A\uA930-\uA952\uA960-\uA97C\uA980-\uA9B2\uA9B4-\uA9BF\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA60-\uAA76\uAA7A\uAA7E-\uAABE\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC45\uDC82-\uDCB8\uDCD0-\uDCE8\uDD00-\uDD32\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE80-\uDEB5\uDF00-\uDF19\uDF1D-\uDF2A]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF36\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD47]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Any', - isBmpLast: true, - bmp: '\0-\uFFFF', - astral: '[\uD800-\uDBFF][\uDC00-\uDFFF]' - }, - { - name: 'Default_Ignorable_Code_Point', - bmp: '\xAD\u034F\u061C\u115F\u1160\u17B4\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8', - astral: '\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|[\uDB40-\uDB43][\uDC00-\uDFFF]' - }, - { - name: 'Lowercase', - bmp: 'a-z\xAA\xB5\xBA\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02B8\u02C0\u02C1\u02E0-\u02E4\u0345\u0371\u0373\u0377\u037A-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1DBF\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u2071\u207F\u2090-\u209C\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2170-\u217F\u2184\u24D0-\u24E9\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7D\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B-\uA69D\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7F8-\uA7FA\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A', - astral: '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD83A[\uDD22-\uDD43]' - }, - { - name: 'Noncharacter_Code_Point', - bmp: '\uFDD0-\uFDEF\uFFFE\uFFFF', - astral: '[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]' - }, - { - name: 'Uppercase', - bmp: 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A', - astral: '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]' - }, - { - name: 'White_Space', - bmp: '\x09-\x0D\x20\x85\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000' - } - ]; - - // Add non-generated data - unicodeData.push({ - name: 'Assigned', - // Since this is defined as the inverse of Unicode category Cn (Unassigned), the Unicode - // Categories addon is required to use this property - inverseOf: 'Cn' - }); +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); - XRegExp.addUnicodeData(unicodeData); +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); -}; +_Object$defineProperty(exports, "__esModule", { + value: true +}); -},{}],7:[function(require,module,exports){ -/*! - * XRegExp Unicode Scripts 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2010-2017 MIT License - * Unicode data by Mathias Bynens <mathiasbynens.be> - */ +exports["default"] = void 0; -module.exports = function(XRegExp) { - 'use strict'; +var _xregexp = _interopRequireDefault(require("./xregexp")); - /** - * Adds support for all Unicode scripts. E.g., `\p{Latin}`. Token names are case insensitive, - * and any spaces, hyphens, and underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ +var _unicodeBase = _interopRequireDefault(require("./addons/unicode-base")); - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Scripts'); - } +var _unicodeCategories = _interopRequireDefault(require("./addons/unicode-categories")); - XRegExp.addUnicodeData([ - { - name: 'Adlam', - astral: '\uD83A[\uDD00-\uDD4A\uDD50-\uDD59\uDD5E\uDD5F]' - }, - { - name: 'Ahom', - astral: '\uD805[\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF3F]' - }, - { - name: 'Anatolian_Hieroglyphs', - astral: '\uD811[\uDC00-\uDE46]' - }, - { - name: 'Arabic', - bmp: '\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u06FF\u0750-\u077F\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u08FF\uFB50-\uFBC1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFD\uFE70-\uFE74\uFE76-\uFEFC', - astral: '\uD803[\uDE60-\uDE7E]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]' - }, - { - name: 'Armenian', - bmp: '\u0531-\u0556\u0559-\u055F\u0561-\u0587\u058A\u058D-\u058F\uFB13-\uFB17' - }, - { - name: 'Avestan', - astral: '\uD802[\uDF00-\uDF35\uDF39-\uDF3F]' - }, - { - name: 'Balinese', - bmp: '\u1B00-\u1B4B\u1B50-\u1B7C' - }, - { - name: 'Bamum', - bmp: '\uA6A0-\uA6F7', - astral: '\uD81A[\uDC00-\uDE38]' - }, - { - name: 'Bassa_Vah', - astral: '\uD81A[\uDED0-\uDEED\uDEF0-\uDEF5]' - }, - { - name: 'Batak', - bmp: '\u1BC0-\u1BF3\u1BFC-\u1BFF' - }, - { - name: 'Bengali', - bmp: '\u0980-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09FB' - }, - { - name: 'Bhaiksuki', - astral: '\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC45\uDC50-\uDC6C]' - }, - { - name: 'Bopomofo', - bmp: '\u02EA\u02EB\u3105-\u312D\u31A0-\u31BA' - }, - { - name: 'Brahmi', - astral: '\uD804[\uDC00-\uDC4D\uDC52-\uDC6F\uDC7F]' - }, - { - name: 'Braille', - bmp: '\u2800-\u28FF' - }, - { - name: 'Buginese', - bmp: '\u1A00-\u1A1B\u1A1E\u1A1F' - }, - { - name: 'Buhid', - bmp: '\u1740-\u1753' - }, - { - name: 'Canadian_Aboriginal', - bmp: '\u1400-\u167F\u18B0-\u18F5' - }, - { - name: 'Carian', - astral: '\uD800[\uDEA0-\uDED0]' - }, - { - name: 'Caucasian_Albanian', - astral: '\uD801[\uDD30-\uDD63\uDD6F]' - }, - { - name: 'Chakma', - astral: '\uD804[\uDD00-\uDD34\uDD36-\uDD43]' - }, - { - name: 'Cham', - bmp: '\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA5C-\uAA5F' - }, - { - name: 'Cherokee', - bmp: '\u13A0-\u13F5\u13F8-\u13FD\uAB70-\uABBF' - }, - { - name: 'Common', - bmp: '\0-\x40\\x5B-\x60\\x7B-\xA9\xAB-\xB9\xBB-\xBF\xD7\xF7\u02B9-\u02DF\u02E5-\u02E9\u02EC-\u02FF\u0374\u037E\u0385\u0387\u0589\u0605\u060C\u061B\u061C\u061F\u0640\u06DD\u08E2\u0964\u0965\u0E3F\u0FD5-\u0FD8\u10FB\u16EB-\u16ED\u1735\u1736\u1802\u1803\u1805\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u2000-\u200B\u200E-\u2064\u2066-\u2070\u2074-\u207E\u2080-\u208E\u20A0-\u20BE\u2100-\u2125\u2127-\u2129\u212C-\u2131\u2133-\u214D\u214F-\u215F\u2189-\u218B\u2190-\u23FE\u2400-\u2426\u2440-\u244A\u2460-\u27FF\u2900-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2E00-\u2E44\u2FF0-\u2FFB\u3000-\u3004\u3006\u3008-\u3020\u3030-\u3037\u303C-\u303F\u309B\u309C\u30A0\u30FB\u30FC\u3190-\u319F\u31C0-\u31E3\u3220-\u325F\u327F-\u32CF\u3358-\u33FF\u4DC0-\u4DFF\uA700-\uA721\uA788-\uA78A\uA830-\uA839\uA92E\uA9CF\uAB5B\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFEFF\uFF01-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFF70\uFF9E\uFF9F\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD', - astral: '\uD800[\uDD00-\uDD02\uDD07-\uDD33\uDD37-\uDD3F\uDD90-\uDD9B\uDDD0-\uDDFC\uDEE1-\uDEFB]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD66\uDD6A-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDF00-\uDF56\uDF60-\uDF71]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDFCB\uDFCE-\uDFFF]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD00-\uDD0C\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDDFF\uDE01\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]|\uDB40[\uDC01\uDC20-\uDC7F]' - }, - { - name: 'Coptic', - bmp: '\u03E2-\u03EF\u2C80-\u2CF3\u2CF9-\u2CFF' - }, - { - name: 'Cuneiform', - astral: '\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC70-\uDC74\uDC80-\uDD43]' - }, - { - name: 'Cypriot', - astral: '\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F]' - }, - { - name: 'Cyrillic', - bmp: '\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E\uFE2F' - }, - { - name: 'Deseret', - astral: '\uD801[\uDC00-\uDC4F]' - }, - { - name: 'Devanagari', - bmp: '\u0900-\u0950\u0953-\u0963\u0966-\u097F\uA8E0-\uA8FD' - }, - { - name: 'Duployan', - astral: '\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]' - }, - { - name: 'Egyptian_Hieroglyphs', - astral: '\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]' - }, - { - name: 'Elbasan', - astral: '\uD801[\uDD00-\uDD27]' - }, - { - name: 'Ethiopic', - bmp: '\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u137C\u1380-\u1399\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E' - }, - { - name: 'Georgian', - bmp: '\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u10FF\u2D00-\u2D25\u2D27\u2D2D' - }, - { - name: 'Glagolitic', - bmp: '\u2C00-\u2C2E\u2C30-\u2C5E', - astral: '\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]' - }, - { - name: 'Gothic', - astral: '\uD800[\uDF30-\uDF4A]' - }, - { - name: 'Grantha', - astral: '\uD804[\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]' - }, - { - name: 'Greek', - bmp: '\u0370-\u0373\u0375-\u0377\u037A-\u037D\u037F\u0384\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03E1\u03F0-\u03FF\u1D26-\u1D2A\u1D5D-\u1D61\u1D66-\u1D6A\u1DBF\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u2126\uAB65', - astral: '\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]' - }, - { - name: 'Gujarati', - bmp: '\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AF1\u0AF9' - }, - { - name: 'Gurmukhi', - bmp: '\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75' - }, - { - name: 'Han', - bmp: '\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DB5\u4E00-\u9FD5\uF900-\uFA6D\uFA70-\uFAD9', - astral: '[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Hangul', - bmp: '\u1100-\u11FF\u302E\u302F\u3131-\u318E\u3200-\u321E\u3260-\u327E\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC' - }, - { - name: 'Hanunoo', - bmp: '\u1720-\u1734' - }, - { - name: 'Hatran', - astral: '\uD802[\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDCFF]' - }, - { - name: 'Hebrew', - bmp: '\u0591-\u05C7\u05D0-\u05EA\u05F0-\u05F4\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFB4F' - }, - { - name: 'Hiragana', - bmp: '\u3041-\u3096\u309D-\u309F', - astral: '\uD82C\uDC01|\uD83C\uDE00' - }, - { - name: 'Imperial_Aramaic', - astral: '\uD802[\uDC40-\uDC55\uDC57-\uDC5F]' - }, - { - name: 'Inherited', - bmp: '\u0300-\u036F\u0485\u0486\u064B-\u0655\u0670\u0951\u0952\u1AB0-\u1ABE\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u200C\u200D\u20D0-\u20F0\u302A-\u302D\u3099\u309A\uFE00-\uFE0F\uFE20-\uFE2D', - astral: '\uD800[\uDDFD\uDEE0]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD]|\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'Inscriptional_Pahlavi', - astral: '\uD802[\uDF60-\uDF72\uDF78-\uDF7F]' - }, - { - name: 'Inscriptional_Parthian', - astral: '\uD802[\uDF40-\uDF55\uDF58-\uDF5F]' - }, - { - name: 'Javanese', - bmp: '\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE\uA9DF' - }, - { - name: 'Kaithi', - astral: '\uD804[\uDC80-\uDCC1]' - }, - { - name: 'Kannada', - bmp: '\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2' - }, - { - name: 'Katakana', - bmp: '\u30A1-\u30FA\u30FD-\u30FF\u31F0-\u31FF\u32D0-\u32FE\u3300-\u3357\uFF66-\uFF6F\uFF71-\uFF9D', - astral: '\uD82C\uDC00' - }, - { - name: 'Kayah_Li', - bmp: '\uA900-\uA92D\uA92F' - }, - { - name: 'Kharoshthi', - astral: '\uD802[\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F-\uDE47\uDE50-\uDE58]' - }, - { - name: 'Khmer', - bmp: '\u1780-\u17DD\u17E0-\u17E9\u17F0-\u17F9\u19E0-\u19FF' - }, - { - name: 'Khojki', - astral: '\uD804[\uDE00-\uDE11\uDE13-\uDE3E]' - }, - { - name: 'Khudawadi', - astral: '\uD804[\uDEB0-\uDEEA\uDEF0-\uDEF9]' - }, - { - name: 'Lao', - bmp: '\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF' - }, - { - name: 'Latin', - bmp: 'A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A' - }, - { - name: 'Lepcha', - bmp: '\u1C00-\u1C37\u1C3B-\u1C49\u1C4D-\u1C4F' - }, - { - name: 'Limbu', - bmp: '\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1940\u1944-\u194F' - }, - { - name: 'Linear_A', - astral: '\uD801[\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]' - }, - { - name: 'Linear_B', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA]' - }, - { - name: 'Lisu', - bmp: '\uA4D0-\uA4FF' - }, - { - name: 'Lycian', - astral: '\uD800[\uDE80-\uDE9C]' - }, - { - name: 'Lydian', - astral: '\uD802[\uDD20-\uDD39\uDD3F]' - }, - { - name: 'Mahajani', - astral: '\uD804[\uDD50-\uDD76]' - }, - { - name: 'Malayalam', - bmp: '\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4F\u0D54-\u0D63\u0D66-\u0D7F' - }, - { - name: 'Mandaic', - bmp: '\u0840-\u085B\u085E' - }, - { - name: 'Manichaean', - astral: '\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6]' - }, - { - name: 'Marchen', - astral: '\uD807[\uDC70-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]' - }, - { - name: 'Meetei_Mayek', - bmp: '\uAAE0-\uAAF6\uABC0-\uABED\uABF0-\uABF9' - }, - { - name: 'Mende_Kikakui', - astral: '\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6]' - }, - { - name: 'Meroitic_Cursive', - astral: '\uD802[\uDDA0-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDDFF]' - }, - { - name: 'Meroitic_Hieroglyphs', - astral: '\uD802[\uDD80-\uDD9F]' - }, - { - name: 'Miao', - astral: '\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]' - }, - { - name: 'Modi', - astral: '\uD805[\uDE00-\uDE44\uDE50-\uDE59]' - }, - { - name: 'Mongolian', - bmp: '\u1800\u1801\u1804\u1806-\u180E\u1810-\u1819\u1820-\u1877\u1880-\u18AA', - astral: '\uD805[\uDE60-\uDE6C]' - }, - { - name: 'Mro', - astral: '\uD81A[\uDE40-\uDE5E\uDE60-\uDE69\uDE6E\uDE6F]' - }, - { - name: 'Multani', - astral: '\uD804[\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA9]' - }, - { - name: 'Myanmar', - bmp: '\u1000-\u109F\uA9E0-\uA9FE\uAA60-\uAA7F' - }, - { - name: 'Nabataean', - astral: '\uD802[\uDC80-\uDC9E\uDCA7-\uDCAF]' - }, - { - name: 'New_Tai_Lue', - bmp: '\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u19DE\u19DF' - }, - { - name: 'Newa', - astral: '\uD805[\uDC00-\uDC59\uDC5B\uDC5D]' - }, - { - name: 'Nko', - bmp: '\u07C0-\u07FA' - }, - { - name: 'Ogham', - bmp: '\u1680-\u169C' - }, - { - name: 'Ol_Chiki', - bmp: '\u1C50-\u1C7F' - }, - { - name: 'Old_Hungarian', - astral: '\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDCFF]' - }, - { - name: 'Old_Italic', - astral: '\uD800[\uDF00-\uDF23]' - }, - { - name: 'Old_North_Arabian', - astral: '\uD802[\uDE80-\uDE9F]' - }, - { - name: 'Old_Permic', - astral: '\uD800[\uDF50-\uDF7A]' - }, - { - name: 'Old_Persian', - astral: '\uD800[\uDFA0-\uDFC3\uDFC8-\uDFD5]' - }, - { - name: 'Old_South_Arabian', - astral: '\uD802[\uDE60-\uDE7F]' - }, - { - name: 'Old_Turkic', - astral: '\uD803[\uDC00-\uDC48]' - }, - { - name: 'Oriya', - bmp: '\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B77' - }, - { - name: 'Osage', - astral: '\uD801[\uDCB0-\uDCD3\uDCD8-\uDCFB]' - }, - { - name: 'Osmanya', - astral: '\uD801[\uDC80-\uDC9D\uDCA0-\uDCA9]' - }, - { - name: 'Pahawh_Hmong', - astral: '\uD81A[\uDF00-\uDF45\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]' - }, - { - name: 'Palmyrene', - astral: '\uD802[\uDC60-\uDC7F]' - }, - { - name: 'Pau_Cin_Hau', - astral: '\uD806[\uDEC0-\uDEF8]' - }, - { - name: 'Phags_Pa', - bmp: '\uA840-\uA877' - }, - { - name: 'Phoenician', - astral: '\uD802[\uDD00-\uDD1B\uDD1F]' - }, - { - name: 'Psalter_Pahlavi', - astral: '\uD802[\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]' - }, - { - name: 'Rejang', - bmp: '\uA930-\uA953\uA95F' - }, - { - name: 'Runic', - bmp: '\u16A0-\u16EA\u16EE-\u16F8' - }, - { - name: 'Samaritan', - bmp: '\u0800-\u082D\u0830-\u083E' - }, - { - name: 'Saurashtra', - bmp: '\uA880-\uA8C5\uA8CE-\uA8D9' - }, - { - name: 'Sharada', - astral: '\uD804[\uDD80-\uDDCD\uDDD0-\uDDDF]' - }, - { - name: 'Shavian', - astral: '\uD801[\uDC50-\uDC7F]' - }, - { - name: 'Siddham', - astral: '\uD805[\uDD80-\uDDB5\uDDB8-\uDDDD]' - }, - { - name: 'SignWriting', - astral: '\uD836[\uDC00-\uDE8B\uDE9B-\uDE9F\uDEA1-\uDEAF]' - }, - { - name: 'Sinhala', - bmp: '\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4', - astral: '\uD804[\uDDE1-\uDDF4]' - }, - { - name: 'Sora_Sompeng', - astral: '\uD804[\uDCD0-\uDCE8\uDCF0-\uDCF9]' - }, - { - name: 'Sundanese', - bmp: '\u1B80-\u1BBF\u1CC0-\u1CC7' - }, - { - name: 'Syloti_Nagri', - bmp: '\uA800-\uA82B' - }, - { - name: 'Syriac', - bmp: '\u0700-\u070D\u070F-\u074A\u074D-\u074F' - }, - { - name: 'Tagalog', - bmp: '\u1700-\u170C\u170E-\u1714' - }, - { - name: 'Tagbanwa', - bmp: '\u1760-\u176C\u176E-\u1770\u1772\u1773' - }, - { - name: 'Tai_Le', - bmp: '\u1950-\u196D\u1970-\u1974' - }, - { - name: 'Tai_Tham', - bmp: '\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD' - }, - { - name: 'Tai_Viet', - bmp: '\uAA80-\uAAC2\uAADB-\uAADF' - }, - { - name: 'Takri', - astral: '\uD805[\uDE80-\uDEB7\uDEC0-\uDEC9]' - }, - { - name: 'Tamil', - bmp: '\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BFA' - }, - { - name: 'Tangut', - astral: '\uD81B\uDFE0|[\uD81C-\uD820][\uDC00-\uDFFF]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]' - }, - { - name: 'Telugu', - bmp: '\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C78-\u0C7F' - }, - { - name: 'Thaana', - bmp: '\u0780-\u07B1' - }, - { - name: 'Thai', - bmp: '\u0E01-\u0E3A\u0E40-\u0E5B' - }, - { - name: 'Tibetan', - bmp: '\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA' - }, - { - name: 'Tifinagh', - bmp: '\u2D30-\u2D67\u2D6F\u2D70\u2D7F' - }, - { - name: 'Tirhuta', - astral: '\uD805[\uDC80-\uDCC7\uDCD0-\uDCD9]' - }, - { - name: 'Ugaritic', - astral: '\uD800[\uDF80-\uDF9D\uDF9F]' - }, - { - name: 'Vai', - bmp: '\uA500-\uA62B' - }, - { - name: 'Warang_Citi', - astral: '\uD806[\uDCA0-\uDCF2\uDCFF]' - }, - { - name: 'Yi', - bmp: '\uA000-\uA48C\uA490-\uA4C6' - } - ]); +(0, _unicodeBase["default"])(_xregexp["default"]); +(0, _unicodeCategories["default"])(_xregexp["default"]); +var _default = _xregexp["default"]; +exports["default"] = _default; +module.exports = exports.default; +},{"./addons/unicode-base":1,"./addons/unicode-categories":2,"./xregexp":4,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],4:[function(require,module,exports){ +"use strict"; -}; +var _sliceInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/slice"); + +var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from"); + +var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol"); + +var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method"); + +var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array"); + +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); + +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); + +_Object$defineProperty(exports, "__esModule", { + value: true +}); + +exports["default"] = void 0; + +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray")); + +var _flags = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flags")); + +var _sort = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort")); + +var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice")); + +var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int")); + +var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of")); + +var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each")); + +var _create = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/create")); + +var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat")); -},{}],8:[function(require,module,exports){ -var XRegExp = require('./xregexp'); +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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; } } }; } -require('./addons/build')(XRegExp); -require('./addons/matchrecursive')(XRegExp); -require('./addons/unicode-base')(XRegExp); -require('./addons/unicode-blocks')(XRegExp); -require('./addons/unicode-categories')(XRegExp); -require('./addons/unicode-properties')(XRegExp); -require('./addons/unicode-scripts')(XRegExp); +function _unsupportedIterableToArray(o, minLen) { var _context9; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context9 = Object.prototype.toString.call(o)).call(_context9, 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); } -module.exports = XRegExp; +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; } -},{"./addons/build":1,"./addons/matchrecursive":2,"./addons/unicode-base":3,"./addons/unicode-blocks":4,"./addons/unicode-categories":5,"./addons/unicode-properties":6,"./addons/unicode-scripts":7,"./xregexp":9}],9:[function(require,module,exports){ /*! - * XRegExp 3.2.0 + * XRegExp 5.1.1 * <xregexp.com> - * Steven Levithan (c) 2007-2017 MIT License + * Steven Levithan (c) 2007-present MIT License */ -'use strict'; - /** * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to * make your client-side grepping simpler and more powerful, while freeing you from related * cross-browser inconsistencies. */ - // ==--------------------------== // Private stuff // ==--------------------------== - // Property name used for extended regex instance data -var REGEX_DATA = 'xregexp'; -// Optional features that can be installed and uninstalled +var REGEX_DATA = 'xregexp'; // Optional features that can be installed and uninstalled + var features = { - astral: false, - natives: false -}; -// Native methods to use and restore ('native' is an ES3 reserved keyword) -var nativ = { - exec: RegExp.prototype.exec, - test: RegExp.prototype.test, - match: String.prototype.match, - replace: String.prototype.replace, - split: String.prototype.split -}; -// Storage for fixed/extended native methods -var fixed = {}; -// Storage for regexes cached by `XRegExp.cache` -var regexCache = {}; -// Storage for pattern details cached by the `XRegExp` constructor -var patternCache = {}; -// Storage for regex syntax tokens added internally or by `XRegExp.addToken` -var tokens = []; -// Token scopes + astral: false, + namespacing: true +}; // Storage for fixed/extended native methods + +var fixed = {}; // Storage for regexes cached by `XRegExp.cache` + +var regexCache = {}; // Storage for pattern details cached by the `XRegExp` constructor + +var patternCache = {}; // Storage for regex syntax tokens added internally or by `XRegExp.addToken` + +var tokens = []; // Token scopes + var defaultScope = 'default'; -var classScope = 'class'; -// Regexes that match native regex syntax, including octals +var classScope = 'class'; // Regexes that match native regex syntax, including octals + var nativeTokens = { - // Any native multicharacter token in default scope, or any single character - 'default': /\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, - // Any native multicharacter token in character class scope, or any single character - 'class': /\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/ -}; -// Any backreference or dollar-prefixed character in replacement strings -var replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g; -// Check for correct `exec` handling of nonparticipating capturing groups -var correctExecNpcg = nativ.exec.call(/()??/, '')[1] === undefined; -// Check for ES6 `flags` prop support -var hasFlagsProp = /x/.flags !== undefined; -// Shortcut to `Object.prototype.toString` -var toString = {}.toString; + // Any native multicharacter token in default scope, or any single character + 'default': /\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, + // Any native multicharacter token in character class scope, or any single character + 'class': /\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/ +}; // Any backreference or dollar-prefixed character in replacement strings + +var replacementToken = /\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g; // Check for correct `exec` handling of nonparticipating capturing groups + +var correctExecNpcg = /()??/.exec('')[1] === undefined; // Check for ES6 `flags` prop support + +var hasFlagsProp = (0, _flags["default"])(/x/) !== undefined; function hasNativeFlag(flag) { - // Can't check based on the presence of properties/getters since browsers might support such - // properties even when they don't support the corresponding flag in regex construction (tested - // in Chrome 48, where `'unicode' in /x/` is true but trying to construct a regex with flag `u` - // throws an error) - var isSupported = true; - try { - // Can't use regex literals for testing even in a `try` because regex literals with - // unsupported flags cause a compilation error in IE - new RegExp('', flag); - } catch (exception) { + // Can't check based on the presence of properties/getters since browsers might support such + // properties even when they don't support the corresponding flag in regex construction (tested + // in Chrome 48, where `'unicode' in /x/` is true but trying to construct a regex with flag `u` + // throws an error) + var isSupported = true; + + try { + // Can't use regex literals for testing even in a `try` because regex literals with + // unsupported flags cause a compilation error in IE + new RegExp('', flag); // Work around a broken/incomplete IE11 polyfill for sticky introduced in core-js 3.6.0 + + if (flag === 'y') { + // Using function to avoid babel transform to regex literal + var gy = function () { + return 'gy'; + }(); + + var incompleteY = '.a'.replace(new RegExp('a', gy), '.') === '..'; + + if (incompleteY) { isSupported = false; + } } - return isSupported; -} -// Check for ES6 `u` flag support -var hasNativeU = hasNativeFlag('u'); -// Check for ES6 `y` flag support -var hasNativeY = hasNativeFlag('y'); -// Tracker for known flags, including addon flags -var registeredFlags = { - g: true, - i: true, - m: true, - u: hasNativeU, - y: hasNativeY -}; + } catch (exception) { + isSupported = false; + } + + return isSupported; +} // Check for ES2021 `d` flag support + + +var hasNativeD = hasNativeFlag('d'); // Check for ES2018 `s` flag support + +var hasNativeS = hasNativeFlag('s'); // Check for ES6 `u` flag support + +var hasNativeU = hasNativeFlag('u'); // Check for ES6 `y` flag support + +var hasNativeY = hasNativeFlag('y'); // Tracker for known flags, including addon flags +var registeredFlags = { + d: hasNativeD, + g: true, + i: true, + m: true, + s: hasNativeS, + u: hasNativeU, + y: hasNativeY +}; // Flags to remove when passing to native `RegExp` constructor + +var nonnativeFlags = hasNativeS ? /[^dgimsuy]+/g : /[^dgimuy]+/g; /** * Attaches extended data and `XRegExp.prototype` properties to a regex object. * @@ -2826,49 +553,49 @@ var registeredFlags = { * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal * operations, and never exposed to users. For internal-only regexes, we can improve perf by * skipping some operations like attaching `XRegExp.prototype` properties. - * @returns {RegExp} Augmented regex. + * @returns {!RegExp} Augmented regex. */ + function augment(regex, captureNames, xSource, xFlags, isInternalOnly) { - var p; + var _context; - regex[REGEX_DATA] = { - captureNames: captureNames - }; + regex[REGEX_DATA] = { + captureNames: captureNames + }; - if (isInternalOnly) { - return regex; - } + if (isInternalOnly) { + return regex; + } // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value - // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value - if (regex.__proto__) { - regex.__proto__ = XRegExp.prototype; - } else { - for (p in XRegExp.prototype) { - // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this - // is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype` - // extensions exist on `regex.prototype` anyway - regex[p] = XRegExp.prototype[p]; - } + + if (regex.__proto__) { + regex.__proto__ = XRegExp.prototype; + } else { + for (var p in XRegExp.prototype) { + // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this + // is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype` + // extensions exist on `regex.prototype` anyway + regex[p] = XRegExp.prototype[p]; } + } - regex[REGEX_DATA].source = xSource; - // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order - regex[REGEX_DATA].flags = xFlags ? xFlags.split('').sort().join('') : xFlags; + regex[REGEX_DATA].source = xSource; // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order - return regex; + regex[REGEX_DATA].flags = xFlags ? (0, _sort["default"])(_context = xFlags.split('')).call(_context).join('') : xFlags; + return regex; } - /** * Removes any duplicate characters from the provided string. * * @private * @param {String} str String to remove duplicate characters from. - * @returns {String} String with any duplicate characters removed. + * @returns {string} String with any duplicate characters removed. */ + + function clipDuplicates(str) { - return nativ.replace.call(str, /([\s\S])(?=[\s\S]*\1)/g, ''); + return str.replace(/([\s\S])(?=[\s\S]*\1)/g, ''); } - /** * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype` * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing @@ -2887,71 +614,80 @@ function clipDuplicates(str) { * - `source` {String} Overrides `<regex>.source`, for special cases. * @returns {RegExp} Copy of the provided regex, possibly with modified flags. */ -function copyRegex(regex, options) { - if (!XRegExp.isRegExp(regex)) { - throw new TypeError('Type RegExp expected'); - } - - var xData = regex[REGEX_DATA] || {}; - var flags = getNativeFlags(regex); - var flagsToAdd = ''; - var flagsToRemove = ''; - var xregexpSource = null; - var xregexpFlags = null; - options = options || {}; - if (options.removeG) {flagsToRemove += 'g';} - if (options.removeY) {flagsToRemove += 'y';} - if (flagsToRemove) { - flags = nativ.replace.call(flags, new RegExp('[' + flagsToRemove + ']+', 'g'), ''); - } - - if (options.addG) {flagsToAdd += 'g';} - if (options.addY) {flagsToAdd += 'y';} - if (flagsToAdd) { - flags = clipDuplicates(flags + flagsToAdd); - } - - if (!options.isInternalOnly) { - if (xData.source !== undefined) { - xregexpSource = xData.source; - } - // null or undefined; don't want to add to `flags` if the previous value was null, since - // that indicates we're not tracking original precompilation flags - if (xData.flags != null) { - // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are never - // removed for non-internal regexes, so don't need to handle it - xregexpFlags = flagsToAdd ? clipDuplicates(xData.flags + flagsToAdd) : xData.flags; - } +function copyRegex(regex, options) { + var _context2; + + if (!XRegExp.isRegExp(regex)) { + throw new TypeError('Type RegExp expected'); + } + + var xData = regex[REGEX_DATA] || {}; + var flags = getNativeFlags(regex); + var flagsToAdd = ''; + var flagsToRemove = ''; + var xregexpSource = null; + var xregexpFlags = null; + options = options || {}; + + if (options.removeG) { + flagsToRemove += 'g'; + } + + if (options.removeY) { + flagsToRemove += 'y'; + } + + if (flagsToRemove) { + flags = flags.replace(new RegExp("[".concat(flagsToRemove, "]+"), 'g'), ''); + } + + if (options.addG) { + flagsToAdd += 'g'; + } + + if (options.addY) { + flagsToAdd += 'y'; + } + + if (flagsToAdd) { + flags = clipDuplicates(flags + flagsToAdd); + } + + if (!options.isInternalOnly) { + if (xData.source !== undefined) { + xregexpSource = xData.source; + } // null or undefined; don't want to add to `flags` if the previous value was null, since + // that indicates we're not tracking original precompilation flags + + + if ((0, _flags["default"])(xData) != null) { + // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are never + // removed for non-internal regexes, so don't need to handle it + xregexpFlags = flagsToAdd ? clipDuplicates((0, _flags["default"])(xData) + flagsToAdd) : (0, _flags["default"])(xData); } + } // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to avoid + // searching for special tokens. That would be wrong for regexes constructed by `RegExp`, and + // unnecessary for regexes constructed by `XRegExp` because the regex has already undergone the + // translation to native regex syntax - // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to avoid - // searching for special tokens. That would be wrong for regexes constructed by `RegExp`, and - // unnecessary for regexes constructed by `XRegExp` because the regex has already undergone the - // translation to native regex syntax - regex = augment( - new RegExp(options.source || regex.source, flags), - hasNamedCapture(regex) ? xData.captureNames.slice(0) : null, - xregexpSource, - xregexpFlags, - options.isInternalOnly - ); - return regex; + regex = augment(new RegExp(options.source || regex.source, flags), hasNamedCapture(regex) ? (0, _slice["default"])(_context2 = xData.captureNames).call(_context2, 0) : null, xregexpSource, xregexpFlags, options.isInternalOnly); + return regex; } - /** * Converts hexadecimal to decimal. * * @private * @param {String} hex - * @returns {Number} + * @returns {number} */ + + function dec(hex) { - return parseInt(hex, 16); + return (0, _parseInt2["default"])(hex, 16); } - /** * Returns a pattern that can be used in a native RegExp in place of an ignorable token such as an * inline comment or whitespace with flag x. This is used directly as a token handler function @@ -2961,134 +697,136 @@ function dec(hex) { * @param {String} match Match arg of `XRegExp.addToken` handler * @param {String} scope Scope arg of `XRegExp.addToken` handler * @param {String} flags Flags arg of `XRegExp.addToken` handler - * @returns {String} Either '' or '(?:)', depending on which is needed in the context of the match. + * @returns {string} Either '' or '(?:)', depending on which is needed in the context of the match. */ + + function getContextualTokenSeparator(match, scope, flags) { - if ( - // No need to separate tokens if at the beginning or end of a group - match.input.charAt(match.index - 1) === '(' || - match.input.charAt(match.index + match[0].length) === ')' || - // Avoid separating tokens when the following token is a quantifier - isPatternNext(match.input, match.index + match[0].length, flags, '[?*+]|{\\d+(?:,\\d*)?}') - ) { - return ''; - } - // Keep tokens separated. This avoids e.g. inadvertedly changing `\1 1` or `\1(?#)1` to `\11`. - // This also ensures all tokens remain as discrete atoms, e.g. it avoids converting the syntax - // error `(? :` into `(?:`. - return '(?:)'; + var matchEndPos = match.index + match[0].length; + var precedingChar = match.input[match.index - 1]; + var followingChar = match.input[matchEndPos]; + + if ( // No need to separate tokens if at the beginning or end of a group, before or after a + // group, or before or after a `|` + /^[()|]$/.test(precedingChar) || /^[()|]$/.test(followingChar) || // No need to separate tokens if at the beginning or end of the pattern + match.index === 0 || matchEndPos === match.input.length || // No need to separate tokens if at the beginning of a noncapturing group or lookaround. + // Looks only at the last 4 chars (at most) for perf when constructing long regexes. + /\(\?(?:[:=!]|<[=!])$/.test(match.input.substring(match.index - 4, match.index)) || // Avoid separating tokens when the following token is a quantifier + isQuantifierNext(match.input, matchEndPos, flags)) { + return ''; + } // Keep tokens separated. This avoids e.g. inadvertedly changing `\1 1` or `\1(?#)1` to `\11`. + // This also ensures all tokens remain as discrete atoms, e.g. it prevents converting the + // syntax error `(? :` into `(?:`. + + + return '(?:)'; } - /** * Returns native `RegExp` flags used by a regex object. * * @private * @param {RegExp} regex Regex to check. - * @returns {String} Native flags in use. + * @returns {string} Native flags in use. */ + + function getNativeFlags(regex) { - return hasFlagsProp ? - regex.flags : - // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or concatenation - // with an empty string) allows this to continue working predictably when - // `XRegExp.proptotype.toString` is overridden - nativ.exec.call(/\/([a-z]*)$/i, RegExp.prototype.toString.call(regex))[1]; + return hasFlagsProp ? (0, _flags["default"])(regex) : // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or concatenation + // with an empty string) allows this to continue working predictably when + // `XRegExp.proptotype.toString` is overridden + /\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(regex))[1]; } - /** * Determines whether a regex has extended instance data used to track capture names. * * @private * @param {RegExp} regex Regex to check. - * @returns {Boolean} Whether the regex uses named capture. + * @returns {boolean} Whether the regex uses named capture. */ + + function hasNamedCapture(regex) { - return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames); + return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames); } - /** * Converts decimal to hexadecimal. * * @private * @param {Number|String} dec - * @returns {String} - */ -function hex(dec) { - return parseInt(dec, 10).toString(16); -} - -/** - * Returns the first index at which a given value can be found in an array. - * - * @private - * @param {Array} array Array to search. - * @param {*} value Value to locate in the array. - * @returns {Number} Zero-based index at which the item is found, or -1. + * @returns {string} */ -function indexOf(array, value) { - var len = array.length; - var i; - for (i = 0; i < len; ++i) { - if (array[i] === value) { - return i; - } - } - return -1; +function hex(dec) { + return (0, _parseInt2["default"])(dec, 10).toString(16); } - /** - * Checks whether the next nonignorable token after the specified position matches the - * `needlePattern` + * Checks whether the next nonignorable token after the specified position is a quantifier. * * @private * @param {String} pattern Pattern to search within. * @param {Number} pos Index in `pattern` to search at. * @param {String} flags Flags used by the pattern. - * @param {String} needlePattern Pattern to match the next token against. - * @returns {Boolean} Whether the next nonignorable token matches `needlePattern` + * @returns {Boolean} Whether the next nonignorable token is a quantifier. */ -function isPatternNext(pattern, pos, flags, needlePattern) { - var inlineCommentPattern = '\\(\\?#[^)]*\\)'; - var lineCommentPattern = '#[^#\\n]*'; - var patternsToIgnore = flags.indexOf('x') > -1 ? - // Ignore any leading whitespace, line comments, and inline comments - ['\\s', lineCommentPattern, inlineCommentPattern] : - // Ignore any leading inline comments - [inlineCommentPattern]; - return nativ.test.call( - new RegExp('^(?:' + patternsToIgnore.join('|') + ')*(?:' + needlePattern + ')'), - pattern.slice(pos) - ); -} + +function isQuantifierNext(pattern, pos, flags) { + var inlineCommentPattern = '\\(\\?#[^)]*\\)'; + var lineCommentPattern = '#[^#\\n]*'; + var quantifierPattern = '[?*+]|{\\d+(?:,\\d*)?}'; + var regex = (0, _indexOf["default"])(flags).call(flags, 'x') !== -1 ? // Ignore any leading whitespace, line comments, and inline comments + /^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/ : // Ignore any leading inline comments + /^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/; + return regex.test((0, _slice["default"])(pattern).call(pattern, pos)); +} /** * Determines whether a value is of the specified type, by resolving its internal [[Class]]. * * @private * @param {*} value Object to check. * @param {String} type Type to check for, in TitleCase. - * @returns {Boolean} Whether the object matches the type. + * @returns {boolean} Whether the object matches the type. */ + + function isType(value, type) { - return toString.call(value) === '[object ' + type + ']'; + return Object.prototype.toString.call(value) === "[object ".concat(type, "]"); } +/** + * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow + * the ES5 abstract operation `ToObject`. + * + * @private + * @param {*} value Object to check and return. + * @returns {*} The provided object. + */ + + +function nullThrows(value) { + // null or undefined + if (value == null) { + throw new TypeError('Cannot convert null or undefined to object'); + } + return value; +} /** * Adds leading zeros if shorter than four characters. Used for fixed-length hexadecimal values. * * @private * @param {String} str - * @returns {String} + * @returns {string} */ + + function pad4(str) { - while (str.length < 4) { - str = '0' + str; - } - return str; -} + while (str.length < 4) { + str = "0".concat(str); + } + return str; +} /** * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads * the flag preparation logic from the `XRegExp` constructor. @@ -3096,39 +834,49 @@ function pad4(str) { * @private * @param {String} pattern Regex pattern, possibly with a leading mode modifier. * @param {String} flags Any combination of flags. - * @returns {Object} Object with properties `pattern` and `flags`. + * @returns {!Object} Object with properties `pattern` and `flags`. */ + + function prepareFlags(pattern, flags) { - var i; + // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags + if (clipDuplicates(flags) !== flags) { + throw new SyntaxError("Invalid duplicate regex flag ".concat(flags)); + } // Strip and apply a leading mode modifier with any combination of flags except `dgy` - // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags - if (clipDuplicates(flags) !== flags) { - throw new SyntaxError('Invalid duplicate regex flag ' + flags); - } - // Strip and apply a leading mode modifier with any combination of flags except g or y - pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function($0, $1) { - if (nativ.test.call(/[gy]/, $1)) { - throw new SyntaxError('Cannot use flag g or y in mode modifier ' + $0); - } - // Allow duplicate flags within the mode modifier - flags = clipDuplicates(flags + $1); - return ''; - }); + pattern = pattern.replace(/^\(\?([\w$]+)\)/, function ($0, $1) { + if (/[dgy]/.test($1)) { + throw new SyntaxError("Cannot use flags dgy in mode modifier ".concat($0)); + } // Allow duplicate flags within the mode modifier - // Throw on unknown native or nonnative flags - for (i = 0; i < flags.length; ++i) { - if (!registeredFlags[flags.charAt(i)]) { - throw new SyntaxError('Unknown regex flag ' + flags.charAt(i)); - } - } - return { - pattern: pattern, - flags: flags - }; -} + flags = clipDuplicates(flags + $1); + return ''; + }); // Throw on unknown native or nonnative flags + + var _iterator = _createForOfIteratorHelper(flags), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var flag = _step.value; + + if (!registeredFlags[flag]) { + throw new SyntaxError("Unknown regex flag ".concat(flag)); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return { + pattern: pattern, + flags: flags + }; +} /** * Prepares an options object from the given value. * @@ -3136,34 +884,35 @@ function prepareFlags(pattern, flags) { * @param {String|Object} value Value to convert to an options object. * @returns {Object} Options object. */ -function prepareOptions(value) { - var options = {}; - if (isType(value, 'String')) { - XRegExp.forEach(value, /[^\s,]+/, function(match) { - options[match] = true; - }); - return options; - } +function prepareOptions(value) { + var options = {}; - return value; -} + if (isType(value, 'String')) { + (0, _forEach["default"])(XRegExp).call(XRegExp, value, /[^\s,]+/, function (match) { + options[match] = true; + }); + return options; + } + return value; +} /** * Registers a flag so it doesn't throw an 'unknown flag' error. * * @private * @param {String} flag Single-character flag to register. */ + + function registerFlag(flag) { - if (!/^[\w$]$/.test(flag)) { - throw new Error('Flag must be a single character A-Za-z0-9_$'); - } + if (!/^[\w$]$/.test(flag)) { + throw new Error('Flag must be a single character A-Za-z0-9_$'); + } - registeredFlags[flag] = true; + registeredFlags[flag] = true; } - /** * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified * position, until a match is found. @@ -3176,85 +925,62 @@ function registerFlag(flag) { * @param {Object} context Context object to use for token handler functions. * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`. */ + + function runTokens(pattern, flags, pos, scope, context) { - var i = tokens.length; - var leadChar = pattern.charAt(pos); - var result = null; - var match; - var t; - - // Run in reverse insertion order - while (i--) { - t = tokens[i]; - if ( - (t.leadChar && t.leadChar !== leadChar) || - (t.scope !== scope && t.scope !== 'all') || - (t.flag && flags.indexOf(t.flag) === -1) - ) { - continue; - } + var i = tokens.length; + var leadChar = pattern[pos]; + var result = null; + var match; + var t; // Run in reverse insertion order - match = XRegExp.exec(pattern, t.regex, pos, 'sticky'); - if (match) { - result = { - matchLength: match[0].length, - output: t.handler.call(context, match, scope, flags), - reparse: t.reparse - }; - // Finished with token tests - break; - } + while (i--) { + t = tokens[i]; + + if (t.leadChar && t.leadChar !== leadChar || t.scope !== scope && t.scope !== 'all' || t.flag && !((0, _indexOf["default"])(flags).call(flags, t.flag) !== -1)) { + continue; } - return result; -} + match = XRegExp.exec(pattern, t.regex, pos, 'sticky'); -/** - * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to - * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if - * the Unicode Base addon is not available, since flag A is registered by that addon. - * - * @private - * @param {Boolean} on `true` to enable; `false` to disable. - */ -function setAstral(on) { - features.astral = on; -} + if (match) { + result = { + matchLength: match[0].length, + output: t.handler.call(context, match, scope, flags), + reparse: t.reparse + }; // Finished with token tests + + break; + } + } + return result; +} /** - * Enables or disables native method overrides. + * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to + * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if + * the Unicode Base addon is not available, since flag A is registered by that addon. * * @private * @param {Boolean} on `true` to enable; `false` to disable. */ -function setNatives(on) { - RegExp.prototype.exec = (on ? fixed : nativ).exec; - RegExp.prototype.test = (on ? fixed : nativ).test; - String.prototype.match = (on ? fixed : nativ).match; - String.prototype.replace = (on ? fixed : nativ).replace; - String.prototype.split = (on ? fixed : nativ).split; - - features.natives = on; -} + +function setAstral(on) { + features.astral = on; +} /** - * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow - * the ES5 abstract operation `ToObject`. + * Adds named capture groups to the `groups` property of match arrays. See here for details: + * https://github.com/tc39/proposal-regexp-named-groups * * @private - * @param {*} value Object to check and return. - * @returns {*} The provided object. + * @param {Boolean} on `true` to enable; `false` to disable. */ -function toObject(value) { - // null or undefined - if (value == null) { - throw new TypeError('Cannot convert null or undefined to object'); - } - return value; -} -// ==--------------------------== +function setNamespacing(on) { + features.namespacing = on; +} // ==--------------------------== // Constructor // ==--------------------------== @@ -3268,122 +994,119 @@ function toObject(value) { * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy. * @param {String} [flags] Any combination of flags. * Native flags: + * - `d` - indices for capturing groups (ES2021) * - `g` - global * - `i` - ignore case * - `m` - multiline anchors * - `u` - unicode (ES6) * - `y` - sticky (Firefox 3+, ES6) * Additional XRegExp flags: - * - `n` - explicit capture - * - `s` - dot matches all (aka singleline) + * - `n` - named capture only + * - `s` - dot matches all (aka singleline) - works even when not natively supported * - `x` - free-spacing and line comments (aka extended) - * - `A` - astral (requires the Unicode Base addon) + * - `A` - 21-bit Unicode properties (aka astral) - requires the Unicode Base addon * Flags cannot be provided when constructing one `RegExp` from another. * @returns {RegExp} Extended regular expression object. * @example * * // With named capture and flag x - * XRegExp('(?<year> [0-9]{4} ) -? # year \n\ - * (?<month> [0-9]{2} ) -? # month \n\ - * (?<day> [0-9]{2} ) # day ', 'x'); + * XRegExp(`(?<year> [0-9]{4} ) -? # year + * (?<month> [0-9]{2} ) -? # month + * (?<day> [0-9]{2} ) # day`, 'x'); * * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp) * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and * // have fresh `lastIndex` properties (set to zero). * XRegExp(/regex/); */ + + function XRegExp(pattern, flags) { - if (XRegExp.isRegExp(pattern)) { - if (flags !== undefined) { - throw new TypeError('Cannot supply flags when copying a RegExp'); - } - return copyRegex(pattern); + if (XRegExp.isRegExp(pattern)) { + if (flags !== undefined) { + throw new TypeError('Cannot supply flags when copying a RegExp'); } - // Copy the argument behavior of `RegExp` - pattern = pattern === undefined ? '' : String(pattern); - flags = flags === undefined ? '' : String(flags); + return copyRegex(pattern); + } // Copy the argument behavior of `RegExp` - if (XRegExp.isInstalled('astral') && flags.indexOf('A') === -1) { - // This causes an error to be thrown if the Unicode Base addon is not available - flags += 'A'; - } - if (!patternCache[pattern]) { - patternCache[pattern] = {}; - } + pattern = pattern === undefined ? '' : String(pattern); + flags = flags === undefined ? '' : String(flags); - if (!patternCache[pattern][flags]) { - var context = { - hasNamedCapture: false, - captureNames: [] - }; - var scope = defaultScope; - var output = ''; - var pos = 0; - var result; - - // Check for flag-related errors, and strip/apply flags in a leading mode modifier - var applied = prepareFlags(pattern, flags); - var appliedPattern = applied.pattern; - var appliedFlags = applied.flags; - - // Use XRegExp's tokens to translate the pattern to a native regex pattern. - // `appliedPattern.length` may change on each iteration if tokens use `reparse` - while (pos < appliedPattern.length) { - do { - // Check for custom tokens at the current position - result = runTokens(appliedPattern, appliedFlags, pos, scope, context); - // If the matched token used the `reparse` option, splice its output into the - // pattern before running tokens again at the same position - if (result && result.reparse) { - appliedPattern = appliedPattern.slice(0, pos) + - result.output + - appliedPattern.slice(pos + result.matchLength); - } - } while (result && result.reparse); - - if (result) { - output += result.output; - pos += (result.matchLength || 1); - } else { - // Get the native token at the current position - var token = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky')[0]; - output += token; - pos += token.length; - if (token === '[' && scope === defaultScope) { - scope = classScope; - } else if (token === ']' && scope === classScope) { - scope = defaultScope; - } - } - } + if (XRegExp.isInstalled('astral') && !((0, _indexOf["default"])(flags).call(flags, 'A') !== -1)) { + // This causes an error to be thrown if the Unicode Base addon is not available + flags += 'A'; + } - patternCache[pattern][flags] = { - // Use basic cleanup to collapse repeated empty groups like `(?:)(?:)` to `(?:)`. Empty - // groups are sometimes inserted during regex transpilation in order to keep tokens - // separated. However, more than one empty group in a row is never needed. - pattern: nativ.replace.call(output, /(?:\(\?:\))+/g, '(?:)'), - // Strip all but native flags - flags: nativ.replace.call(appliedFlags, /[^gimuy]+/g, ''), - // `context.captureNames` has an item for each capturing group, even if unnamed - captures: context.hasNamedCapture ? context.captureNames : null - }; + if (!patternCache[pattern]) { + patternCache[pattern] = {}; + } + + if (!patternCache[pattern][flags]) { + var context = { + hasNamedCapture: false, + captureNames: [] + }; + var scope = defaultScope; + var output = ''; + var pos = 0; + var result; // Check for flag-related errors, and strip/apply flags in a leading mode modifier + + var applied = prepareFlags(pattern, flags); + var appliedPattern = applied.pattern; + var appliedFlags = (0, _flags["default"])(applied); // Use XRegExp's tokens to translate the pattern to a native regex pattern. + // `appliedPattern.length` may change on each iteration if tokens use `reparse` + + while (pos < appliedPattern.length) { + do { + // Check for custom tokens at the current position + result = runTokens(appliedPattern, appliedFlags, pos, scope, context); // If the matched token used the `reparse` option, splice its output into the + // pattern before running tokens again at the same position + + if (result && result.reparse) { + appliedPattern = (0, _slice["default"])(appliedPattern).call(appliedPattern, 0, pos) + result.output + (0, _slice["default"])(appliedPattern).call(appliedPattern, pos + result.matchLength); + } + } while (result && result.reparse); + + if (result) { + output += result.output; + pos += result.matchLength || 1; + } else { + // Get the native token at the current position + var _XRegExp$exec = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky'), + _XRegExp$exec2 = (0, _slicedToArray2["default"])(_XRegExp$exec, 1), + token = _XRegExp$exec2[0]; + + output += token; + pos += token.length; + + if (token === '[' && scope === defaultScope) { + scope = classScope; + } else if (token === ']' && scope === classScope) { + scope = defaultScope; + } + } } - var generated = patternCache[pattern][flags]; - return augment( - new RegExp(generated.pattern, generated.flags), - generated.captures, - pattern, - flags - ); -} + patternCache[pattern][flags] = { + // Use basic cleanup to collapse repeated empty groups like `(?:)(?:)` to `(?:)`. Empty + // groups are sometimes inserted during regex transpilation in order to keep tokens + // separated. However, more than one empty group in a row is never needed. + pattern: output.replace(/(?:\(\?:\))+/g, '(?:)'), + // Strip all but native flags + flags: appliedFlags.replace(nonnativeFlags, ''), + // `context.captureNames` has an item for each capturing group, even if unnamed + captures: context.hasNamedCapture ? context.captureNames : null + }; + } -// Add `RegExp.prototype` to the prototype chain -XRegExp.prototype = new RegExp(); + var generated = patternCache[pattern][flags]; + return augment(new RegExp(generated.pattern, (0, _flags["default"])(generated)), generated.captures, pattern, flags); +} // Add `RegExp.prototype` to the prototype chain -// ==--------------------------== + +XRegExp.prototype = /(?:)/; // ==--------------------------== // Public properties // ==--------------------------== @@ -3395,19 +1118,17 @@ XRegExp.prototype = new RegExp(); * @memberOf XRegExp * @type String */ -XRegExp.version = '3.2.0'; -// ==--------------------------== +XRegExp.version = '5.1.1'; // ==--------------------------== // Public methods // ==--------------------------== - // Intentionally undocumented; used in tests and addons + XRegExp._clipDuplicates = clipDuplicates; XRegExp._hasNativeFlag = hasNativeFlag; XRegExp._dec = dec; XRegExp._hex = hex; XRegExp._pad4 = pad4; - /** * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to * create XRegExp addons. If more than one token can match the same string, the last added wins. @@ -3441,7 +1162,7 @@ XRegExp._pad4 = pad4; * // Basic usage: Add \a for the ALERT control code * XRegExp.addToken( * /\\a/, - * function() {return '\\x07';}, + * () => '\\x07', * {scope: 'all'} * ); * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true @@ -3451,47 +1172,57 @@ XRegExp._pad4 = pad4; * // character classes only) * XRegExp.addToken( * /([?*+]|{\d+(?:,\d*)?})(\??)/, - * function(match) {return match[1] + (match[2] ? '' : '?');}, + * (match) => `${match[1]}${match[2] ? '' : '?'}`, * {flag: 'U'} * ); * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a' * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa' */ -XRegExp.addToken = function(regex, handler, options) { - options = options || {}; - var optionalFlags = options.optionalFlags; - var i; - if (options.flag) { - registerFlag(options.flag); - } +XRegExp.addToken = function (regex, handler, options) { + options = options || {}; + var _options = options, + optionalFlags = _options.optionalFlags; - if (optionalFlags) { - optionalFlags = nativ.split.call(optionalFlags, ''); - for (i = 0; i < optionalFlags.length; ++i) { - registerFlag(optionalFlags[i]); - } - } + if (options.flag) { + registerFlag(options.flag); + } - // Add to the private list of syntax tokens - tokens.push({ - regex: copyRegex(regex, { - addG: true, - addY: hasNativeY, - isInternalOnly: true - }), - handler: handler, - scope: options.scope || defaultScope, - flag: options.flag, - reparse: options.reparse, - leadChar: options.leadChar - }); + if (optionalFlags) { + optionalFlags = optionalFlags.split(''); - // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and flags - // might now produce different results - XRegExp.cache.flush('patterns'); -}; + var _iterator2 = _createForOfIteratorHelper(optionalFlags), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var flag = _step2.value; + registerFlag(flag); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } // Add to the private list of syntax tokens + + + tokens.push({ + regex: copyRegex(regex, { + addG: true, + addY: hasNativeY, + isInternalOnly: true + }), + handler: handler, + scope: options.scope || defaultScope, + flag: options.flag, + reparse: options.reparse, + leadChar: options.leadChar + }); // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and flags + // might now produce different results + + XRegExp.cache.flush('patterns'); +}; /** * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with * the same pattern and flag combination, the cached copy of the regex is returned. @@ -3502,53 +1233,71 @@ XRegExp.addToken = function(regex, handler, options) { * @returns {RegExp} Cached XRegExp object. * @example * - * while (match = XRegExp.cache('.', 'gs').exec(str)) { + * let match; + * while (match = XRegExp.cache('.', 'gs').exec('abc')) { * // The regex is compiled once only * } */ -XRegExp.cache = function(pattern, flags) { - if (!regexCache[pattern]) { - regexCache[pattern] = {}; - } - return regexCache[pattern][flags] || ( - regexCache[pattern][flags] = XRegExp(pattern, flags) - ); -}; -// Intentionally undocumented; used in tests -XRegExp.cache.flush = function(cacheName) { - if (cacheName === 'patterns') { - // Flush the pattern cache used by the `XRegExp` constructor - patternCache = {}; - } else { - // Flush the regex cache populated by `XRegExp.cache` - regexCache = {}; - } -}; +XRegExp.cache = function (pattern, flags) { + if (!regexCache[pattern]) { + regexCache[pattern] = {}; + } + + return regexCache[pattern][flags] || (regexCache[pattern][flags] = XRegExp(pattern, flags)); +}; // Intentionally undocumented; used in tests + + +XRegExp.cache.flush = function (cacheName) { + if (cacheName === 'patterns') { + // Flush the pattern cache used by the `XRegExp` constructor + patternCache = {}; + } else { + // Flush the regex cache populated by `XRegExp.cache` + regexCache = {}; + } +}; /** * Escapes any regular expression metacharacters, for use when matching literal strings. The result - * can safely be used at any point within a regex that uses any flags. + * can safely be used at any position within a regex that uses any flags. * * @memberOf XRegExp * @param {String} str String to escape. - * @returns {String} String with regex metacharacters escaped. + * @returns {string} String with regex metacharacters escaped. * @example * * XRegExp.escape('Escaped? <.>'); - * // -> 'Escaped\?\ <\.>' + * // -> 'Escaped\?\u0020<\.>' */ -XRegExp.escape = function(str) { - return nativ.replace.call(toObject(str), /[-\[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +// Following are the contexts where each metacharacter needs to be escaped because it would +// otherwise have a special meaning, change the meaning of surrounding characters, or cause an +// error. Context 'default' means outside character classes only. +// - `\` - context: all +// - `[()*+?.$|` - context: default +// - `]` - context: default with flag u or if forming the end of a character class +// - `{}` - context: default with flag u or if part of a valid/complete quantifier pattern +// - `,` - context: default if in a position that causes an unescaped `{` to turn into a quantifier. +// Ex: `/^a{1\,2}$/` matches `'a{1,2}'`, but `/^a{1,2}$/` matches `'a'` or `'aa'` +// - `#` and <whitespace> - context: default with flag x +// - `^` - context: default, and context: class if it's the first character in the class +// - `-` - context: class if part of a valid character class range + + +XRegExp.escape = function (str) { + return String(nullThrows(str)). // Escape most special chars with a backslash + replace(/[\\\[\]{}()*+?.^$|]/g, '\\$&'). // Convert to \uNNNN for special chars that can't be escaped when used with ES6 flag `u` + replace(/[\s#\-,]/g, function (match) { + return "\\u".concat(pad4(hex(match.charCodeAt(0)))); + }); }; - /** * Executes a regex search in a specified string. Returns a match array or `null`. If the provided - * regex uses named capture, named backreference properties are included on the match array. - * Optional `pos` and `sticky` arguments specify the search start position, and whether the match - * must start at the specified position only. The `lastIndex` property of the provided regex is not - * used, but is updated for compatibility. Also fixes browser bugs compared to the native - * `RegExp.prototype.exec` and can be used reliably cross-browser. + * regex uses named capture, named capture properties are included on the match array's `groups` + * property. Optional `pos` and `sticky` arguments specify the search start position, and whether + * the match must start at the specified position only. The `lastIndex` property of the provided + * regex is not used, but is updated for compatibility. Also fixes browser bugs compared to the + * native `RegExp.prototype.exec` and can be used reliably cross-browser. * * @memberOf XRegExp * @param {String} str String to search. @@ -3556,73 +1305,68 @@ XRegExp.escape = function(str) { * @param {Number} [pos=0] Zero-based index at which to start the search. * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position * only. The string `'sticky'` is accepted as an alternative to `true`. - * @returns {Array} Match array with named backreference properties, or `null`. + * @returns {Array} Match array with named capture properties on the `groups` object, or `null`. If + * the `namespacing` feature is off, named capture properties are directly on the match array. * @example * - * // Basic use, with named backreference - * var match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})')); - * match.hex; // -> '2620' + * // Basic use, with named capturing group + * let match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})')); + * match.groups.hex; // -> '2620' * * // With pos and sticky, in a loop - * var pos = 2, result = [], match; + * let pos = 3, result = [], match; * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) { * result.push(match[1]); * pos = match.index + match[0].length; * } * // result -> ['2', '3', '4'] */ -XRegExp.exec = function(str, regex, pos, sticky) { - var cacheKey = 'g'; - var addY = false; - var fakeY = false; - var match; - var r2; - - addY = hasNativeY && !!(sticky || (regex.sticky && sticky !== false)); - if (addY) { - cacheKey += 'y'; - } else if (sticky) { - // Simulate sticky matching by appending an empty capture to the original regex. The - // resulting regex will succeed no matter what at the current index (set with `lastIndex`), - // and will not search the rest of the subject string. We'll know that the original regex - // has failed if that last capture is `''` rather than `undefined` (i.e., if that last - // capture participated in the match). - fakeY = true; - cacheKey += 'FakeY'; - } - - regex[REGEX_DATA] = regex[REGEX_DATA] || {}; - - // Shares cached copies with `XRegExp.match`/`replace` - r2 = regex[REGEX_DATA][cacheKey] || ( - regex[REGEX_DATA][cacheKey] = copyRegex(regex, { - addG: true, - addY: addY, - source: fakeY ? regex.source + '|()' : undefined, - removeY: sticky === false, - isInternalOnly: true - }) - ); - - pos = pos || 0; - r2.lastIndex = pos; - - // Fixed `exec` required for `lastIndex` fix, named backreferences, etc. - match = fixed.exec.call(r2, str); - - // Get rid of the capture added by the pseudo-sticky matcher if needed. An empty string means - // the original regexp failed (see above). - if (fakeY && match && match.pop() === '') { - match = null; - } - if (regex.global) { - regex.lastIndex = match ? r2.lastIndex : 0; - } - return match; +XRegExp.exec = function (str, regex, pos, sticky) { + var cacheKey = 'g'; + var addY = false; + var fakeY = false; + var match; + addY = hasNativeY && !!(sticky || regex.sticky && sticky !== false); + + if (addY) { + cacheKey += 'y'; + } else if (sticky) { + // Simulate sticky matching by appending an empty capture to the original regex. The + // resulting regex will succeed no matter what at the current index (set with `lastIndex`), + // and will not search the rest of the subject string. We'll know that the original regex + // has failed if that last capture is `''` rather than `undefined` (i.e., if that last + // capture participated in the match). + fakeY = true; + cacheKey += 'FakeY'; + } + + regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.match`/`replace` + + var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, { + addG: true, + addY: addY, + source: fakeY ? "".concat(regex.source, "|()") : undefined, + removeY: sticky === false, + isInternalOnly: true + })); + pos = pos || 0; + r2.lastIndex = pos; // Fixed `exec` required for `lastIndex` fix, named backreferences, etc. + + match = fixed.exec.call(r2, str); // Get rid of the capture added by the pseudo-sticky matcher if needed. An empty string means + // the original regexp failed (see above). + + if (fakeY && match && match.pop() === '') { + match = null; + } + + if (regex.global) { + regex.lastIndex = match ? r2.lastIndex : 0; + } + + return match; }; - /** * Executes a provided function once per regex match. Searches always start at the beginning of the * string and continue until the end, regardless of the state of the regex's `global` property and @@ -3639,30 +1383,30 @@ XRegExp.exec = function(str, regex, pos, sticky) { * @example * * // Extracts every other digit from a string - * var evens = []; - * XRegExp.forEach('1a2345', /\d/, function(match, i) { + * const evens = []; + * XRegExp.forEach('1a2345', /\d/, (match, i) => { * if (i % 2) evens.push(+match[0]); * }); * // evens -> [2, 4] */ -XRegExp.forEach = function(str, regex, callback) { - var pos = 0; - var i = -1; - var match; - - while ((match = XRegExp.exec(str, regex, pos))) { - // Because `regex` is provided to `callback`, the function could use the deprecated/ - // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since `XRegExp.exec` - // doesn't use `lastIndex` to set the search position, this can't lead to an infinite loop, - // at least. Actually, because of the way `XRegExp.exec` caches globalized versions of - // regexes, mutating the regex will not have any effect on the iteration or matched strings, - // which is a nice side effect that brings extra safety. - callback(match, ++i, str, regex); - - pos = match.index + (match[0].length || 1); - } -}; + +XRegExp.forEach = function (str, regex, callback) { + var pos = 0; + var i = -1; + var match; + + while (match = XRegExp.exec(str, regex, pos)) { + // Because `regex` is provided to `callback`, the function could use the deprecated/ + // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since `XRegExp.exec` + // doesn't use `lastIndex` to set the search position, this can't lead to an infinite loop, + // at least. Actually, because of the way `XRegExp.exec` caches globalized versions of + // regexes, mutating the regex will not have any effect on the iteration or matched strings, + // which is a nice side effect that brings extra safety. + callback(match, ++i, str, regex); + pos = match.index + (match[0].length || 1); + } +}; /** * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native @@ -3673,13 +1417,16 @@ XRegExp.forEach = function(str, regex, callback) { * @returns {RegExp} Copy of the provided regex with flag `g` added. * @example * - * var globalCopy = XRegExp.globalize(/regex/); + * const globalCopy = XRegExp.globalize(/regex/); * globalCopy.global; // -> true */ -XRegExp.globalize = function(regex) { - return copyRegex(regex, {addG: true}); -}; + +XRegExp.globalize = function (regex) { + return copyRegex(regex, { + addG: true + }); +}; /** * Installs optional features according to the specified options. Can be undone using * `XRegExp.uninstall`. @@ -3693,48 +1440,50 @@ XRegExp.globalize = function(regex) { * // Enables support for astral code points in Unicode addons (implicitly sets flag A) * astral: true, * - * // DEPRECATED: Overrides native regex methods with fixed/extended versions - * natives: true + * // Adds named capture groups to the `groups` property of matches + * namespacing: true * }); * * // With an options string - * XRegExp.install('astral natives'); + * XRegExp.install('astral namespacing'); */ -XRegExp.install = function(options) { - options = prepareOptions(options); - if (!features.astral && options.astral) { - setAstral(true); - } - if (!features.natives && options.natives) { - setNatives(true); - } -}; +XRegExp.install = function (options) { + options = prepareOptions(options); + + if (!features.astral && options.astral) { + setAstral(true); + } + if (!features.namespacing && options.namespacing) { + setNamespacing(true); + } +}; /** * Checks whether an individual optional feature is installed. * * @memberOf XRegExp * @param {String} feature Name of the feature to check. One of: * - `astral` - * - `natives` - * @returns {Boolean} Whether the feature is installed. + * - `namespacing` + * @returns {boolean} Whether the feature is installed. * @example * * XRegExp.isInstalled('astral'); */ -XRegExp.isInstalled = function(feature) { - return !!(features[feature]); -}; + +XRegExp.isInstalled = function (feature) { + return !!features[feature]; +}; /** * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes * created in another frame, when `instanceof` and `constructor` checks would fail. * * @memberOf XRegExp * @param {*} value Object to check. - * @returns {Boolean} Whether the object is a `RegExp` object. + * @returns {boolean} Whether the object is a `RegExp` object. * @example * * XRegExp.isRegExp('string'); // -> false @@ -3742,10 +1491,12 @@ XRegExp.isInstalled = function(feature) { * XRegExp.isRegExp(RegExp('^', 'm')); // -> true * XRegExp.isRegExp(XRegExp('(?s).')); // -> true */ -XRegExp.isRegExp = function(value) { - return toString.call(value) === '[object RegExp]'; - //return isType(value, 'RegExp'); -}; + + +XRegExp.isRegExp = function (value) { + return Object.prototype.toString.call(value) === '[object RegExp]'; +}; // Same as `isType(value, 'RegExp')`, but avoiding that function call here for perf since +// `isRegExp` is used heavily by internals including regex construction /** * Returns the first matched string, or in global mode, an array containing all matched strings. @@ -3774,36 +1525,27 @@ XRegExp.isRegExp = function(value) { * XRegExp.match('abc', /\w/, 'all'); // -> ['a', 'b', 'c'] * XRegExp.match('abc', /x/, 'all'); // -> [] */ -XRegExp.match = function(str, regex, scope) { - var global = (regex.global && scope !== 'one') || scope === 'all'; - var cacheKey = ((global ? 'g' : '') + (regex.sticky ? 'y' : '')) || 'noGY'; - var result; - var r2; - - regex[REGEX_DATA] = regex[REGEX_DATA] || {}; - - // Shares cached copies with `XRegExp.exec`/`replace` - r2 = regex[REGEX_DATA][cacheKey] || ( - regex[REGEX_DATA][cacheKey] = copyRegex(regex, { - addG: !!global, - removeG: scope === 'one', - isInternalOnly: true - }) - ); - - result = nativ.match.call(toObject(str), r2); - - if (regex.global) { - regex.lastIndex = ( - (scope === 'one' && result) ? - // Can't use `r2.lastIndex` since `r2` is nonglobal in this case - (result.index + result[0].length) : 0 - ); - } - return global ? (result || []) : (result && result[0]); -}; +XRegExp.match = function (str, regex, scope) { + var global = regex.global && scope !== 'one' || scope === 'all'; + var cacheKey = (global ? 'g' : '') + (regex.sticky ? 'y' : '') || 'noGY'; + regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`replace` + + var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, { + addG: !!global, + removeG: scope === 'one', + isInternalOnly: true + })); + var result = String(nullThrows(str)).match(r2); + + if (regex.global) { + regex.lastIndex = scope === 'one' && result ? // Can't use `r2.lastIndex` since `r2` is nonglobal in this case + result.index + result[0].length : 0; + } + + return global ? result || [] : result && result[0]; +}; /** * Retrieves the matches from searching a string using a chain of regexes that successively search * within previous matches. The provided `chain` array can contain regexes and or objects with @@ -3824,53 +1566,68 @@ XRegExp.match = function(str, regex, scope) { * // -> ['2', '4', '56'] * * // Passing forward and returning specific backreferences - * html = '<a href="http://xregexp.com/api/">XRegExp</a>\ - * <a href="http://www.google.com/">Google</a>'; + * const html = `<a href="http://xregexp.com/api/">XRegExp</a> + * <a href="http://www.google.com/">Google</a>`; * XRegExp.matchChain(html, [ * {regex: /<a href="([^"]+)">/i, backref: 1}, * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'} * ]); * // -> ['xregexp.com', 'www.google.com'] */ -XRegExp.matchChain = function(str, chain) { - return (function recurseChain(values, level) { - var item = chain[level].regex ? chain[level] : {regex: chain[level]}; - var matches = []; - - function addMatch(match) { - if (item.backref) { - // Safari 4.0.5 (but not 5.0.5+) inappropriately uses sparse arrays to hold the - // `undefined`s for backreferences to nonparticipating capturing groups. In such - // cases, a `hasOwnProperty` or `in` check on its own would inappropriately throw - // the exception, so also check if the backreference is a number that is within the - // bounds of the array. - if (!(match.hasOwnProperty(item.backref) || +item.backref < match.length)) { - throw new ReferenceError('Backreference to undefined group: ' + item.backref); - } - - matches.push(match[item.backref] || ''); - } else { - matches.push(match[0]); - } - } - for (var i = 0; i < values.length; ++i) { - XRegExp.forEach(values[i], item.regex, addMatch); + +XRegExp.matchChain = function (str, chain) { + return function recurseChain(values, level) { + var item = chain[level].regex ? chain[level] : { + regex: chain[level] + }; + var matches = []; + + function addMatch(match) { + if (item.backref) { + var ERR_UNDEFINED_GROUP = "Backreference to undefined group: ".concat(item.backref); + var isNamedBackref = isNaN(item.backref); + + if (isNamedBackref && XRegExp.isInstalled('namespacing')) { + // `groups` has `null` as prototype, so using `in` instead of `hasOwnProperty` + if (!(match.groups && item.backref in match.groups)) { + throw new ReferenceError(ERR_UNDEFINED_GROUP); + } + } else if (!match.hasOwnProperty(item.backref)) { + throw new ReferenceError(ERR_UNDEFINED_GROUP); } - return ((level === chain.length - 1) || !matches.length) ? - matches : - recurseChain(matches, level + 1); - }([str], 0)); -}; + var backrefValue = isNamedBackref && XRegExp.isInstalled('namespacing') ? match.groups[item.backref] : match[item.backref]; + matches.push(backrefValue || ''); + } else { + matches.push(match[0]); + } + } + + var _iterator3 = _createForOfIteratorHelper(values), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var value = _step3.value; + (0, _forEach["default"])(XRegExp).call(XRegExp, value, item.regex, addMatch); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + return level === chain.length - 1 || !matches.length ? matches : recurseChain(matches, level + 1); + }([str], 0); +}; /** * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string * or regex, and the replacement can be a string or a function to be called for each match. To * perform a global search and replace, use the optional `scope` argument or include flag g if using - * a regex. Replacement strings can use `${n}` for named and numbered backreferences. Replacement - * functions can use named backreferences via `arguments[0].name`. Also fixes browser bugs compared - * to the native `String.prototype.replace` and can be used reliably cross-browser. + * a regex. Replacement strings can use `$<n>` or `${n}` for named and numbered backreferences. + * Replacement functions can use named backreferences via the last argument. Also fixes browser bugs + * compared to the native `String.prototype.replace` and can be used reliably cross-browser. * * @memberOf XRegExp * @param {String} str String to search. @@ -3881,29 +1638,34 @@ XRegExp.matchChain = function(str, chain) { * - $&, $0 - Inserts the matched substring. * - $` - Inserts the string that precedes the matched substring (left context). * - $' - Inserts the string that follows the matched substring (right context). - * - $n, $nn - Where n/nn are digits referencing an existent capturing group, inserts + * - $n, $nn - Where n/nn are digits referencing an existing capturing group, inserts * backreference n/nn. - * - ${n} - Where n is a name or any number of digits that reference an existent capturing + * - $<n>, ${n} - Where n is a name or any number of digits that reference an existing capturing * group, inserts backreference n. * Replacement functions are invoked with three or more arguments: - * - The matched substring (corresponds to $& above). Named backreferences are accessible as - * properties of this first argument. - * - 0..n arguments, one for each backreference (corresponding to $1, $2, etc. above). - * - The zero-based index of the match within the total search string. - * - The total string being searched. - * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not - * explicitly specified and using a regex with flag g, `scope` is 'all'. + * - args[0] - The matched substring (corresponds to `$&` above). If the `namespacing` feature + * is off, named backreferences are accessible as properties of this argument. + * - args[1..n] - One argument for each backreference (corresponding to `$1`, `$2`, etc. above). + * If the regex has no capturing groups, no arguments appear in this position. + * - args[n+1] - The zero-based index of the match within the entire search string. + * - args[n+2] - The total string being searched. + * - args[n+3] - If the the search pattern is a regex with named capturing groups, the last + * argument is the groups object. Its keys are the backreference names and its values are the + * backreference values. If the `namespacing` feature is off, this argument is not present. + * @param {String} [scope] Use 'one' to replace the first match only, or 'all'. Defaults to 'one'. + * Defaults to 'all' if using a regex with flag g. * @returns {String} New string with one or all matches replaced. * @example * * // Regex search, using named backreferences in replacement string - * var name = XRegExp('(?<first>\\w+) (?<last>\\w+)'); - * XRegExp.replace('John Smith', name, '${last}, ${first}'); + * const name = XRegExp('(?<first>\\w+) (?<last>\\w+)'); + * XRegExp.replace('John Smith', name, '$<last>, $<first>'); * // -> 'Smith, John' * * // Regex search, using named backreferences in replacement function - * XRegExp.replace('John Smith', name, function(match) { - * return match.last + ', ' + match.first; + * XRegExp.replace('John Smith', name, (...args) => { + * const groups = args[args.length - 1]; + * return `${groups.last}, ${groups.first}`; * }); * // -> 'Smith, John' * @@ -3911,46 +1673,44 @@ XRegExp.matchChain = function(str, chain) { * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all'); * // -> 'XRegExp builds XRegExps' */ -XRegExp.replace = function(str, search, replacement, scope) { - var isRegex = XRegExp.isRegExp(search); - var global = (search.global && scope !== 'one') || scope === 'all'; - var cacheKey = ((global ? 'g' : '') + (search.sticky ? 'y' : '')) || 'noGY'; - var s2 = search; - var result; - - if (isRegex) { - search[REGEX_DATA] = search[REGEX_DATA] || {}; - - // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s - // `lastIndex` isn't updated *during* replacement iterations - s2 = search[REGEX_DATA][cacheKey] || ( - search[REGEX_DATA][cacheKey] = copyRegex(search, { - addG: !!global, - removeG: scope === 'one', - isInternalOnly: true - }) - ); - } else if (global) { - s2 = new RegExp(XRegExp.escape(String(search)), 'g'); - } - // Fixed `replace` required for named backreferences, etc. - result = fixed.replace.call(toObject(str), s2, replacement); - if (isRegex && search.global) { - // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) - search.lastIndex = 0; - } +XRegExp.replace = function (str, search, replacement, scope) { + var isRegex = XRegExp.isRegExp(search); + var global = search.global && scope !== 'one' || scope === 'all'; + var cacheKey = (global ? 'g' : '') + (search.sticky ? 'y' : '') || 'noGY'; + var s2 = search; + + if (isRegex) { + search[REGEX_DATA] = search[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s + // `lastIndex` isn't updated *during* replacement iterations + + s2 = search[REGEX_DATA][cacheKey] || (search[REGEX_DATA][cacheKey] = copyRegex(search, { + addG: !!global, + removeG: scope === 'one', + isInternalOnly: true + })); + } else if (global) { + s2 = new RegExp(XRegExp.escape(String(search)), 'g'); + } // Fixed `replace` required for named backreferences, etc. - return result; -}; + var result = fixed.replace.call(nullThrows(str), s2, replacement); + + if (isRegex && search.global) { + // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + search.lastIndex = 0; + } + + return result; +}; /** * Performs batch processing of string replacements. Used like `XRegExp.replace`, but accepts an * array of replacement details. Later replacements operate on the output of earlier replacements. * Replacement details are accepted as an array with a regex or string to search for, the * replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp - * replacement text syntax, which supports named backreference properties via `${name}`. + * replacement text syntax, which supports named backreference properties via `$<name>` or + * `${name}`. * * @memberOf XRegExp * @param {String} str String to search. @@ -3959,28 +1719,33 @@ XRegExp.replace = function(str, search, replacement, scope) { * @example * * str = XRegExp.replaceEach(str, [ - * [XRegExp('(?<name>a)'), 'z${name}'], + * [XRegExp('(?<name>a)'), 'z$<name>'], * [/b/gi, 'y'], * [/c/g, 'x', 'one'], // scope 'one' overrides /g * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings - * [/f/g, function($0) { - * return $0.toUpperCase(); - * }] + * [/f/g, (match) => match.toUpperCase()] * ]); */ -XRegExp.replaceEach = function(str, replacements) { - var i; - var r; - for (i = 0; i < replacements.length; ++i) { - r = replacements[i]; - str = XRegExp.replace(str, r[0], r[1], r[2]); + +XRegExp.replaceEach = function (str, replacements) { + var _iterator4 = _createForOfIteratorHelper(replacements), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var r = _step4.value; + str = XRegExp.replace(str, r[0], r[1], r[2]); } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } - return str; + return str; }; - /** * Splits a string into an array of strings using a regex or string separator. Matches of the * separator are not included in the result array. However, if `separator` is a regex that contains @@ -4007,10 +1772,11 @@ XRegExp.replaceEach = function(str, replacements) { * XRegExp.split('..word1..', /([a-z]+)(\d+)/i); * // -> ['..', 'word', '1', '..'] */ -XRegExp.split = function(str, separator, limit) { - return fixed.split.call(toObject(str), separator, limit); -}; + +XRegExp.split = function (str, separator, limit) { + return fixed.split.call(nullThrows(str), separator, limit); +}; /** * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and * `sticky` arguments specify the search start position, and whether the match must start at the @@ -4024,7 +1790,7 @@ XRegExp.split = function(str, separator, limit) { * @param {Number} [pos=0] Zero-based index at which to start the search. * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position * only. The string `'sticky'` is accepted as an alternative to `true`. - * @returns {Boolean} Whether the regex matched the provided value. + * @returns {boolean} Whether the regex matched the provided value. * @example * * // Basic use @@ -4034,14 +1800,15 @@ XRegExp.split = function(str, separator, limit) { * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true */ -XRegExp.test = function(str, regex, pos, sticky) { - // Do this the easy way :-) - return !!XRegExp.exec(str, regex, pos, sticky); -}; +// Do this the easy way :-) + +XRegExp.test = function (str, regex, pos, sticky) { + return !!XRegExp.exec(str, regex, pos, sticky); +}; /** - * Uninstalls optional features according to the specified options. All optional features start out - * uninstalled, so this is used to undo the actions of `XRegExp.install`. + * Uninstalls optional features according to the specified options. Used to undo the actions of + * `XRegExp.install`. * * @memberOf XRegExp * @param {Object|String} options Options object or string. @@ -4049,28 +1816,29 @@ XRegExp.test = function(str, regex, pos, sticky) { * * // With an options object * XRegExp.uninstall({ - * // Disables support for astral code points in Unicode addons + * // Disables support for astral code points in Unicode addons (unless enabled per regex) * astral: true, * - * // DEPRECATED: Restores native regex methods - * natives: true + * // Don't add named capture groups to the `groups` property of matches + * namespacing: true * }); * * // With an options string - * XRegExp.uninstall('astral natives'); + * XRegExp.uninstall('astral namespacing'); */ -XRegExp.uninstall = function(options) { - options = prepareOptions(options); - if (features.astral && options.astral) { - setAstral(false); - } - if (features.natives && options.natives) { - setNatives(false); - } -}; +XRegExp.uninstall = function (options) { + options = prepareOptions(options); + + if (features.astral && options.astral) { + setAstral(false); + } + if (features.namespacing && options.namespacing) { + setNamespacing(false); + } +}; /** * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as * regex objects or strings. Metacharacters are escaped in patterns provided as strings. @@ -4092,360 +1860,417 @@ XRegExp.uninstall = function(options) { * XRegExp.union([/man/, /bear/, /pig/], 'i', {conjunction: 'none'}); * // -> /manbearpig/i */ -XRegExp.union = function(patterns, flags, options) { - options = options || {}; - var conjunction = options.conjunction || 'or'; - var numCaptures = 0; - var numPriorCaptures; - var captureNames; - - function rewrite(match, paren, backref) { - var name = captureNames[numCaptures - numPriorCaptures]; - - // Capturing group - if (paren) { - ++numCaptures; - // If the current capture has a name, preserve the name - if (name) { - return '(?<' + name + '>'; - } - // Backreference - } else if (backref) { - // Rewrite the backreference - return '\\' + (+backref + numPriorCaptures); - } - return match; - } - if (!(isType(patterns, 'Array') && patterns.length)) { - throw new TypeError('Must provide a nonempty array of patterns to merge'); - } +XRegExp.union = function (patterns, flags, options) { + options = options || {}; + var conjunction = options.conjunction || 'or'; + var numCaptures = 0; + var numPriorCaptures; + var captureNames; - var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g; - var output = []; - var pattern; - for (var i = 0; i < patterns.length; ++i) { - pattern = patterns[i]; + function rewrite(match, paren, backref) { + var name = captureNames[numCaptures - numPriorCaptures]; // Capturing group - if (XRegExp.isRegExp(pattern)) { - numPriorCaptures = numCaptures; - captureNames = (pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames) || []; + if (paren) { + ++numCaptures; // If the current capture has a name, preserve the name - // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns are - // independently valid; helps keep this simple. Named captures are put back - output.push(nativ.replace.call(XRegExp(pattern.source).source, parts, rewrite)); - } else { - output.push(XRegExp.escape(pattern)); - } + if (name) { + return "(?<".concat(name, ">"); + } // Backreference + + } else if (backref) { + // Rewrite the backreference + return "\\".concat(+backref + numPriorCaptures); } - var separator = conjunction === 'none' ? '' : '|'; - return XRegExp(output.join(separator), flags); -}; + return match; + } -// ==--------------------------== + if (!(isType(patterns, 'Array') && patterns.length)) { + throw new TypeError('Must provide a nonempty array of patterns to merge'); + } + + var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g; + var output = []; + + var _iterator5 = _createForOfIteratorHelper(patterns), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var pattern = _step5.value; + + if (XRegExp.isRegExp(pattern)) { + numPriorCaptures = numCaptures; + captureNames = pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames || []; // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns are + // independently valid; helps keep this simple. Named captures are put back + + output.push(XRegExp(pattern.source).source.replace(parts, rewrite)); + } else { + output.push(XRegExp.escape(pattern)); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + var separator = conjunction === 'none' ? '' : '|'; + return XRegExp(output.join(separator), flags); +}; // ==--------------------------== // Fixed/extended native methods // ==--------------------------== /** * Adds named capture support (with backreferences returned as `result.name`), and fixes browser - * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to - * override the native method. Use via `XRegExp.exec` without overriding natives. + * bugs in the native `RegExp.prototype.exec`. Use via `XRegExp.exec`. * * @memberOf RegExp * @param {String} str String to search. * @returns {Array} Match array with named backreference properties, or `null`. */ -fixed.exec = function(str) { - var origLastIndex = this.lastIndex; - var match = nativ.exec.apply(this, arguments); - var name; - var r2; - var i; - if (match) { - // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating capturing - // groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of older IEs. IE 9 - // in standards mode follows the spec. - if (!correctExecNpcg && match.length > 1 && indexOf(match, '') > -1) { - r2 = copyRegex(this, { - removeG: true, - isInternalOnly: true - }); - // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed - // matching due to characters outside the match - nativ.replace.call(String(str).slice(match.index), r2, function() { - var len = arguments.length; - var i; - // Skip index 0 and the last 2 - for (i = 1; i < len - 2; ++i) { - if (arguments[i] === undefined) { - match[i] = undefined; - } - } - }); - } - // Attach named capture properties - if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) { - // Skip index 0 - for (i = 1; i < match.length; ++i) { - name = this[REGEX_DATA].captureNames[i - 1]; - if (name) { - match[name] = match[i]; - } - } +fixed.exec = function (str) { + var origLastIndex = this.lastIndex; + var match = RegExp.prototype.exec.apply(this, arguments); + + if (match) { + // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating capturing + // groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of older IEs. IE 9 + // in standards mode follows the spec. + if (!correctExecNpcg && match.length > 1 && (0, _indexOf["default"])(match).call(match, '') !== -1) { + var _context3; + + var r2 = copyRegex(this, { + removeG: true, + isInternalOnly: true + }); // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed + // matching due to characters outside the match + + (0, _slice["default"])(_context3 = String(str)).call(_context3, match.index).replace(r2, function () { + var len = arguments.length; // Skip index 0 and the last 2 + + for (var i = 1; i < len - 2; ++i) { + if ((i < 0 || arguments.length <= i ? undefined : arguments[i]) === undefined) { + match[i] = undefined; + } } + }); + } // Attach named capture properties + + + if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) { + var groupsObject = match; + + if (XRegExp.isInstalled('namespacing')) { + // https://tc39.github.io/proposal-regexp-named-groups/#sec-regexpbuiltinexec + match.groups = (0, _create["default"])(null); + groupsObject = match.groups; + } // Skip index 0 + - // Fix browsers that increment `lastIndex` after zero-length matches - if (this.global && !match[0].length && (this.lastIndex > match.index)) { - this.lastIndex = match.index; + for (var i = 1; i < match.length; ++i) { + var name = this[REGEX_DATA].captureNames[i - 1]; + + if (name) { + groupsObject[name] = match[i]; } - } + } // Preserve any existing `groups` obj that came from native ES2018 named capture + + } else if (!match.groups && XRegExp.isInstalled('namespacing')) { + match.groups = undefined; + } // Fix browsers that increment `lastIndex` after zero-length matches + - if (!this.global) { - // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) - this.lastIndex = origLastIndex; + if (this.global && !match[0].length && this.lastIndex > match.index) { + this.lastIndex = match.index; } + } - return match; -}; + if (!this.global) { + // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + this.lastIndex = origLastIndex; + } + return match; +}; /** - * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')` - * uses this to override the native method. + * Fixes browser bugs in the native `RegExp.prototype.test`. * * @memberOf RegExp * @param {String} str String to search. - * @returns {Boolean} Whether the regex matched the provided value. + * @returns {boolean} Whether the regex matched the provided value. */ -fixed.test = function(str) { - // Do this the easy way :-) - return !!fixed.exec.call(this, str); -}; + +fixed.test = function (str) { + // Do this the easy way :-) + return !!fixed.exec.call(this, str); +}; /** * Adds named capture support (with backreferences returned as `result.name`), and fixes browser - * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to - * override the native method. + * bugs in the native `String.prototype.match`. * * @memberOf String * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`. * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g, * the result of calling `regex.exec(this)`. */ -fixed.match = function(regex) { - var result; - - if (!XRegExp.isRegExp(regex)) { - // Use the native `RegExp` rather than `XRegExp` - regex = new RegExp(regex); - } else if (regex.global) { - result = nativ.match.apply(this, arguments); - // Fixes IE bug - regex.lastIndex = 0; - - return result; - } - return fixed.exec.call(regex, toObject(this)); -}; +fixed.match = function (regex) { + if (!XRegExp.isRegExp(regex)) { + // Use the native `RegExp` rather than `XRegExp` + regex = new RegExp(regex); + } else if (regex.global) { + var result = String.prototype.match.apply(this, arguments); // Fixes IE bug + + regex.lastIndex = 0; + return result; + } + + return fixed.exec.call(regex, nullThrows(this)); +}; /** - * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and - * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes browser - * bugs in replacement text syntax when performing a replacement using a nonregex search value, and - * the value of a replacement regex's `lastIndex` property during replacement iterations and upon - * completion. Calling `XRegExp.install('natives')` uses this to override the native method. Note - * that this doesn't support SpiderMonkey's proprietary third (`flags`) argument. Use via - * `XRegExp.replace` without overriding natives. + * Adds support for `${n}` (or `$<n>`) tokens for named and numbered backreferences in replacement + * text, and provides named backreferences to replacement functions as `arguments[0].name`. Also + * fixes browser bugs in replacement text syntax when performing a replacement using a nonregex + * search value, and the value of a replacement regex's `lastIndex` property during replacement + * iterations and upon completion. Note that this doesn't support SpiderMonkey's proprietary third + * (`flags`) argument. Use via `XRegExp.replace`. * * @memberOf String * @param {RegExp|String} search Search pattern to be replaced. * @param {String|Function} replacement Replacement string or a function invoked to create it. - * @returns {String} New string with one or all matches replaced. + * @returns {string} New string with one or all matches replaced. */ -fixed.replace = function(search, replacement) { - var isRegex = XRegExp.isRegExp(search); - var origLastIndex; - var captureNames; - var result; - - if (isRegex) { - if (search[REGEX_DATA]) { - captureNames = search[REGEX_DATA].captureNames; + + +fixed.replace = function (search, replacement) { + var isRegex = XRegExp.isRegExp(search); + var origLastIndex; + var captureNames; + var result; + + if (isRegex) { + if (search[REGEX_DATA]) { + captureNames = search[REGEX_DATA].captureNames; + } // Only needed if `search` is nonglobal + + + origLastIndex = search.lastIndex; + } else { + search += ''; // Type-convert + } // Don't use `typeof`; some older browsers return 'function' for regex objects + + + if (isType(replacement, 'Function')) { + // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement + // functions isn't type-converted to a string + result = String(this).replace(search, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + if (captureNames) { + var groupsObject; + + if (XRegExp.isInstalled('namespacing')) { + // https://tc39.github.io/proposal-regexp-named-groups/#sec-regexpbuiltinexec + groupsObject = (0, _create["default"])(null); + args.push(groupsObject); + } else { + // Change the `args[0]` string primitive to a `String` object that can store + // properties. This really does need to use `String` as a constructor + args[0] = new String(args[0]); + groupsObject = args[0]; + } // Store named backreferences + + + for (var i = 0; i < captureNames.length; ++i) { + if (captureNames[i]) { + groupsObject[captureNames[i]] = args[i + 1]; + } } - // Only needed if `search` is nonglobal - origLastIndex = search.lastIndex; - } else { - search += ''; // Type-convert - } + } // ES6 specs the context for replacement functions as `undefined` - // Don't use `typeof`; some older browsers return 'function' for regex objects - if (isType(replacement, 'Function')) { - // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement - // functions isn't type-converted to a string - result = nativ.replace.call(String(this), search, function() { - var args = arguments; - var i; - if (captureNames) { - // Change the `arguments[0]` string primitive to a `String` object that can store - // properties. This really does need to use `String` as a constructor - args[0] = new String(args[0]); - // Store named backreferences on the first argument - for (i = 0; i < captureNames.length; ++i) { - if (captureNames[i]) { - args[0][captureNames[i]] = args[i + 1]; - } - } - } - // Update `lastIndex` before calling `replacement`. Fixes IE, Chrome, Firefox, Safari - // bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1) - if (isRegex && search.global) { - search.lastIndex = args[args.length - 2] + args[0].length; + + return replacement.apply(void 0, args); + }); + } else { + // Ensure that the last value of `args` will be a string when given nonstring `this`, + // while still throwing on null or undefined context + result = String(nullThrows(this)).replace(search, function () { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + return String(replacement).replace(replacementToken, replacer); + + function replacer($0, bracketed, angled, dollarToken) { + bracketed = bracketed || angled; // ES2018 added a new trailing `groups` arg that's passed to replacement functions + // when the search regex uses native named capture + + var numNonCaptureArgs = isType(args[args.length - 1], 'Object') ? 4 : 3; + var numCaptures = args.length - numNonCaptureArgs; // Handle named or numbered backreference with curly or angled braces: ${n}, $<n> + + if (bracketed) { + // Handle backreference to numbered capture, if `bracketed` is an integer. Use + // `0` for the entire match. Any number of leading zeros may be used. + if (/^\d+$/.test(bracketed)) { + // Type-convert and drop leading zeros + var _n = +bracketed; + + if (_n <= numCaptures) { + return args[_n] || ''; } - // ES6 specs the context for replacement functions as `undefined` - return replacement.apply(undefined, args); - }); - } else { - // Ensure that the last value of `args` will be a string when given nonstring `this`, - // while still throwing on null or undefined context - result = nativ.replace.call(this == null ? this : String(this), search, function() { - // Keep this function's `arguments` available through closure - var args = arguments; - return nativ.replace.call(String(replacement), replacementToken, function($0, $1, $2) { - var n; - // Named or numbered backreference with curly braces - if ($1) { - // XRegExp behavior for `${n}`: - // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for the - // entire match. Any number of leading zeros may be used. - // 2. Backreference to named capture `n`, if it exists and is not an integer - // overridden by numbered capture. In practice, this does not overlap with - // numbered capture since XRegExp does not allow named capture to use a bare - // integer as the name. - // 3. If the name or number does not refer to an existing capturing group, it's - // an error. - n = +$1; // Type-convert; drop leading zeros - if (n <= args.length - 3) { - return args[n] || ''; - } - // Groups with the same name is an error, else would need `lastIndexOf` - n = captureNames ? indexOf(captureNames, $1) : -1; - if (n < 0) { - throw new SyntaxError('Backreference to undefined group ' + $0); - } - return args[n + 1] || ''; - } - // Else, special variable or numbered backreference without curly braces - if ($2 === '$') { // $$ - return '$'; - } - if ($2 === '&' || +$2 === 0) { // $&, $0 (not followed by 1-9), $00 - return args[0]; - } - if ($2 === '`') { // $` (left context) - return args[args.length - 1].slice(0, args[args.length - 2]); - } - if ($2 === "'") { // $' (right context) - return args[args.length - 1].slice(args[args.length - 2] + args[0].length); - } - // Else, numbered backreference without curly braces - $2 = +$2; // Type-convert; drop leading zero - // XRegExp behavior for `$n` and `$nn`: - // - Backrefs end after 1 or 2 digits. Use `${..}` for more digits. - // - `$1` is an error if no capturing groups. - // - `$10` is an error if less than 10 capturing groups. Use `${1}0` instead. - // - `$01` is `$1` if at least one capturing group, else it's an error. - // - `$0` (not followed by 1-9) and `$00` are the entire match. - // Native behavior, for comparison: - // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+. - // - `$1` is a literal `$1` if no capturing groups. - // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups. - // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`. - // - `$0` is a literal `$0`. - if (!isNaN($2)) { - if ($2 > args.length - 3) { - throw new SyntaxError('Backreference to undefined group ' + $0); - } - return args[$2] || ''; - } - // `$` followed by an unsupported char is an error, unlike native JS - throw new SyntaxError('Invalid token ' + $0); - }); - }); - } + } // Handle backreference to named capture. If the name does not refer to an + // existing capturing group, it's an error. Also handles the error for numbered + // backference that does not refer to an existing group. + // Using `indexOf` since having groups with the same name is already an error, + // otherwise would need `lastIndexOf`. - if (isRegex) { - if (search.global) { - // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) - search.lastIndex = 0; - } else { - // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) - search.lastIndex = origLastIndex; + + var n = captureNames ? (0, _indexOf["default"])(captureNames).call(captureNames, bracketed) : -1; + + if (n < 0) { + throw new SyntaxError("Backreference to undefined group ".concat($0)); + } + + return args[n + 1] || ''; + } // Handle `$`-prefixed variable + // Handle space/blank first because type conversion with `+` drops space padding + // and converts spaces and empty strings to `0` + + + if (dollarToken === '' || dollarToken === ' ') { + throw new SyntaxError("Invalid token ".concat($0)); + } + + if (dollarToken === '&' || +dollarToken === 0) { + // $&, $0 (not followed by 1-9), $00 + return args[0]; + } + + if (dollarToken === '$') { + // $$ + return '$'; + } + + if (dollarToken === '`') { + var _context4; + + // $` (left context) + return (0, _slice["default"])(_context4 = args[args.length - 1]).call(_context4, 0, args[args.length - 2]); } + + if (dollarToken === "'") { + var _context5; + + // $' (right context) + return (0, _slice["default"])(_context5 = args[args.length - 1]).call(_context5, args[args.length - 2] + args[0].length); + } // Handle numbered backreference without braces + // Type-convert and drop leading zero + + + dollarToken = +dollarToken; // XRegExp behavior for `$n` and `$nn`: + // - Backrefs end after 1 or 2 digits. Use `${..}` or `$<..>` for more digits. + // - `$1` is an error if no capturing groups. + // - `$10` is an error if less than 10 capturing groups. Use `${1}0` or `$<1>0` + // instead. + // - `$01` is `$1` if at least one capturing group, else it's an error. + // - `$0` (not followed by 1-9) and `$00` are the entire match. + // Native behavior, for comparison: + // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+. + // - `$1` is a literal `$1` if no capturing groups. + // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups. + // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`. + // - `$0` is a literal `$0`. + + if (!isNaN(dollarToken)) { + if (dollarToken > numCaptures) { + throw new SyntaxError("Backreference to undefined group ".concat($0)); + } + + return args[dollarToken] || ''; + } // `$` followed by an unsupported char is an error, unlike native JS + + + throw new SyntaxError("Invalid token ".concat($0)); + } + }); + } + + if (isRegex) { + if (search.global) { + // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + search.lastIndex = 0; + } else { + // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + search.lastIndex = origLastIndex; } + } - return result; + return result; }; - /** - * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')` - * uses this to override the native method. Use via `XRegExp.split` without overriding natives. + * Fixes browser bugs in the native `String.prototype.split`. Use via `XRegExp.split`. * * @memberOf String * @param {RegExp|String} separator Regex or string to use for separating the string. * @param {Number} [limit] Maximum number of items to include in the result array. - * @returns {Array} Array of substrings. + * @returns {!Array} Array of substrings. */ -fixed.split = function(separator, limit) { - if (!XRegExp.isRegExp(separator)) { - // Browsers handle nonregex split correctly, so use the faster native method - return nativ.split.apply(this, arguments); - } - var str = String(this); - var output = []; - var origLastIndex = separator.lastIndex; - var lastLastIndex = 0; - var lastLength; - - // Values for `limit`, per the spec: - // If undefined: pow(2,32) - 1 - // If 0, Infinity, or NaN: 0 - // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32); - // If negative number: pow(2,32) - floor(abs(limit)) - // If other: Type-convert, then use the above rules - // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63, unless - // Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+ - limit = (limit === undefined ? -1 : limit) >>> 0; - - XRegExp.forEach(str, separator, function(match) { - // This condition is not the same as `if (match[0].length)` - if ((match.index + match[0].length) > lastLastIndex) { - output.push(str.slice(lastLastIndex, match.index)); - if (match.length > 1 && match.index < str.length) { - Array.prototype.push.apply(output, match.slice(1)); - } - lastLength = match[0].length; - lastLastIndex = match.index + lastLength; - } - }); - if (lastLastIndex === str.length) { - if (!nativ.test.call(separator, '') || lastLength) { - output.push(''); - } - } else { - output.push(str.slice(lastLastIndex)); +fixed.split = function (separator, limit) { + if (!XRegExp.isRegExp(separator)) { + // Browsers handle nonregex split correctly, so use the faster native method + return String.prototype.split.apply(this, arguments); + } + + var str = String(this); + var output = []; + var origLastIndex = separator.lastIndex; + var lastLastIndex = 0; + var lastLength; // Values for `limit`, per the spec: + // If undefined: pow(2,32) - 1 + // If 0, Infinity, or NaN: 0 + // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32); + // If negative number: pow(2,32) - floor(abs(limit)) + // If other: Type-convert, then use the above rules + // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63, unless + // Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+ + + limit = (limit === undefined ? -1 : limit) >>> 0; + (0, _forEach["default"])(XRegExp).call(XRegExp, str, separator, function (match) { + // This condition is not the same as `if (match[0].length)` + if (match.index + match[0].length > lastLastIndex) { + output.push((0, _slice["default"])(str).call(str, lastLastIndex, match.index)); + + if (match.length > 1 && match.index < str.length) { + Array.prototype.push.apply(output, (0, _slice["default"])(match).call(match, 1)); + } + + lastLength = match[0].length; + lastLastIndex = match.index + lastLength; } + }); - separator.lastIndex = origLastIndex; - return output.length > limit ? output.slice(0, limit) : output; -}; + if (lastLastIndex === str.length) { + if (!separator.test('') || lastLength) { + output.push(''); + } + } else { + output.push((0, _slice["default"])(str).call(str, lastLastIndex)); + } -// ==--------------------------== + separator.lastIndex = origLastIndex; + return output.length > limit ? (0, _slice["default"])(output).call(output, 0, limit) : output; +}; // ==--------------------------== // Built-in syntax/flag tokens // ==--------------------------== @@ -4454,21 +2279,19 @@ fixed.split = function(separator, limit) { * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser * consistency and to reserve their syntax, but lets them be superseded by addons. */ -XRegExp.addToken( - /\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/, - function(match, scope) { - // \B is allowed in default scope only - if (match[1] === 'B' && scope === defaultScope) { - return match[0]; - } - throw new SyntaxError('Invalid escape ' + match[0]); - }, - { - scope: 'all', - leadChar: '\\' - } -); + +XRegExp.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/, function (match, scope) { + // \B is allowed in default scope only + if (match[1] === 'B' && scope === defaultScope) { + return match[0]; + } + + throw new SyntaxError("Invalid escape ".concat(match[0])); +}, { + scope: 'all', + leadChar: '\\' +}); /* * Unicode code point escape with curly braces: `\u{N..}`. `N..` is any one or more digit * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag @@ -4477,176 +2300,3827 @@ XRegExp.addToken( * if you follow a `\u{N..}` token that references a code point above U+FFFF with a quantifier, or * if you use the same in a character class. */ -XRegExp.addToken( - /\\u{([\dA-Fa-f]+)}/, - function(match, scope, flags) { - var code = dec(match[1]); - if (code > 0x10FFFF) { - throw new SyntaxError('Invalid Unicode code point ' + match[0]); - } - if (code <= 0xFFFF) { - // Converting to \uNNNN avoids needing to escape the literal character and keep it - // separate from preceding tokens - return '\\u' + pad4(hex(code)); - } - // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling - if (hasNativeU && flags.indexOf('u') > -1) { - return match[0]; - } - throw new SyntaxError('Cannot use Unicode code point above \\u{FFFF} without flag u'); - }, - { - scope: 'all', - leadChar: '\\' - } -); -/* - * Empty character class: `[]` or `[^]`. This fixes a critical cross-browser syntax inconsistency. - * Unless this is standardized (per the ES spec), regex syntax can't be accurately parsed because - * character class endings can't be determined. - */ -XRegExp.addToken( - /\[(\^?)\]/, - function(match) { - // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S]. - // (?!) should work like \b\B, but is unreliable in some versions of Firefox - return match[1] ? '[\\s\\S]' : '\\b\\B'; - }, - {leadChar: '['} -); +XRegExp.addToken(/\\u{([\dA-Fa-f]+)}/, function (match, scope, flags) { + var code = dec(match[1]); + if (code > 0x10FFFF) { + throw new SyntaxError("Invalid Unicode code point ".concat(match[0])); + } + + if (code <= 0xFFFF) { + // Converting to \uNNNN avoids needing to escape the literal character and keep it + // separate from preceding tokens + return "\\u".concat(pad4(hex(code))); + } // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling + + + if (hasNativeU && (0, _indexOf["default"])(flags).call(flags, 'u') !== -1) { + return match[0]; + } + + throw new SyntaxError('Cannot use Unicode code point above \\u{FFFF} without flag u'); +}, { + scope: 'all', + leadChar: '\\' +}); /* * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in * free-spacing mode (flag x). */ -XRegExp.addToken( - /\(\?#[^)]*\)/, - getContextualTokenSeparator, - {leadChar: '('} -); +XRegExp.addToken(/\(\?#[^)]*\)/, getContextualTokenSeparator, { + leadChar: '(' +}); /* * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only. */ -XRegExp.addToken( - /\s+|#[^\n]*\n?/, - getContextualTokenSeparator, - {flag: 'x'} -); +XRegExp.addToken(/\s+|#[^\n]*\n?/, getContextualTokenSeparator, { + flag: 'x' +}); /* - * Dot, in dotall mode (aka singleline mode, flag s) only. + * Dot, in dotAll mode (aka singleline mode, flag s) only. */ -XRegExp.addToken( - /\./, - function() { - return '[\\s\\S]'; - }, - { - flag: 's', - leadChar: '.' - } -); +if (!hasNativeS) { + XRegExp.addToken(/\./, function () { + return '[\\s\\S]'; + }, { + flag: 's', + leadChar: '.' + }); +} /* - * Named backreference: `\k<name>`. Backreference names can use the characters A-Z, a-z, 0-9, _, - * and $ only. Also allows numbered backreferences as `\k<n>`. + * Named backreference: `\k<name>`. Backreference names can use RegExpIdentifierName characters + * only. Also allows numbered backreferences as `\k<n>`. */ -XRegExp.addToken( - /\\k<([\w$]+)>/, - function(match) { - // Groups with the same name is an error, else would need `lastIndexOf` - var index = isNaN(match[1]) ? (indexOf(this.captureNames, match[1]) + 1) : +match[1]; - var endIndex = match.index + match[0].length; - if (!index || index > this.captureNames.length) { - throw new SyntaxError('Backreference to undefined group ' + match[0]); - } - // Keep backreferences separate from subsequent literal numbers. This avoids e.g. - // inadvertedly changing `(?<n>)\k<n>1` to `()\11`. - return '\\' + index + ( - endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ? - '' : '(?:)' - ); - }, - {leadChar: '\\'} -); + +XRegExp.addToken(/\\k<([^>]+)>/, function (match) { + var _context6, _context7; + + // Groups with the same name is an error, else would need `lastIndexOf` + var index = isNaN(match[1]) ? (0, _indexOf["default"])(_context6 = this.captureNames).call(_context6, match[1]) + 1 : +match[1]; + var endIndex = match.index + match[0].length; + + if (!index || index > this.captureNames.length) { + throw new SyntaxError("Backreference to undefined group ".concat(match[0])); + } // Keep backreferences separate from subsequent literal numbers. This avoids e.g. + // inadvertedly changing `(?<n>)\k<n>1` to `()\11`. + + + return (0, _concat["default"])(_context7 = "\\".concat(index)).call(_context7, endIndex === match.input.length || isNaN(match.input[endIndex]) ? '' : '(?:)'); +}, { + leadChar: '\\' +}); /* * Numbered backreference or octal, plus any following digits: `\0`, `\11`, etc. Octals except `\0` * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches * are returned unaltered. IE < 9 doesn't support backreferences above `\99` in regex syntax. */ -XRegExp.addToken( - /\\(\d+)/, - function(match, scope) { - if ( - !( - scope === defaultScope && - /^[1-9]/.test(match[1]) && - +match[1] <= this.captureNames.length - ) && - match[1] !== '0' - ) { - throw new SyntaxError('Cannot use octal escape or backreference to undefined group ' + - match[0]); - } - return match[0]; - }, - { - scope: 'all', - leadChar: '\\' - } -); +XRegExp.addToken(/\\(\d+)/, function (match, scope) { + if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && match[1] !== '0') { + throw new SyntaxError("Cannot use octal escape or backreference to undefined group ".concat(match[0])); + } + + return match[0]; +}, { + scope: 'all', + leadChar: '\\' +}); /* * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the - * characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. Supports Python-style + * RegExpIdentifierName characters only. Names can't be integers. Supports Python-style * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to * Python-style named capture as octals. */ -XRegExp.addToken( - /\(\?P?<([\w$]+)>/, - function(match) { - // Disallow bare integers as names because named backreferences are added to match arrays - // and therefore numeric properties may lead to incorrect lookups - if (!isNaN(match[1])) { - throw new SyntaxError('Cannot use integer as capture name ' + match[0]); - } - if (match[1] === 'length' || match[1] === '__proto__') { - throw new SyntaxError('Cannot use reserved word as capture name ' + match[0]); - } - if (indexOf(this.captureNames, match[1]) > -1) { - throw new SyntaxError('Cannot use same name for multiple groups ' + match[0]); - } - this.captureNames.push(match[1]); - this.hasNamedCapture = true; - return '('; - }, - {leadChar: '('} -); +XRegExp.addToken(/\(\?P?<((?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])*)>/, function (match) { + var _context8; + + if (!XRegExp.isInstalled('namespacing') && (match[1] === 'length' || match[1] === '__proto__')) { + throw new SyntaxError("Cannot use reserved word as capture name ".concat(match[0])); + } + + if ((0, _indexOf["default"])(_context8 = this.captureNames).call(_context8, match[1]) !== -1) { + throw new SyntaxError("Cannot use same name for multiple groups ".concat(match[0])); + } + + this.captureNames.push(match[1]); + this.hasNamedCapture = true; + return '('; +}, { + leadChar: '(' +}); /* * Capturing group; match the opening parenthesis only. Required for support of named capturing - * groups. Also adds explicit capture mode (flag n). + * groups. Also adds named capture only mode (flag n). */ -XRegExp.addToken( - /\((?!\?)/, - function(match, scope, flags) { - if (flags.indexOf('n') > -1) { - return '(?:'; + +XRegExp.addToken(/\((?!\?)/, function (match, scope, flags) { + if ((0, _indexOf["default"])(flags).call(flags, 'n') !== -1) { + return '(?:'; + } + + this.captureNames.push(null); + return '('; +}, { + optionalFlags: 'n', + leadChar: '(' +}); +var _default = XRegExp; +exports["default"] = _default; +module.exports = exports.default; +},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/flags":8,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/instance/sort":12,"@babel/runtime-corejs3/core-js-stable/object/create":13,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/parse-int":15,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],5:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/array/from"); +},{"core-js-pure/stable/array/from":208}],6:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/array/is-array"); +},{"core-js-pure/stable/array/is-array":209}],7:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/concat"); +},{"core-js-pure/stable/instance/concat":212}],8:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/flags"); +},{"core-js-pure/stable/instance/flags":213}],9:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/for-each"); +},{"core-js-pure/stable/instance/for-each":214}],10:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/index-of"); +},{"core-js-pure/stable/instance/index-of":215}],11:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/slice"); +},{"core-js-pure/stable/instance/slice":216}],12:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/sort"); +},{"core-js-pure/stable/instance/sort":217}],13:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/object/create"); +},{"core-js-pure/stable/object/create":218}],14:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/object/define-property"); +},{"core-js-pure/stable/object/define-property":219}],15:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/parse-int"); +},{"core-js-pure/stable/parse-int":220}],16:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/symbol"); +},{"core-js-pure/stable/symbol":221}],17:[function(require,module,exports){ +module.exports = require("core-js-pure/features/array/from"); +},{"core-js-pure/features/array/from":52}],18:[function(require,module,exports){ +module.exports = require("core-js-pure/features/array/is-array"); +},{"core-js-pure/features/array/is-array":53}],19:[function(require,module,exports){ +module.exports = require("core-js-pure/features/get-iterator-method"); +},{"core-js-pure/features/get-iterator-method":54}],20:[function(require,module,exports){ +module.exports = require("core-js-pure/features/instance/slice"); +},{"core-js-pure/features/instance/slice":55}],21:[function(require,module,exports){ +module.exports = require("core-js-pure/features/symbol"); +},{"core-js-pure/features/symbol":56}],22:[function(require,module,exports){ +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; +} + +module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{}],23:[function(require,module,exports){ +var _Array$isArray = require("@babel/runtime-corejs3/core-js/array/is-array"); + +function _arrayWithHoles(arr) { + if (_Array$isArray(arr)) return arr; +} + +module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"@babel/runtime-corejs3/core-js/array/is-array":18}],24:[function(require,module,exports){ +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} + +module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{}],25:[function(require,module,exports){ +var _Symbol = require("@babel/runtime-corejs3/core-js/symbol"); + +var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method"); + +function _iterableToArrayLimit(arr, i) { + var _i = arr == null ? null : typeof _Symbol !== "undefined" && _getIteratorMethod(arr) || arr["@@iterator"]; + + if (_i == null) return; + var _arr = []; + var _n = true; + var _d = false; + + var _s, _e; + + try { + for (_i = _i.call(arr); !(_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; +} + +module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/core-js/symbol":21}],26:[function(require,module,exports){ +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."); +} + +module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{}],27:[function(require,module,exports){ +var arrayWithHoles = require("./arrayWithHoles.js"); + +var iterableToArrayLimit = require("./iterableToArrayLimit.js"); + +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); + +var nonIterableRest = require("./nonIterableRest.js"); + +function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} + +module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"./arrayWithHoles.js":23,"./iterableToArrayLimit.js":25,"./nonIterableRest.js":26,"./unsupportedIterableToArray.js":28}],28:[function(require,module,exports){ +var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/slice"); + +var _Array$from = require("@babel/runtime-corejs3/core-js/array/from"); + +var arrayLikeToArray = require("./arrayLikeToArray.js"); + +function _unsupportedIterableToArray(o, minLen) { + var _context; + + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + + var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 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); +} + +module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"./arrayLikeToArray.js":22,"@babel/runtime-corejs3/core-js/array/from":17,"@babel/runtime-corejs3/core-js/instance/slice":20}],29:[function(require,module,exports){ +var parent = require('../../stable/array/from'); + +module.exports = parent; + +},{"../../stable/array/from":208}],30:[function(require,module,exports){ +var parent = require('../../stable/array/is-array'); + +module.exports = parent; + +},{"../../stable/array/is-array":209}],31:[function(require,module,exports){ +var parent = require('../stable/get-iterator-method'); + +module.exports = parent; + +},{"../stable/get-iterator-method":211}],32:[function(require,module,exports){ +var parent = require('../../stable/instance/slice'); + +module.exports = parent; + +},{"../../stable/instance/slice":216}],33:[function(require,module,exports){ +var parent = require('../../stable/symbol'); + +module.exports = parent; + +},{"../../stable/symbol":221}],34:[function(require,module,exports){ +require('../../modules/es.string.iterator'); +require('../../modules/es.array.from'); +var path = require('../../internals/path'); + +module.exports = path.Array.from; + +},{"../../internals/path":142,"../../modules/es.array.from":170,"../../modules/es.string.iterator":184}],35:[function(require,module,exports){ +require('../../modules/es.array.is-array'); +var path = require('../../internals/path'); + +module.exports = path.Array.isArray; + +},{"../../internals/path":142,"../../modules/es.array.is-array":172}],36:[function(require,module,exports){ +require('../../../modules/es.array.concat'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').concat; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.concat":168}],37:[function(require,module,exports){ +require('../../../modules/es.array.for-each'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').forEach; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.for-each":169}],38:[function(require,module,exports){ +require('../../../modules/es.array.index-of'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').indexOf; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.index-of":171}],39:[function(require,module,exports){ +require('../../../modules/es.array.slice'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').slice; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.slice":174}],40:[function(require,module,exports){ +require('../../../modules/es.array.sort'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').sort; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.sort":175}],41:[function(require,module,exports){ +require('../modules/es.array.iterator'); +require('../modules/es.string.iterator'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +module.exports = getIteratorMethod; + +},{"../internals/get-iterator-method":101,"../modules/es.array.iterator":173,"../modules/es.string.iterator":184}],42:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/concat'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.concat; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.concat) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/concat":36}],43:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var flags = require('../regexp/flags'); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (it) { + return (it === RegExpPrototype || isPrototypeOf(RegExpPrototype, it)) ? flags(it) : it.flags; +}; + +},{"../../internals/object-is-prototype-of":135,"../regexp/flags":50}],44:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/index-of'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.indexOf; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.indexOf) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/index-of":38}],45:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/slice'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.slice; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/slice":39}],46:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/sort'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.sort; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.sort) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/sort":40}],47:[function(require,module,exports){ +require('../../modules/es.object.create'); +var path = require('../../internals/path'); + +var Object = path.Object; + +module.exports = function create(P, D) { + return Object.create(P, D); +}; + +},{"../../internals/path":142,"../../modules/es.object.create":178}],48:[function(require,module,exports){ +require('../../modules/es.object.define-property'); +var path = require('../../internals/path'); + +var Object = path.Object; + +var defineProperty = module.exports = function defineProperty(it, key, desc) { + return Object.defineProperty(it, key, desc); +}; + +if (Object.defineProperty.sham) defineProperty.sham = true; + +},{"../../internals/path":142,"../../modules/es.object.define-property":179}],49:[function(require,module,exports){ +require('../modules/es.parse-int'); +var path = require('../internals/path'); + +module.exports = path.parseInt; + +},{"../internals/path":142,"../modules/es.parse-int":181}],50:[function(require,module,exports){ +require('../../modules/es.regexp.flags'); +var uncurryThis = require('../../internals/function-uncurry-this'); +var regExpFlags = require('../../internals/regexp-flags'); + +module.exports = uncurryThis(regExpFlags); + +},{"../../internals/function-uncurry-this":99,"../../internals/regexp-flags":144,"../../modules/es.regexp.flags":183}],51:[function(require,module,exports){ +require('../../modules/es.array.concat'); +require('../../modules/es.object.to-string'); +require('../../modules/es.symbol'); +require('../../modules/es.symbol.async-iterator'); +require('../../modules/es.symbol.description'); +require('../../modules/es.symbol.has-instance'); +require('../../modules/es.symbol.is-concat-spreadable'); +require('../../modules/es.symbol.iterator'); +require('../../modules/es.symbol.match'); +require('../../modules/es.symbol.match-all'); +require('../../modules/es.symbol.replace'); +require('../../modules/es.symbol.search'); +require('../../modules/es.symbol.species'); +require('../../modules/es.symbol.split'); +require('../../modules/es.symbol.to-primitive'); +require('../../modules/es.symbol.to-string-tag'); +require('../../modules/es.symbol.unscopables'); +require('../../modules/es.json.to-string-tag'); +require('../../modules/es.math.to-string-tag'); +require('../../modules/es.reflect.to-string-tag'); +var path = require('../../internals/path'); + +module.exports = path.Symbol; + +},{"../../internals/path":142,"../../modules/es.array.concat":168,"../../modules/es.json.to-string-tag":176,"../../modules/es.math.to-string-tag":177,"../../modules/es.object.to-string":180,"../../modules/es.reflect.to-string-tag":182,"../../modules/es.symbol":190,"../../modules/es.symbol.async-iterator":185,"../../modules/es.symbol.description":186,"../../modules/es.symbol.has-instance":187,"../../modules/es.symbol.is-concat-spreadable":188,"../../modules/es.symbol.iterator":189,"../../modules/es.symbol.match":192,"../../modules/es.symbol.match-all":191,"../../modules/es.symbol.replace":193,"../../modules/es.symbol.search":194,"../../modules/es.symbol.species":195,"../../modules/es.symbol.split":196,"../../modules/es.symbol.to-primitive":197,"../../modules/es.symbol.to-string-tag":198,"../../modules/es.symbol.unscopables":199}],52:[function(require,module,exports){ +var parent = require('../../actual/array/from'); + +module.exports = parent; + +},{"../../actual/array/from":29}],53:[function(require,module,exports){ +var parent = require('../../actual/array/is-array'); + +module.exports = parent; + +},{"../../actual/array/is-array":30}],54:[function(require,module,exports){ +var parent = require('../actual/get-iterator-method'); + +module.exports = parent; + +},{"../actual/get-iterator-method":31}],55:[function(require,module,exports){ +var parent = require('../../actual/instance/slice'); + +module.exports = parent; + +},{"../../actual/instance/slice":32}],56:[function(require,module,exports){ +var parent = require('../../actual/symbol'); +require('../../modules/esnext.symbol.async-dispose'); +require('../../modules/esnext.symbol.dispose'); +require('../../modules/esnext.symbol.matcher'); +require('../../modules/esnext.symbol.metadata'); +require('../../modules/esnext.symbol.observable'); +// TODO: Remove from `core-js@4` +require('../../modules/esnext.symbol.pattern-match'); +// TODO: Remove from `core-js@4` +require('../../modules/esnext.symbol.replace-all'); + +module.exports = parent; + +},{"../../actual/symbol":33,"../../modules/esnext.symbol.async-dispose":200,"../../modules/esnext.symbol.dispose":201,"../../modules/esnext.symbol.matcher":202,"../../modules/esnext.symbol.metadata":203,"../../modules/esnext.symbol.observable":204,"../../modules/esnext.symbol.pattern-match":205,"../../modules/esnext.symbol.replace-all":206}],57:[function(require,module,exports){ +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); +var tryToString = require('../internals/try-to-string'); + +var TypeError = global.TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw TypeError(tryToString(argument) + ' is not a function'); +}; + +},{"../internals/global":104,"../internals/is-callable":114,"../internals/try-to-string":162}],58:[function(require,module,exports){ +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); + +var String = global.String; +var TypeError = global.TypeError; + +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) return argument; + throw TypeError("Can't set " + String(argument) + ' as a prototype'); +}; + +},{"../internals/global":104,"../internals/is-callable":114}],59:[function(require,module,exports){ +module.exports = function () { /* empty */ }; + +},{}],60:[function(require,module,exports){ +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); + +var String = global.String; +var TypeError = global.TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw TypeError(String(argument) + ' is not an object'); +}; + +},{"../internals/global":104,"../internals/is-object":117}],61:[function(require,module,exports){ +'use strict'; +var $forEach = require('../internals/array-iteration').forEach; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + +},{"../internals/array-iteration":64,"../internals/array-method-is-strict":66}],62:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var bind = require('../internals/function-bind-context'); +var call = require('../internals/function-call'); +var toObject = require('../internals/to-object'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var isConstructor = require('../internals/is-constructor'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var createProperty = require('../internals/create-property'); +var getIterator = require('../internals/get-iterator'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +var Array = global.Array; + +// `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 IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + result = IS_CONSTRUCTOR ? new this() : []; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + +},{"../internals/call-with-safe-iteration-closing":72,"../internals/create-property":80,"../internals/function-bind-context":96,"../internals/function-call":97,"../internals/get-iterator":102,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/is-array-iterator-method":112,"../internals/is-constructor":115,"../internals/length-of-array-like":123,"../internals/to-object":157}],63:[function(require,module,exports){ +var toIndexedObject = require('../internals/to-indexed-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + 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) +}; + +},{"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154}],64:[function(require,module,exports){ +var bind = require('../internals/function-bind-context'); +var uncurryThis = require('../internals/function-uncurry-this'); +var IndexedObject = require('../internals/indexed-object'); +var toObject = require('../internals/to-object'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (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_REJECT = 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); + var length = lengthOfArrayLike(self); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? 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(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject } - this.captureNames.push(null); - return '('; + } + } + 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.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + +},{"../internals/array-species-create":71,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/indexed-object":109,"../internals/length-of-array-like":123,"../internals/to-object":157}],65:[function(require,module,exports){ +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +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; + }); +}; + +},{"../internals/engine-v8-version":89,"../internals/fails":94,"../internals/well-known-symbol":166}],66:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + +},{"../internals/fails":94}],67:[function(require,module,exports){ +var global = require('../internals/global'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var createProperty = require('../internals/create-property'); + +var Array = global.Array; +var max = Math.max; + +module.exports = function (O, start, end) { + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = Array(max(fin - k, 0)); + for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]); + result.length = n; + return result; +}; + +},{"../internals/create-property":80,"../internals/global":104,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153}],68:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +module.exports = uncurryThis([].slice); + +},{"../internals/function-uncurry-this":99}],69:[function(require,module,exports){ +var arraySlice = require('../internals/array-slice-simple'); + +var floor = Math.floor; + +var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge( + array, + mergeSort(arraySlice(array, 0, middle), comparefn), + mergeSort(arraySlice(array, middle), comparefn), + comparefn + ); +}; + +var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; +}; + +var merge = function (array, left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } return array; +}; + +module.exports = mergeSort; + +},{"../internals/array-slice-simple":67}],70:[function(require,module,exports){ +var global = require('../internals/global'); +var isArray = require('../internals/is-array'); +var isConstructor = require('../internals/is-constructor'); +var isObject = require('../internals/is-object'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var SPECIES = wellKnownSymbol('species'); +var Array = global.Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + +},{"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/well-known-symbol":166}],71:[function(require,module,exports){ +var arraySpeciesConstructor = require('../internals/array-species-constructor'); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + +},{"../internals/array-species-constructor":70}],72:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var iteratorClose = require('../internals/iterator-close'); + +// 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); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + +},{"../internals/an-object":60,"../internals/iterator-close":120}],73:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; }, - { - optionalFlags: 'n', - leadChar: '(' + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + 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 () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + +},{"../internals/well-known-symbol":166}],74:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +},{"../internals/function-uncurry-this":99}],75:[function(require,module,exports){ +var global = require('../internals/global'); +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var isCallable = require('../internals/is-callable'); +var classofRaw = require('../internals/classof-raw'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Object = global.Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (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' && isCallable(O.callee) ? 'Arguments' : result; +}; + +},{"../internals/classof-raw":74,"../internals/global":104,"../internals/is-callable":114,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],76:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +},{"../internals/fails":94}],77:[function(require,module,exports){ +'use strict'; +var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; +var create = require('../internals/object-create'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var setToStringTag = require('../internals/set-to-string-tag'); +var Iterators = require('../internals/iterators'); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + +},{"../internals/create-property-descriptor":79,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-create":127,"../internals/set-to-string-tag":147}],78:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/object-define-property":129}],79:[function(require,module,exports){ +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +},{}],80:[function(require,module,exports){ +'use strict'; +var toPropertyKey = require('../internals/to-property-key'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + +},{"../internals/create-property-descriptor":79,"../internals/object-define-property":129,"../internals/to-property-key":159}],81:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var call = require('../internals/function-call'); +var IS_PURE = require('../internals/is-pure'); +var FunctionName = require('../internals/function-name'); +var isCallable = require('../internals/is-callable'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var setToStringTag = require('../internals/set-to-string-tag'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var Iterators = require('../internals/iterators'); +var IteratorsCore = require('../internals/iterators-core'); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +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 () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + redefine(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.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // 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); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + +},{"../internals/create-iterator-constructor":77,"../internals/create-non-enumerable-property":78,"../internals/export":93,"../internals/function-call":97,"../internals/function-name":98,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-get-prototype-of":134,"../internals/object-set-prototype-of":139,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/well-known-symbol":166}],82:[function(require,module,exports){ +var path = require('../internals/path'); +var hasOwn = require('../internals/has-own-property'); +var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped'); +var defineProperty = require('../internals/object-define-property').f; + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + +},{"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/path":142,"../internals/well-known-symbol-wrapped":165}],83:[function(require,module,exports){ +var fails = require('../internals/fails'); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + +},{"../internals/fails":94}],84:[function(require,module,exports){ +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); + +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) : {}; +}; + +},{"../internals/global":104,"../internals/is-object":117}],85:[function(require,module,exports){ +// 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 +}; + +},{}],86:[function(require,module,exports){ +var userAgent = require('../internals/engine-user-agent'); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + +},{"../internals/engine-user-agent":88}],87:[function(require,module,exports){ +var UA = require('../internals/engine-user-agent'); + +module.exports = /MSIE|Trident/.test(UA); + +},{"../internals/engine-user-agent":88}],88:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +},{"../internals/get-built-in":100}],89:[function(require,module,exports){ +var global = require('../internals/global'); +var userAgent = require('../internals/engine-user-agent'); + +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + +},{"../internals/engine-user-agent":88,"../internals/global":104}],90:[function(require,module,exports){ +var userAgent = require('../internals/engine-user-agent'); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + +},{"../internals/engine-user-agent":88}],91:[function(require,module,exports){ +var path = require('../internals/path'); + +module.exports = function (CONSTRUCTOR) { + return path[CONSTRUCTOR + 'Prototype']; +}; + +},{"../internals/path":142}],92:[function(require,module,exports){ +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +},{}],93:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var apply = require('../internals/function-apply'); +var uncurryThis = require('../internals/function-uncurry-this'); +var isCallable = require('../internals/is-callable'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var isForced = require('../internals/is-forced'); +var path = require('../internals/path'); +var bind = require('../internals/function-bind-context'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var hasOwn = require('../internals/has-own-property'); + +var wrapConstructor = function (NativeConstructor) { + var Wrapper = function (a, b, c) { + if (this instanceof Wrapper) { + switch (arguments.length) { + case 0: return new NativeConstructor(); + case 1: return new NativeConstructor(a); + case 2: return new NativeConstructor(a, b); + } return new NativeConstructor(a, b, c); + } return apply(NativeConstructor, this, arguments); + }; + Wrapper.prototype = NativeConstructor.prototype; + return Wrapper; +}; + +/* + 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 + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var PROTO = options.proto; + + var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype; + + var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET]; + var targetPrototype = target.prototype; + + var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE; + var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor; + + for (key in source) { + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contains in native + USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key); + + targetProperty = target[key]; + + if (USE_NATIVE) if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(nativeSource, key); + nativeProperty = descriptor && descriptor.value; + } else nativeProperty = nativeSource[key]; + + // export native or implementation + sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key]; + + if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue; + + // bind timers to global for call from export context + if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global); + // wrap global constructors for prevent changs in this version + else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty); + // make static versions for prototype methods + else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty); + // default case + else resultProperty = sourceProperty; + + // add a flag to not completely full polyfills + if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(resultProperty, 'sham', true); + } + + createNonEnumerableProperty(target, key, resultProperty); + + if (PROTO) { + VIRTUAL_PROTOTYPE = TARGET + 'Prototype'; + if (!hasOwn(path, VIRTUAL_PROTOTYPE)) { + createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {}); + } + // export virtual prototype methods + createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty); + // export real prototype methods + if (options.real && targetPrototype && !targetPrototype[key]) { + createNonEnumerableProperty(targetPrototype, key, sourceProperty); + } } -); + } +}; + +},{"../internals/create-non-enumerable-property":78,"../internals/function-apply":95,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/is-forced":116,"../internals/object-get-own-property-descriptor":130,"../internals/path":142}],94:[function(require,module,exports){ +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; -module.exports = XRegExp; +},{}],95:[function(require,module,exports){ +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var bind = FunctionPrototype.bind; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + +},{}],96:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var aCallable = require('../internals/a-callable'); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +},{"../internals/a-callable":57,"../internals/function-uncurry-this":99}],97:[function(require,module,exports){ +var call = Function.prototype.call; + +module.exports = call.bind ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +},{}],98:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var hasOwn = require('../internals/has-own-property'); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +},{"../internals/descriptors":83,"../internals/has-own-property":105}],99:[function(require,module,exports){ +var FunctionPrototype = Function.prototype; +var bind = FunctionPrototype.bind; +var call = FunctionPrototype.call; +var callBind = bind && bind.bind(call); + +module.exports = bind ? function (fn) { + return fn && callBind(call, fn); +} : function (fn) { + return fn && function () { + return call.apply(fn, arguments); + }; +}; + +},{}],100:[function(require,module,exports){ +var path = require('../internals/path'); +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); + +var aFunction = function (variable) { + return isCallable(variable) ? 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]; +}; + +},{"../internals/global":104,"../internals/is-callable":114,"../internals/path":142}],101:[function(require,module,exports){ +var classof = require('../internals/classof'); +var getMethod = require('../internals/get-method'); +var Iterators = require('../internals/iterators'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (it != undefined) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + +},{"../internals/classof":75,"../internals/get-method":103,"../internals/iterators":122,"../internals/well-known-symbol":166}],102:[function(require,module,exports){ +var global = require('../internals/global'); +var call = require('../internals/function-call'); +var aCallable = require('../internals/a-callable'); +var anObject = require('../internals/an-object'); +var tryToString = require('../internals/try-to-string'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +var TypeError = global.TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw TypeError(tryToString(argument) + ' is not iterable'); +}; + +},{"../internals/a-callable":57,"../internals/an-object":60,"../internals/function-call":97,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/try-to-string":162}],103:[function(require,module,exports){ +var aCallable = require('../internals/a-callable'); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return func == null ? undefined : aCallable(func); +}; + +},{"../internals/a-callable":57}],104:[function(require,module,exports){ +(function (global){(function (){ +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],105:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var toObject = require('../internals/to-object'); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +},{"../internals/function-uncurry-this":99,"../internals/to-object":157}],106:[function(require,module,exports){ +module.exports = {}; + +},{}],107:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('document', 'documentElement'); + +},{"../internals/get-built-in":100}],108:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var fails = require('../internals/fails'); +var createElement = require('../internals/document-create-element'); + +// Thank's IE8 for his funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + +},{"../internals/descriptors":83,"../internals/document-create-element":84,"../internals/fails":94}],109:[function(require,module,exports){ +var global = require('../internals/global'); +var uncurryThis = require('../internals/function-uncurry-this'); +var fails = require('../internals/fails'); +var classof = require('../internals/classof-raw'); + +var Object = global.Object; +var split = uncurryThis(''.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 -- safe + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split(it, '') : Object(it); +} : Object; + +},{"../internals/classof-raw":74,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104}],110:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var isCallable = require('../internals/is-callable'); +var store = require('../internals/shared-store'); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + +},{"../internals/function-uncurry-this":99,"../internals/is-callable":114,"../internals/shared-store":149}],111:[function(require,module,exports){ +var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); +var global = require('../internals/global'); +var uncurryThis = require('../internals/function-uncurry-this'); +var isObject = require('../internals/is-object'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var hasOwn = require('../internals/has-own-property'); +var shared = require('../internals/shared-store'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (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 || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = uncurryThis(store.get); + var wmhas = uncurryThis(store.has); + var wmset = uncurryThis(store.set); + set = function (it, metadata) { + if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget(store, it) || {}; + }; + has = function (it) { + return wmhas(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +},{"../internals/create-non-enumerable-property":78,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/is-object":117,"../internals/native-weak-map":125,"../internals/shared-key":148,"../internals/shared-store":149}],112:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); +var Iterators = require('../internals/iterators'); + +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); +}; + +},{"../internals/iterators":122,"../internals/well-known-symbol":166}],113:[function(require,module,exports){ +var classof = require('../internals/classof-raw'); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) == 'Array'; +}; + +},{"../internals/classof-raw":74}],114:[function(require,module,exports){ +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +module.exports = function (argument) { + return typeof argument == 'function'; +}; + +},{}],115:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var fails = require('../internals/fails'); +var isCallable = require('../internals/is-callable'); +var classof = require('../internals/classof'); +var getBuiltIn = require('../internals/get-built-in'); +var inspectSource = require('../internals/inspect-source'); + +var noop = function () { /* empty */ }; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + +},{"../internals/classof":75,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/inspect-source":110,"../internals/is-callable":114}],116:[function(require,module,exports){ +var fails = require('../internals/fails'); +var isCallable = require('../internals/is-callable'); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : isCallable(detection) ? 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; + +},{"../internals/fails":94,"../internals/is-callable":114}],117:[function(require,module,exports){ +var isCallable = require('../internals/is-callable'); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +},{"../internals/is-callable":114}],118:[function(require,module,exports){ +module.exports = true; + +},{}],119:[function(require,module,exports){ +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var isCallable = require('../internals/is-callable'); +var isPrototypeOf = require('../internals/object-is-prototype-of'); +var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); + +var Object = global.Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it)); +}; + +},{"../internals/get-built-in":100,"../internals/global":104,"../internals/is-callable":114,"../internals/object-is-prototype-of":135,"../internals/use-symbol-as-uid":164}],120:[function(require,module,exports){ +var call = require('../internals/function-call'); +var anObject = require('../internals/an-object'); +var getMethod = require('../internals/get-method'); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + +},{"../internals/an-object":60,"../internals/function-call":97,"../internals/get-method":103}],121:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); +var isCallable = require('../internals/is-callable'); +var create = require('../internals/object-create'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var redefine = require('../internals/redefine'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +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 = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + redefine(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +},{"../internals/fails":94,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/object-create":127,"../internals/object-get-prototype-of":134,"../internals/redefine":143,"../internals/well-known-symbol":166}],122:[function(require,module,exports){ +arguments[4][106][0].apply(exports,arguments) +},{"dup":106}],123:[function(require,module,exports){ +var toLength = require('../internals/to-length'); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + +},{"../internals/to-length":156}],124:[function(require,module,exports){ +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = require('../internals/engine-v8-version'); +var fails = require('../internals/fails'); + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +},{"../internals/engine-v8-version":89,"../internals/fails":94}],125:[function(require,module,exports){ +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); +var inspectSource = require('../internals/inspect-source'); + +var WeakMap = global.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); + +},{"../internals/global":104,"../internals/inspect-source":110,"../internals/is-callable":114}],126:[function(require,module,exports){ +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var uncurryThis = require('../internals/function-uncurry-this'); +var toString = require('../internals/to-string'); +var trim = require('../internals/string-trim').trim; +var whitespaces = require('../internals/whitespaces'); + +var $parseInt = global.parseInt; +var Symbol = global.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + +},{"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/string-trim":152,"../internals/to-string":161,"../internals/whitespaces":167}],127:[function(require,module,exports){ +/* global ActiveXObject -- old IE, WSH */ +var anObject = require('../internals/an-object'); +var defineProperties = require('../internals/object-define-properties'); +var enumBugKeys = require('../internals/enum-bug-keys'); +var hiddenKeys = require('../internals/hidden-keys'); +var html = require('../internals/html'); +var documentCreateElement = require('../internals/document-create-element'); +var sharedKey = require('../internals/shared-key'); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (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 () { + // 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 () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + 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); +}; + +},{"../internals/an-object":60,"../internals/document-create-element":84,"../internals/enum-bug-keys":92,"../internals/hidden-keys":106,"../internals/html":107,"../internals/object-define-properties":128,"../internals/shared-key":148}],128:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var anObject = require('../internals/an-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var objectKeys = require('../internals/object-keys'); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + +},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/object-define-property":129,"../internals/object-keys":137,"../internals/to-indexed-object":154}],129:[function(require,module,exports){ +var global = require('../internals/global'); +var DESCRIPTORS = require('../internals/descriptors'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); +var anObject = require('../internals/an-object'); +var toPropertyKey = require('../internals/to-property-key'); + +var TypeError = global.TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(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; +}; + +},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/global":104,"../internals/ie8-dom-define":108,"../internals/to-property-key":159}],130:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var call = require('../internals/function-call'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPropertyKey = require('../internals/to-property-key'); +var hasOwn = require('../internals/has-own-property'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/function-call":97,"../internals/has-own-property":105,"../internals/ie8-dom-define":108,"../internals/object-property-is-enumerable":138,"../internals/to-indexed-object":154,"../internals/to-property-key":159}],131:[function(require,module,exports){ +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = require('../internals/classof-raw'); +var toIndexedObject = require('../internals/to-indexed-object'); +var $getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var arraySlice = require('../internals/array-slice-simple'); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) == 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + +},{"../internals/array-slice-simple":67,"../internals/classof-raw":74,"../internals/object-get-own-property-names":132,"../internals/to-indexed-object":154}],132:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],133:[function(require,module,exports){ +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + +},{}],134:[function(require,module,exports){ +var global = require('../internals/global'); +var hasOwn = require('../internals/has-own-property'); +var isCallable = require('../internals/is-callable'); +var toObject = require('../internals/to-object'); +var sharedKey = require('../internals/shared-key'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +var IE_PROTO = sharedKey('IE_PROTO'); +var Object = global.Object; +var ObjectPrototype = Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof Object ? ObjectPrototype : null; +}; + +},{"../internals/correct-prototype-getter":76,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/shared-key":148,"../internals/to-object":157}],135:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +module.exports = uncurryThis({}.isPrototypeOf); + +},{"../internals/function-uncurry-this":99}],136:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var hasOwn = require('../internals/has-own-property'); +var toIndexedObject = require('../internals/to-indexed-object'); +var indexOf = require('../internals/array-includes').indexOf; +var hiddenKeys = require('../internals/hidden-keys'); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +},{"../internals/array-includes":63,"../internals/function-uncurry-this":99,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/to-indexed-object":154}],137:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],138:[function(require,module,exports){ +'use strict'; +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.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; +} : $propertyIsEnumerable; + +},{}],139:[function(require,module,exports){ +/* eslint-disable no-proto -- safe */ +var uncurryThis = require('../internals/function-uncurry-this'); +var anObject = require('../internals/an-object'); +var aPossiblePrototype = require('../internals/a-possible-prototype'); + +// `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-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + +},{"../internals/a-possible-prototype":58,"../internals/an-object":60,"../internals/function-uncurry-this":99}],140:[function(require,module,exports){ +'use strict'; +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var classof = require('../internals/classof'); + +// `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) + ']'; +}; + +},{"../internals/classof":75,"../internals/to-string-tag-support":160}],141:[function(require,module,exports){ +var global = require('../internals/global'); +var call = require('../internals/function-call'); +var isCallable = require('../internals/is-callable'); +var isObject = require('../internals/is-object'); + +var TypeError = global.TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +},{"../internals/function-call":97,"../internals/global":104,"../internals/is-callable":114,"../internals/is-object":117}],142:[function(require,module,exports){ +arguments[4][106][0].apply(exports,arguments) +},{"dup":106}],143:[function(require,module,exports){ +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +module.exports = function (target, key, value, options) { + if (options && options.enumerable) target[key] = value; + else createNonEnumerableProperty(target, key, value); +}; + +},{"../internals/create-non-enumerable-property":78}],144:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); + +// `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; +}; + +},{"../internals/an-object":60}],145:[function(require,module,exports){ +var global = require('../internals/global'); + +var TypeError = global.TypeError; + +// `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; +}; + +},{"../internals/global":104}],146:[function(require,module,exports){ +var global = require('../internals/global'); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(global, key, { value: value, configurable: true, writable: true }); + } catch (error) { + global[key] = value; + } return value; +}; + +},{"../internals/global":104}],147:[function(require,module,exports){ +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var defineProperty = require('../internals/object-define-property').f; +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var hasOwn = require('../internals/has-own-property'); +var toString = require('../internals/object-to-string'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (it, TAG, STATIC, SET_METHOD) { + if (it) { + var target = STATIC ? it : it.prototype; + if (!hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } + if (SET_METHOD && !TO_STRING_TAG_SUPPORT) { + createNonEnumerableProperty(target, 'toString', toString); + } + } +}; + +},{"../internals/create-non-enumerable-property":78,"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/object-to-string":140,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],148:[function(require,module,exports){ +var shared = require('../internals/shared'); +var uid = require('../internals/uid'); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +},{"../internals/shared":150,"../internals/uid":163}],149:[function(require,module,exports){ +var global = require('../internals/global'); +var setGlobal = require('../internals/set-global'); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); + +module.exports = store; + +},{"../internals/global":104,"../internals/set-global":146}],150:[function(require,module,exports){ +var IS_PURE = require('../internals/is-pure'); +var store = require('../internals/shared-store'); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.20.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); + +},{"../internals/is-pure":118,"../internals/shared-store":149}],151:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var toIntegerOrInfinity = require('../internals/to-integer-or-infinity'); +var toString = require('../internals/to-string'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, 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) +}; + +},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-integer-or-infinity":155,"../internals/to-string":161}],152:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var toString = require('../internals/to-string'); +var whitespaces = require('../internals/whitespaces'); + +var replace = uncurryThis(''.replace); +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 (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, 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) +}; + +},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-string":161,"../internals/whitespaces":167}],153:[function(require,module,exports){ +var toIntegerOrInfinity = require('../internals/to-integer-or-infinity'); + +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 = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +},{"../internals/to-integer-or-infinity":155}],154:[function(require,module,exports){ +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = require('../internals/indexed-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +},{"../internals/indexed-object":109,"../internals/require-object-coercible":145}],155:[function(require,module,exports){ +var ceil = Math.ceil; +var floor = Math.floor; + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- safe + return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number); +}; + +},{}],156:[function(require,module,exports){ +var toIntegerOrInfinity = require('../internals/to-integer-or-infinity'); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + +},{"../internals/to-integer-or-infinity":155}],157:[function(require,module,exports){ +var global = require('../internals/global'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var Object = global.Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +},{"../internals/global":104,"../internals/require-object-coercible":145}],158:[function(require,module,exports){ +var global = require('../internals/global'); +var call = require('../internals/function-call'); +var isObject = require('../internals/is-object'); +var isSymbol = require('../internals/is-symbol'); +var getMethod = require('../internals/get-method'); +var ordinaryToPrimitive = require('../internals/ordinary-to-primitive'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TypeError = global.TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +},{"../internals/function-call":97,"../internals/get-method":103,"../internals/global":104,"../internals/is-object":117,"../internals/is-symbol":119,"../internals/ordinary-to-primitive":141,"../internals/well-known-symbol":166}],159:[function(require,module,exports){ +var toPrimitive = require('../internals/to-primitive'); +var isSymbol = require('../internals/is-symbol'); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +},{"../internals/is-symbol":119,"../internals/to-primitive":158}],160:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + +},{"../internals/well-known-symbol":166}],161:[function(require,module,exports){ +var global = require('../internals/global'); +var classof = require('../internals/classof'); + +var String = global.String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + return String(argument); +}; + +},{"../internals/classof":75,"../internals/global":104}],162:[function(require,module,exports){ +var global = require('../internals/global'); + +var String = global.String; + +module.exports = function (argument) { + try { + return String(argument); + } catch (error) { + return 'Object'; + } +}; + +},{"../internals/global":104}],163:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +},{"../internals/function-uncurry-this":99}],164:[function(require,module,exports){ +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = require('../internals/native-symbol'); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + +},{"../internals/native-symbol":124}],165:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +exports.f = wellKnownSymbol; + +},{"../internals/well-known-symbol":166}],166:[function(require,module,exports){ +var global = require('../internals/global'); +var shared = require('../internals/shared'); +var hasOwn = require('../internals/has-own-property'); +var uid = require('../internals/uid'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); +var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); + +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var symbolFor = Symbol && Symbol['for']; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + var description = 'Symbol.' + name; + if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else if (USE_SYMBOL_AS_UID && symbolFor) { + WellKnownSymbolsStore[name] = symbolFor(description); + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol(description); + } + } return WellKnownSymbolsStore[name]; +}; + +},{"../internals/global":104,"../internals/has-own-property":105,"../internals/native-symbol":124,"../internals/shared":150,"../internals/uid":163,"../internals/use-symbol-as-uid":164}],167:[function(require,module,exports){ +// a string of all valid unicode whitespaces +module.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'; + +},{}],168:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var isArray = require('../internals/is-array'); +var isObject = require('../internals/is-object'); +var toObject = require('../internals/to-object'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var createProperty = require('../internals/create-property'); +var arraySpeciesCreate = require('../internals/array-species-create'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; +var TypeError = global.TypeError; + +// 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 (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 }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + 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 = lengthOfArrayLike(E); + 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; + } +}); + +},{"../internals/array-method-has-species-support":65,"../internals/array-species-create":71,"../internals/create-property":80,"../internals/engine-v8-version":89,"../internals/export":93,"../internals/fails":94,"../internals/global":104,"../internals/is-array":113,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/well-known-symbol":166}],169:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var forEach = require('../internals/array-for-each'); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { + forEach: forEach +}); + +},{"../internals/array-for-each":61,"../internals/export":93}],170:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/array-from'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + +},{"../internals/array-from":62,"../internals/check-correctness-of-iteration":73,"../internals/export":93}],171:[function(require,module,exports){ +'use strict'; +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = require('../internals/export'); +var uncurryThis = require('../internals/function-uncurry-this'); +var $IndexOf = require('../internals/array-includes').indexOf; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); + +var un$IndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? un$IndexOf(this, searchElement, fromIndex) || 0 + : $IndexOf(this, searchElement, fromIndex); + } +}); + +},{"../internals/array-includes":63,"../internals/array-method-is-strict":66,"../internals/export":93,"../internals/function-uncurry-this":99}],172:[function(require,module,exports){ +var $ = require('../internals/export'); +var isArray = require('../internals/is-array'); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + +},{"../internals/export":93,"../internals/is-array":113}],173:[function(require,module,exports){ +'use strict'; +var toIndexedObject = require('../internals/to-indexed-object'); +var addToUnscopables = require('../internals/add-to-unscopables'); +var Iterators = require('../internals/iterators'); +var InternalStateModule = require('../internals/internal-state'); +var defineProperty = require('../internals/object-define-property').f; +var defineIterator = require('../internals/define-iterator'); +var IS_PURE = require('../internals/is-pure'); +var DESCRIPTORS = require('../internals/descriptors'); + +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 +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + +},{"../internals/add-to-unscopables":59,"../internals/define-iterator":81,"../internals/descriptors":83,"../internals/internal-state":111,"../internals/is-pure":118,"../internals/iterators":122,"../internals/object-define-property":129,"../internals/to-indexed-object":154}],174:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var isArray = require('../internals/is-array'); +var isConstructor = require('../internals/is-constructor'); +var isObject = require('../internals/is-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var toIndexedObject = require('../internals/to-indexed-object'); +var createProperty = require('../internals/create-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var un$Slice = require('../internals/array-slice'); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var Array = global.Array; +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 }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + 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 (isConstructor(Constructor) && (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 un$Slice(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; + } +}); + +},{"../internals/array-method-has-species-support":65,"../internals/array-slice":68,"../internals/create-property":80,"../internals/export":93,"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154,"../internals/well-known-symbol":166}],175:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var uncurryThis = require('../internals/function-uncurry-this'); +var aCallable = require('../internals/a-callable'); +var toObject = require('../internals/to-object'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var toString = require('../internals/to-string'); +var fails = require('../internals/fails'); +var internalSort = require('../internals/array-sort'); +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var FF = require('../internals/engine-ff-version'); +var IE_OR_EDGE = require('../internals/engine-is-ie-or-edge'); +var V8 = require('../internals/engine-v8-version'); +var WEBKIT = require('../internals/engine-webkit-version'); + +var test = []; +var un$Sort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// 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 STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = items.length; + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) delete array[index++]; + + return array; + } +}); + +},{"../internals/a-callable":57,"../internals/array-method-is-strict":66,"../internals/array-sort":69,"../internals/engine-ff-version":86,"../internals/engine-is-ie-or-edge":87,"../internals/engine-v8-version":89,"../internals/engine-webkit-version":90,"../internals/export":93,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/to-string":161}],176:[function(require,module,exports){ +var global = require('../internals/global'); +var setToStringTag = require('../internals/set-to-string-tag'); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(global.JSON, 'JSON', true); + +},{"../internals/global":104,"../internals/set-to-string-tag":147}],177:[function(require,module,exports){ +// empty + +},{}],178:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var create = require('../internals/object-create'); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + +},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-create":127}],179:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var objectDefinePropertyModile = require('../internals/object-define-property'); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperty: objectDefinePropertyModile.f +}); + +},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-define-property":129}],180:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],181:[function(require,module,exports){ +var $ = require('../internals/export'); +var $parseInt = require('../internals/number-parse-int'); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt != $parseInt }, { + parseInt: $parseInt +}); + +},{"../internals/export":93,"../internals/number-parse-int":126}],182:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],183:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],184:[function(require,module,exports){ +'use strict'; +var charAt = require('../internals/string-multibyte').charAt; +var toString = require('../internals/to-string'); +var InternalStateModule = require('../internals/internal-state'); +var defineIterator = require('../internals/define-iterator'); + +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: toString(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 }; +}); + +},{"../internals/define-iterator":81,"../internals/internal-state":111,"../internals/string-multibyte":151,"../internals/to-string":161}],185:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + +},{"../internals/define-well-known-symbol":82}],186:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],187:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + +},{"../internals/define-well-known-symbol":82}],188:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + +},{"../internals/define-well-known-symbol":82}],189:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + +},{"../internals/define-well-known-symbol":82}],190:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); +var uncurryThis = require('../internals/function-uncurry-this'); +var IS_PURE = require('../internals/is-pure'); +var DESCRIPTORS = require('../internals/descriptors'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); +var fails = require('../internals/fails'); +var hasOwn = require('../internals/has-own-property'); +var isArray = require('../internals/is-array'); +var isCallable = require('../internals/is-callable'); +var isObject = require('../internals/is-object'); +var isPrototypeOf = require('../internals/object-is-prototype-of'); +var isSymbol = require('../internals/is-symbol'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPropertyKey = require('../internals/to-property-key'); +var $toString = require('../internals/to-string'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var nativeObjectCreate = require('../internals/object-create'); +var objectKeys = require('../internals/object-keys'); +var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); +var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var definePropertyModule = require('../internals/object-define-property'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var arraySlice = require('../internals/array-slice'); +var redefine = require('../internals/redefine'); +var shared = require('../internals/shared'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); +var uid = require('../internals/uid'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped'); +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); +var setToStringTag = require('../internals/set-to-string-tag'); +var InternalStateModule = require('../internals/internal-state'); +var $forEach = require('../internals/array-iteration').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 SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var TypeError = global.TypeError; +var QObject = global.QObject; +var $stringify = getBuiltIn('JSON', 'stringify'); +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +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'); + +// 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 () { 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 (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (hasOwn(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 || call($propertyIsEnumerable, 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 = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(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 (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, 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 (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn(this, HIDDEN) && hasOwn(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); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + redefine(SymbolPrototype, '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(SymbolPrototype, '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 (key) { + var string = $toString(key); + if (hasOwn(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 (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + }, + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { 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 -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (isCallable($replacer)) value = call($replacer, this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return apply($stringify, null, args); + } + }); +} + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +if (!SymbolPrototype[TO_PRIMITIVE]) { + var valueOf = SymbolPrototype.valueOf; + // eslint-disable-next-line no-unused-vars -- required for .length + redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) { + // TODO: improve hint logic + return call(valueOf, this); + }); +} +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + +},{"../internals/an-object":60,"../internals/array-iteration":64,"../internals/array-slice":68,"../internals/create-property-descriptor":79,"../internals/define-well-known-symbol":82,"../internals/descriptors":83,"../internals/export":93,"../internals/fails":94,"../internals/function-apply":95,"../internals/function-call":97,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/internal-state":111,"../internals/is-array":113,"../internals/is-callable":114,"../internals/is-object":117,"../internals/is-pure":118,"../internals/is-symbol":119,"../internals/native-symbol":124,"../internals/object-create":127,"../internals/object-define-property":129,"../internals/object-get-own-property-descriptor":130,"../internals/object-get-own-property-names":132,"../internals/object-get-own-property-names-external":131,"../internals/object-get-own-property-symbols":133,"../internals/object-is-prototype-of":135,"../internals/object-keys":137,"../internals/object-property-is-enumerable":138,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/shared":150,"../internals/shared-key":148,"../internals/to-indexed-object":154,"../internals/to-object":157,"../internals/to-property-key":159,"../internals/to-string":161,"../internals/uid":163,"../internals/well-known-symbol":166,"../internals/well-known-symbol-wrapped":165}],191:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + +},{"../internals/define-well-known-symbol":82}],192:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + +},{"../internals/define-well-known-symbol":82}],193:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + +},{"../internals/define-well-known-symbol":82}],194:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + +},{"../internals/define-well-known-symbol":82}],195:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + +},{"../internals/define-well-known-symbol":82}],196:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + +},{"../internals/define-well-known-symbol":82}],197:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +},{"../internals/define-well-known-symbol":82}],198:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +},{"../internals/define-well-known-symbol":82}],199:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + +},{"../internals/define-well-known-symbol":82}],200:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.asyncDispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('asyncDispose'); + +},{"../internals/define-well-known-symbol":82}],201:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.dispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('dispose'); + +},{"../internals/define-well-known-symbol":82}],202:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.matcher` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('matcher'); + +},{"../internals/define-well-known-symbol":82}],203:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.metadata` well-known symbol +// https://github.com/tc39/proposal-decorators +defineWellKnownSymbol('metadata'); + +},{"../internals/define-well-known-symbol":82}],204:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.observable` well-known symbol +// https://github.com/tc39/proposal-observable +defineWellKnownSymbol('observable'); + +},{"../internals/define-well-known-symbol":82}],205:[function(require,module,exports){ +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.patternMatch` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('patternMatch'); + +},{"../internals/define-well-known-symbol":82}],206:[function(require,module,exports){ +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +defineWellKnownSymbol('replaceAll'); + +},{"../internals/define-well-known-symbol":82}],207:[function(require,module,exports){ +require('../modules/es.array.iterator'); +var DOMIterables = require('../internals/dom-iterables'); +var global = require('../internals/global'); +var classof = require('../internals/classof'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var Iterators = require('../internals/iterators'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + Iterators[COLLECTION_NAME] = Iterators.Array; +} + +},{"../internals/classof":75,"../internals/create-non-enumerable-property":78,"../internals/dom-iterables":85,"../internals/global":104,"../internals/iterators":122,"../internals/well-known-symbol":166,"../modules/es.array.iterator":173}],208:[function(require,module,exports){ +var parent = require('../../es/array/from'); + +module.exports = parent; + +},{"../../es/array/from":34}],209:[function(require,module,exports){ +var parent = require('../../es/array/is-array'); + +module.exports = parent; + +},{"../../es/array/is-array":35}],210:[function(require,module,exports){ +var parent = require('../../../es/array/virtual/for-each'); + +module.exports = parent; + +},{"../../../es/array/virtual/for-each":37}],211:[function(require,module,exports){ +var parent = require('../es/get-iterator-method'); +require('../modules/web.dom-collections.iterator'); + +module.exports = parent; + +},{"../es/get-iterator-method":41,"../modules/web.dom-collections.iterator":207}],212:[function(require,module,exports){ +var parent = require('../../es/instance/concat'); + +module.exports = parent; + +},{"../../es/instance/concat":42}],213:[function(require,module,exports){ +var parent = require('../../es/instance/flags'); + +module.exports = parent; + +},{"../../es/instance/flags":43}],214:[function(require,module,exports){ +require('../../modules/web.dom-collections.iterator'); +var classof = require('../../internals/classof'); +var hasOwn = require('../../internals/has-own-property'); +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/for-each'); + +var ArrayPrototype = Array.prototype; + +var DOMIterables = { + DOMTokenList: true, + NodeList: true +}; + +module.exports = function (it) { + var own = it.forEach; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.forEach) + || hasOwn(DOMIterables, classof(it)) ? method : own; +}; + +},{"../../internals/classof":75,"../../internals/has-own-property":105,"../../internals/object-is-prototype-of":135,"../../modules/web.dom-collections.iterator":207,"../array/virtual/for-each":210}],215:[function(require,module,exports){ +var parent = require('../../es/instance/index-of'); + +module.exports = parent; + +},{"../../es/instance/index-of":44}],216:[function(require,module,exports){ +var parent = require('../../es/instance/slice'); + +module.exports = parent; + +},{"../../es/instance/slice":45}],217:[function(require,module,exports){ +var parent = require('../../es/instance/sort'); + +module.exports = parent; + +},{"../../es/instance/sort":46}],218:[function(require,module,exports){ +var parent = require('../../es/object/create'); + +module.exports = parent; + +},{"../../es/object/create":47}],219:[function(require,module,exports){ +var parent = require('../../es/object/define-property'); + +module.exports = parent; + +},{"../../es/object/define-property":48}],220:[function(require,module,exports){ +var parent = require('../es/parse-int'); + +module.exports = parent; + +},{"../es/parse-int":49}],221:[function(require,module,exports){ +var parent = require('../../es/symbol'); +require('../../modules/web.dom-collections.iterator'); + +module.exports = parent; + +},{"../../es/symbol":51,"../../modules/web.dom-collections.iterator":207}],222:[function(require,module,exports){ +module.exports = [ + { + 'name': 'C', + 'alias': 'Other', + 'isBmpLast': true, + 'bmp': '\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EE\u05F5-\u0605\u061C\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB\u07FC\u082E\u082F\u083F\u085C\u085D\u085F\u086B-\u086F\u088F-\u0897\u08E2\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A77-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C0D\u0C11\u0C29\u0C3A\u0C3B\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C64\u0C65\u0C70-\u0C76\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDC\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u1716-\u171E\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180E\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ACF-\u1AFF\u1B4D-\u1B4F\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1C8F\u1CBB\u1CBC\u1CC8-\u1CCF\u1CFB-\u1CFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20C1-\u20CF\u20F1-\u20FF\u218C-\u218F\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E5E-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u3130\u318F\u31E4-\u31EF\u321F\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA82D-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB6C-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC3-\uFBD2\uFD90\uFD91\uFDC8-\uFDCE\uFDD0-\uFDEF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF', + 'astral': '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCBD\uDCC3-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]' + }, + { + 'name': 'Cc', + 'alias': 'Control', + 'bmp': '\0-\x1F\x7F-\x9F' + }, + { + 'name': 'Cf', + 'alias': 'Format', + 'bmp': '\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB', + 'astral': '\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC38]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]' + }, + { + 'name': 'Cn', + 'alias': 'Unassigned', + 'bmp': '\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EE\u05F5-\u05FF\u070E\u074B\u074C\u07B2-\u07BF\u07FB\u07FC\u082E\u082F\u083F\u085C\u085D\u085F\u086B-\u086F\u088F\u0892-\u0897\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A77-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C0D\u0C11\u0C29\u0C3A\u0C3B\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C64\u0C65\u0C70-\u0C76\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDC\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u1716-\u171E\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ACF-\u1AFF\u1B4D-\u1B4F\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1C8F\u1CBB\u1CBC\u1CC8-\u1CCF\u1CFB-\u1CFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u2065\u2072\u2073\u208F\u209D-\u209F\u20C1-\u20CF\u20F1-\u20FF\u218C-\u218F\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E5E-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u3130\u318F\u31E4-\u31EF\u321F\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA82D-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB6C-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC3-\uFBD2\uFD90\uFD91\uFDC8-\uFDCE\uFDD0-\uFDEF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD\uFEFE\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFF8\uFFFE\uFFFF', + 'astral': '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCC3-\uDCCC\uDCCE\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F\uDC39-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]' + }, + { + 'name': 'Co', + 'alias': 'Private_Use', + 'bmp': '\uE000-\uF8FF', + 'astral': '[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]' + }, + { + 'name': 'Cs', + 'alias': 'Surrogate', + 'bmp': '\uD800-\uDFFF' + }, + { + 'name': 'L', + 'alias': 'Letter', + 'bmp': 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', + 'astral': '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]' + }, + { + 'name': 'LC', + 'alias': 'Cased_Letter', + 'bmp': 'A-Za-z\xB5\xC0-\xD6\xD8-\xF6\xF8-\u01BA\u01BC-\u01BF\u01C4-\u0293\u0295-\u02AF\u0370-\u0373\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0560-\u0588\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FD-\u10FF\u13A0-\u13F5\u13F8-\u13FD\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2134\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C7B\u2C7E-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA640-\uA66D\uA680-\uA69B\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F5\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A', + 'astral': '\uD801[\uDC00-\uDC4F\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD806[\uDCA0-\uDCDF]|\uD81B[\uDE40-\uDE7F]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD00-\uDD43]' + }, + { + 'name': 'Ll', + 'alias': 'Lowercase_Letter', + 'bmp': 'a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A', + 'astral': '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]' + }, + { + 'name': 'Lm', + 'alias': 'Modifier_Letter', + 'bmp': '\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F', + 'astral': '\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDD37-\uDD3D]|\uD83A\uDD4B' + }, + { + 'name': 'Lo', + 'alias': 'Other_Letter', + 'bmp': '\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', + 'astral': '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]' + }, + { + 'name': 'Lt', + 'alias': 'Titlecase_Letter', + 'bmp': '\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC' + }, + { + 'name': 'Lu', + 'alias': 'Uppercase_Letter', + 'bmp': 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7D0\uA7D6\uA7D8\uA7F5\uFF21-\uFF3A', + 'astral': '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]' + }, + { + 'name': 'M', + 'alias': 'Mark', + 'bmp': '\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', + 'astral': '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' + }, + { + 'name': 'Mc', + 'alias': 'Spacing_Mark', + 'bmp': '\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC', + 'astral': '\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]' + }, + { + 'name': 'Me', + 'alias': 'Enclosing_Mark', + 'bmp': '\u0488\u0489\u1ABE\u20DD-\u20E0\u20E2-\u20E4\uA670-\uA672' + }, + { + 'name': 'Mn', + 'alias': 'Nonspacing_Mark', + 'bmp': '\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', + 'astral': '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' + }, + { + 'name': 'N', + 'alias': 'Number', + 'bmp': '0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', + 'astral': '\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]' + }, + { + 'name': 'Nd', + 'alias': 'Decimal_Number', + 'bmp': '0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', + 'astral': '\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]' + }, + { + 'name': 'Nl', + 'alias': 'Letter_Number', + 'bmp': '\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF', + 'astral': '\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]' + }, + { + 'name': 'No', + 'alias': 'Other_Number', + 'bmp': '\xB2\xB3\xB9\xBC-\xBE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D58-\u0D5E\u0D70-\u0D78\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835', + 'astral': '\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C\uDFC0-\uDFD4]|\uD81A[\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD83A[\uDCC7-\uDCCF]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]' + }, + { + 'name': 'P', + 'alias': 'Punctuation', + 'bmp': '!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65', + 'astral': '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' + }, + { + 'name': 'Pc', + 'alias': 'Connector_Punctuation', + 'bmp': '_\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F' + }, + { + 'name': 'Pd', + 'alias': 'Dash_Punctuation', + 'bmp': '\\-\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u2E40\u2E5D\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D', + 'astral': '\uD803\uDEAD' + }, + { + 'name': 'Pe', + 'alias': 'Close_Punctuation', + 'bmp': '\\)\\]\\}\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u2309\u230B\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u2E56\u2E58\u2E5A\u2E5C\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3E\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63' + }, + { + 'name': 'Pf', + 'alias': 'Final_Punctuation', + 'bmp': '\xBB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21' + }, + { + 'name': 'Pi', + 'alias': 'Initial_Punctuation', + 'bmp': '\xAB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20' + }, + { + 'name': 'Po', + 'alias': 'Other_Punctuation', + 'bmp': '!-#%-\'\\*,\\.\\/:;\\?@\\\xA1\xA7\xB6\xB7\xBF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u2E3C-\u2E3F\u2E41\u2E43-\u2E4F\u2E52-\u2E54\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65', + 'astral': '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' + }, + { + 'name': 'Ps', + 'alias': 'Open_Punctuation', + 'bmp': '\\(\\[\\{\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2308\u230A\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u2E42\u2E55\u2E57\u2E59\u2E5B\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3F\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62' + }, + { + 'name': 'S', + 'alias': 'Symbol', + 'bmp': '\\$\\+<->\\^`\\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD', + 'astral': '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]' + }, + { + 'name': 'Sc', + 'alias': 'Currency_Symbol', + 'bmp': '\\$\xA2-\xA5\u058F\u060B\u07FE\u07FF\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20C0\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6', + 'astral': '\uD807[\uDFDD-\uDFE0]|\uD838\uDEFF|\uD83B\uDCB0' + }, + { + 'name': 'Sk', + 'alias': 'Modifier_Symbol', + 'bmp': '\\^`\xA8\xAF\xB4\xB8\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u0888\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u309B\u309C\uA700-\uA716\uA720\uA721\uA789\uA78A\uAB5B\uAB6A\uAB6B\uFBB2-\uFBC2\uFF3E\uFF40\uFFE3', + 'astral': '\uD83C[\uDFFB-\uDFFF]' + }, + { + 'name': 'Sm', + 'alias': 'Math_Symbol', + 'bmp': '\\+<->\\|~\xAC\xB1\xD7\xF7\u03F6\u0606-\u0608\u2044\u2052\u207A-\u207C\u208A-\u208C\u2118\u2140-\u2144\u214B\u2190-\u2194\u219A\u219B\u21A0\u21A3\u21A6\u21AE\u21CE\u21CF\u21D2\u21D4\u21F4-\u22FF\u2320\u2321\u237C\u239B-\u23B3\u23DC-\u23E1\u25B7\u25C1\u25F8-\u25FF\u266F\u27C0-\u27C4\u27C7-\u27E5\u27F0-\u27FF\u2900-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2AFF\u2B30-\u2B44\u2B47-\u2B4C\uFB29\uFE62\uFE64-\uFE66\uFF0B\uFF1C-\uFF1E\uFF5C\uFF5E\uFFE2\uFFE9-\uFFEC', + 'astral': '\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]' + }, + { + 'name': 'So', + 'alias': 'Other_Symbol', + 'bmp': '\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFD40-\uFD4F\uFDCF\uFDFD-\uFDFF\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD', + 'astral': '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838\uDD4F|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]' + }, + { + 'name': 'Z', + 'alias': 'Separator', + 'bmp': ' \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000' + }, + { + 'name': 'Zl', + 'alias': 'Line_Separator', + 'bmp': '\u2028' + }, + { + 'name': 'Zp', + 'alias': 'Paragraph_Separator', + 'bmp': '\u2029' + }, + { + 'name': 'Zs', + 'alias': 'Space_Separator', + 'bmp': ' \xA0\u1680\u2000-\u200A\u202F\u205F\u3000' + } +]; -},{}]},{},[8])(8) +},{}]},{},[3])(3) }); diff --git a/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.min.js b/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.min.js index 6d56b1bd..6d36ca56 100644 --- a/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.min.js +++ b/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.min.js @@ -1,160 +1,17 @@ -/* - XRegExp.build 3.2.0 - <xregexp.com> - Steven Levithan (c) 2012-2017 MIT License - Inspired by Lea Verou's RegExp.create <lea.verou.me> - XRegExp.matchRecursive 3.2.0 - <xregexp.com> - Steven Levithan (c) 2009-2017 MIT License - XRegExp Unicode Base 3.2.0 - <xregexp.com> - Steven Levithan (c) 2008-2017 MIT License - XRegExp Unicode Blocks 3.2.0 - <xregexp.com> - Steven Levithan (c) 2010-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp Unicode Categories 3.2.0 - <xregexp.com> - Steven Levithan (c) 2010-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp Unicode Properties 3.2.0 - <xregexp.com> - Steven Levithan (c) 2012-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp Unicode Scripts 3.2.0 - <xregexp.com> - Steven Levithan (c) 2010-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp 3.2.0 - <xregexp.com> - Steven Levithan (c) 2007-2017 MIT License -*/ -(function(H){"object"===typeof exports&&"undefined"!==typeof module?module.exports=H():"function"===typeof define&&define.amd?define([],H):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).XRegExp=H()})(function(){return function c(d,g,p){function A(l,b){if(!g[l]){if(!d[l]){var k="function"==typeof require&&require;if(!b&&k)return k(l,!0);if(B)return B(l,!0);b=Error("Cannot find module '"+l+"'");throw b.code="MODULE_NOT_FOUND",b;}b=g[l]={exports:{}}; -d[l][0].call(b.exports,function(b){var c=d[l][1][b];return A(c?c:b)},b,b.exports,c,d,g,p)}return g[l].exports}for(var B="function"==typeof require&&require,z=0;z<p.length;z++)A(p[z]);return A}({1:[function(d,g,p){g.exports=function(c){function A(b){var c=/^(?:\(\?:\))*\^/,l=/\$(?:\(\?:\))*$/;return c.test(b)&&l.test(b)&&l.test(b.replace(/\\[\s\S]/g,""))?b.replace(c,"").replace(l,""):b}function B(b,l){l=l?"x":"";return c.isRegExp(b)?b.xregexp&&b.xregexp.captureNames?b:c(b.source,l):c(b,l)}var z=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g, -l=c.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,z],"g",{conjunction:"or"});c.build=function(b,k,g){g=g||"";var y=-1<g.indexOf("x"),m=/^\(\?([\w$]+)\)/.exec(b);m&&(g=c._clipDuplicates(g+m[1]));var h={},w;for(w in k)k.hasOwnProperty(w)&&(m=B(k[w],y),h[w]={pattern:A(m.source),names:m.xregexp.captureNames||[]});b=B(b,y);var x=0,v,q=0,f=[0],d=b.xregexp.captureNames||[];b=b.source.replace(l,function(b,c,m,l,y){var n=c||m;if(n){if(!h.hasOwnProperty(n))throw new ReferenceError("Undefined property "+b);if(c){var k= -d[q];f[++q]=++x;b="(?<"+(k||n)+">"}else b="(?:";v=x;return b+h[n].pattern.replace(z,function(f,b,c){if(b){if(k=h[n].names[x-v],++x,k)return"(?<"+k+">"}else if(c)return g=+c-1,h[n].names[g]?"\\k<"+h[n].names[g]+">":"\\"+(+c+v);return f})+")"}if(l){if(k=d[q],f[++q]=++x,k)return"(?<"+k+">"}else if(y){var g=+y-1;return d[g]?"\\k<"+d[g]+">":"\\"+f[+y]}return b});return c(b,g)}}},{}],2:[function(d,g,p){g.exports=function(c){function g(c,g,l,b){return{name:c,value:g,start:l,end:b}}c.matchRecursive=function(d, -p,l,b,k){b=b||"";k=k||{};var A=-1<b.indexOf("g"),y=-1<b.indexOf("y"),m=b.replace(/y/g,""),h=k.escapeChar;k=k.valueNames;var w=[],x=0,v=0,q=0,f=0;p=c(p,m);l=c(l,m);if(h){if(1<h.length)throw Error("Cannot use more than one escape character");h=c.escape(h);var z=new RegExp("(?:"+h+"[\\S\\s]|(?:(?!"+c.union([p,l],"",{conjunction:"or"}).source+")[^"+h+"])+)+",b.replace(/[^imu]+/g,""))}for(;;){h&&(q+=(c.exec(d,z,q,"sticky")||[""])[0].length);b=c.exec(d,p,q);m=c.exec(d,l,q);b&&m&&(b.index<=m.index?m=null: -b=null);if(b||m)v=(b||m).index,q=v+(b||m)[0].length;else if(!x)break;if(y&&!x&&v>f)break;if(b){if(!x){var n=v;var r=q}++x}else if(m&&x){if(!--x&&(k?(k[0]&&n>f&&w.push(g(k[0],d.slice(f,n),f,n)),k[1]&&w.push(g(k[1],d.slice(n,r),n,r)),k[2]&&w.push(g(k[2],d.slice(r,v),r,v)),k[3]&&w.push(g(k[3],d.slice(v,q),v,q))):w.push(d.slice(r,v)),f=q,!A))break}else throw Error("Unbalanced delimiter found in string");v===q&&++q}A&&!y&&k&&k[0]&&d.length>f&&w.push(g(k[0],d.slice(f),f,d.length));return w}}},{}],3:[function(d, -g,p){g.exports=function(c){function g(b){return b.replace(/[- _]+/g,"").toLowerCase()}function d(c){var m=/^\\[xu](.+)/.exec(c);return m?b(m[1]):c.charCodeAt("\\"===c.charAt(0)?1:0)}function p(b){var m="",h=-1;c.forEach(b,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,function(b){var c=d(b[1]);c>h+1&&(m+="\\u"+C(k(h+1)),c>h+2&&(m+="-\\u"+C(k(c-1))));h=d(b[2]||b[1])});65535>h&&(m+="\\u"+C(k(h+1)),65534>h&&(m+="-\\uFFFF"));return m}var l={},b=c._dec,k=c._hex,C=c._pad4;c.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/, -function(b,c,h){var m="P"===b[1]||!!b[2],d=-1<h.indexOf("A");h=g(b[4]||b[3]);var k=l[h];if("P"===b[1]&&b[2])throw new SyntaxError("Invalid double negation "+b[0]);if(!l.hasOwnProperty(h))throw new SyntaxError("Unknown Unicode token "+b[0]);if(k.inverseOf){h=g(k.inverseOf);if(!l.hasOwnProperty(h))throw new ReferenceError("Unicode token missing data "+b[0]+" -> "+k.inverseOf);k=l[h];m=!m}if(!k.bmp&&!d)throw new SyntaxError("Astral mode required for Unicode token "+b[0]);if(d){if("class"===c)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes"); -b=m?"a!":"a=";(c=l[h][b])||(c=l[h],h=l[h],d="",h.bmp&&!h.isBmpLast&&(d="["+h.bmp+"]"+(h.astral?"|":"")),h.astral&&(d+=h.astral),h.isBmpLast&&h.bmp&&(d+=(h.astral?"|":"")+"["+h.bmp+"]"),c=c[b]=m?"(?:(?!"+d+")(?:[\ud800-\udbff][\udc00-\udfff]|[\x00-\uffff]))":"(?:"+d+")");return c}return"class"===c?m?l[h]["b!"]||(l[h]["b!"]=p(l[h].bmp)):k.bmp:(m?"[^":"[")+k.bmp+"]"},{scope:"all",optionalFlags:"A",leadChar:"\\"});c.addUnicodeData=function(b){for(var d,h=0;h<b.length;++h){d=b[h];if(!d.name)throw Error("Unicode token requires name"); -if(!(d.inverseOf||d.bmp||d.astral))throw Error("Unicode token has no character data "+d.name);l[g(d.name)]=d;d.alias&&(l[g(d.alias)]=d)}c.cache.flush("patterns")};c._getUnicodeProperty=function(b){b=g(b);return l[b]}}},{}],4:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");c.addUnicodeData([{name:"InAdlam",astral:"\ud83a[\udd00-\udd5f]"},{name:"InAegean_Numbers",astral:"\ud800[\udd00-\udd3f]"},{name:"InAhom", -astral:"\ud805[\udf00-\udf3f]"},{name:"InAlchemical_Symbols",astral:"\ud83d[\udf00-\udf7f]"},{name:"InAlphabetic_Presentation_Forms",bmp:"\ufb00-\ufb4f"},{name:"InAnatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude7f]"},{name:"InAncient_Greek_Musical_Notation",astral:"\ud834[\ude00-\ude4f]"},{name:"InAncient_Greek_Numbers",astral:"\ud800[\udd40-\udd8f]"},{name:"InAncient_Symbols",astral:"\ud800[\udd90-\uddcf]"},{name:"InArabic",bmp:"\u0600-\u06ff"},{name:"InArabic_Extended_A",bmp:"\u08a0-\u08ff"},{name:"InArabic_Mathematical_Alphabetic_Symbols", -astral:"\ud83b[\ude00-\udeff]"},{name:"InArabic_Presentation_Forms_A",bmp:"\ufb50-\ufdff"},{name:"InArabic_Presentation_Forms_B",bmp:"\ufe70-\ufeff"},{name:"InArabic_Supplement",bmp:"\u0750-\u077f"},{name:"InArmenian",bmp:"\u0530-\u058f"},{name:"InArrows",bmp:"\u2190-\u21ff"},{name:"InAvestan",astral:"\ud802[\udf00-\udf3f]"},{name:"InBalinese",bmp:"\u1b00-\u1b7f"},{name:"InBamum",bmp:"\ua6a0-\ua6ff"},{name:"InBamum_Supplement",astral:"\ud81a[\udc00-\ude3f]"},{name:"InBasic_Latin",bmp:"\x00-\u007f"}, -{name:"InBassa_Vah",astral:"\ud81a[\uded0-\udeff]"},{name:"InBatak",bmp:"\u1bc0-\u1bff"},{name:"InBengali",bmp:"\u0980-\u09ff"},{name:"InBhaiksuki",astral:"\ud807[\udc00-\udc6f]"},{name:"InBlock_Elements",bmp:"\u2580-\u259f"},{name:"InBopomofo",bmp:"\u3100-\u312f"},{name:"InBopomofo_Extended",bmp:"\u31a0-\u31bf"},{name:"InBox_Drawing",bmp:"\u2500-\u257f"},{name:"InBrahmi",astral:"\ud804[\udc00-\udc7f]"},{name:"InBraille_Patterns",bmp:"\u2800-\u28ff"},{name:"InBuginese",bmp:"\u1a00-\u1a1f"},{name:"InBuhid", -bmp:"\u1740-\u175f"},{name:"InByzantine_Musical_Symbols",astral:"\ud834[\udc00-\udcff]"},{name:"InCJK_Compatibility",bmp:"\u3300-\u33ff"},{name:"InCJK_Compatibility_Forms",bmp:"\ufe30-\ufe4f"},{name:"InCJK_Compatibility_Ideographs",bmp:"\uf900-\ufaff"},{name:"InCJK_Compatibility_Ideographs_Supplement",astral:"\ud87e[\udc00-\ude1f]"},{name:"InCJK_Radicals_Supplement",bmp:"\u2e80-\u2eff"},{name:"InCJK_Strokes",bmp:"\u31c0-\u31ef"},{name:"InCJK_Symbols_and_Punctuation",bmp:"\u3000-\u303f"},{name:"InCJK_Unified_Ideographs", -bmp:"\u4e00-\u9fff"},{name:"InCJK_Unified_Ideographs_Extension_A",bmp:"\u3400-\u4dbf"},{name:"InCJK_Unified_Ideographs_Extension_B",astral:"[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\udedf]"},{name:"InCJK_Unified_Ideographs_Extension_C",astral:"\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf3f]"},{name:"InCJK_Unified_Ideographs_Extension_D",astral:"\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1f]"},{name:"InCJK_Unified_Ideographs_Extension_E",astral:"\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udeaf]"}, -{name:"InCarian",astral:"\ud800[\udea0-\udedf]"},{name:"InCaucasian_Albanian",astral:"\ud801[\udd30-\udd6f]"},{name:"InChakma",astral:"\ud804[\udd00-\udd4f]"},{name:"InCham",bmp:"\uaa00-\uaa5f"},{name:"InCherokee",bmp:"\u13a0-\u13ff"},{name:"InCherokee_Supplement",bmp:"\uab70-\uabbf"},{name:"InCombining_Diacritical_Marks",bmp:"\u0300-\u036f"},{name:"InCombining_Diacritical_Marks_Extended",bmp:"\u1ab0-\u1aff"},{name:"InCombining_Diacritical_Marks_Supplement",bmp:"\u1dc0-\u1dff"},{name:"InCombining_Diacritical_Marks_for_Symbols", -bmp:"\u20d0-\u20ff"},{name:"InCombining_Half_Marks",bmp:"\ufe20-\ufe2f"},{name:"InCommon_Indic_Number_Forms",bmp:"\ua830-\ua83f"},{name:"InControl_Pictures",bmp:"\u2400-\u243f"},{name:"InCoptic",bmp:"\u2c80-\u2cff"},{name:"InCoptic_Epact_Numbers",astral:"\ud800[\udee0-\udeff]"},{name:"InCounting_Rod_Numerals",astral:"\ud834[\udf60-\udf7f]"},{name:"InCuneiform",astral:"\ud808[\udc00-\udfff]"},{name:"InCuneiform_Numbers_and_Punctuation",astral:"\ud809[\udc00-\udc7f]"},{name:"InCurrency_Symbols",bmp:"\u20a0-\u20cf"}, -{name:"InCypriot_Syllabary",astral:"\ud802[\udc00-\udc3f]"},{name:"InCyrillic",bmp:"\u0400-\u04ff"},{name:"InCyrillic_Extended_A",bmp:"\u2de0-\u2dff"},{name:"InCyrillic_Extended_B",bmp:"\ua640-\ua69f"},{name:"InCyrillic_Extended_C",bmp:"\u1c80-\u1c8f"},{name:"InCyrillic_Supplement",bmp:"\u0500-\u052f"},{name:"InDeseret",astral:"\ud801[\udc00-\udc4f]"},{name:"InDevanagari",bmp:"\u0900-\u097f"},{name:"InDevanagari_Extended",bmp:"\ua8e0-\ua8ff"},{name:"InDingbats",bmp:"\u2700-\u27bf"},{name:"InDomino_Tiles", -astral:"\ud83c[\udc30-\udc9f]"},{name:"InDuployan",astral:"\ud82f[\udc00-\udc9f]"},{name:"InEarly_Dynastic_Cuneiform",astral:"\ud809[\udc80-\udd4f]"},{name:"InEgyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2f]"},{name:"InElbasan",astral:"\ud801[\udd00-\udd2f]"},{name:"InEmoticons",astral:"\ud83d[\ude00-\ude4f]"},{name:"InEnclosed_Alphanumeric_Supplement",astral:"\ud83c[\udd00-\uddff]"},{name:"InEnclosed_Alphanumerics",bmp:"\u2460-\u24ff"},{name:"InEnclosed_CJK_Letters_and_Months", -bmp:"\u3200-\u32ff"},{name:"InEnclosed_Ideographic_Supplement",astral:"\ud83c[\ude00-\udeff]"},{name:"InEthiopic",bmp:"\u1200-\u137f"},{name:"InEthiopic_Extended",bmp:"\u2d80-\u2ddf"},{name:"InEthiopic_Extended_A",bmp:"\uab00-\uab2f"},{name:"InEthiopic_Supplement",bmp:"\u1380-\u139f"},{name:"InGeneral_Punctuation",bmp:"\u2000-\u206f"},{name:"InGeometric_Shapes",bmp:"\u25a0-\u25ff"},{name:"InGeometric_Shapes_Extended",astral:"\ud83d[\udf80-\udfff]"},{name:"InGeorgian",bmp:"\u10a0-\u10ff"},{name:"InGeorgian_Supplement", -bmp:"\u2d00-\u2d2f"},{name:"InGlagolitic",bmp:"\u2c00-\u2c5f"},{name:"InGlagolitic_Supplement",astral:"\ud838[\udc00-\udc2f]"},{name:"InGothic",astral:"\ud800[\udf30-\udf4f]"},{name:"InGrantha",astral:"\ud804[\udf00-\udf7f]"},{name:"InGreek_Extended",bmp:"\u1f00-\u1fff"},{name:"InGreek_and_Coptic",bmp:"\u0370-\u03ff"},{name:"InGujarati",bmp:"\u0a80-\u0aff"},{name:"InGurmukhi",bmp:"\u0a00-\u0a7f"},{name:"InHalfwidth_and_Fullwidth_Forms",bmp:"\uff00-\uffef"},{name:"InHangul_Compatibility_Jamo",bmp:"\u3130-\u318f"}, -{name:"InHangul_Jamo",bmp:"\u1100-\u11ff"},{name:"InHangul_Jamo_Extended_A",bmp:"\ua960-\ua97f"},{name:"InHangul_Jamo_Extended_B",bmp:"\ud7b0-\ud7ff"},{name:"InHangul_Syllables",bmp:"\uac00-\ud7af"},{name:"InHanunoo",bmp:"\u1720-\u173f"},{name:"InHatran",astral:"\ud802[\udce0-\udcff]"},{name:"InHebrew",bmp:"\u0590-\u05ff"},{name:"InHigh_Private_Use_Surrogates",bmp:"\udb80-\udbff"},{name:"InHigh_Surrogates",bmp:"\ud800-\udb7f"},{name:"InHiragana",bmp:"\u3040-\u309f"},{name:"InIPA_Extensions",bmp:"\u0250-\u02af"}, -{name:"InIdeographic_Description_Characters",bmp:"\u2ff0-\u2fff"},{name:"InIdeographic_Symbols_and_Punctuation",astral:"\ud81b[\udfe0-\udfff]"},{name:"InImperial_Aramaic",astral:"\ud802[\udc40-\udc5f]"},{name:"InInscriptional_Pahlavi",astral:"\ud802[\udf60-\udf7f]"},{name:"InInscriptional_Parthian",astral:"\ud802[\udf40-\udf5f]"},{name:"InJavanese",bmp:"\ua980-\ua9df"},{name:"InKaithi",astral:"\ud804[\udc80-\udccf]"},{name:"InKana_Supplement",astral:"\ud82c[\udc00-\udcff]"},{name:"InKanbun",bmp:"\u3190-\u319f"}, -{name:"InKangxi_Radicals",bmp:"\u2f00-\u2fdf"},{name:"InKannada",bmp:"\u0c80-\u0cff"},{name:"InKatakana",bmp:"\u30a0-\u30ff"},{name:"InKatakana_Phonetic_Extensions",bmp:"\u31f0-\u31ff"},{name:"InKayah_Li",bmp:"\ua900-\ua92f"},{name:"InKharoshthi",astral:"\ud802[\ude00-\ude5f]"},{name:"InKhmer",bmp:"\u1780-\u17ff"},{name:"InKhmer_Symbols",bmp:"\u19e0-\u19ff"},{name:"InKhojki",astral:"\ud804[\ude00-\ude4f]"},{name:"InKhudawadi",astral:"\ud804[\udeb0-\udeff]"},{name:"InLao",bmp:"\u0e80-\u0eff"},{name:"InLatin_Extended_Additional", -bmp:"\u1e00-\u1eff"},{name:"InLatin_Extended_A",bmp:"\u0100-\u017f"},{name:"InLatin_Extended_B",bmp:"\u0180-\u024f"},{name:"InLatin_Extended_C",bmp:"\u2c60-\u2c7f"},{name:"InLatin_Extended_D",bmp:"\ua720-\ua7ff"},{name:"InLatin_Extended_E",bmp:"\uab30-\uab6f"},{name:"InLatin_1_Supplement",bmp:"\u0080-\u00ff"},{name:"InLepcha",bmp:"\u1c00-\u1c4f"},{name:"InLetterlike_Symbols",bmp:"\u2100-\u214f"},{name:"InLimbu",bmp:"\u1900-\u194f"},{name:"InLinear_A",astral:"\ud801[\ude00-\udf7f]"},{name:"InLinear_B_Ideograms", -astral:"\ud800[\udc80-\udcff]"},{name:"InLinear_B_Syllabary",astral:"\ud800[\udc00-\udc7f]"},{name:"InLisu",bmp:"\ua4d0-\ua4ff"},{name:"InLow_Surrogates",bmp:"\udc00-\udfff"},{name:"InLycian",astral:"\ud800[\ude80-\ude9f]"},{name:"InLydian",astral:"\ud802[\udd20-\udd3f]"},{name:"InMahajani",astral:"\ud804[\udd50-\udd7f]"},{name:"InMahjong_Tiles",astral:"\ud83c[\udc00-\udc2f]"},{name:"InMalayalam",bmp:"\u0d00-\u0d7f"},{name:"InMandaic",bmp:"\u0840-\u085f"},{name:"InManichaean",astral:"\ud802[\udec0-\udeff]"}, -{name:"InMarchen",astral:"\ud807[\udc70-\udcbf]"},{name:"InMathematical_Alphanumeric_Symbols",astral:"\ud835[\udc00-\udfff]"},{name:"InMathematical_Operators",bmp:"\u2200-\u22ff"},{name:"InMeetei_Mayek",bmp:"\uabc0-\uabff"},{name:"InMeetei_Mayek_Extensions",bmp:"\uaae0-\uaaff"},{name:"InMende_Kikakui",astral:"\ud83a[\udc00-\udcdf]"},{name:"InMeroitic_Cursive",astral:"\ud802[\udda0-\uddff]"},{name:"InMeroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"InMiao",astral:"\ud81b[\udf00-\udf9f]"}, -{name:"InMiscellaneous_Mathematical_Symbols_A",bmp:"\u27c0-\u27ef"},{name:"InMiscellaneous_Mathematical_Symbols_B",bmp:"\u2980-\u29ff"},{name:"InMiscellaneous_Symbols",bmp:"\u2600-\u26ff"},{name:"InMiscellaneous_Symbols_and_Arrows",bmp:"\u2b00-\u2bff"},{name:"InMiscellaneous_Symbols_and_Pictographs",astral:"\ud83c[\udf00-\udfff]|\ud83d[\udc00-\uddff]"},{name:"InMiscellaneous_Technical",bmp:"\u2300-\u23ff"},{name:"InModi",astral:"\ud805[\ude00-\ude5f]"},{name:"InModifier_Tone_Letters",bmp:"\ua700-\ua71f"}, -{name:"InMongolian",bmp:"\u1800-\u18af"},{name:"InMongolian_Supplement",astral:"\ud805[\ude60-\ude7f]"},{name:"InMro",astral:"\ud81a[\ude40-\ude6f]"},{name:"InMultani",astral:"\ud804[\ude80-\udeaf]"},{name:"InMusical_Symbols",astral:"\ud834[\udd00-\uddff]"},{name:"InMyanmar",bmp:"\u1000-\u109f"},{name:"InMyanmar_Extended_A",bmp:"\uaa60-\uaa7f"},{name:"InMyanmar_Extended_B",bmp:"\ua9e0-\ua9ff"},{name:"InNKo",bmp:"\u07c0-\u07ff"},{name:"InNabataean",astral:"\ud802[\udc80-\udcaf]"},{name:"InNew_Tai_Lue", -bmp:"\u1980-\u19df"},{name:"InNewa",astral:"\ud805[\udc00-\udc7f]"},{name:"InNumber_Forms",bmp:"\u2150-\u218f"},{name:"InOgham",bmp:"\u1680-\u169f"},{name:"InOl_Chiki",bmp:"\u1c50-\u1c7f"},{name:"InOld_Hungarian",astral:"\ud803[\udc80-\udcff]"},{name:"InOld_Italic",astral:"\ud800[\udf00-\udf2f]"},{name:"InOld_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"InOld_Permic",astral:"\ud800[\udf50-\udf7f]"},{name:"InOld_Persian",astral:"\ud800[\udfa0-\udfdf]"},{name:"InOld_South_Arabian",astral:"\ud802[\ude60-\ude7f]"}, -{name:"InOld_Turkic",astral:"\ud803[\udc00-\udc4f]"},{name:"InOptical_Character_Recognition",bmp:"\u2440-\u245f"},{name:"InOriya",bmp:"\u0b00-\u0b7f"},{name:"InOrnamental_Dingbats",astral:"\ud83d[\ude50-\ude7f]"},{name:"InOsage",astral:"\ud801[\udcb0-\udcff]"},{name:"InOsmanya",astral:"\ud801[\udc80-\udcaf]"},{name:"InPahawh_Hmong",astral:"\ud81a[\udf00-\udf8f]"},{name:"InPalmyrene",astral:"\ud802[\udc60-\udc7f]"},{name:"InPau_Cin_Hau",astral:"\ud806[\udec0-\udeff]"},{name:"InPhags_pa",bmp:"\ua840-\ua87f"}, -{name:"InPhaistos_Disc",astral:"\ud800[\uddd0-\uddff]"},{name:"InPhoenician",astral:"\ud802[\udd00-\udd1f]"},{name:"InPhonetic_Extensions",bmp:"\u1d00-\u1d7f"},{name:"InPhonetic_Extensions_Supplement",bmp:"\u1d80-\u1dbf"},{name:"InPlaying_Cards",astral:"\ud83c[\udca0-\udcff]"},{name:"InPrivate_Use_Area",bmp:"\ue000-\uf8ff"},{name:"InPsalter_Pahlavi",astral:"\ud802[\udf80-\udfaf]"},{name:"InRejang",bmp:"\ua930-\ua95f"},{name:"InRumi_Numeral_Symbols",astral:"\ud803[\ude60-\ude7f]"},{name:"InRunic", -bmp:"\u16a0-\u16ff"},{name:"InSamaritan",bmp:"\u0800-\u083f"},{name:"InSaurashtra",bmp:"\ua880-\ua8df"},{name:"InSharada",astral:"\ud804[\udd80-\udddf]"},{name:"InShavian",astral:"\ud801[\udc50-\udc7f]"},{name:"InShorthand_Format_Controls",astral:"\ud82f[\udca0-\udcaf]"},{name:"InSiddham",astral:"\ud805[\udd80-\uddff]"},{name:"InSinhala",bmp:"\u0d80-\u0dff"},{name:"InSinhala_Archaic_Numbers",astral:"\ud804[\udde0-\uddff]"},{name:"InSmall_Form_Variants",bmp:"\ufe50-\ufe6f"},{name:"InSora_Sompeng", -astral:"\ud804[\udcd0-\udcff]"},{name:"InSpacing_Modifier_Letters",bmp:"\u02b0-\u02ff"},{name:"InSpecials",bmp:"\ufff0-\uffff"},{name:"InSundanese",bmp:"\u1b80-\u1bbf"},{name:"InSundanese_Supplement",bmp:"\u1cc0-\u1ccf"},{name:"InSuperscripts_and_Subscripts",bmp:"\u2070-\u209f"},{name:"InSupplemental_Arrows_A",bmp:"\u27f0-\u27ff"},{name:"InSupplemental_Arrows_B",bmp:"\u2900-\u297f"},{name:"InSupplemental_Arrows_C",astral:"\ud83e[\udc00-\udcff]"},{name:"InSupplemental_Mathematical_Operators",bmp:"\u2a00-\u2aff"}, -{name:"InSupplemental_Punctuation",bmp:"\u2e00-\u2e7f"},{name:"InSupplemental_Symbols_and_Pictographs",astral:"\ud83e[\udd00-\uddff]"},{name:"InSupplementary_Private_Use_Area_A",astral:"[\udb80-\udbbf][\udc00-\udfff]"},{name:"InSupplementary_Private_Use_Area_B",astral:"[\udbc0-\udbff][\udc00-\udfff]"},{name:"InSutton_SignWriting",astral:"\ud836[\udc00-\udeaf]"},{name:"InSyloti_Nagri",bmp:"\ua800-\ua82f"},{name:"InSyriac",bmp:"\u0700-\u074f"},{name:"InTagalog",bmp:"\u1700-\u171f"},{name:"InTagbanwa", -bmp:"\u1760-\u177f"},{name:"InTags",astral:"\udb40[\udc00-\udc7f]"},{name:"InTai_Le",bmp:"\u1950-\u197f"},{name:"InTai_Tham",bmp:"\u1a20-\u1aaf"},{name:"InTai_Viet",bmp:"\uaa80-\uaadf"},{name:"InTai_Xuan_Jing_Symbols",astral:"\ud834[\udf00-\udf5f]"},{name:"InTakri",astral:"\ud805[\ude80-\udecf]"},{name:"InTamil",bmp:"\u0b80-\u0bff"},{name:"InTangut",astral:"[\ud81c-\ud821][\udc00-\udfff]"},{name:"InTangut_Components",astral:"\ud822[\udc00-\udeff]"},{name:"InTelugu",bmp:"\u0c00-\u0c7f"},{name:"InThaana", -bmp:"\u0780-\u07bf"},{name:"InThai",bmp:"\u0e00-\u0e7f"},{name:"InTibetan",bmp:"\u0f00-\u0fff"},{name:"InTifinagh",bmp:"\u2d30-\u2d7f"},{name:"InTirhuta",astral:"\ud805[\udc80-\udcdf]"},{name:"InTransport_and_Map_Symbols",astral:"\ud83d[\ude80-\udeff]"},{name:"InUgaritic",astral:"\ud800[\udf80-\udf9f]"},{name:"InUnified_Canadian_Aboriginal_Syllabics",bmp:"\u1400-\u167f"},{name:"InUnified_Canadian_Aboriginal_Syllabics_Extended",bmp:"\u18b0-\u18ff"},{name:"InVai",bmp:"\ua500-\ua63f"},{name:"InVariation_Selectors", -bmp:"\ufe00-\ufe0f"},{name:"InVariation_Selectors_Supplement",astral:"\udb40[\udd00-\uddef]"},{name:"InVedic_Extensions",bmp:"\u1cd0-\u1cff"},{name:"InVertical_Forms",bmp:"\ufe10-\ufe1f"},{name:"InWarang_Citi",astral:"\ud806[\udca0-\udcff]"},{name:"InYi_Radicals",bmp:"\ua490-\ua4cf"},{name:"InYi_Syllables",bmp:"\ua000-\ua48f"},{name:"InYijing_Hexagram_Symbols",bmp:"\u4dc0-\u4dff"}])}},{}],5:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories"); -c.addUnicodeData([{name:"C",alias:"Other",isBmpLast:!0,bmp:"\x00-\u001f\u007f-\u009f\u00ad\u0378\u0379\u0380-\u0383\u038b\u038d\u03a2\u0530\u0557\u0558\u0560\u0588\u058b\u058c\u0590\u05c8-\u05cf\u05eb-\u05ef\u05f5-\u0605\u061c\u061d\u06dd\u070e\u070f\u074b\u074c\u07b2-\u07bf\u07fb-\u07ff\u082e\u082f\u083f\u085c\u085d\u085f-\u089f\u08b5\u08be-\u08d3\u08e2\u0984\u098d\u098e\u0991\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba\u09bb\u09c5\u09c6\u09c9\u09ca\u09cf-\u09d6\u09d8-\u09db\u09de\u09e4\u09e5\u09fc-\u0a00\u0a04\u0a0b-\u0a0e\u0a11\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a\u0a3b\u0a3d\u0a43-\u0a46\u0a49\u0a4a\u0a4e-\u0a50\u0a52-\u0a58\u0a5d\u0a5f-\u0a65\u0a76-\u0a80\u0a84\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba\u0abb\u0ac6\u0aca\u0ace\u0acf\u0ad1-\u0adf\u0ae4\u0ae5\u0af2-\u0af8\u0afa-\u0b00\u0b04\u0b0d\u0b0e\u0b11\u0b12\u0b29\u0b31\u0b34\u0b3a\u0b3b\u0b45\u0b46\u0b49\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b64\u0b65\u0b78-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce\u0bcf\u0bd1-\u0bd6\u0bd8-\u0be5\u0bfb-\u0bff\u0c04\u0c0d\u0c11\u0c29\u0c3a-\u0c3c\u0c45\u0c49\u0c4e-\u0c54\u0c57\u0c5b-\u0c5f\u0c64\u0c65\u0c70-\u0c77\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba\u0cbb\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce4\u0ce5\u0cf0\u0cf3-\u0d00\u0d04\u0d0d\u0d11\u0d3b\u0d3c\u0d45\u0d49\u0d50-\u0d53\u0d64\u0d65\u0d80\u0d81\u0d84\u0d97-\u0d99\u0db2\u0dbc\u0dbe\u0dbf\u0dc7-\u0dc9\u0dcb-\u0dce\u0dd5\u0dd7\u0de0-\u0de5\u0df0\u0df1\u0df5-\u0e00\u0e3b-\u0e3e\u0e5c-\u0e80\u0e83\u0e85\u0e86\u0e89\u0e8b\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8\u0ea9\u0eac\u0eba\u0ebe\u0ebf\u0ec5\u0ec7\u0ece\u0ecf\u0eda\u0edb\u0ee0-\u0eff\u0f48\u0f6d-\u0f70\u0f98\u0fbd\u0fcd\u0fdb-\u0fff\u10c6\u10c8-\u10cc\u10ce\u10cf\u1249\u124e\u124f\u1257\u1259\u125e\u125f\u1289\u128e\u128f\u12b1\u12b6\u12b7\u12bf\u12c1\u12c6\u12c7\u12d7\u1311\u1316\u1317\u135b\u135c\u137d-\u137f\u139a-\u139f\u13f6\u13f7\u13fe\u13ff\u169d-\u169f\u16f9-\u16ff\u170d\u1715-\u171f\u1737-\u173f\u1754-\u175f\u176d\u1771\u1774-\u177f\u17de\u17df\u17ea-\u17ef\u17fa-\u17ff\u180e\u180f\u181a-\u181f\u1878-\u187f\u18ab-\u18af\u18f6-\u18ff\u191f\u192c-\u192f\u193c-\u193f\u1941-\u1943\u196e\u196f\u1975-\u197f\u19ac-\u19af\u19ca-\u19cf\u19db-\u19dd\u1a1c\u1a1d\u1a5f\u1a7d\u1a7e\u1a8a-\u1a8f\u1a9a-\u1a9f\u1aae\u1aaf\u1abf-\u1aff\u1b4c-\u1b4f\u1b7d-\u1b7f\u1bf4-\u1bfb\u1c38-\u1c3a\u1c4a-\u1c4c\u1c89-\u1cbf\u1cc8-\u1ccf\u1cf7\u1cfa-\u1cff\u1df6-\u1dfa\u1f16\u1f17\u1f1e\u1f1f\u1f46\u1f47\u1f4e\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e\u1f7f\u1fb5\u1fc5\u1fd4\u1fd5\u1fdc\u1ff0\u1ff1\u1ff5\u1fff\u200b-\u200f\u202a-\u202e\u2060-\u206f\u2072\u2073\u208f\u209d-\u209f\u20bf-\u20cf\u20f1-\u20ff\u218c-\u218f\u23ff\u2427-\u243f\u244b-\u245f\u2b74\u2b75\u2b96\u2b97\u2bba-\u2bbc\u2bc9\u2bd2-\u2beb\u2bf0-\u2bff\u2c2f\u2c5f\u2cf4-\u2cf8\u2d26\u2d28-\u2d2c\u2d2e\u2d2f\u2d68-\u2d6e\u2d71-\u2d7e\u2d97-\u2d9f\u2da7\u2daf\u2db7\u2dbf\u2dc7\u2dcf\u2dd7\u2ddf\u2e45-\u2e7f\u2e9a\u2ef4-\u2eff\u2fd6-\u2fef\u2ffc-\u2fff\u3040\u3097\u3098\u3100-\u3104\u312e-\u3130\u318f\u31bb-\u31bf\u31e4-\u31ef\u321f\u32ff\u4db6-\u4dbf\u9fd6-\u9fff\ua48d-\ua48f\ua4c7-\ua4cf\ua62c-\ua63f\ua6f8-\ua6ff\ua7af\ua7b8-\ua7f6\ua82c-\ua82f\ua83a-\ua83f\ua878-\ua87f\ua8c6-\ua8cd\ua8da-\ua8df\ua8fe\ua8ff\ua954-\ua95e\ua97d-\ua97f\ua9ce\ua9da-\ua9dd\ua9ff\uaa37-\uaa3f\uaa4e\uaa4f\uaa5a\uaa5b\uaac3-\uaada\uaaf7-\uab00\uab07\uab08\uab0f\uab10\uab17-\uab1f\uab27\uab2f\uab66-\uab6f\uabee\uabef\uabfa-\uabff\ud7a4-\ud7af\ud7c7-\ud7ca\ud7fc-\uf8ff\ufa6e\ufa6f\ufada-\ufaff\ufb07-\ufb12\ufb18-\ufb1c\ufb37\ufb3d\ufb3f\ufb42\ufb45\ufbc2-\ufbd2\ufd40-\ufd4f\ufd90\ufd91\ufdc8-\ufdef\ufdfe\ufdff\ufe1a-\ufe1f\ufe53\ufe67\ufe6c-\ufe6f\ufe75\ufefd-\uff00\uffbf-\uffc1\uffc8\uffc9\uffd0\uffd1\uffd8\uffd9\uffdd-\uffdf\uffe7\uffef-\ufffb\ufffe\uffff", -astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9c-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2f\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd70-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude34-\ude37\ude3b-\ude3e\ude48-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd00-\ude5f\ude7f-\udfff]|\ud804[\udc4e-\udc51\udc70-\udc7e\udcbd\udcc2-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd44-\udd4f\udd77-\udd7f\uddce\uddcf\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf3b\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5a\udc5c\udc5e-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeb8-\udebf\udeca-\udeff\udf1a-\udf1c\udf2c-\udf2f\udf40-\udfff]|\ud806[\udc00-\udc9f\udcf3-\udcfe\udd00-\udebf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udfff]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80b\ud80e-\ud810\ud812-\ud819\ud823-\ud82b\ud82d\ud82e\ud830-\ud833\ud837\ud839\ud83f\ud874-\ud87d\ud87f-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\ude70-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\udeff\udf45-\udf4f\udf7f-\udf8e\udfa0-\udfdf\udfe1-\udfff]|\ud821[\udfed-\udfff]|\ud822[\udef3-\udfff]|\ud82c[\udc02-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\udde9-\uddff\ude46-\udeff\udf57-\udf5f\udf72-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4b-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\udd0d-\udd0f\udd2f\udd6c-\udd6f\uddad-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\udeff]|\ud83d[\uded3-\udedf\udeed-\udeef\udef7-\udeff\udf74-\udf7f\udfd5-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae-\udd0f\udd1f\udd28-\udd2f\udd31\udd32\udd3f\udd4c-\udd4f\udd5f-\udd7f\udd92-\uddbf\uddc1-\udfff]|\ud869[\uded7-\udeff]|\ud86d[\udf35-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udfff]|\ud87e[\ude1e-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"}, -{name:"Cc",alias:"Control",bmp:"\x00-\u001f\u007f-\u009f"},{name:"Cf",alias:"Format",bmp:"\u00ad\u0600-\u0605\u061c\u06dd\u070f\u08e2\u180e\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u206f\ufeff\ufff9-\ufffb",astral:"\ud804\udcbd|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"\u0378\u0379\u0380-\u0383\u038b\u038d\u03a2\u0530\u0557\u0558\u0560\u0588\u058b\u058c\u0590\u05c8-\u05cf\u05eb-\u05ef\u05f5-\u05ff\u061d\u070e\u074b\u074c\u07b2-\u07bf\u07fb-\u07ff\u082e\u082f\u083f\u085c\u085d\u085f-\u089f\u08b5\u08be-\u08d3\u0984\u098d\u098e\u0991\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba\u09bb\u09c5\u09c6\u09c9\u09ca\u09cf-\u09d6\u09d8-\u09db\u09de\u09e4\u09e5\u09fc-\u0a00\u0a04\u0a0b-\u0a0e\u0a11\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a\u0a3b\u0a3d\u0a43-\u0a46\u0a49\u0a4a\u0a4e-\u0a50\u0a52-\u0a58\u0a5d\u0a5f-\u0a65\u0a76-\u0a80\u0a84\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba\u0abb\u0ac6\u0aca\u0ace\u0acf\u0ad1-\u0adf\u0ae4\u0ae5\u0af2-\u0af8\u0afa-\u0b00\u0b04\u0b0d\u0b0e\u0b11\u0b12\u0b29\u0b31\u0b34\u0b3a\u0b3b\u0b45\u0b46\u0b49\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b64\u0b65\u0b78-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce\u0bcf\u0bd1-\u0bd6\u0bd8-\u0be5\u0bfb-\u0bff\u0c04\u0c0d\u0c11\u0c29\u0c3a-\u0c3c\u0c45\u0c49\u0c4e-\u0c54\u0c57\u0c5b-\u0c5f\u0c64\u0c65\u0c70-\u0c77\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba\u0cbb\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce4\u0ce5\u0cf0\u0cf3-\u0d00\u0d04\u0d0d\u0d11\u0d3b\u0d3c\u0d45\u0d49\u0d50-\u0d53\u0d64\u0d65\u0d80\u0d81\u0d84\u0d97-\u0d99\u0db2\u0dbc\u0dbe\u0dbf\u0dc7-\u0dc9\u0dcb-\u0dce\u0dd5\u0dd7\u0de0-\u0de5\u0df0\u0df1\u0df5-\u0e00\u0e3b-\u0e3e\u0e5c-\u0e80\u0e83\u0e85\u0e86\u0e89\u0e8b\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8\u0ea9\u0eac\u0eba\u0ebe\u0ebf\u0ec5\u0ec7\u0ece\u0ecf\u0eda\u0edb\u0ee0-\u0eff\u0f48\u0f6d-\u0f70\u0f98\u0fbd\u0fcd\u0fdb-\u0fff\u10c6\u10c8-\u10cc\u10ce\u10cf\u1249\u124e\u124f\u1257\u1259\u125e\u125f\u1289\u128e\u128f\u12b1\u12b6\u12b7\u12bf\u12c1\u12c6\u12c7\u12d7\u1311\u1316\u1317\u135b\u135c\u137d-\u137f\u139a-\u139f\u13f6\u13f7\u13fe\u13ff\u169d-\u169f\u16f9-\u16ff\u170d\u1715-\u171f\u1737-\u173f\u1754-\u175f\u176d\u1771\u1774-\u177f\u17de\u17df\u17ea-\u17ef\u17fa-\u17ff\u180f\u181a-\u181f\u1878-\u187f\u18ab-\u18af\u18f6-\u18ff\u191f\u192c-\u192f\u193c-\u193f\u1941-\u1943\u196e\u196f\u1975-\u197f\u19ac-\u19af\u19ca-\u19cf\u19db-\u19dd\u1a1c\u1a1d\u1a5f\u1a7d\u1a7e\u1a8a-\u1a8f\u1a9a-\u1a9f\u1aae\u1aaf\u1abf-\u1aff\u1b4c-\u1b4f\u1b7d-\u1b7f\u1bf4-\u1bfb\u1c38-\u1c3a\u1c4a-\u1c4c\u1c89-\u1cbf\u1cc8-\u1ccf\u1cf7\u1cfa-\u1cff\u1df6-\u1dfa\u1f16\u1f17\u1f1e\u1f1f\u1f46\u1f47\u1f4e\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e\u1f7f\u1fb5\u1fc5\u1fd4\u1fd5\u1fdc\u1ff0\u1ff1\u1ff5\u1fff\u2065\u2072\u2073\u208f\u209d-\u209f\u20bf-\u20cf\u20f1-\u20ff\u218c-\u218f\u23ff\u2427-\u243f\u244b-\u245f\u2b74\u2b75\u2b96\u2b97\u2bba-\u2bbc\u2bc9\u2bd2-\u2beb\u2bf0-\u2bff\u2c2f\u2c5f\u2cf4-\u2cf8\u2d26\u2d28-\u2d2c\u2d2e\u2d2f\u2d68-\u2d6e\u2d71-\u2d7e\u2d97-\u2d9f\u2da7\u2daf\u2db7\u2dbf\u2dc7\u2dcf\u2dd7\u2ddf\u2e45-\u2e7f\u2e9a\u2ef4-\u2eff\u2fd6-\u2fef\u2ffc-\u2fff\u3040\u3097\u3098\u3100-\u3104\u312e-\u3130\u318f\u31bb-\u31bf\u31e4-\u31ef\u321f\u32ff\u4db6-\u4dbf\u9fd6-\u9fff\ua48d-\ua48f\ua4c7-\ua4cf\ua62c-\ua63f\ua6f8-\ua6ff\ua7af\ua7b8-\ua7f6\ua82c-\ua82f\ua83a-\ua83f\ua878-\ua87f\ua8c6-\ua8cd\ua8da-\ua8df\ua8fe\ua8ff\ua954-\ua95e\ua97d-\ua97f\ua9ce\ua9da-\ua9dd\ua9ff\uaa37-\uaa3f\uaa4e\uaa4f\uaa5a\uaa5b\uaac3-\uaada\uaaf7-\uab00\uab07\uab08\uab0f\uab10\uab17-\uab1f\uab27\uab2f\uab66-\uab6f\uabee\uabef\uabfa-\uabff\ud7a4-\ud7af\ud7c7-\ud7ca\ud7fc-\ud7ff\ufa6e\ufa6f\ufada-\ufaff\ufb07-\ufb12\ufb18-\ufb1c\ufb37\ufb3d\ufb3f\ufb42\ufb45\ufbc2-\ufbd2\ufd40-\ufd4f\ufd90\ufd91\ufdc8-\ufdef\ufdfe\ufdff\ufe1a-\ufe1f\ufe53\ufe67\ufe6c-\ufe6f\ufe75\ufefd\ufefe\uff00\uffbf-\uffc1\uffc8\uffc9\uffd0\uffd1\uffd8\uffd9\uffdd-\uffdf\uffe7\uffef-\ufff8\ufffe\uffff", -astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9c-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2f\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd70-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude34-\ude37\ude3b-\ude3e\ude48-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd00-\ude5f\ude7f-\udfff]|\ud804[\udc4e-\udc51\udc70-\udc7e\udcc2-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd44-\udd4f\udd77-\udd7f\uddce\uddcf\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf3b\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5a\udc5c\udc5e-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeb8-\udebf\udeca-\udeff\udf1a-\udf1c\udf2c-\udf2f\udf40-\udfff]|\ud806[\udc00-\udc9f\udcf3-\udcfe\udd00-\udebf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udfff]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80b\ud80e-\ud810\ud812-\ud819\ud823-\ud82b\ud82d\ud82e\ud830-\ud833\ud837\ud839\ud83f\ud874-\ud87d\ud87f-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\ude70-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\udeff\udf45-\udf4f\udf7f-\udf8e\udfa0-\udfdf\udfe1-\udfff]|\ud821[\udfed-\udfff]|\ud822[\udef3-\udfff]|\ud82c[\udc02-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udde9-\uddff\ude46-\udeff\udf57-\udf5f\udf72-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4b-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\udd0d-\udd0f\udd2f\udd6c-\udd6f\uddad-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\udeff]|\ud83d[\uded3-\udedf\udeed-\udeef\udef7-\udeff\udf74-\udf7f\udfd5-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae-\udd0f\udd1f\udd28-\udd2f\udd31\udd32\udd3f\udd4c-\udd4f\udd5f-\udd7f\udd92-\uddbf\uddc1-\udfff]|\ud869[\uded7-\udeff]|\ud86d[\udf35-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udfff]|\ud87e[\ude1e-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"}, -{name:"Co",alias:"Private_Use",bmp:"\ue000-\uf8ff",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-z\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16f1-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u1884\u1887-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6e5\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc", -astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf30-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude33\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udf00-\udf19]|\ud806[\udca0-\udcdf\udcff\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|[\ud80c\ud81c-\ud820\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf44\udf50\udf93-\udf9f\udfe0]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]|\ud82c[\udc00\udc01]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud83a[\udc00-\udcc4\udd00-\udd43]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Ll",alias:"Lowercase_Letter",bmp:"a-z\u00b5\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02af\u0371\u0373\u0377\u037b-\u037d\u0390\u03ac-\u03ce\u03d0\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0529\u052b\u052d\u052f\u0561-\u0587\u13f8-\u13fd\u1c80-\u1c88\u1d00-\u1d2b\u1d6b-\u1d77\u1d79-\u1d9a\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6\u1fc7\u1fd0-\u1fd3\u1fd6\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6\u1ff7\u210a\u210e\u210f\u2113\u212f\u2134\u2139\u213c\u213d\u2146-\u2149\u214e\u2184\u2c30-\u2c5e\u2c61\u2c65\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73\u2c74\u2c76-\u2c7b\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua699\ua69b\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f\ua771-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793-\ua795\ua797\ua799\ua79b\ua79d\ua79f\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7b5\ua7b7\ua7fa\uab30-\uab5a\uab60-\uab65\uab70-\uabbf\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a", -astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter", -bmp:"\u02b0-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0374\u037a\u0559\u0640\u06e5\u06e6\u07f4\u07f5\u07fa\u081a\u0824\u0828\u0971\u0e46\u0ec6\u10fc\u17d7\u1843\u1aa7\u1c78-\u1c7d\u1d2c-\u1d6a\u1d78\u1d9b-\u1dbf\u2071\u207f\u2090-\u209c\u2c7c\u2c7d\u2d6f\u2e2f\u3005\u3031-\u3035\u303b\u309d\u309e\u30fc-\u30fe\ua015\ua4f8-\ua4fd\ua60c\ua67f\ua69c\ua69d\ua717-\ua71f\ua770\ua788\ua7f8\ua7f9\ua9cf\ua9e6\uaa70\uaadd\uaaf3\uaaf4\uab5c-\uab5f\uff70\uff9e\uff9f",astral:"\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0]"}, -{name:"Lo",alias:"Other_Letter",bmp:"\u00aa\u00ba\u01bb\u01c0-\u01c3\u0294\u05d0-\u05ea\u05f0-\u05f2\u0620-\u063f\u0641-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u0800-\u0815\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e45\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10d0-\u10fa\u10fd-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16f1-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17dc\u1820-\u1842\u1844-\u1877\u1880-\u1884\u1887-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c77\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u2135-\u2138\u2d30-\u2d67\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3006\u303c\u3041-\u3096\u309f\u30a1-\u30fa\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua014\ua016-\ua48c\ua4d0-\ua4f7\ua500-\ua60b\ua610-\ua61f\ua62a\ua62b\ua66e\ua6a0-\ua6e5\ua78f\ua7f7\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9e0-\ua9e4\ua9e7-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa6f\uaa71-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb\uaadc\uaae0-\uaaea\uaaf2\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff66-\uff6f\uff71-\uff9d\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc", -astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf30-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude33\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udf00-\udf19]|\ud806[\udcff\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|[\ud80c\ud81c-\ud820\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf44\udf50]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]|\ud82c[\udc00\udc01]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Lt",alias:"Titlecase_Letter",bmp:"\u01c5\u01c8\u01cb\u01f2\u1f88-\u1f8f\u1f98-\u1f9f\u1fa8-\u1faf\u1fbc\u1fcc\u1ffc"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u0179\u017b\u017d\u0181\u0182\u0184\u0186\u0187\u0189-\u018b\u018e-\u0191\u0193\u0194\u0196-\u0198\u019c\u019d\u019f\u01a0\u01a2\u01a4\u01a6\u01a7\u01a9\u01ac\u01ae\u01af\u01b1-\u01b3\u01b5\u01b7\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a\u023b\u023d\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u037f\u0386\u0388-\u038a\u038c\u038e\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0528\u052a\u052c\u052e\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u13a0-\u13f5\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua698\ua69a\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua796\ua798\ua79a\ua79c\ua79e\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa-\ua7ae\ua7b0-\ua7b4\ua7b6\uff21-\uff3a", -astral:"\ud801[\udc00-\udc27\udcb0-\udcd3]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M", -alias:"Mark",bmp:"\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f\u109a-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u180b-\u180d\u1885\u1886\u18a9\u1920-\u192b\u1930-\u193b\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f\u1ab0-\u1abe\u1b00-\u1b04\u1b34-\u1b44\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1be6-\u1bf3\u1c24-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u20d0-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9e5\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f", -astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud804[\udc00-\udc02\udc38-\udc46\udc7f-\udc82\udcb0-\udcba\udd00-\udd02\udd27-\udd34\udd73\udd80-\udd82\uddb3-\uddc0\uddca-\uddcc\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf51-\udf7e\udf8f-\udf92]|\ud82f[\udc9d\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"}, -{name:"Mc",alias:"Spacing_Mark",bmp:"\u0903\u093b\u093e-\u0940\u0949-\u094c\u094e\u094f\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u1a19\u1a1a\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1be7\u1bea-\u1bec\u1bee\u1bf2\u1bf3\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\u1cf3\u302e\u302f\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uaa7d\uaaeb\uaaee\uaaef\uaaf5\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec", -astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd82\uddb3-\uddb5\uddbf\uddc0\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4]|\ud81b[\udf51-\udf7e]|\ud834[\udd65\udd66\udd6d-\udd72]"}, -{name:"Me",alias:"Enclosing_Mark",bmp:"\u0488\u0489\u1abe\u20dd-\u20e0\u20e2-\u20e4\ua670-\ua672"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\u08e1\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c81\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d01\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u1885\u1886\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1bab-\u1bad\u1be6\u1be8\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u3099\u309a\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8c5\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaec\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f", -astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud804[\udc01\udc38-\udc46\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddca-\uddcc\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf8f-\udf92]|\ud82f[\udc9d\udc9e]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"}, -{name:"N",alias:"Number",bmp:"0-9\u00b2\u00b3\u00b9\u00bc-\u00be\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u09f4-\u09f9\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0b72-\u0b77\u0be6-\u0bf2\u0c66-\u0c6f\u0c78-\u0c7e\u0ce6-\u0cef\u0d58-\u0d5e\u0d66-\u0d78\u0de6-\u0def\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f33\u1040-\u1049\u1090-\u1099\u1369-\u137c\u16ee-\u16f0\u17e0-\u17e9\u17f0-\u17f9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249b\u24ea-\u24ff\u2776-\u2793\u2cfd\u3007\u3021-\u3029\u3038-\u303a\u3192-\u3195\u3220-\u3229\u3248-\u324f\u3251-\u325f\u3280-\u3289\u32b1-\u32bf\ua620-\ua629\ua6e6-\ua6ef\ua830-\ua835\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\ua9f0-\ua9f9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19", -astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude47\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2]|\ud807[\udc50-\udc6c]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udf50-\udf59\udf5b-\udf61]|\ud834[\udf60-\udf71]|\ud835[\udfce-\udfff]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83c[\udd00-\udd0c]"}, -{name:"Nd",alias:"Decimal_Number",bmp:"0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0de6-\u0def\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\ua9f0-\ua9f9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19", -astral:"\ud801[\udca0-\udca9]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9]|\ud807[\udc50-\udc59]|\ud81a[\ude60-\ude69\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud83a[\udd50-\udd59]"},{name:"Nl",alias:"Letter_Number",bmp:"\u16ee-\u16f0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303a\ua6e6-\ua6ef",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"}, -{name:"No",alias:"Other_Number",bmp:"\u00b2\u00b3\u00b9\u00bc-\u00be\u09f4-\u09f9\u0b72-\u0b77\u0bf0-\u0bf2\u0c78-\u0c7e\u0d58-\u0d5e\u0d70-\u0d78\u0f2a-\u0f33\u1369-\u137c\u17f0-\u17f9\u19da\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215f\u2189\u2460-\u249b\u24ea-\u24ff\u2776-\u2793\u2cfd\u3192-\u3195\u3220-\u3229\u3248-\u324f\u3251-\u325f\u3280-\u3289\u32b1-\u32bf\ua830-\ua835",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude47\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c]|\ud81a[\udf5b-\udf61]|\ud834[\udf60-\udf71]|\ud83a[\udcc7-\udccf]|\ud83c[\udd00-\udd0c]"}, -{name:"P",alias:"Punctuation",bmp:"!-#%-\\x2A,-/:;\\x3F@\\x5B-\\x5D_\\x7B}\u00a1\u00a7\u00ab\u00b6\u00b7\u00bb\u00bf\u037e\u0387\u055a-\u055f\u0589\u058a\u05be\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d\u07f7-\u07f9\u0830-\u083e\u085e\u0964\u0965\u0970\u0af0\u0df4\u0e4f\u0e5a\u0e5b\u0f04-\u0f12\u0f14\u0f3a-\u0f3d\u0f85\u0fd0-\u0fd4\u0fd9\u0fda\u104a-\u104f\u10fb\u1360-\u1368\u1400\u166d\u166e\u169b\u169c\u16eb-\u16ed\u1735\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u180a\u1944\u1945\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-\u1b60\u1bfc-\u1bff\u1c3b-\u1c3f\u1c7e\u1c7f\u1cc0-\u1cc7\u1cd3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205e\u207d\u207e\u208d\u208e\u2308-\u230b\u2329\u232a\u2768-\u2775\u27c5\u27c6\u27e6-\u27ef\u2983-\u2998\u29d8-\u29db\u29fc\u29fd\u2cf9-\u2cfc\u2cfe\u2cff\u2d70\u2e00-\u2e2e\u2e30-\u2e44\u3001-\u3003\u3008-\u3011\u3014-\u301f\u3030\u303d\u30a0\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua8fc\ua92e\ua92f\ua95f\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uaaf0\uaaf1\uabeb\ufd3e\ufd3f\ufe10-\ufe19\ufe30-\ufe52\ufe54-\ufe61\ufe63\ufe68\ufe6a\ufe6b\uff01-\uff03\uff05-\uff0a\uff0c-\uff0f\uff1a\uff1b\uff1f\uff20\uff3b-\uff3d\uff3f\uff5b\uff5d\uff5f-\uff65", -astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|\ud801\udd6f|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc9\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udf3c-\udf3e]|\ud807[\udc41-\udc45\udc70\udc71]|\ud809[\udc70-\udc74]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud82f\udc9f|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"}, -{name:"Pc",alias:"Connector_Punctuation",bmp:"_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\x2D\u058a\u05be\u1400\u1806\u2010-\u2015\u2e17\u2e1a\u2e3a\u2e3b\u2e40\u301c\u3030\u30a0\ufe31\ufe32\ufe58\ufe63\uff0d"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\x29\\x5D}\u0f3b\u0f3d\u169c\u2046\u207e\u208e\u2309\u230b\u232a\u2769\u276b\u276d\u276f\u2771\u2773\u2775\u27c6\u27e7\u27e9\u27eb\u27ed\u27ef\u2984\u2986\u2988\u298a\u298c\u298e\u2990\u2992\u2994\u2996\u2998\u29d9\u29db\u29fd\u2e23\u2e25\u2e27\u2e29\u3009\u300b\u300d\u300f\u3011\u3015\u3017\u3019\u301b\u301e\u301f\ufd3e\ufe18\ufe36\ufe38\ufe3a\ufe3c\ufe3e\ufe40\ufe42\ufe44\ufe48\ufe5a\ufe5c\ufe5e\uff09\uff3d\uff5d\uff60\uff63"}, -{name:"Pf",alias:"Final_Punctuation",bmp:"\u00bb\u2019\u201d\u203a\u2e03\u2e05\u2e0a\u2e0d\u2e1d\u2e21"},{name:"Pi",alias:"Initial_Punctuation",bmp:"\u00ab\u2018\u201b\u201c\u201f\u2039\u2e02\u2e04\u2e09\u2e0c\u2e1c\u2e20"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\x2A,\\x2E/:;\\x3F@\\x5C\u00a1\u00a7\u00b6\u00b7\u00bf\u037e\u0387\u055a-\u055f\u0589\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d\u07f7-\u07f9\u0830-\u083e\u085e\u0964\u0965\u0970\u0af0\u0df4\u0e4f\u0e5a\u0e5b\u0f04-\u0f12\u0f14\u0f85\u0fd0-\u0fd4\u0fd9\u0fda\u104a-\u104f\u10fb\u1360-\u1368\u166d\u166e\u16eb-\u16ed\u1735\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u1805\u1807-\u180a\u1944\u1945\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-\u1b60\u1bfc-\u1bff\u1c3b-\u1c3f\u1c7e\u1c7f\u1cc0-\u1cc7\u1cd3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203b-\u203e\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205e\u2cf9-\u2cfc\u2cfe\u2cff\u2d70\u2e00\u2e01\u2e06-\u2e08\u2e0b\u2e0e-\u2e16\u2e18\u2e19\u2e1b\u2e1e\u2e1f\u2e2a-\u2e2e\u2e30-\u2e39\u2e3c-\u2e3f\u2e41\u2e43\u2e44\u3001-\u3003\u303d\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua8fc\ua92e\ua92f\ua95f\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uaaf0\uaaf1\uabeb\ufe10-\ufe16\ufe19\ufe30\ufe45\ufe46\ufe49-\ufe4c\ufe50-\ufe52\ufe54-\ufe57\ufe5f-\ufe61\ufe68\ufe6a\ufe6b\uff01-\uff03\uff05-\uff07\uff0a\uff0c\uff0e\uff0f\uff1a\uff1b\uff1f\uff20\uff3c\uff61\uff64\uff65", -astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|\ud801\udd6f|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc9\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udf3c-\udf3e]|\ud807[\udc41-\udc45\udc70\udc71]|\ud809[\udc70-\udc74]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud82f\udc9f|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"}, -{name:"Ps",alias:"Open_Punctuation",bmp:"\\x28\\x5B\\x7B\u0f3a\u0f3c\u169b\u201a\u201e\u2045\u207d\u208d\u2308\u230a\u2329\u2768\u276a\u276c\u276e\u2770\u2772\u2774\u27c5\u27e6\u27e8\u27ea\u27ec\u27ee\u2983\u2985\u2987\u2989\u298b\u298d\u298f\u2991\u2993\u2995\u2997\u29d8\u29da\u29fc\u2e22\u2e24\u2e26\u2e28\u2e42\u3008\u300a\u300c\u300e\u3010\u3014\u3016\u3018\u301a\u301d\ufd3f\ufe17\ufe35\ufe37\ufe39\ufe3b\ufe3d\ufe3f\ufe41\ufe43\ufe47\ufe59\ufe5b\ufe5d\uff08\uff3b\uff5b\uff5f\uff62"},{name:"S", -alias:"Symbol",bmp:"\\x24\\x2B<->\\x5E`\\x7C~\u00a2-\u00a6\u00a8\u00a9\u00ac\u00ae-\u00b1\u00b4\u00b8\u00d7\u00f7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20be\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u23fe\u2400-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b98-\u2bb9\u2bbd-\u2bc8\u2bca-\u2bd1\u2bec-\u2bef\u2ce5-\u2cea\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u32fe\u3300-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd", -astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9b\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|\ud805\udf3f|\ud81a[\udf3c-\udf3f\udf45]|\ud82f\udc9c|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\udde8\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud83b[\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd10-\udd2e\udd30-\udd6b\udd70-\uddac\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\udf00-\udfff]|\ud83d[\udc00-\uded2\udee0-\udeec\udef0-\udef6\udf00-\udf73\udf80-\udfd4]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udd10-\udd1e\udd20-\udd27\udd30\udd33-\udd3e\udd40-\udd4b\udd50-\udd5e\udd80-\udd91\uddc0]"}, -{name:"Sc",alias:"Currency_Symbol",bmp:"\\x24\u00a2-\u00a5\u058f\u060b\u09f2\u09f3\u09fb\u0af1\u0bf9\u0e3f\u17db\u20a0-\u20be\ua838\ufdfc\ufe69\uff04\uffe0\uffe1\uffe5\uffe6"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\x5E`\u00a8\u00af\u00b4\u00b8\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u309b\u309c\ua700-\ua716\ua720\ua721\ua789\ua78a\uab5b\ufbb2-\ufbc1\uff3e\uff40\uffe3",astral:"\ud83c[\udffb-\udfff]"}, -{name:"Sm",alias:"Math_Symbol",bmp:"\\x2B<->\\x7C~\u00ac\u00b1\u00d7\u00f7\u03f6\u0606-\u0608\u2044\u2052\u207a-\u207c\u208a-\u208c\u2118\u2140-\u2144\u214b\u2190-\u2194\u219a\u219b\u21a0\u21a3\u21a6\u21ae\u21ce\u21cf\u21d2\u21d4\u21f4-\u22ff\u2320\u2321\u237c\u239b-\u23b3\u23dc-\u23e1\u25b7\u25c1\u25f8-\u25ff\u266f\u27c0-\u27c4\u27c7-\u27e5\u27f0-\u27ff\u2900-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2aff\u2b30-\u2b44\u2b47-\u2b4c\ufb29\ufe62\ufe64-\ufe66\uff0b\uff1c-\uff1e\uff5c\uff5e\uffe2\uffe9-\uffec", -astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"\u00a6\u00a9\u00ae\u00b0\u0482\u058d\u058e\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u09fa\u0b70\u0bf3-\u0bf8\u0bfa\u0c7f\u0d4f\u0d79\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u214a\u214c\u214d\u214f\u218a\u218b\u2195-\u2199\u219c-\u219f\u21a1\u21a2\u21a4\u21a5\u21a7-\u21ad\u21af-\u21cd\u21d0\u21d1\u21d3\u21d5-\u21f3\u2300-\u2307\u230c-\u231f\u2322-\u2328\u232b-\u237b\u237d-\u239a\u23b4-\u23db\u23e2-\u23fe\u2400-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u25b6\u25b8-\u25c0\u25c2-\u25f7\u2600-\u266e\u2670-\u2767\u2794-\u27bf\u2800-\u28ff\u2b00-\u2b2f\u2b45\u2b46\u2b4d-\u2b73\u2b76-\u2b95\u2b98-\u2bb9\u2bbd-\u2bc8\u2bca-\u2bd1\u2bec-\u2bef\u2ce5-\u2cea\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u32fe\u3300-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua828-\ua82b\ua836\ua837\ua839\uaa77-\uaa79\ufdfd\uffe4\uffe8\uffed\uffee\ufffc\ufffd", -astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9b\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|\ud805\udf3f|\ud81a[\udf3c-\udf3f\udf45]|\ud82f\udc9c|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\udde8\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd10-\udd2e\udd30-\udd6b\udd70-\uddac\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\udf00-\udffa]|\ud83d[\udc00-\uded2\udee0-\udeec\udef0-\udef6\udf00-\udf73\udf80-\udfd4]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udd10-\udd1e\udd20-\udd27\udd30\udd33-\udd3e\udd40-\udd4b\udd50-\udd5e\udd80-\udd91\uddc0]"}, -{name:"Z",alias:"Separator",bmp:" \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000"},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:" \u00a0\u1680\u2000-\u200a\u202f\u205f\u3000"}])}},{}],6:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");var d=[{name:"ASCII",bmp:"\x00-\u007f"},{name:"Alphabetic",bmp:"A-Za-z\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0345\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05b0-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0657\u0659-\u065f\u066e-\u06d3\u06d5-\u06dc\u06e1-\u06e8\u06ed-\u06ef\u06fa-\u06fc\u06ff\u0710-\u073f\u074d-\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0817\u081a-\u082c\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u08d4-\u08df\u08e3-\u08e9\u08f0-\u093b\u093d-\u094c\u094e-\u0950\u0955-\u0963\u0971-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd-\u09c4\u09c7\u09c8\u09cb\u09cc\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09f0\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3e-\u0a42\u0a47\u0a48\u0a4b\u0a4c\u0a51\u0a59-\u0a5c\u0a5e\u0a70-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd-\u0ac5\u0ac7-\u0ac9\u0acb\u0acc\u0ad0\u0ae0-\u0ae3\u0af9\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d-\u0b44\u0b47\u0b48\u0b4b\u0b4c\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd0\u0bd7\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4c\u0c55\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccc\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0cf1\u0cf2\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4c\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e46\u0e4d\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ecd\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f71-\u0f81\u0f88-\u0f97\u0f99-\u0fbc\u1000-\u1036\u1038\u103b-\u103f\u1050-\u1062\u1065-\u1068\u106e-\u1086\u108e\u109c\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135f\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1713\u1720-\u1733\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17b3\u17b6-\u17c8\u17d7\u17dc\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u1938\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a1b\u1a20-\u1a5e\u1a61-\u1a74\u1aa7\u1b00-\u1b33\u1b35-\u1b43\u1b45-\u1b4b\u1b80-\u1ba9\u1bac-\u1baf\u1bba-\u1be5\u1be7-\u1bf1\u1c00-\u1c35\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1d00-\u1dbf\u1de7-\u1df4\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u24b6-\u24e9\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua674-\ua67b\ua67f-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua827\ua840-\ua873\ua880-\ua8c3\ua8c5\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua92a\ua930-\ua952\ua960-\ua97c\ua980-\ua9b2\ua9b4-\ua9bf\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa60-\uaa76\uaa7a\uaa7e-\uaabe\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf5\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabea\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc", -astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf30-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude33\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2]|\ud804[\udc00-\udc45\udc82-\udcb8\udcd0-\udce8\udd00-\udd32\udd50-\udd72\udd76\udd80-\uddbf\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude34\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udee8\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d-\udf44\udf47\udf48\udf4b\udf4c\udf50\udf57\udf5d-\udf63]|\ud805[\udc00-\udc41\udc43-\udc45\udc47-\udc4a\udc80-\udcc1\udcc4\udcc5\udcc7\udd80-\uddb5\uddb8-\uddbe\uddd8-\udddd\ude00-\ude3e\ude40\ude44\ude80-\udeb5\udf00-\udf19\udf1d-\udf2a]|\ud806[\udca0-\udcdf\udcff\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc3e\udc40\udc72-\udc8f\udc92-\udca7\udca9-\udcb6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|[\ud80c\ud81c-\ud820\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf36\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf44\udf50-\udf7e\udf93-\udf9f\udfe0]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]|\ud82c[\udc00\udc01]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9e]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd47]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Any",isBmpLast:!0,bmp:"\x00-\uffff",astral:"[\ud800-\udbff][\udc00-\udfff]"},{name:"Default_Ignorable_Code_Point",bmp:"\u00ad\u034f\u061c\u115f\u1160\u17b4\u17b5\u180b-\u180e\u200b-\u200f\u202a-\u202e\u2060-\u206f\u3164\ufe00-\ufe0f\ufeff\uffa0\ufff0-\ufff8",astral:"\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]"},{name:"Lowercase",bmp:"a-z\u00aa\u00b5\u00ba\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02b8\u02c0\u02c1\u02e0-\u02e4\u0345\u0371\u0373\u0377\u037a-\u037d\u0390\u03ac-\u03ce\u03d0\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0529\u052b\u052d\u052f\u0561-\u0587\u13f8-\u13fd\u1c80-\u1c88\u1d00-\u1dbf\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6\u1fc7\u1fd0-\u1fd3\u1fd6\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6\u1ff7\u2071\u207f\u2090-\u209c\u210a\u210e\u210f\u2113\u212f\u2134\u2139\u213c\u213d\u2146-\u2149\u214e\u2170-\u217f\u2184\u24d0-\u24e9\u2c30-\u2c5e\u2c61\u2c65\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73\u2c74\u2c76-\u2c7d\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua699\ua69b-\ua69d\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793-\ua795\ua797\ua799\ua79b\ua79d\ua79f\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7b5\ua7b7\ua7f8-\ua7fa\uab30-\uab5a\uab5c-\uab65\uab70-\uabbf\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a", -astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud83a[\udd22-\udd43]"},{name:"Noncharacter_Code_Point", -bmp:"\ufdd0-\ufdef\ufffe\uffff",astral:"[\ud83f\ud87f\ud8bf\ud8ff\ud93f\ud97f\ud9bf\ud9ff\uda3f\uda7f\udabf\udaff\udb3f\udb7f\udbbf\udbff][\udffe\udfff]"},{name:"Uppercase",bmp:"A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u0179\u017b\u017d\u0181\u0182\u0184\u0186\u0187\u0189-\u018b\u018e-\u0191\u0193\u0194\u0196-\u0198\u019c\u019d\u019f\u01a0\u01a2\u01a4\u01a6\u01a7\u01a9\u01ac\u01ae\u01af\u01b1-\u01b3\u01b5\u01b7\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a\u023b\u023d\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u037f\u0386\u0388-\u038a\u038c\u038e\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0528\u052a\u052c\u052e\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u13a0-\u13f5\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e\u213f\u2145\u2160-\u216f\u2183\u24b6-\u24cf\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua698\ua69a\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua796\ua798\ua79a\ua79c\ua79e\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa-\ua7ae\ua7b0-\ua7b4\ua7b6\uff21-\uff3a", -astral:"\ud801[\udc00-\udc27\udcb0-\udcd3]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]"}, -{name:"White_Space",bmp:"\t-\r \u0085\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000"}];d.push({name:"Assigned",inverseOf:"Cn"});c.addUnicodeData(d)}},{}],7:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");c.addUnicodeData([{name:"Adlam",astral:"\ud83a[\udd00-\udd4a\udd50-\udd59\udd5e\udd5f]"},{name:"Ahom",astral:"\ud805[\udf00-\udf19\udf1d-\udf2b\udf30-\udf3f]"},{name:"Anatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude46]"}, -{name:"Arabic",bmp:"\u0600-\u0604\u0606-\u060b\u060d-\u061a\u061e\u0620-\u063f\u0641-\u064a\u0656-\u066f\u0671-\u06dc\u06de-\u06ff\u0750-\u077f\u08a0-\u08b4\u08b6-\u08bd\u08d4-\u08e1\u08e3-\u08ff\ufb50-\ufbc1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfd\ufe70-\ufe74\ufe76-\ufefc",astral:"\ud803[\ude60-\ude7e]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb\udef0\udef1]"}, -{name:"Armenian",bmp:"\u0531-\u0556\u0559-\u055f\u0561-\u0587\u058a\u058d-\u058f\ufb13-\ufb17"},{name:"Avestan",astral:"\ud802[\udf00-\udf35\udf39-\udf3f]"},{name:"Balinese",bmp:"\u1b00-\u1b4b\u1b50-\u1b7c"},{name:"Bamum",bmp:"\ua6a0-\ua6f7",astral:"\ud81a[\udc00-\ude38]"},{name:"Bassa_Vah",astral:"\ud81a[\uded0-\udeed\udef0-\udef5]"},{name:"Batak",bmp:"\u1bc0-\u1bf3\u1bfc-\u1bff"},{name:"Bengali",bmp:"\u0980-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09fb"}, -{name:"Bhaiksuki",astral:"\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc45\udc50-\udc6c]"},{name:"Bopomofo",bmp:"\u02ea\u02eb\u3105-\u312d\u31a0-\u31ba"},{name:"Brahmi",astral:"\ud804[\udc00-\udc4d\udc52-\udc6f\udc7f]"},{name:"Braille",bmp:"\u2800-\u28ff"},{name:"Buginese",bmp:"\u1a00-\u1a1b\u1a1e\u1a1f"},{name:"Buhid",bmp:"\u1740-\u1753"},{name:"Canadian_Aboriginal",bmp:"\u1400-\u167f\u18b0-\u18f5"},{name:"Carian",astral:"\ud800[\udea0-\uded0]"},{name:"Caucasian_Albanian",astral:"\ud801[\udd30-\udd63\udd6f]"}, -{name:"Chakma",astral:"\ud804[\udd00-\udd34\udd36-\udd43]"},{name:"Cham",bmp:"\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaa5f"},{name:"Cherokee",bmp:"\u13a0-\u13f5\u13f8-\u13fd\uab70-\uabbf"},{name:"Common",bmp:"\x00-@\\x5B-`\\x7B-\u00a9\u00ab-\u00b9\u00bb-\u00bf\u00d7\u00f7\u02b9-\u02df\u02e5-\u02e9\u02ec-\u02ff\u0374\u037e\u0385\u0387\u0589\u0605\u060c\u061b\u061c\u061f\u0640\u06dd\u08e2\u0964\u0965\u0e3f\u0fd5-\u0fd8\u10fb\u16eb-\u16ed\u1735\u1736\u1802\u1803\u1805\u1cd3\u1ce1\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u2000-\u200b\u200e-\u2064\u2066-\u2070\u2074-\u207e\u2080-\u208e\u20a0-\u20be\u2100-\u2125\u2127-\u2129\u212c-\u2131\u2133-\u214d\u214f-\u215f\u2189-\u218b\u2190-\u23fe\u2400-\u2426\u2440-\u244a\u2460-\u27ff\u2900-\u2b73\u2b76-\u2b95\u2b98-\u2bb9\u2bbd-\u2bc8\u2bca-\u2bd1\u2bec-\u2bef\u2e00-\u2e44\u2ff0-\u2ffb\u3000-\u3004\u3006\u3008-\u3020\u3030-\u3037\u303c-\u303f\u309b\u309c\u30a0\u30fb\u30fc\u3190-\u319f\u31c0-\u31e3\u3220-\u325f\u327f-\u32cf\u3358-\u33ff\u4dc0-\u4dff\ua700-\ua721\ua788-\ua78a\ua830-\ua839\ua92e\ua9cf\uab5b\ufd3e\ufd3f\ufe10-\ufe19\ufe30-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufeff\uff01-\uff20\uff3b-\uff40\uff5b-\uff65\uff70\uff9e\uff9f\uffe0-\uffe6\uffe8-\uffee\ufff9-\ufffd", -astral:"\ud800[\udd00-\udd02\udd07-\udd33\udd37-\udd3f\udd90-\udd9b\uddd0-\uddfc\udee1-\udefb]|\ud82f[\udca0-\udca3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd66\udd6a-\udd7a\udd83\udd84\udd8c-\udda9\uddae-\udde8\udf00-\udf56\udf60-\udf71]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udfcb\udfce-\udfff]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd00-\udd0c\udd10-\udd2e\udd30-\udd6b\udd70-\uddac\udde6-\uddff\ude01\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\udf00-\udfff]|\ud83d[\udc00-\uded2\udee0-\udeec\udef0-\udef6\udf00-\udf73\udf80-\udfd4]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udd10-\udd1e\udd20-\udd27\udd30\udd33-\udd3e\udd40-\udd4b\udd50-\udd5e\udd80-\udd91\uddc0]|\udb40[\udc01\udc20-\udc7f]"}, -{name:"Coptic",bmp:"\u03e2-\u03ef\u2c80-\u2cf3\u2cf9-\u2cff"},{name:"Cuneiform",astral:"\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc70-\udc74\udc80-\udd43]"},{name:"Cypriot",astral:"\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f]"},{name:"Cyrillic",bmp:"\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f"},{name:"Deseret",astral:"\ud801[\udc00-\udc4f]"},{name:"Devanagari",bmp:"\u0900-\u0950\u0953-\u0963\u0966-\u097f\ua8e0-\ua8fd"},{name:"Duployan", -astral:"\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9c-\udc9f]"},{name:"Egyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]"},{name:"Elbasan",astral:"\ud801[\udd00-\udd27]"},{name:"Ethiopic",bmp:"\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e"}, -{name:"Georgian",bmp:"\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u10ff\u2d00-\u2d25\u2d27\u2d2d"},{name:"Glagolitic",bmp:"\u2c00-\u2c2e\u2c30-\u2c5e",astral:"\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]"},{name:"Gothic",astral:"\ud800[\udf30-\udf4a]"},{name:"Grantha",astral:"\ud804[\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3c-\udf44\udf47\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]"},{name:"Greek", -bmp:"\u0370-\u0373\u0375-\u0377\u037a-\u037d\u037f\u0384\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03e1\u03f0-\u03ff\u1d26-\u1d2a\u1d5d-\u1d61\u1d66-\u1d6a\u1dbf\u1f00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2126\uab65",astral:"\ud800[\udd40-\udd8e\udda0]|\ud834[\ude00-\ude45]"},{name:"Gujarati",bmp:"\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9"}, -{name:"Gurmukhi",bmp:"\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75"},{name:"Han",bmp:"\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u3005\u3007\u3021-\u3029\u3038-\u303b\u3400-\u4db5\u4e00-\u9fd5\uf900-\ufa6d\ufa70-\ufad9",astral:"[\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Hangul",bmp:"\u1100-\u11ff\u302e\u302f\u3131-\u318e\u3200-\u321e\u3260-\u327e\ua960-\ua97c\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"},{name:"Hanunoo",bmp:"\u1720-\u1734"},{name:"Hatran",astral:"\ud802[\udce0-\udcf2\udcf4\udcf5\udcfb-\udcff]"},{name:"Hebrew",bmp:"\u0591-\u05c7\u05d0-\u05ea\u05f0-\u05f4\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufb4f"},{name:"Hiragana",bmp:"\u3041-\u3096\u309d-\u309f",astral:"\ud82c\udc01|\ud83c\ude00"}, -{name:"Imperial_Aramaic",astral:"\ud802[\udc40-\udc55\udc57-\udc5f]"},{name:"Inherited",bmp:"\u0300-\u036f\u0485\u0486\u064b-\u0655\u0670\u0951\u0952\u1ab0-\u1abe\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u200c\u200d\u20d0-\u20f0\u302a-\u302d\u3099\u309a\ufe00-\ufe0f\ufe20-\ufe2d",astral:"\ud800[\uddfd\udee0]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad]|\udb40[\udd00-\uddef]"},{name:"Inscriptional_Pahlavi",astral:"\ud802[\udf60-\udf72\udf78-\udf7f]"}, -{name:"Inscriptional_Parthian",astral:"\ud802[\udf40-\udf55\udf58-\udf5f]"},{name:"Javanese",bmp:"\ua980-\ua9cd\ua9d0-\ua9d9\ua9de\ua9df"},{name:"Kaithi",astral:"\ud804[\udc80-\udcc1]"},{name:"Kannada",bmp:"\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2"},{name:"Katakana",bmp:"\u30a1-\u30fa\u30fd-\u30ff\u31f0-\u31ff\u32d0-\u32fe\u3300-\u3357\uff66-\uff6f\uff71-\uff9d",astral:"\ud82c\udc00"}, -{name:"Kayah_Li",bmp:"\ua900-\ua92d\ua92f"},{name:"Kharoshthi",astral:"\ud802[\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude33\ude38-\ude3a\ude3f-\ude47\ude50-\ude58]"},{name:"Khmer",bmp:"\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u19e0-\u19ff"},{name:"Khojki",astral:"\ud804[\ude00-\ude11\ude13-\ude3e]"},{name:"Khudawadi",astral:"\ud804[\udeb0-\udeea\udef0-\udef9]"},{name:"Lao",bmp:"\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf"}, -{name:"Latin",bmp:"A-Za-z\u00aa\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u02e0-\u02e4\u1d00-\u1d25\u1d2c-\u1d5c\u1d62-\u1d65\u1d6b-\u1d77\u1d79-\u1dbe\u1e00-\u1eff\u2071\u207f\u2090-\u209c\u212a\u212b\u2132\u214e\u2160-\u2188\u2c60-\u2c7f\ua722-\ua787\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua7ff\uab30-\uab5a\uab5c-\uab64\ufb00-\ufb06\uff21-\uff3a\uff41-\uff5a"},{name:"Lepcha",bmp:"\u1c00-\u1c37\u1c3b-\u1c49\u1c4d-\u1c4f"},{name:"Limbu",bmp:"\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u194f"}, -{name:"Linear_A",astral:"\ud801[\ude00-\udf36\udf40-\udf55\udf60-\udf67]"},{name:"Linear_B",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa]"},{name:"Lisu",bmp:"\ua4d0-\ua4ff"},{name:"Lycian",astral:"\ud800[\ude80-\ude9c]"},{name:"Lydian",astral:"\ud802[\udd20-\udd39\udd3f]"},{name:"Mahajani",astral:"\ud804[\udd50-\udd76]"},{name:"Malayalam",bmp:"\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f"}, -{name:"Mandaic",bmp:"\u0840-\u085b\u085e"},{name:"Manichaean",astral:"\ud802[\udec0-\udee6\udeeb-\udef6]"},{name:"Marchen",astral:"\ud807[\udc70-\udc8f\udc92-\udca7\udca9-\udcb6]"},{name:"Meetei_Mayek",bmp:"\uaae0-\uaaf6\uabc0-\uabed\uabf0-\uabf9"},{name:"Mende_Kikakui",astral:"\ud83a[\udc00-\udcc4\udcc7-\udcd6]"},{name:"Meroitic_Cursive",astral:"\ud802[\udda0-\uddb7\uddbc-\uddcf\uddd2-\uddff]"},{name:"Meroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"Miao",astral:"\ud81b[\udf00-\udf44\udf50-\udf7e\udf8f-\udf9f]"}, -{name:"Modi",astral:"\ud805[\ude00-\ude44\ude50-\ude59]"},{name:"Mongolian",bmp:"\u1800\u1801\u1804\u1806-\u180e\u1810-\u1819\u1820-\u1877\u1880-\u18aa",astral:"\ud805[\ude60-\ude6c]"},{name:"Mro",astral:"\ud81a[\ude40-\ude5e\ude60-\ude69\ude6e\ude6f]"},{name:"Multani",astral:"\ud804[\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea9]"},{name:"Myanmar",bmp:"\u1000-\u109f\ua9e0-\ua9fe\uaa60-\uaa7f"},{name:"Nabataean",astral:"\ud802[\udc80-\udc9e\udca7-\udcaf]"},{name:"New_Tai_Lue",bmp:"\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de\u19df"}, -{name:"Newa",astral:"\ud805[\udc00-\udc59\udc5b\udc5d]"},{name:"Nko",bmp:"\u07c0-\u07fa"},{name:"Ogham",bmp:"\u1680-\u169c"},{name:"Ol_Chiki",bmp:"\u1c50-\u1c7f"},{name:"Old_Hungarian",astral:"\ud803[\udc80-\udcb2\udcc0-\udcf2\udcfa-\udcff]"},{name:"Old_Italic",astral:"\ud800[\udf00-\udf23]"},{name:"Old_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"Old_Permic",astral:"\ud800[\udf50-\udf7a]"},{name:"Old_Persian",astral:"\ud800[\udfa0-\udfc3\udfc8-\udfd5]"},{name:"Old_South_Arabian",astral:"\ud802[\ude60-\ude7f]"}, -{name:"Old_Turkic",astral:"\ud803[\udc00-\udc48]"},{name:"Oriya",bmp:"\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b77"},{name:"Osage",astral:"\ud801[\udcb0-\udcd3\udcd8-\udcfb]"},{name:"Osmanya",astral:"\ud801[\udc80-\udc9d\udca0-\udca9]"},{name:"Pahawh_Hmong",astral:"\ud81a[\udf00-\udf45\udf50-\udf59\udf5b-\udf61\udf63-\udf77\udf7d-\udf8f]"},{name:"Palmyrene",astral:"\ud802[\udc60-\udc7f]"}, -{name:"Pau_Cin_Hau",astral:"\ud806[\udec0-\udef8]"},{name:"Phags_Pa",bmp:"\ua840-\ua877"},{name:"Phoenician",astral:"\ud802[\udd00-\udd1b\udd1f]"},{name:"Psalter_Pahlavi",astral:"\ud802[\udf80-\udf91\udf99-\udf9c\udfa9-\udfaf]"},{name:"Rejang",bmp:"\ua930-\ua953\ua95f"},{name:"Runic",bmp:"\u16a0-\u16ea\u16ee-\u16f8"},{name:"Samaritan",bmp:"\u0800-\u082d\u0830-\u083e"},{name:"Saurashtra",bmp:"\ua880-\ua8c5\ua8ce-\ua8d9"},{name:"Sharada",astral:"\ud804[\udd80-\uddcd\uddd0-\udddf]"},{name:"Shavian", -astral:"\ud801[\udc50-\udc7f]"},{name:"Siddham",astral:"\ud805[\udd80-\uddb5\uddb8-\udddd]"},{name:"SignWriting",astral:"\ud836[\udc00-\ude8b\ude9b-\ude9f\udea1-\udeaf]"},{name:"Sinhala",bmp:"\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4",astral:"\ud804[\udde1-\uddf4]"},{name:"Sora_Sompeng",astral:"\ud804[\udcd0-\udce8\udcf0-\udcf9]"},{name:"Sundanese",bmp:"\u1b80-\u1bbf\u1cc0-\u1cc7"},{name:"Syloti_Nagri",bmp:"\ua800-\ua82b"}, -{name:"Syriac",bmp:"\u0700-\u070d\u070f-\u074a\u074d-\u074f"},{name:"Tagalog",bmp:"\u1700-\u170c\u170e-\u1714"},{name:"Tagbanwa",bmp:"\u1760-\u176c\u176e-\u1770\u1772\u1773"},{name:"Tai_Le",bmp:"\u1950-\u196d\u1970-\u1974"},{name:"Tai_Tham",bmp:"\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad"},{name:"Tai_Viet",bmp:"\uaa80-\uaac2\uaadb-\uaadf"},{name:"Takri",astral:"\ud805[\ude80-\udeb7\udec0-\udec9]"},{name:"Tamil",bmp:"\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa"}, -{name:"Tangut",astral:"\ud81b\udfe0|[\ud81c-\ud820][\udc00-\udfff]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]"},{name:"Telugu",bmp:"\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c78-\u0c7f"},{name:"Thaana",bmp:"\u0780-\u07b1"},{name:"Thai",bmp:"\u0e01-\u0e3a\u0e40-\u0e5b"},{name:"Tibetan",bmp:"\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fd4\u0fd9\u0fda"}, -{name:"Tifinagh",bmp:"\u2d30-\u2d67\u2d6f\u2d70\u2d7f"},{name:"Tirhuta",astral:"\ud805[\udc80-\udcc7\udcd0-\udcd9]"},{name:"Ugaritic",astral:"\ud800[\udf80-\udf9d\udf9f]"},{name:"Vai",bmp:"\ua500-\ua62b"},{name:"Warang_Citi",astral:"\ud806[\udca0-\udcf2\udcff]"},{name:"Yi",bmp:"\ua000-\ua48c\ua490-\ua4c6"}])}},{}],8:[function(d,g,p){p=d("./xregexp");d("./addons/build")(p);d("./addons/matchrecursive")(p);d("./addons/unicode-base")(p);d("./addons/unicode-blocks")(p);d("./addons/unicode-categories")(p); -d("./addons/unicode-properties")(p);d("./addons/unicode-scripts")(p);g.exports=p},{"./addons/build":1,"./addons/matchrecursive":2,"./addons/unicode-base":3,"./addons/unicode-blocks":4,"./addons/unicode-categories":5,"./addons/unicode-properties":6,"./addons/unicode-scripts":7,"./xregexp":9}],9:[function(d,g,p){function c(a){var e=!0;try{RegExp("",a)}catch(u){e=!1}return e}function A(a,e,u,b,c){var J;a.xregexp={captureNames:e};if(c)return a;if(a.__proto__)a.__proto__=f.prototype;else for(J in f.prototype)a[J]= -f.prototype[J];a.xregexp.source=u;a.xregexp.flags=b?b.split("").sort().join(""):b;return a}function B(a){return n.replace.call(a,/([\s\S])(?=[\s\S]*\1)/g,"")}function z(a,e){if(!f.isRegExp(a))throw new TypeError("Type RegExp expected");var u=a.xregexp||{},b=Q?a.flags:n.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(a))[1],c="",d="",E=null,h=null;e=e||{};e.removeG&&(d+="g");e.removeY&&(d+="y");d&&(b=n.replace.call(b,new RegExp("["+d+"]+","g"),""));e.addG&&(c+="g");e.addY&&(c+="y");c&&(b=B(b+ -c));e.isInternalOnly||(void 0!==u.source&&(E=u.source),null!=u.flags&&(h=c?B(u.flags+c):u.flags));return a=A(new RegExp(e.source||a.source,b),a.xregexp&&a.xregexp.captureNames?u.captureNames.slice(0):null,E,h,e.isInternalOnly)}function l(a){return parseInt(a,16)}function b(a,e,b){(e="("===a.input.charAt(a.index-1)||")"===a.input.charAt(a.index+a[0].length))||(e=a.input,a=a.index+a[0].length,b=-1<b.indexOf("x")?["\\s","#[^#\\n]*","\\(\\?#[^)]*\\)"]:["\\(\\?#[^)]*\\)"],e=n.test.call(new RegExp("^(?:"+ -b.join("|")+")*(?:[?*+]|{\\d+(?:,\\d*)?})"),e.slice(a)));return e?"":"(?:)"}function k(a){return parseInt(a,10).toString(16)}function C(a,e){var b=a.length,c;for(c=0;c<b;++c)if(a[c]===e)return c;return-1}function y(a,e){return L.call(a)==="[object "+e+"]"}function m(a){for(;4>a.length;)a="0"+a;return a}function h(a,e){var b;if(B(e)!==e)throw new SyntaxError("Invalid duplicate regex flag "+e);a=n.replace.call(a,/^\(\?([\w$]+)\)/,function(a,b){if(n.test.call(/[gy]/,b))throw new SyntaxError("Cannot use flag g or y in mode modifier "+ -a);e=B(e+b);return""});for(b=0;b<e.length;++b)if(!N[e.charAt(b)])throw new SyntaxError("Unknown regex flag "+e.charAt(b));return{pattern:a,flags:e}}function w(a){var e={};return y(a,"String")?(f.forEach(a,/[^\s,]+/,function(a){e[a]=!0}),e):a}function x(a){if(!/^[\w$]$/.test(a))throw Error("Flag must be a single character A-Za-z0-9_$");N[a]=!0}function v(a){RegExp.prototype.exec=(a?r:n).exec;RegExp.prototype.test=(a?r:n).test;String.prototype.match=(a?r:n).match;String.prototype.replace=(a?r:n).replace; -String.prototype.split=(a?r:n).split;D.natives=a}function q(a){if(null==a)throw new TypeError("Cannot convert null or undefined to object");return a}function f(a,e){if(f.isRegExp(a)){if(void 0!==e)throw new TypeError("Cannot supply flags when copying a RegExp");return z(a)}a=void 0===a?"":String(a);e=void 0===e?"":String(e);f.isInstalled("astral")&&-1===e.indexOf("A")&&(e+="A");F[a]||(F[a]={});if(!F[a][e]){var b={hasNamedCapture:!1,captureNames:[]},c="default",d="",g=0,E=h(a,e),k=E.pattern;for(E= -E.flags;g<k.length;){do{for(var l,m=k,p=E,q=g,r=c,v=b,w=I.length,x=m.charAt(q),y=null;w--;){var t=I[w];if(!(t.leadChar&&t.leadChar!==x||t.scope!==r&&"all"!==t.scope||t.flag&&-1===p.indexOf(t.flag))&&(l=f.exec(m,t.regex,q,"sticky"))){y={matchLength:l[0].length,output:t.handler.call(v,l,r,p),reparse:t.reparse};break}}(t=y)&&t.reparse&&(k=k.slice(0,g)+t.output+k.slice(g+t.matchLength))}while(t&&t.reparse);t?(d+=t.output,g+=t.matchLength||1):(t=f.exec(k,O[c],g,"sticky")[0],d+=t,g+=t.length,"["===t&&"default"=== -c?c="class":"]"===t&&"class"===c&&(c="default"))}F[a][e]={pattern:n.replace.call(d,/(?:\(\?:\))+/g,"(?:)"),flags:n.replace.call(E,/[^gimuy]+/g,""),captures:b.hasNamedCapture?b.captureNames:null}}b=F[a][e];return A(new RegExp(b.pattern,b.flags),b.captures,a,e)}var D={astral:!1,natives:!1},n={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r={},G={},F={},I=[],O={"default":/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, -"class":/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},P=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,R=void 0===n.exec.call(/()??/,"")[1],Q=void 0!==/x/.flags,L={}.toString,M=c("u"),K=c("y"),N={g:!0,i:!0,m:!0,u:M,y:K};f.prototype=RegExp();f.version="3.2.0";f._clipDuplicates=B;f._hasNativeFlag=c;f._dec=l;f._hex=k;f._pad4=m;f.addToken=function(a,e,b){b=b||{};var c=b.optionalFlags,d;b.flag&&x(b.flag);if(c)for(c=n.split.call(c,""),d=0;d<c.length;++d)x(c[d]); -I.push({regex:z(a,{addG:!0,addY:K,isInternalOnly:!0}),handler:e,scope:b.scope||"default",flag:b.flag,reparse:b.reparse,leadChar:b.leadChar});f.cache.flush("patterns")};f.cache=function(a,b){G[a]||(G[a]={});return G[a][b]||(G[a][b]=f(a,b))};f.cache.flush=function(a){"patterns"===a?F={}:G={}};f.escape=function(a){return n.replace.call(q(a),/[-\[\]{}()*+?.,\\^$|#\s]/g,"\\$&")};f.exec=function(a,b,c,d){var e="g",f,u=!1;(f=K&&!!(d||b.sticky&&!1!==d))?e+="y":d&&(u=!0,e+="FakeY");b.xregexp=b.xregexp||{}; -d=b.xregexp[e]||(b.xregexp[e]=z(b,{addG:!0,addY:f,source:u?b.source+"|()":void 0,removeY:!1===d,isInternalOnly:!0}));d.lastIndex=c||0;a=r.exec.call(d,a);u&&a&&""===a.pop()&&(a=null);b.global&&(b.lastIndex=a?d.lastIndex:0);return a};f.forEach=function(a,b,c){for(var e=0,d=-1;e=f.exec(a,b,e);)c(e,++d,a,b),e=e.index+(e[0].length||1)};f.globalize=function(a){return z(a,{addG:!0})};f.install=function(a){a=w(a);!D.astral&&a.astral&&(D.astral=!0);!D.natives&&a.natives&&v(!0)};f.isInstalled=function(a){return!!D[a]}; -f.isRegExp=function(a){return"[object RegExp]"===L.call(a)};f.match=function(a,b,c){var e=b.global&&"one"!==c||"all"===c,d=(e?"g":"")+(b.sticky?"y":"")||"noGY";b.xregexp=b.xregexp||{};d=b.xregexp[d]||(b.xregexp[d]=z(b,{addG:!!e,removeG:"one"===c,isInternalOnly:!0}));a=n.match.call(q(a),d);b.global&&(b.lastIndex="one"===c&&a?a.index+a[0].length:0);return e?a||[]:a&&a[0]};f.matchChain=function(a,b){return function S(a,e){function c(a){if(d.backref){if(!(a.hasOwnProperty(d.backref)||+d.backref<a.length))throw new ReferenceError("Backreference to undefined group: "+ -d.backref);g.push(a[d.backref]||"")}else g.push(a[0])}for(var d=b[e].regex?b[e]:{regex:b[e]},g=[],h=0;h<a.length;++h)f.forEach(a[h],d.regex,c);return e!==b.length-1&&g.length?S(g,e+1):g}([a],0)};f.replace=function(a,b,c,d){var e=f.isRegExp(b),g=b.global&&"one"!==d||"all"===d,h=(g?"g":"")+(b.sticky?"y":"")||"noGY",u=b;e?(b.xregexp=b.xregexp||{},u=b.xregexp[h]||(b.xregexp[h]=z(b,{addG:!!g,removeG:"one"===d,isInternalOnly:!0}))):g&&(u=new RegExp(f.escape(String(b)),"g"));a=r.replace.call(q(a),u,c);e&& -b.global&&(b.lastIndex=0);return a};f.replaceEach=function(a,b){var c;for(c=0;c<b.length;++c){var e=b[c];a=f.replace(a,e[0],e[1],e[2])}return a};f.split=function(a,b,c){return r.split.call(q(a),b,c)};f.test=function(a,b,c,d){return!!f.exec(a,b,c,d)};f.uninstall=function(a){a=w(a);D.astral&&a.astral&&(D.astral=!1);D.natives&&a.natives&&v(!1)};f.union=function(a,b,c){function d(a,b,c){var d=m[e-u];if(b){if(++e,d)return"(?<"+d+">"}else if(c)return"\\"+(+c+u);return a}c=c||{};c=c.conjunction||"or";var e= -0;if(!y(a,"Array")||!a.length)throw new TypeError("Must provide a nonempty array of patterns to merge");for(var g=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,h=[],k,l=0;l<a.length;++l)if(k=a[l],f.isRegExp(k)){var u=e;var m=k.xregexp&&k.xregexp.captureNames||[];h.push(n.replace.call(f(k.source).source,g,d))}else h.push(f.escape(k));return f(h.join("none"===c?"":"|"),b)};r.exec=function(a){var b=this.lastIndex,c=n.exec.apply(this,arguments),d;if(c){if(!R&&1<c.length&&-1<C(c,"")){var f= -z(this,{removeG:!0,isInternalOnly:!0});n.replace.call(String(a).slice(c.index),f,function(){var a=arguments.length,b;for(b=1;b<a-2;++b)void 0===arguments[b]&&(c[b]=void 0)})}if(this.xregexp&&this.xregexp.captureNames)for(d=1;d<c.length;++d)(f=this.xregexp.captureNames[d-1])&&(c[f]=c[d]);this.global&&!c[0].length&&this.lastIndex>c.index&&(this.lastIndex=c.index)}this.global||(this.lastIndex=b);return c};r.test=function(a){return!!r.exec.call(this,a)};r.match=function(a){if(!f.isRegExp(a))a=new RegExp(a); -else if(a.global){var b=n.match.apply(this,arguments);a.lastIndex=0;return b}return r.exec.call(a,q(this))};r.replace=function(a,b){var c=f.isRegExp(a);if(c){if(a.xregexp)var d=a.xregexp.captureNames;var e=a.lastIndex}else a+="";var g=y(b,"Function")?n.replace.call(String(this),a,function(){var e=arguments,f;if(d)for(e[0]=new String(e[0]),f=0;f<d.length;++f)d[f]&&(e[0][d[f]]=e[f+1]);c&&a.global&&(a.lastIndex=e[e.length-2]+e[0].length);return b.apply(void 0,e)}):n.replace.call(null==this?this:String(this), -a,function(){var a=arguments;return n.replace.call(String(b),P,function(b,c,e){if(c){e=+c;if(e<=a.length-3)return a[e]||"";e=d?C(d,c):-1;if(0>e)throw new SyntaxError("Backreference to undefined group "+b);return a[e+1]||""}if("$"===e)return"$";if("&"===e||0===+e)return a[0];if("`"===e)return a[a.length-1].slice(0,a[a.length-2]);if("'"===e)return a[a.length-1].slice(a[a.length-2]+a[0].length);e=+e;if(!isNaN(e)){if(e>a.length-3)throw new SyntaxError("Backreference to undefined group "+b);return a[e]|| -""}throw new SyntaxError("Invalid token "+b);})});c&&(a.lastIndex=a.global?0:e);return g};r.split=function(a,b){if(!f.isRegExp(a))return n.split.apply(this,arguments);var c=String(this),d=[],e=a.lastIndex,g=0,h;b=(void 0===b?-1:b)>>>0;f.forEach(c,a,function(a){a.index+a[0].length>g&&(d.push(c.slice(g,a.index)),1<a.length&&a.index<c.length&&Array.prototype.push.apply(d,a.slice(1)),h=a[0].length,g=a.index+h)});g===c.length?(!n.test.call(a,"")||h)&&d.push(""):d.push(c.slice(g));a.lastIndex=e;return d.length> -b?d.slice(0,b):d};f.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,function(a,b){if("B"===a[1]&&"default"===b)return a[0];throw new SyntaxError("Invalid escape "+a[0]);},{scope:"all",leadChar:"\\"});f.addToken(/\\u{([\dA-Fa-f]+)}/,function(a,b,c){b=l(a[1]);if(1114111<b)throw new SyntaxError("Invalid Unicode code point "+a[0]);if(65535>=b)return"\\u"+m(k(b));if(M&&-1<c.indexOf("u"))return a[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u"); -},{scope:"all",leadChar:"\\"});f.addToken(/\[(\^?)\]/,function(a){return a[1]?"[\\s\\S]":"\\b\\B"},{leadChar:"["});f.addToken(/\(\?#[^)]*\)/,b,{leadChar:"("});f.addToken(/\s+|#[^\n]*\n?/,b,{flag:"x"});f.addToken(/\./,function(){return"[\\s\\S]"},{flag:"s",leadChar:"."});f.addToken(/\\k<([\w$]+)>/,function(a){var b=isNaN(a[1])?C(this.captureNames,a[1])+1:+a[1],c=a.index+a[0].length;if(!b||b>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+a[0]);return"\\"+b+(c===a.input.length|| -isNaN(a.input.charAt(c))?"":"(?:)")},{leadChar:"\\"});f.addToken(/\\(\d+)/,function(a,b){if(!("default"===b&&/^[1-9]/.test(a[1])&&+a[1]<=this.captureNames.length)&&"0"!==a[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+a[0]);return a[0]},{scope:"all",leadChar:"\\"});f.addToken(/\(\?P?<([\w$]+)>/,function(a){if(!isNaN(a[1]))throw new SyntaxError("Cannot use integer as capture name "+a[0]);if("length"===a[1]||"__proto__"===a[1])throw new SyntaxError("Cannot use reserved word as capture name "+ -a[0]);if(-1<C(this.captureNames,a[1]))throw new SyntaxError("Cannot use same name for multiple groups "+a[0]);this.captureNames.push(a[1]);this.hasNamedCapture=!0;return"("},{leadChar:"("});f.addToken(/\((?!\?)/,function(a,b,c){if(-1<c.indexOf("n"))return"(?:";this.captureNames.push(null);return"("},{optionalFlags:"n",leadChar:"("});g.exports=f},{}]},{},[8])(8)}); +!function(u){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=u();else if("function"==typeof define&&define.amd)define([],u);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).XRegExp=u()}}((function(){return function r(u,d,t){function o(c,i){if(!d[c]){if(!u[c]){var l="function"==typeof require&&require;if(!i&&l)return l(c,!0);if(a)return a(c,!0);var D=new Error("Cannot find module '"+c+"'");throw D.code="MODULE_NOT_FOUND",D}var p=d[c]={exports:{}};u[c][0].call(p.exports,(function(d){return o(u[c][1][d]||d)}),p,p.exports,r,u,d,t)}return d[c].exports}for(var a="function"==typeof require&&require,c=0;c<t.length;c++)o(t[c]);return o}({1:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/instance/slice"),c=u("@babel/runtime-corejs3/core-js-stable/array/from"),i=u("@babel/runtime-corejs3/core-js-stable/symbol"),l=u("@babel/runtime-corejs3/core-js/get-iterator-method"),D=u("@babel/runtime-corejs3/core-js-stable/array/is-array"),p=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),b=u("@babel/runtime-corejs3/helpers/interopRequireDefault");p(t,"__esModule",{value:!0}),t.default=void 0;var y=b(u("@babel/runtime-corejs3/helpers/slicedToArray")),m=b(u("@babel/runtime-corejs3/core-js-stable/instance/for-each")),A=b(u("@babel/runtime-corejs3/core-js-stable/instance/concat")),E=b(u("@babel/runtime-corejs3/core-js-stable/instance/index-of"));function _createForOfIteratorHelper(u,d){var t=void 0!==i&&l(u)||u["@@iterator"];if(!t){if(D(u)||(t=function _unsupportedIterableToArray(u,d){var t;if(!u)return;if("string"==typeof u)return _arrayLikeToArray(u,d);var i=a(t=Object.prototype.toString.call(u)).call(t,8,-1);"Object"===i&&u.constructor&&(i=u.constructor.name);if("Map"===i||"Set"===i)return c(u);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return _arrayLikeToArray(u,d)}(u))||d&&u&&"number"==typeof u.length){t&&(u=t);var p=0,b=function F(){};return{s:b,n:function n(){return p>=u.length?{done:!0}:{done:!1,value:u[p++]}},e:function e(u){throw u},f:b}}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 y,m=!0,A=!1;return{s:function s(){t=t.call(u)},n:function n(){var u=t.next();return m=u.done,u},e:function e(u){A=!0,y=u},f:function f(){try{m||null==t.return||t.return()}finally{if(A)throw y}}}}function _arrayLikeToArray(u,d){(null==d||d>u.length)&&(d=u.length);for(var t=0,a=new Array(d);t<d;t++)a[t]=u[t];return a} +/*! + * XRegExp Unicode Base 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2008-present MIT License + */t.default=function _default(u){var d={},t={},a=u._dec,c=u._hex,i=u._pad4;function normalize(u){return u.replace(/[- _]+/g,"").toLowerCase()}function charCode(u){var d=/^\\[xu](.+)/.exec(u);return d?a(d[1]):u.charCodeAt("\\"===u[0]?1:0)}function cacheInvertedBmp(t){return d[t]["b!"]||(d[t]["b!"]=function invertBmp(d){var t="",a=-1;return(0,m.default)(u).call(u,d,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(u){var d=charCode(u[1]);d>a+1&&(t+="\\u".concat(i(c(a+1))),d>a+2&&(t+="-\\u".concat(i(c(d-1))))),a=charCode(u[2]||u[1])})),a<65535&&(t+="\\u".concat(i(c(a+1))),a<65534&&(t+="-\\uFFFF")),t}(d[t].bmp))}function cacheAstral(u,t){var a=t?"a!":"a=";return d[u][a]||(d[u][a]=function buildAstral(u,t){var a,c,i=d[u],l="";return i.bmp&&!i.isBmpLast&&(l=(0,A.default)(a="[".concat(i.bmp,"]")).call(a,i.astral?"|":"")),i.astral&&(l+=i.astral),i.isBmpLast&&i.bmp&&(l+=(0,A.default)(c="".concat(i.astral?"|":"","[")).call(c,i.bmp,"]")),t?"(?:(?!".concat(l,")(?:[\ud800-\udbff][\udc00-\udfff]|[\0-]))"):"(?:".concat(l,")")}(u,t))}u.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,(function(u,a,c){var i="Unknown Unicode token ",l=(0,y.default)(u,6),D=l[0],p=l[1],b=l[2],m=l[3],C=l[4],g=l[5],h="P"===p||!!b,x=-1!==(0,E.default)(c).call(c,"A"),v=normalize(g||C),B=d[v];if("P"===p&&b)throw new SyntaxError("Invalid double negation "+D);if(!d.hasOwnProperty(v))throw new SyntaxError(i+D);if(m&&(!t[m]||!t[m][v]))throw new SyntaxError(i+D);if(B.inverseOf){var w;if(v=normalize(B.inverseOf),!d.hasOwnProperty(v))throw new ReferenceError((0,A.default)(w="".concat("Unicode token missing data "+D," -> ")).call(w,B.inverseOf));B=d[v],h=!h}if(!B.bmp&&!x)throw new SyntaxError("Astral mode required for Unicode token "+D);if(x){if("class"===a)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes");return cacheAstral(v,h)}return"class"===a?h?cacheInvertedBmp(v):B.bmp:"".concat((h?"[^":"[")+B.bmp,"]")}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),u.addUnicodeData=function(a,c){c&&(t[c]={});var i,l=_createForOfIteratorHelper(a);try{for(l.s();!(i=l.n()).done;){var D=i.value;if(!D.name)throw new Error("Unicode token requires name");if(!(D.inverseOf||D.bmp||D.astral))throw new Error("Unicode token has no character data "+D.name);var p=normalize(D.name);if(d[p]=D,c&&(t[c][p]=!0),D.alias){var b=normalize(D.alias);d[b]=D,c&&(t[c][b]=!0)}}}catch(u){l.e(u)}finally{l.f()}u.cache.flush("patterns")},u._getUnicodeProperty=function(u){var t=normalize(u);return d[t]}},d.exports=t.default},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],2:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),c=u("@babel/runtime-corejs3/helpers/interopRequireDefault");a(t,"__esModule",{value:!0}),t.default=void 0;var i=c(u("../../tools/output/categories")); +/*! + * XRegExp Unicode Categories 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2010-present MIT License + * Unicode data by Mathias Bynens <mathiasbynens.be> + */t.default=function _default(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");u.addUnicodeData(i.default)},d.exports=t.default},{"../../tools/output/categories":222,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],3:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),c=u("@babel/runtime-corejs3/helpers/interopRequireDefault");a(t,"__esModule",{value:!0}),t.default=void 0;var i=c(u("./xregexp")),l=c(u("./addons/unicode-base")),D=c(u("./addons/unicode-categories"));(0,l.default)(i.default),(0,D.default)(i.default);var p=i.default;t.default=p,d.exports=t.default},{"./addons/unicode-base":1,"./addons/unicode-categories":2,"./xregexp":4,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],4:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/instance/slice"),c=u("@babel/runtime-corejs3/core-js-stable/array/from"),i=u("@babel/runtime-corejs3/core-js-stable/symbol"),l=u("@babel/runtime-corejs3/core-js/get-iterator-method"),D=u("@babel/runtime-corejs3/core-js-stable/array/is-array"),p=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),b=u("@babel/runtime-corejs3/helpers/interopRequireDefault");p(t,"__esModule",{value:!0}),t.default=void 0;var y=b(u("@babel/runtime-corejs3/helpers/slicedToArray")),m=b(u("@babel/runtime-corejs3/core-js-stable/instance/flags")),A=b(u("@babel/runtime-corejs3/core-js-stable/instance/sort")),E=b(u("@babel/runtime-corejs3/core-js-stable/instance/slice")),C=b(u("@babel/runtime-corejs3/core-js-stable/parse-int")),g=b(u("@babel/runtime-corejs3/core-js-stable/instance/index-of")),h=b(u("@babel/runtime-corejs3/core-js-stable/instance/for-each")),x=b(u("@babel/runtime-corejs3/core-js-stable/object/create")),v=b(u("@babel/runtime-corejs3/core-js-stable/instance/concat"));function _createForOfIteratorHelper(u,d){var t=void 0!==i&&l(u)||u["@@iterator"];if(!t){if(D(u)||(t=function _unsupportedIterableToArray(u,d){var t;if(!u)return;if("string"==typeof u)return _arrayLikeToArray(u,d);var i=a(t=Object.prototype.toString.call(u)).call(t,8,-1);"Object"===i&&u.constructor&&(i=u.constructor.name);if("Map"===i||"Set"===i)return c(u);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return _arrayLikeToArray(u,d)}(u))||d&&u&&"number"==typeof u.length){t&&(u=t);var p=0,b=function F(){};return{s:b,n:function n(){return p>=u.length?{done:!0}:{done:!1,value:u[p++]}},e:function e(u){throw u},f:b}}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 y,m=!0,A=!1;return{s:function s(){t=t.call(u)},n:function n(){var u=t.next();return m=u.done,u},e:function e(u){A=!0,y=u},f:function f(){try{m||null==t.return||t.return()}finally{if(A)throw y}}}}function _arrayLikeToArray(u,d){(null==d||d>u.length)&&(d=u.length);for(var t=0,a=new Array(d);t<d;t++)a[t]=u[t];return a} +/*! + * XRegExp 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2007-present MIT License + */var B={astral:!1,namespacing:!0},w={},j={},k={},S=[],O="default",R="class",_={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},T=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,I=void 0===/()??/.exec("")[1],P=void 0!==(0,m.default)(/x/);function hasNativeFlag(u){var d=!0;try{if(new RegExp("",u),"y"===u){".."===".a".replace(new RegExp("a","gy"),".")&&(d=!1)}}catch(u){d=!1}return d}var X=hasNativeFlag("d"),L=hasNativeFlag("s"),N=hasNativeFlag("u"),M=hasNativeFlag("y"),U={d:X,g:!0,i:!0,m:!0,s:L,u:N,y:M},G=L?/[^dgimsuy]+/g:/[^dgimuy]+/g;function augment(u,d,t,a,c){var i;if(u.xregexp={captureNames:d},c)return u;if(u.__proto__)u.__proto__=XRegExp.prototype;else for(var l in XRegExp.prototype)u[l]=XRegExp.prototype[l];return u.xregexp.source=t,u.xregexp.flags=a?(0,A.default)(i=a.split("")).call(i).join(""):a,u}function clipDuplicates(u){return u.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(u,d){var t;if(!XRegExp.isRegExp(u))throw new TypeError("Type RegExp expected");var a=u.xregexp||{},c=function getNativeFlags(u){return P?(0,m.default)(u):/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(u))[1]}(u),i="",l="",D=null,p=null;return(d=d||{}).removeG&&(l+="g"),d.removeY&&(l+="y"),l&&(c=c.replace(new RegExp("[".concat(l,"]+"),"g"),"")),d.addG&&(i+="g"),d.addY&&(i+="y"),i&&(c=clipDuplicates(c+i)),d.isInternalOnly||(void 0!==a.source&&(D=a.source),null!=(0,m.default)(a)&&(p=i?clipDuplicates((0,m.default)(a)+i):(0,m.default)(a))),u=augment(new RegExp(d.source||u.source,c),function hasNamedCapture(u){return!(!u.xregexp||!u.xregexp.captureNames)}(u)?(0,E.default)(t=a.captureNames).call(t,0):null,D,p,d.isInternalOnly)}function dec(u){return(0,C.default)(u,16)}function getContextualTokenSeparator(u,d,t){var a=u.index+u[0].length,c=u.input[u.index-1],i=u.input[a];return/^[()|]$/.test(c)||/^[()|]$/.test(i)||0===u.index||a===u.input.length||/\(\?(?:[:=!]|<[=!])$/.test(u.input.substring(u.index-4,u.index))||function isQuantifierNext(u,d,t){return(-1!==(0,g.default)(t).call(t,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/).test((0,E.default)(u).call(u,d))}(u.input,a,t)?"":"(?:)"}function hex(u){return(0,C.default)(u,10).toString(16)}function isType(u,d){return Object.prototype.toString.call(u)==="[object ".concat(d,"]")}function nullThrows(u){if(null==u)throw new TypeError("Cannot convert null or undefined to object");return u}function pad4(u){for(;u.length<4;)u="0".concat(u);return u}function prepareOptions(u){var d={};return isType(u,"String")?((0,h.default)(XRegExp).call(XRegExp,u,/[^\s,]+/,(function(u){d[u]=!0})),d):u}function registerFlag(u){if(!/^[\w$]$/.test(u))throw new Error("Flag must be a single character A-Za-z0-9_$");U[u]=!0}function runTokens(u,d,t,a,c){for(var i,l,D=S.length,p=u[t],b=null;D--;)if(!((l=S[D]).leadChar&&l.leadChar!==p||l.scope!==a&&"all"!==l.scope||l.flag&&-1===(0,g.default)(d).call(d,l.flag))&&(i=XRegExp.exec(u,l.regex,t,"sticky"))){b={matchLength:i[0].length,output:l.handler.call(c,i,a,d),reparse:l.reparse};break}return b}function setAstral(u){B.astral=u}function setNamespacing(u){B.namespacing=u}function XRegExp(u,d){if(XRegExp.isRegExp(u)){if(void 0!==d)throw new TypeError("Cannot supply flags when copying a RegExp");return copyRegex(u)}if(u=void 0===u?"":String(u),d=void 0===d?"":String(d),XRegExp.isInstalled("astral")&&-1===(0,g.default)(d).call(d,"A")&&(d+="A"),k[u]||(k[u]={}),!k[u][d]){for(var t,a={hasNamedCapture:!1,captureNames:[]},c=O,i="",l=0,D=function prepareFlags(u,d){if(clipDuplicates(d)!==d)throw new SyntaxError("Invalid duplicate regex flag ".concat(d));u=u.replace(/^\(\?([\w$]+)\)/,(function(u,t){if(/[dgy]/.test(t))throw new SyntaxError("Cannot use flags dgy in mode modifier ".concat(u));return d=clipDuplicates(d+t),""}));var t,a=_createForOfIteratorHelper(d);try{for(a.s();!(t=a.n()).done;){var c=t.value;if(!U[c])throw new SyntaxError("Unknown regex flag ".concat(c))}}catch(u){a.e(u)}finally{a.f()}return{pattern:u,flags:d}}(u,d),p=D.pattern,b=(0,m.default)(D);l<p.length;){do{(t=runTokens(p,b,l,c,a))&&t.reparse&&(p=(0,E.default)(p).call(p,0,l)+t.output+(0,E.default)(p).call(p,l+t.matchLength))}while(t&&t.reparse);if(t)i+=t.output,l+=t.matchLength||1;else{var A=XRegExp.exec(p,_[c],l,"sticky"),C=(0,y.default)(A,1)[0];i+=C,l+=C.length,"["===C&&c===O?c=R:"]"===C&&c===R&&(c=O)}}k[u][d]={pattern:i.replace(/(?:\(\?:\))+/g,"(?:)"),flags:b.replace(G,""),captures:a.hasNamedCapture?a.captureNames:null}}var h=k[u][d];return augment(new RegExp(h.pattern,(0,m.default)(h)),h.captures,u,d)}XRegExp.prototype=/(?:)/,XRegExp.version="5.1.1",XRegExp._clipDuplicates=clipDuplicates,XRegExp._hasNativeFlag=hasNativeFlag,XRegExp._dec=dec,XRegExp._hex=hex,XRegExp._pad4=pad4,XRegExp.addToken=function(u,d,t){var a=(t=t||{}).optionalFlags;if(t.flag&®isterFlag(t.flag),a){var c,i=_createForOfIteratorHelper(a=a.split(""));try{for(i.s();!(c=i.n()).done;){registerFlag(c.value)}}catch(u){i.e(u)}finally{i.f()}}S.push({regex:copyRegex(u,{addG:!0,addY:M,isInternalOnly:!0}),handler:d,scope:t.scope||O,flag:t.flag,reparse:t.reparse,leadChar:t.leadChar}),XRegExp.cache.flush("patterns")},XRegExp.cache=function(u,d){return j[u]||(j[u]={}),j[u][d]||(j[u][d]=XRegExp(u,d))},XRegExp.cache.flush=function(u){"patterns"===u?k={}:j={}},XRegExp.escape=function(u){return String(nullThrows(u)).replace(/[\\\[\]{}()*+?.^$|]/g,"\\$&").replace(/[\s#\-,]/g,(function(u){return"\\u".concat(pad4(hex(u.charCodeAt(0))))}))},XRegExp.exec=function(u,d,t,a){var c,i,l="g",D=!1;(c=M&&!!(a||d.sticky&&!1!==a))?l+="y":a&&(D=!0,l+="FakeY"),d.xregexp=d.xregexp||{};var p=d.xregexp[l]||(d.xregexp[l]=copyRegex(d,{addG:!0,addY:c,source:D?"".concat(d.source,"|()"):void 0,removeY:!1===a,isInternalOnly:!0}));return t=t||0,p.lastIndex=t,i=w.exec.call(p,u),D&&i&&""===i.pop()&&(i=null),d.global&&(d.lastIndex=i?p.lastIndex:0),i},XRegExp.forEach=function(u,d,t){for(var a,c=0,i=-1;a=XRegExp.exec(u,d,c);)t(a,++i,u,d),c=a.index+(a[0].length||1)},XRegExp.globalize=function(u){return copyRegex(u,{addG:!0})},XRegExp.install=function(u){u=prepareOptions(u),!B.astral&&u.astral&&setAstral(!0),!B.namespacing&&u.namespacing&&setNamespacing(!0)},XRegExp.isInstalled=function(u){return!!B[u]},XRegExp.isRegExp=function(u){return"[object RegExp]"===Object.prototype.toString.call(u)},XRegExp.match=function(u,d,t){var a=d.global&&"one"!==t||"all"===t,c=(a?"g":"")+(d.sticky?"y":"")||"noGY";d.xregexp=d.xregexp||{};var i=d.xregexp[c]||(d.xregexp[c]=copyRegex(d,{addG:!!a,removeG:"one"===t,isInternalOnly:!0})),l=String(nullThrows(u)).match(i);return d.global&&(d.lastIndex="one"===t&&l?l.index+l[0].length:0),a?l||[]:l&&l[0]},XRegExp.matchChain=function(u,d){return function recurseChain(u,t){var a=d[t].regex?d[t]:{regex:d[t]},c=[];function addMatch(u){if(a.backref){var d="Backreference to undefined group: ".concat(a.backref),t=isNaN(a.backref);if(t&&XRegExp.isInstalled("namespacing")){if(!u.groups||!(a.backref in u.groups))throw new ReferenceError(d)}else if(!u.hasOwnProperty(a.backref))throw new ReferenceError(d);var i=t&&XRegExp.isInstalled("namespacing")?u.groups[a.backref]:u[a.backref];c.push(i||"")}else c.push(u[0])}var i,l=_createForOfIteratorHelper(u);try{for(l.s();!(i=l.n()).done;){var D=i.value;(0,h.default)(XRegExp).call(XRegExp,D,a.regex,addMatch)}}catch(u){l.e(u)}finally{l.f()}return t!==d.length-1&&c.length?recurseChain(c,t+1):c}([u],0)},XRegExp.replace=function(u,d,t,a){var c=XRegExp.isRegExp(d),i=d.global&&"one"!==a||"all"===a,l=(i?"g":"")+(d.sticky?"y":"")||"noGY",D=d;c?(d.xregexp=d.xregexp||{},D=d.xregexp[l]||(d.xregexp[l]=copyRegex(d,{addG:!!i,removeG:"one"===a,isInternalOnly:!0}))):i&&(D=new RegExp(XRegExp.escape(String(d)),"g"));var p=w.replace.call(nullThrows(u),D,t);return c&&d.global&&(d.lastIndex=0),p},XRegExp.replaceEach=function(u,d){var t,a=_createForOfIteratorHelper(d);try{for(a.s();!(t=a.n()).done;){var c=t.value;u=XRegExp.replace(u,c[0],c[1],c[2])}}catch(u){a.e(u)}finally{a.f()}return u},XRegExp.split=function(u,d,t){return w.split.call(nullThrows(u),d,t)},XRegExp.test=function(u,d,t,a){return!!XRegExp.exec(u,d,t,a)},XRegExp.uninstall=function(u){u=prepareOptions(u),B.astral&&u.astral&&setAstral(!1),B.namespacing&&u.namespacing&&setNamespacing(!1)},XRegExp.union=function(u,d,t){var a,c,i=(t=t||{}).conjunction||"or",l=0;function rewrite(u,d,t){var i=c[l-a];if(d){if(++l,i)return"(?<".concat(i,">")}else if(t)return"\\".concat(+t+a);return u}if(!isType(u,"Array")||!u.length)throw new TypeError("Must provide a nonempty array of patterns to merge");var D,p=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,b=[],y=_createForOfIteratorHelper(u);try{for(y.s();!(D=y.n()).done;){var m=D.value;XRegExp.isRegExp(m)?(a=l,c=m.xregexp&&m.xregexp.captureNames||[],b.push(XRegExp(m.source).source.replace(p,rewrite))):b.push(XRegExp.escape(m))}}catch(u){y.e(u)}finally{y.f()}var A="none"===i?"":"|";return XRegExp(b.join(A),d)},w.exec=function(u){var d=this.lastIndex,t=RegExp.prototype.exec.apply(this,arguments);if(t){if(!I&&t.length>1&&-1!==(0,g.default)(t).call(t,"")){var a,c=copyRegex(this,{removeG:!0,isInternalOnly:!0});(0,E.default)(a=String(u)).call(a,t.index).replace(c,(function(){for(var u=arguments.length,d=1;d<u-2;++d)void 0===(d<0||arguments.length<=d?void 0:arguments[d])&&(t[d]=void 0)}))}if(this.xregexp&&this.xregexp.captureNames){var i=t;XRegExp.isInstalled("namespacing")&&(t.groups=(0,x.default)(null),i=t.groups);for(var l=1;l<t.length;++l){var D=this.xregexp.captureNames[l-1];D&&(i[D]=t[l])}}else!t.groups&&XRegExp.isInstalled("namespacing")&&(t.groups=void 0);this.global&&!t[0].length&&this.lastIndex>t.index&&(this.lastIndex=t.index)}return this.global||(this.lastIndex=d),t},w.test=function(u){return!!w.exec.call(this,u)},w.match=function(u){if(XRegExp.isRegExp(u)){if(u.global){var d=String.prototype.match.apply(this,arguments);return u.lastIndex=0,d}}else u=new RegExp(u);return w.exec.call(u,nullThrows(this))},w.replace=function(u,d){var t,a,c,i=XRegExp.isRegExp(u);return i?(u.xregexp&&(a=u.xregexp.captureNames),t=u.lastIndex):u+="",c=isType(d,"Function")?String(this).replace(u,(function(){for(var u=arguments.length,t=new Array(u),c=0;c<u;c++)t[c]=arguments[c];if(a){var i;XRegExp.isInstalled("namespacing")?(i=(0,x.default)(null),t.push(i)):(t[0]=new String(t[0]),i=t[0]);for(var l=0;l<a.length;++l)a[l]&&(i[a[l]]=t[l+1])}return d.apply(void 0,t)})):String(nullThrows(this)).replace(u,(function(){for(var u=arguments.length,t=new Array(u),c=0;c<u;c++)t[c]=arguments[c];return String(d).replace(T,replacer);function replacer(u,d,c,i){d=d||c;var l,D,p=isType(t[t.length-1],"Object")?4:3,b=t.length-p;if(d){if(/^\d+$/.test(d)){var y=+d;if(y<=b)return t[y]||""}var m=a?(0,g.default)(a).call(a,d):-1;if(m<0)throw new SyntaxError("Backreference to undefined group ".concat(u));return t[m+1]||""}if(""===i||" "===i)throw new SyntaxError("Invalid token ".concat(u));if("&"===i||0==+i)return t[0];if("$"===i)return"$";if("`"===i)return(0,E.default)(l=t[t.length-1]).call(l,0,t[t.length-2]);if("'"===i)return(0,E.default)(D=t[t.length-1]).call(D,t[t.length-2]+t[0].length);if(i=+i,!isNaN(i)){if(i>b)throw new SyntaxError("Backreference to undefined group ".concat(u));return t[i]||""}throw new SyntaxError("Invalid token ".concat(u))}})),i&&(u.global?u.lastIndex=0:u.lastIndex=t),c},w.split=function(u,d){if(!XRegExp.isRegExp(u))return String.prototype.split.apply(this,arguments);var t,a=String(this),c=[],i=u.lastIndex,l=0;return d=(void 0===d?-1:d)>>>0,(0,h.default)(XRegExp).call(XRegExp,a,u,(function(u){u.index+u[0].length>l&&(c.push((0,E.default)(a).call(a,l,u.index)),u.length>1&&u.index<a.length&&Array.prototype.push.apply(c,(0,E.default)(u).call(u,1)),t=u[0].length,l=u.index+t)})),l===a.length?u.test("")&&!t||c.push(""):c.push((0,E.default)(a).call(a,l)),u.lastIndex=i,c.length>d?(0,E.default)(c).call(c,0,d):c},XRegExp.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(function(u,d){if("B"===u[1]&&d===O)return u[0];throw new SyntaxError("Invalid escape ".concat(u[0]))}),{scope:"all",leadChar:"\\"}),XRegExp.addToken(/\\u{([\dA-Fa-f]+)}/,(function(u,d,t){var a=dec(u[1]);if(a>1114111)throw new SyntaxError("Invalid Unicode code point ".concat(u[0]));if(a<=65535)return"\\u".concat(pad4(hex(a)));if(N&&-1!==(0,g.default)(t).call(t,"u"))return u[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),XRegExp.addToken(/\(\?#[^)]*\)/,getContextualTokenSeparator,{leadChar:"("}),XRegExp.addToken(/\s+|#[^\n]*\n?/,getContextualTokenSeparator,{flag:"x"}),L||XRegExp.addToken(/\./,(function(){return"[\\s\\S]"}),{flag:"s",leadChar:"."}),XRegExp.addToken(/\\k<([^>]+)>/,(function(u){var d,t,a=isNaN(u[1])?(0,g.default)(d=this.captureNames).call(d,u[1])+1:+u[1],c=u.index+u[0].length;if(!a||a>this.captureNames.length)throw new SyntaxError("Backreference to undefined group ".concat(u[0]));return(0,v.default)(t="\\".concat(a)).call(t,c===u.input.length||isNaN(u.input[c])?"":"(?:)")}),{leadChar:"\\"}),XRegExp.addToken(/\\(\d+)/,(function(u,d){if(!(d===O&&/^[1-9]/.test(u[1])&&+u[1]<=this.captureNames.length)&&"0"!==u[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group ".concat(u[0]));return u[0]}),{scope:"all",leadChar:"\\"}),XRegExp.addToken(/\(\?P?<((?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])*)>/,(function(u){var d;if(!XRegExp.isInstalled("namespacing")&&("length"===u[1]||"__proto__"===u[1]))throw new SyntaxError("Cannot use reserved word as capture name ".concat(u[0]));if(-1!==(0,g.default)(d=this.captureNames).call(d,u[1]))throw new SyntaxError("Cannot use same name for multiple groups ".concat(u[0]));return this.captureNames.push(u[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),XRegExp.addToken(/\((?!\?)/,(function(u,d,t){return-1!==(0,g.default)(t).call(t,"n")?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("});var q=XRegExp;t.default=q,d.exports=t.default},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/flags":8,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/instance/sort":12,"@babel/runtime-corejs3/core-js-stable/object/create":13,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/parse-int":15,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],5:[function(u,d,t){d.exports=u("core-js-pure/stable/array/from")},{"core-js-pure/stable/array/from":208}],6:[function(u,d,t){d.exports=u("core-js-pure/stable/array/is-array")},{"core-js-pure/stable/array/is-array":209}],7:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/concat")},{"core-js-pure/stable/instance/concat":212}],8:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/flags")},{"core-js-pure/stable/instance/flags":213}],9:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/for-each")},{"core-js-pure/stable/instance/for-each":214}],10:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/index-of")},{"core-js-pure/stable/instance/index-of":215}],11:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/slice")},{"core-js-pure/stable/instance/slice":216}],12:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/sort")},{"core-js-pure/stable/instance/sort":217}],13:[function(u,d,t){d.exports=u("core-js-pure/stable/object/create")},{"core-js-pure/stable/object/create":218}],14:[function(u,d,t){d.exports=u("core-js-pure/stable/object/define-property")},{"core-js-pure/stable/object/define-property":219}],15:[function(u,d,t){d.exports=u("core-js-pure/stable/parse-int")},{"core-js-pure/stable/parse-int":220}],16:[function(u,d,t){d.exports=u("core-js-pure/stable/symbol")},{"core-js-pure/stable/symbol":221}],17:[function(u,d,t){d.exports=u("core-js-pure/features/array/from")},{"core-js-pure/features/array/from":52}],18:[function(u,d,t){d.exports=u("core-js-pure/features/array/is-array")},{"core-js-pure/features/array/is-array":53}],19:[function(u,d,t){d.exports=u("core-js-pure/features/get-iterator-method")},{"core-js-pure/features/get-iterator-method":54}],20:[function(u,d,t){d.exports=u("core-js-pure/features/instance/slice")},{"core-js-pure/features/instance/slice":55}],21:[function(u,d,t){d.exports=u("core-js-pure/features/symbol")},{"core-js-pure/features/symbol":56}],22:[function(u,d,t){d.exports=function _arrayLikeToArray(u,d){(null==d||d>u.length)&&(d=u.length);for(var t=0,a=new Array(d);t<d;t++)a[t]=u[t];return a},d.exports.__esModule=!0,d.exports.default=d.exports},{}],23:[function(u,d,t){var a=u("@babel/runtime-corejs3/core-js/array/is-array");d.exports=function _arrayWithHoles(u){if(a(u))return u},d.exports.__esModule=!0,d.exports.default=d.exports},{"@babel/runtime-corejs3/core-js/array/is-array":18}],24:[function(u,d,t){d.exports=function _interopRequireDefault(u){return u&&u.__esModule?u:{default:u}},d.exports.__esModule=!0,d.exports.default=d.exports},{}],25:[function(u,d,t){var a=u("@babel/runtime-corejs3/core-js/symbol"),c=u("@babel/runtime-corejs3/core-js/get-iterator-method");d.exports=function _iterableToArrayLimit(u,d){var t=null==u?null:void 0!==a&&c(u)||u["@@iterator"];if(null!=t){var i,l,D=[],p=!0,b=!1;try{for(t=t.call(u);!(p=(i=t.next()).done)&&(D.push(i.value),!d||D.length!==d);p=!0);}catch(u){b=!0,l=u}finally{try{p||null==t.return||t.return()}finally{if(b)throw l}}return D}},d.exports.__esModule=!0,d.exports.default=d.exports},{"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/core-js/symbol":21}],26:[function(u,d,t){d.exports=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.")},d.exports.__esModule=!0,d.exports.default=d.exports},{}],27:[function(u,d,t){var a=u("./arrayWithHoles.js"),c=u("./iterableToArrayLimit.js"),i=u("./unsupportedIterableToArray.js"),l=u("./nonIterableRest.js");d.exports=function _slicedToArray(u,d){return a(u)||c(u,d)||i(u,d)||l()},d.exports.__esModule=!0,d.exports.default=d.exports},{"./arrayWithHoles.js":23,"./iterableToArrayLimit.js":25,"./nonIterableRest.js":26,"./unsupportedIterableToArray.js":28}],28:[function(u,d,t){var a=u("@babel/runtime-corejs3/core-js/instance/slice"),c=u("@babel/runtime-corejs3/core-js/array/from"),i=u("./arrayLikeToArray.js");d.exports=function _unsupportedIterableToArray(u,d){var t;if(u){if("string"==typeof u)return i(u,d);var l=a(t=Object.prototype.toString.call(u)).call(t,8,-1);return"Object"===l&&u.constructor&&(l=u.constructor.name),"Map"===l||"Set"===l?c(u):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?i(u,d):void 0}},d.exports.__esModule=!0,d.exports.default=d.exports},{"./arrayLikeToArray.js":22,"@babel/runtime-corejs3/core-js/array/from":17,"@babel/runtime-corejs3/core-js/instance/slice":20}],29:[function(u,d,t){var a=u("../../stable/array/from");d.exports=a},{"../../stable/array/from":208}],30:[function(u,d,t){var a=u("../../stable/array/is-array");d.exports=a},{"../../stable/array/is-array":209}],31:[function(u,d,t){var a=u("../stable/get-iterator-method");d.exports=a},{"../stable/get-iterator-method":211}],32:[function(u,d,t){var a=u("../../stable/instance/slice");d.exports=a},{"../../stable/instance/slice":216}],33:[function(u,d,t){var a=u("../../stable/symbol");d.exports=a},{"../../stable/symbol":221}],34:[function(u,d,t){u("../../modules/es.string.iterator"),u("../../modules/es.array.from");var a=u("../../internals/path");d.exports=a.Array.from},{"../../internals/path":142,"../../modules/es.array.from":170,"../../modules/es.string.iterator":184}],35:[function(u,d,t){u("../../modules/es.array.is-array");var a=u("../../internals/path");d.exports=a.Array.isArray},{"../../internals/path":142,"../../modules/es.array.is-array":172}],36:[function(u,d,t){u("../../../modules/es.array.concat");var a=u("../../../internals/entry-virtual");d.exports=a("Array").concat},{"../../../internals/entry-virtual":91,"../../../modules/es.array.concat":168}],37:[function(u,d,t){u("../../../modules/es.array.for-each");var a=u("../../../internals/entry-virtual");d.exports=a("Array").forEach},{"../../../internals/entry-virtual":91,"../../../modules/es.array.for-each":169}],38:[function(u,d,t){u("../../../modules/es.array.index-of");var a=u("../../../internals/entry-virtual");d.exports=a("Array").indexOf},{"../../../internals/entry-virtual":91,"../../../modules/es.array.index-of":171}],39:[function(u,d,t){u("../../../modules/es.array.slice");var a=u("../../../internals/entry-virtual");d.exports=a("Array").slice},{"../../../internals/entry-virtual":91,"../../../modules/es.array.slice":174}],40:[function(u,d,t){u("../../../modules/es.array.sort");var a=u("../../../internals/entry-virtual");d.exports=a("Array").sort},{"../../../internals/entry-virtual":91,"../../../modules/es.array.sort":175}],41:[function(u,d,t){u("../modules/es.array.iterator"),u("../modules/es.string.iterator");var a=u("../internals/get-iterator-method");d.exports=a},{"../internals/get-iterator-method":101,"../modules/es.array.iterator":173,"../modules/es.string.iterator":184}],42:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/concat"),i=Array.prototype;d.exports=function(u){var d=u.concat;return u===i||a(i,u)&&d===i.concat?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/concat":36}],43:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../regexp/flags"),i=RegExp.prototype;d.exports=function(u){return u===i||a(i,u)?c(u):u.flags}},{"../../internals/object-is-prototype-of":135,"../regexp/flags":50}],44:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/index-of"),i=Array.prototype;d.exports=function(u){var d=u.indexOf;return u===i||a(i,u)&&d===i.indexOf?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/index-of":38}],45:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/slice"),i=Array.prototype;d.exports=function(u){var d=u.slice;return u===i||a(i,u)&&d===i.slice?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/slice":39}],46:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/sort"),i=Array.prototype;d.exports=function(u){var d=u.sort;return u===i||a(i,u)&&d===i.sort?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/sort":40}],47:[function(u,d,t){u("../../modules/es.object.create");var a=u("../../internals/path").Object;d.exports=function create(u,d){return a.create(u,d)}},{"../../internals/path":142,"../../modules/es.object.create":178}],48:[function(u,d,t){u("../../modules/es.object.define-property");var a=u("../../internals/path").Object,c=d.exports=function defineProperty(u,d,t){return a.defineProperty(u,d,t)};a.defineProperty.sham&&(c.sham=!0)},{"../../internals/path":142,"../../modules/es.object.define-property":179}],49:[function(u,d,t){u("../modules/es.parse-int");var a=u("../internals/path");d.exports=a.parseInt},{"../internals/path":142,"../modules/es.parse-int":181}],50:[function(u,d,t){u("../../modules/es.regexp.flags");var a=u("../../internals/function-uncurry-this"),c=u("../../internals/regexp-flags");d.exports=a(c)},{"../../internals/function-uncurry-this":99,"../../internals/regexp-flags":144,"../../modules/es.regexp.flags":183}],51:[function(u,d,t){u("../../modules/es.array.concat"),u("../../modules/es.object.to-string"),u("../../modules/es.symbol"),u("../../modules/es.symbol.async-iterator"),u("../../modules/es.symbol.description"),u("../../modules/es.symbol.has-instance"),u("../../modules/es.symbol.is-concat-spreadable"),u("../../modules/es.symbol.iterator"),u("../../modules/es.symbol.match"),u("../../modules/es.symbol.match-all"),u("../../modules/es.symbol.replace"),u("../../modules/es.symbol.search"),u("../../modules/es.symbol.species"),u("../../modules/es.symbol.split"),u("../../modules/es.symbol.to-primitive"),u("../../modules/es.symbol.to-string-tag"),u("../../modules/es.symbol.unscopables"),u("../../modules/es.json.to-string-tag"),u("../../modules/es.math.to-string-tag"),u("../../modules/es.reflect.to-string-tag");var a=u("../../internals/path");d.exports=a.Symbol},{"../../internals/path":142,"../../modules/es.array.concat":168,"../../modules/es.json.to-string-tag":176,"../../modules/es.math.to-string-tag":177,"../../modules/es.object.to-string":180,"../../modules/es.reflect.to-string-tag":182,"../../modules/es.symbol":190,"../../modules/es.symbol.async-iterator":185,"../../modules/es.symbol.description":186,"../../modules/es.symbol.has-instance":187,"../../modules/es.symbol.is-concat-spreadable":188,"../../modules/es.symbol.iterator":189,"../../modules/es.symbol.match":192,"../../modules/es.symbol.match-all":191,"../../modules/es.symbol.replace":193,"../../modules/es.symbol.search":194,"../../modules/es.symbol.species":195,"../../modules/es.symbol.split":196,"../../modules/es.symbol.to-primitive":197,"../../modules/es.symbol.to-string-tag":198,"../../modules/es.symbol.unscopables":199}],52:[function(u,d,t){var a=u("../../actual/array/from");d.exports=a},{"../../actual/array/from":29}],53:[function(u,d,t){var a=u("../../actual/array/is-array");d.exports=a},{"../../actual/array/is-array":30}],54:[function(u,d,t){var a=u("../actual/get-iterator-method");d.exports=a},{"../actual/get-iterator-method":31}],55:[function(u,d,t){var a=u("../../actual/instance/slice");d.exports=a},{"../../actual/instance/slice":32}],56:[function(u,d,t){var a=u("../../actual/symbol");u("../../modules/esnext.symbol.async-dispose"),u("../../modules/esnext.symbol.dispose"),u("../../modules/esnext.symbol.matcher"),u("../../modules/esnext.symbol.metadata"),u("../../modules/esnext.symbol.observable"),u("../../modules/esnext.symbol.pattern-match"),u("../../modules/esnext.symbol.replace-all"),d.exports=a},{"../../actual/symbol":33,"../../modules/esnext.symbol.async-dispose":200,"../../modules/esnext.symbol.dispose":201,"../../modules/esnext.symbol.matcher":202,"../../modules/esnext.symbol.metadata":203,"../../modules/esnext.symbol.observable":204,"../../modules/esnext.symbol.pattern-match":205,"../../modules/esnext.symbol.replace-all":206}],57:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-callable"),i=u("../internals/try-to-string"),l=a.TypeError;d.exports=function(u){if(c(u))return u;throw l(i(u)+" is not a function")}},{"../internals/global":104,"../internals/is-callable":114,"../internals/try-to-string":162}],58:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-callable"),i=a.String,l=a.TypeError;d.exports=function(u){if("object"==typeof u||c(u))return u;throw l("Can't set "+i(u)+" as a prototype")}},{"../internals/global":104,"../internals/is-callable":114}],59:[function(u,d,t){d.exports=function(){}},{}],60:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-object"),i=a.String,l=a.TypeError;d.exports=function(u){if(c(u))return u;throw l(i(u)+" is not an object")}},{"../internals/global":104,"../internals/is-object":117}],61:[function(u,d,t){"use strict";var a=u("../internals/array-iteration").forEach,c=u("../internals/array-method-is-strict")("forEach");d.exports=c?[].forEach:function forEach(u){return a(this,u,arguments.length>1?arguments[1]:void 0)}},{"../internals/array-iteration":64,"../internals/array-method-is-strict":66}],62:[function(u,d,t){"use strict";var a=u("../internals/global"),c=u("../internals/function-bind-context"),i=u("../internals/function-call"),l=u("../internals/to-object"),D=u("../internals/call-with-safe-iteration-closing"),p=u("../internals/is-array-iterator-method"),b=u("../internals/is-constructor"),y=u("../internals/length-of-array-like"),m=u("../internals/create-property"),A=u("../internals/get-iterator"),E=u("../internals/get-iterator-method"),C=a.Array;d.exports=function from(u){var d=l(u),t=b(this),a=arguments.length,g=a>1?arguments[1]:void 0,h=void 0!==g;h&&(g=c(g,a>2?arguments[2]:void 0));var x,v,B,w,j,k,S=E(d),O=0;if(!S||this==C&&p(S))for(x=y(d),v=t?new this(x):C(x);x>O;O++)k=h?g(d[O],O):d[O],m(v,O,k);else for(j=(w=A(d,S)).next,v=t?new this:[];!(B=i(j,w)).done;O++)k=h?D(w,g,[B.value,O],!0):B.value,m(v,O,k);return v.length=O,v}},{"../internals/call-with-safe-iteration-closing":72,"../internals/create-property":80,"../internals/function-bind-context":96,"../internals/function-call":97,"../internals/get-iterator":102,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/is-array-iterator-method":112,"../internals/is-constructor":115,"../internals/length-of-array-like":123,"../internals/to-object":157}],63:[function(u,d,t){var a=u("../internals/to-indexed-object"),c=u("../internals/to-absolute-index"),i=u("../internals/length-of-array-like"),createMethod=function(u){return function(d,t,l){var D,p=a(d),b=i(p),y=c(l,b);if(u&&t!=t){for(;b>y;)if((D=p[y++])!=D)return!0}else for(;b>y;y++)if((u||y in p)&&p[y]===t)return u||y||0;return!u&&-1}};d.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},{"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154}],64:[function(u,d,t){var a=u("../internals/function-bind-context"),c=u("../internals/function-uncurry-this"),i=u("../internals/indexed-object"),l=u("../internals/to-object"),D=u("../internals/length-of-array-like"),p=u("../internals/array-species-create"),b=c([].push),createMethod=function(u){var d=1==u,t=2==u,c=3==u,y=4==u,m=6==u,A=7==u,E=5==u||m;return function(C,g,h,x){for(var v,B,w=l(C),j=i(w),k=a(g,h),S=D(j),O=0,R=x||p,_=d?R(C,S):t||A?R(C,0):void 0;S>O;O++)if((E||O in j)&&(B=k(v=j[O],O,w),u))if(d)_[O]=B;else if(B)switch(u){case 3:return!0;case 5:return v;case 6:return O;case 2:b(_,v)}else switch(u){case 4:return!1;case 7:b(_,v)}return m?-1:c||y?y:_}};d.exports={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6),filterReject:createMethod(7)}},{"../internals/array-species-create":71,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/indexed-object":109,"../internals/length-of-array-like":123,"../internals/to-object":157}],65:[function(u,d,t){var a=u("../internals/fails"),c=u("../internals/well-known-symbol"),i=u("../internals/engine-v8-version"),l=c("species");d.exports=function(u){return i>=51||!a((function(){var d=[];return(d.constructor={})[l]=function(){return{foo:1}},1!==d[u](Boolean).foo}))}},{"../internals/engine-v8-version":89,"../internals/fails":94,"../internals/well-known-symbol":166}],66:[function(u,d,t){"use strict";var a=u("../internals/fails");d.exports=function(u,d){var t=[][u];return!!t&&a((function(){t.call(null,d||function(){throw 1},1)}))}},{"../internals/fails":94}],67:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/to-absolute-index"),i=u("../internals/length-of-array-like"),l=u("../internals/create-property"),D=a.Array,p=Math.max;d.exports=function(u,d,t){for(var a=i(u),b=c(d,a),y=c(void 0===t?a:t,a),m=D(p(y-b,0)),A=0;b<y;b++,A++)l(m,A,u[b]);return m.length=A,m}},{"../internals/create-property":80,"../internals/global":104,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153}],68:[function(u,d,t){var a=u("../internals/function-uncurry-this");d.exports=a([].slice)},{"../internals/function-uncurry-this":99}],69:[function(u,d,t){var a=u("../internals/array-slice-simple"),c=Math.floor,mergeSort=function(u,d){var t=u.length,i=c(t/2);return t<8?insertionSort(u,d):merge(u,mergeSort(a(u,0,i),d),mergeSort(a(u,i),d),d)},insertionSort=function(u,d){for(var t,a,c=u.length,i=1;i<c;){for(a=i,t=u[i];a&&d(u[a-1],t)>0;)u[a]=u[--a];a!==i++&&(u[a]=t)}return u},merge=function(u,d,t,a){for(var c=d.length,i=t.length,l=0,D=0;l<c||D<i;)u[l+D]=l<c&&D<i?a(d[l],t[D])<=0?d[l++]:t[D++]:l<c?d[l++]:t[D++];return u};d.exports=mergeSort},{"../internals/array-slice-simple":67}],70:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-array"),i=u("../internals/is-constructor"),l=u("../internals/is-object"),D=u("../internals/well-known-symbol")("species"),p=a.Array;d.exports=function(u){var d;return c(u)&&(d=u.constructor,(i(d)&&(d===p||c(d.prototype))||l(d)&&null===(d=d[D]))&&(d=void 0)),void 0===d?p:d}},{"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/well-known-symbol":166}],71:[function(u,d,t){var a=u("../internals/array-species-constructor");d.exports=function(u,d){return new(a(u))(0===d?0:d)}},{"../internals/array-species-constructor":70}],72:[function(u,d,t){var a=u("../internals/an-object"),c=u("../internals/iterator-close");d.exports=function(u,d,t,i){try{return i?d(a(t)[0],t[1]):d(t)}catch(d){c(u,"throw",d)}}},{"../internals/an-object":60,"../internals/iterator-close":120}],73:[function(u,d,t){var a=u("../internals/well-known-symbol")("iterator"),c=!1;try{var i=0,l={next:function(){return{done:!!i++}},return:function(){c=!0}};l[a]=function(){return this},Array.from(l,(function(){throw 2}))}catch(u){}d.exports=function(u,d){if(!d&&!c)return!1;var t=!1;try{var i={};i[a]=function(){return{next:function(){return{done:t=!0}}}},u(i)}catch(u){}return t}},{"../internals/well-known-symbol":166}],74:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=a({}.toString),i=a("".slice);d.exports=function(u){return i(c(u),8,-1)}},{"../internals/function-uncurry-this":99}],75:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/to-string-tag-support"),i=u("../internals/is-callable"),l=u("../internals/classof-raw"),D=u("../internals/well-known-symbol")("toStringTag"),p=a.Object,b="Arguments"==l(function(){return arguments}());d.exports=c?l:function(u){var d,t,a;return void 0===u?"Undefined":null===u?"Null":"string"==typeof(t=function(u,d){try{return u[d]}catch(u){}}(d=p(u),D))?t:b?l(d):"Object"==(a=l(d))&&i(d.callee)?"Arguments":a}},{"../internals/classof-raw":74,"../internals/global":104,"../internals/is-callable":114,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],76:[function(u,d,t){var a=u("../internals/fails");d.exports=!a((function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype}))},{"../internals/fails":94}],77:[function(u,d,t){"use strict";var a=u("../internals/iterators-core").IteratorPrototype,c=u("../internals/object-create"),i=u("../internals/create-property-descriptor"),l=u("../internals/set-to-string-tag"),D=u("../internals/iterators"),returnThis=function(){return this};d.exports=function(u,d,t,p){var b=d+" Iterator";return u.prototype=c(a,{next:i(+!p,t)}),l(u,b,!1,!0),D[b]=returnThis,u}},{"../internals/create-property-descriptor":79,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-create":127,"../internals/set-to-string-tag":147}],78:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/object-define-property"),i=u("../internals/create-property-descriptor");d.exports=a?function(u,d,t){return c.f(u,d,i(1,t))}:function(u,d,t){return u[d]=t,u}},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/object-define-property":129}],79:[function(u,d,t){d.exports=function(u,d){return{enumerable:!(1&u),configurable:!(2&u),writable:!(4&u),value:d}}},{}],80:[function(u,d,t){"use strict";var a=u("../internals/to-property-key"),c=u("../internals/object-define-property"),i=u("../internals/create-property-descriptor");d.exports=function(u,d,t){var l=a(d);l in u?c.f(u,l,i(0,t)):u[l]=t}},{"../internals/create-property-descriptor":79,"../internals/object-define-property":129,"../internals/to-property-key":159}],81:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/function-call"),i=u("../internals/is-pure"),l=u("../internals/function-name"),D=u("../internals/is-callable"),p=u("../internals/create-iterator-constructor"),b=u("../internals/object-get-prototype-of"),y=u("../internals/object-set-prototype-of"),m=u("../internals/set-to-string-tag"),A=u("../internals/create-non-enumerable-property"),E=u("../internals/redefine"),C=u("../internals/well-known-symbol"),g=u("../internals/iterators"),h=u("../internals/iterators-core"),x=l.PROPER,v=l.CONFIGURABLE,B=h.IteratorPrototype,w=h.BUGGY_SAFARI_ITERATORS,j=C("iterator"),k="keys",S="values",O="entries",returnThis=function(){return this};d.exports=function(u,d,t,l,C,h,R){p(t,d,l);var _,T,I,getIterationMethod=function(u){if(u===C&&M)return M;if(!w&&u in L)return L[u];switch(u){case k:return function keys(){return new t(this,u)};case S:return function values(){return new t(this,u)};case O:return function entries(){return new t(this,u)}}return function(){return new t(this)}},P=d+" Iterator",X=!1,L=u.prototype,N=L[j]||L["@@iterator"]||C&&L[C],M=!w&&N||getIterationMethod(C),U="Array"==d&&L.entries||N;if(U&&(_=b(U.call(new u)))!==Object.prototype&&_.next&&(i||b(_)===B||(y?y(_,B):D(_[j])||E(_,j,returnThis)),m(_,P,!0,!0),i&&(g[P]=returnThis)),x&&C==S&&N&&N.name!==S&&(!i&&v?A(L,"name",S):(X=!0,M=function values(){return c(N,this)})),C)if(T={values:getIterationMethod(S),keys:h?M:getIterationMethod(k),entries:getIterationMethod(O)},R)for(I in T)(w||X||!(I in L))&&E(L,I,T[I]);else a({target:d,proto:!0,forced:w||X},T);return i&&!R||L[j]===M||E(L,j,M,{name:C}),g[d]=M,T}},{"../internals/create-iterator-constructor":77,"../internals/create-non-enumerable-property":78,"../internals/export":93,"../internals/function-call":97,"../internals/function-name":98,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-get-prototype-of":134,"../internals/object-set-prototype-of":139,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/well-known-symbol":166}],82:[function(u,d,t){var a=u("../internals/path"),c=u("../internals/has-own-property"),i=u("../internals/well-known-symbol-wrapped"),l=u("../internals/object-define-property").f;d.exports=function(u){var d=a.Symbol||(a.Symbol={});c(d,u)||l(d,u,{value:i.f(u)})}},{"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/path":142,"../internals/well-known-symbol-wrapped":165}],83:[function(u,d,t){var a=u("../internals/fails");d.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},{"../internals/fails":94}],84:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-object"),i=a.document,l=c(i)&&c(i.createElement);d.exports=function(u){return l?i.createElement(u):{}}},{"../internals/global":104,"../internals/is-object":117}],85:[function(u,d,t){d.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}},{}],86:[function(u,d,t){var a=u("../internals/engine-user-agent").match(/firefox\/(\d+)/i);d.exports=!!a&&+a[1]},{"../internals/engine-user-agent":88}],87:[function(u,d,t){var a=u("../internals/engine-user-agent");d.exports=/MSIE|Trident/.test(a)},{"../internals/engine-user-agent":88}],88:[function(u,d,t){var a=u("../internals/get-built-in");d.exports=a("navigator","userAgent")||""},{"../internals/get-built-in":100}],89:[function(u,d,t){var a,c,i=u("../internals/global"),l=u("../internals/engine-user-agent"),D=i.process,p=i.Deno,b=D&&D.versions||p&&p.version,y=b&&b.v8;y&&(c=(a=y.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!c&&l&&(!(a=l.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=l.match(/Chrome\/(\d+)/))&&(c=+a[1]),d.exports=c},{"../internals/engine-user-agent":88,"../internals/global":104}],90:[function(u,d,t){var a=u("../internals/engine-user-agent").match(/AppleWebKit\/(\d+)\./);d.exports=!!a&&+a[1]},{"../internals/engine-user-agent":88}],91:[function(u,d,t){var a=u("../internals/path");d.exports=function(u){return a[u+"Prototype"]}},{"../internals/path":142}],92:[function(u,d,t){d.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},{}],93:[function(u,d,t){"use strict";var a=u("../internals/global"),c=u("../internals/function-apply"),i=u("../internals/function-uncurry-this"),l=u("../internals/is-callable"),D=u("../internals/object-get-own-property-descriptor").f,p=u("../internals/is-forced"),b=u("../internals/path"),y=u("../internals/function-bind-context"),m=u("../internals/create-non-enumerable-property"),A=u("../internals/has-own-property"),wrapConstructor=function(u){var Wrapper=function(d,t,a){if(this instanceof Wrapper){switch(arguments.length){case 0:return new u;case 1:return new u(d);case 2:return new u(d,t)}return new u(d,t,a)}return c(u,this,arguments)};return Wrapper.prototype=u.prototype,Wrapper};d.exports=function(u,d){var t,c,E,C,g,h,x,v,B=u.target,w=u.global,j=u.stat,k=u.proto,S=w?a:j?a[B]:(a[B]||{}).prototype,O=w?b:b[B]||m(b,B,{})[B],R=O.prototype;for(E in d)t=!p(w?E:B+(j?".":"#")+E,u.forced)&&S&&A(S,E),g=O[E],t&&(h=u.noTargetGet?(v=D(S,E))&&v.value:S[E]),C=t&&h?h:d[E],t&&typeof g==typeof C||(x=u.bind&&t?y(C,a):u.wrap&&t?wrapConstructor(C):k&&l(C)?i(C):C,(u.sham||C&&C.sham||g&&g.sham)&&m(x,"sham",!0),m(O,E,x),k&&(A(b,c=B+"Prototype")||m(b,c,{}),m(b[c],E,C),u.real&&R&&!R[E]&&m(R,E,C)))}},{"../internals/create-non-enumerable-property":78,"../internals/function-apply":95,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/is-forced":116,"../internals/object-get-own-property-descriptor":130,"../internals/path":142}],94:[function(u,d,t){d.exports=function(u){try{return!!u()}catch(u){return!0}}},{}],95:[function(u,d,t){var a=Function.prototype,c=a.apply,i=a.bind,l=a.call;d.exports="object"==typeof Reflect&&Reflect.apply||(i?l.bind(c):function(){return l.apply(c,arguments)})},{}],96:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/a-callable"),i=a(a.bind);d.exports=function(u,d){return c(u),void 0===d?u:i?i(u,d):function(){return u.apply(d,arguments)}}},{"../internals/a-callable":57,"../internals/function-uncurry-this":99}],97:[function(u,d,t){var a=Function.prototype.call;d.exports=a.bind?a.bind(a):function(){return a.apply(a,arguments)}},{}],98:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/has-own-property"),i=Function.prototype,l=a&&Object.getOwnPropertyDescriptor,D=c(i,"name"),p=D&&"something"===function something(){}.name,b=D&&(!a||a&&l(i,"name").configurable);d.exports={EXISTS:D,PROPER:p,CONFIGURABLE:b}},{"../internals/descriptors":83,"../internals/has-own-property":105}],99:[function(u,d,t){var a=Function.prototype,c=a.bind,i=a.call,l=c&&c.bind(i);d.exports=c?function(u){return u&&l(i,u)}:function(u){return u&&function(){return i.apply(u,arguments)}}},{}],100:[function(u,d,t){var a=u("../internals/path"),c=u("../internals/global"),i=u("../internals/is-callable"),aFunction=function(u){return i(u)?u:void 0};d.exports=function(u,d){return arguments.length<2?aFunction(a[u])||aFunction(c[u]):a[u]&&a[u][d]||c[u]&&c[u][d]}},{"../internals/global":104,"../internals/is-callable":114,"../internals/path":142}],101:[function(u,d,t){var a=u("../internals/classof"),c=u("../internals/get-method"),i=u("../internals/iterators"),l=u("../internals/well-known-symbol")("iterator");d.exports=function(u){if(null!=u)return c(u,l)||c(u,"@@iterator")||i[a(u)]}},{"../internals/classof":75,"../internals/get-method":103,"../internals/iterators":122,"../internals/well-known-symbol":166}],102:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-call"),i=u("../internals/a-callable"),l=u("../internals/an-object"),D=u("../internals/try-to-string"),p=u("../internals/get-iterator-method"),b=a.TypeError;d.exports=function(u,d){var t=arguments.length<2?p(u):d;if(i(t))return l(c(t,u));throw b(D(u)+" is not iterable")}},{"../internals/a-callable":57,"../internals/an-object":60,"../internals/function-call":97,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/try-to-string":162}],103:[function(u,d,t){var a=u("../internals/a-callable");d.exports=function(u,d){var t=u[d];return null==t?void 0:a(t)}},{"../internals/a-callable":57}],104:[function(u,d,t){(function(u){(function(){var check=function(u){return u&&u.Math==Math&&u};d.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof u&&u)||function(){return this}()||Function("return this")()}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],105:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/to-object"),i=a({}.hasOwnProperty);d.exports=Object.hasOwn||function hasOwn(u,d){return i(c(u),d)}},{"../internals/function-uncurry-this":99,"../internals/to-object":157}],106:[function(u,d,t){d.exports={}},{}],107:[function(u,d,t){var a=u("../internals/get-built-in");d.exports=a("document","documentElement")},{"../internals/get-built-in":100}],108:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/fails"),i=u("../internals/document-create-element");d.exports=!a&&!c((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},{"../internals/descriptors":83,"../internals/document-create-element":84,"../internals/fails":94}],109:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-uncurry-this"),i=u("../internals/fails"),l=u("../internals/classof-raw"),D=a.Object,p=c("".split);d.exports=i((function(){return!D("z").propertyIsEnumerable(0)}))?function(u){return"String"==l(u)?p(u,""):D(u)}:D},{"../internals/classof-raw":74,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104}],110:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/is-callable"),i=u("../internals/shared-store"),l=a(Function.toString);c(i.inspectSource)||(i.inspectSource=function(u){return l(u)}),d.exports=i.inspectSource},{"../internals/function-uncurry-this":99,"../internals/is-callable":114,"../internals/shared-store":149}],111:[function(u,d,t){var a,c,i,l=u("../internals/native-weak-map"),D=u("../internals/global"),p=u("../internals/function-uncurry-this"),b=u("../internals/is-object"),y=u("../internals/create-non-enumerable-property"),m=u("../internals/has-own-property"),A=u("../internals/shared-store"),E=u("../internals/shared-key"),C=u("../internals/hidden-keys"),g="Object already initialized",h=D.TypeError,x=D.WeakMap;if(l||A.state){var v=A.state||(A.state=new x),B=p(v.get),w=p(v.has),j=p(v.set);a=function(u,d){if(w(v,u))throw new h(g);return d.facade=u,j(v,u,d),d},c=function(u){return B(v,u)||{}},i=function(u){return w(v,u)}}else{var k=E("state");C[k]=!0,a=function(u,d){if(m(u,k))throw new h(g);return d.facade=u,y(u,k,d),d},c=function(u){return m(u,k)?u[k]:{}},i=function(u){return m(u,k)}}d.exports={set:a,get:c,has:i,enforce:function(u){return i(u)?c(u):a(u,{})},getterFor:function(u){return function(d){var t;if(!b(d)||(t=c(d)).type!==u)throw h("Incompatible receiver, "+u+" required");return t}}}},{"../internals/create-non-enumerable-property":78,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/is-object":117,"../internals/native-weak-map":125,"../internals/shared-key":148,"../internals/shared-store":149}],112:[function(u,d,t){var a=u("../internals/well-known-symbol"),c=u("../internals/iterators"),i=a("iterator"),l=Array.prototype;d.exports=function(u){return void 0!==u&&(c.Array===u||l[i]===u)}},{"../internals/iterators":122,"../internals/well-known-symbol":166}],113:[function(u,d,t){var a=u("../internals/classof-raw");d.exports=Array.isArray||function isArray(u){return"Array"==a(u)}},{"../internals/classof-raw":74}],114:[function(u,d,t){d.exports=function(u){return"function"==typeof u}},{}],115:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/fails"),i=u("../internals/is-callable"),l=u("../internals/classof"),D=u("../internals/get-built-in"),p=u("../internals/inspect-source"),noop=function(){},b=[],y=D("Reflect","construct"),m=/^\s*(?:class|function)\b/,A=a(m.exec),E=!m.exec(noop),C=function isConstructor(u){if(!i(u))return!1;try{return y(noop,b,u),!0}catch(u){return!1}},g=function isConstructor(u){if(!i(u))return!1;switch(l(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return E||!!A(m,p(u))}catch(u){return!0}};g.sham=!0,d.exports=!y||c((function(){var u;return C(C.call)||!C(Object)||!C((function(){u=!0}))||u}))?g:C},{"../internals/classof":75,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/inspect-source":110,"../internals/is-callable":114}],116:[function(u,d,t){var a=u("../internals/fails"),c=u("../internals/is-callable"),i=/#|\.prototype\./,isForced=function(u,d){var t=D[l(u)];return t==b||t!=p&&(c(d)?a(d):!!d)},l=isForced.normalize=function(u){return String(u).replace(i,".").toLowerCase()},D=isForced.data={},p=isForced.NATIVE="N",b=isForced.POLYFILL="P";d.exports=isForced},{"../internals/fails":94,"../internals/is-callable":114}],117:[function(u,d,t){var a=u("../internals/is-callable");d.exports=function(u){return"object"==typeof u?null!==u:a(u)}},{"../internals/is-callable":114}],118:[function(u,d,t){d.exports=!0},{}],119:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/get-built-in"),i=u("../internals/is-callable"),l=u("../internals/object-is-prototype-of"),D=u("../internals/use-symbol-as-uid"),p=a.Object;d.exports=D?function(u){return"symbol"==typeof u}:function(u){var d=c("Symbol");return i(d)&&l(d.prototype,p(u))}},{"../internals/get-built-in":100,"../internals/global":104,"../internals/is-callable":114,"../internals/object-is-prototype-of":135,"../internals/use-symbol-as-uid":164}],120:[function(u,d,t){var a=u("../internals/function-call"),c=u("../internals/an-object"),i=u("../internals/get-method");d.exports=function(u,d,t){var l,D;c(u);try{if(!(l=i(u,"return"))){if("throw"===d)throw t;return t}l=a(l,u)}catch(u){D=!0,l=u}if("throw"===d)throw t;if(D)throw l;return c(l),t}},{"../internals/an-object":60,"../internals/function-call":97,"../internals/get-method":103}],121:[function(u,d,t){"use strict";var a,c,i,l=u("../internals/fails"),D=u("../internals/is-callable"),p=u("../internals/object-create"),b=u("../internals/object-get-prototype-of"),y=u("../internals/redefine"),m=u("../internals/well-known-symbol"),A=u("../internals/is-pure"),E=m("iterator"),C=!1;[].keys&&("next"in(i=[].keys())?(c=b(b(i)))!==Object.prototype&&(a=c):C=!0),null==a||l((function(){var u={};return a[E].call(u)!==u}))?a={}:A&&(a=p(a)),D(a[E])||y(a,E,(function(){return this})),d.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:C}},{"../internals/fails":94,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/object-create":127,"../internals/object-get-prototype-of":134,"../internals/redefine":143,"../internals/well-known-symbol":166}],122:[function(u,d,t){arguments[4][106][0].apply(t,arguments)},{dup:106}],123:[function(u,d,t){var a=u("../internals/to-length");d.exports=function(u){return a(u.length)}},{"../internals/to-length":156}],124:[function(u,d,t){var a=u("../internals/engine-v8-version"),c=u("../internals/fails");d.exports=!!Object.getOwnPropertySymbols&&!c((function(){var u=Symbol();return!String(u)||!(Object(u)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},{"../internals/engine-v8-version":89,"../internals/fails":94}],125:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-callable"),i=u("../internals/inspect-source"),l=a.WeakMap;d.exports=c(l)&&/native code/.test(i(l))},{"../internals/global":104,"../internals/inspect-source":110,"../internals/is-callable":114}],126:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/fails"),i=u("../internals/function-uncurry-this"),l=u("../internals/to-string"),D=u("../internals/string-trim").trim,p=u("../internals/whitespaces"),b=a.parseInt,y=a.Symbol,m=y&&y.iterator,A=/^[+-]?0x/i,E=i(A.exec),C=8!==b(p+"08")||22!==b(p+"0x16")||m&&!c((function(){b(Object(m))}));d.exports=C?function parseInt(u,d){var t=D(l(u));return b(t,d>>>0||(E(A,t)?16:10))}:b},{"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/string-trim":152,"../internals/to-string":161,"../internals/whitespaces":167}],127:[function(u,d,t){var a,c=u("../internals/an-object"),i=u("../internals/object-define-properties"),l=u("../internals/enum-bug-keys"),D=u("../internals/hidden-keys"),p=u("../internals/html"),b=u("../internals/document-create-element"),y=u("../internals/shared-key"),m=y("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(u){return"<script>"+u+"</"+"script>"},NullProtoObjectViaActiveX=function(u){u.write(scriptTag("")),u.close();var d=u.parentWindow.Object;return u=null,d},NullProtoObject=function(){try{a=new ActiveXObject("htmlfile")}catch(u){}var u,d;NullProtoObject="undefined"!=typeof document?document.domain&&a?NullProtoObjectViaActiveX(a):((d=b("iframe")).style.display="none",p.appendChild(d),d.src=String("javascript:"),(u=d.contentWindow.document).open(),u.write(scriptTag("document.F=Object")),u.close(),u.F):NullProtoObjectViaActiveX(a);for(var t=l.length;t--;)delete NullProtoObject.prototype[l[t]];return NullProtoObject()};D[m]=!0,d.exports=Object.create||function create(u,d){var t;return null!==u?(EmptyConstructor.prototype=c(u),t=new EmptyConstructor,EmptyConstructor.prototype=null,t[m]=u):t=NullProtoObject(),void 0===d?t:i(t,d)}},{"../internals/an-object":60,"../internals/document-create-element":84,"../internals/enum-bug-keys":92,"../internals/hidden-keys":106,"../internals/html":107,"../internals/object-define-properties":128,"../internals/shared-key":148}],128:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/object-define-property"),i=u("../internals/an-object"),l=u("../internals/to-indexed-object"),D=u("../internals/object-keys");d.exports=a?Object.defineProperties:function defineProperties(u,d){i(u);for(var t,a=l(d),p=D(d),b=p.length,y=0;b>y;)c.f(u,t=p[y++],a[t]);return u}},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/object-define-property":129,"../internals/object-keys":137,"../internals/to-indexed-object":154}],129:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/descriptors"),i=u("../internals/ie8-dom-define"),l=u("../internals/an-object"),D=u("../internals/to-property-key"),p=a.TypeError,b=Object.defineProperty;t.f=c?b:function defineProperty(u,d,t){if(l(u),d=D(d),l(t),i)try{return b(u,d,t)}catch(u){}if("get"in t||"set"in t)throw p("Accessors not supported");return"value"in t&&(u[d]=t.value),u}},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/global":104,"../internals/ie8-dom-define":108,"../internals/to-property-key":159}],130:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/function-call"),i=u("../internals/object-property-is-enumerable"),l=u("../internals/create-property-descriptor"),D=u("../internals/to-indexed-object"),p=u("../internals/to-property-key"),b=u("../internals/has-own-property"),y=u("../internals/ie8-dom-define"),m=Object.getOwnPropertyDescriptor;t.f=a?m:function getOwnPropertyDescriptor(u,d){if(u=D(u),d=p(d),y)try{return m(u,d)}catch(u){}if(b(u,d))return l(!c(i.f,u,d),u[d])}},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/function-call":97,"../internals/has-own-property":105,"../internals/ie8-dom-define":108,"../internals/object-property-is-enumerable":138,"../internals/to-indexed-object":154,"../internals/to-property-key":159}],131:[function(u,d,t){var a=u("../internals/classof-raw"),c=u("../internals/to-indexed-object"),i=u("../internals/object-get-own-property-names").f,l=u("../internals/array-slice-simple"),D="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];d.exports.f=function getOwnPropertyNames(u){return D&&"Window"==a(u)?function(u){try{return i(u)}catch(u){return l(D)}}(u):i(c(u))}},{"../internals/array-slice-simple":67,"../internals/classof-raw":74,"../internals/object-get-own-property-names":132,"../internals/to-indexed-object":154}],132:[function(u,d,t){var a=u("../internals/object-keys-internal"),c=u("../internals/enum-bug-keys").concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(u){return a(u,c)}},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],133:[function(u,d,t){t.f=Object.getOwnPropertySymbols},{}],134:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/has-own-property"),i=u("../internals/is-callable"),l=u("../internals/to-object"),D=u("../internals/shared-key"),p=u("../internals/correct-prototype-getter"),b=D("IE_PROTO"),y=a.Object,m=y.prototype;d.exports=p?y.getPrototypeOf:function(u){var d=l(u);if(c(d,b))return d[b];var t=d.constructor;return i(t)&&d instanceof t?t.prototype:d instanceof y?m:null}},{"../internals/correct-prototype-getter":76,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/shared-key":148,"../internals/to-object":157}],135:[function(u,d,t){var a=u("../internals/function-uncurry-this");d.exports=a({}.isPrototypeOf)},{"../internals/function-uncurry-this":99}],136:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/has-own-property"),i=u("../internals/to-indexed-object"),l=u("../internals/array-includes").indexOf,D=u("../internals/hidden-keys"),p=a([].push);d.exports=function(u,d){var t,a=i(u),b=0,y=[];for(t in a)!c(D,t)&&c(a,t)&&p(y,t);for(;d.length>b;)c(a,t=d[b++])&&(~l(y,t)||p(y,t));return y}},{"../internals/array-includes":63,"../internals/function-uncurry-this":99,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/to-indexed-object":154}],137:[function(u,d,t){var a=u("../internals/object-keys-internal"),c=u("../internals/enum-bug-keys");d.exports=Object.keys||function keys(u){return a(u,c)}},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],138:[function(u,d,t){"use strict";var a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,i=c&&!a.call({1:2},1);t.f=i?function propertyIsEnumerable(u){var d=c(this,u);return!!d&&d.enumerable}:a},{}],139:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/an-object"),i=u("../internals/a-possible-prototype");d.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var u,d=!1,t={};try{(u=a(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(t,[]),d=t instanceof Array}catch(u){}return function setPrototypeOf(t,a){return c(t),i(a),d?u(t,a):t.__proto__=a,t}}():void 0)},{"../internals/a-possible-prototype":58,"../internals/an-object":60,"../internals/function-uncurry-this":99}],140:[function(u,d,t){"use strict";var a=u("../internals/to-string-tag-support"),c=u("../internals/classof");d.exports=a?{}.toString:function toString(){return"[object "+c(this)+"]"}},{"../internals/classof":75,"../internals/to-string-tag-support":160}],141:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-call"),i=u("../internals/is-callable"),l=u("../internals/is-object"),D=a.TypeError;d.exports=function(u,d){var t,a;if("string"===d&&i(t=u.toString)&&!l(a=c(t,u)))return a;if(i(t=u.valueOf)&&!l(a=c(t,u)))return a;if("string"!==d&&i(t=u.toString)&&!l(a=c(t,u)))return a;throw D("Can't convert object to primitive value")}},{"../internals/function-call":97,"../internals/global":104,"../internals/is-callable":114,"../internals/is-object":117}],142:[function(u,d,t){arguments[4][106][0].apply(t,arguments)},{dup:106}],143:[function(u,d,t){var a=u("../internals/create-non-enumerable-property");d.exports=function(u,d,t,c){c&&c.enumerable?u[d]=t:a(u,d,t)}},{"../internals/create-non-enumerable-property":78}],144:[function(u,d,t){"use strict";var a=u("../internals/an-object");d.exports=function(){var u=a(this),d="";return u.global&&(d+="g"),u.ignoreCase&&(d+="i"),u.multiline&&(d+="m"),u.dotAll&&(d+="s"),u.unicode&&(d+="u"),u.sticky&&(d+="y"),d}},{"../internals/an-object":60}],145:[function(u,d,t){var a=u("../internals/global").TypeError;d.exports=function(u){if(null==u)throw a("Can't call method on "+u);return u}},{"../internals/global":104}],146:[function(u,d,t){var a=u("../internals/global"),c=Object.defineProperty;d.exports=function(u,d){try{c(a,u,{value:d,configurable:!0,writable:!0})}catch(t){a[u]=d}return d}},{"../internals/global":104}],147:[function(u,d,t){var a=u("../internals/to-string-tag-support"),c=u("../internals/object-define-property").f,i=u("../internals/create-non-enumerable-property"),l=u("../internals/has-own-property"),D=u("../internals/object-to-string"),p=u("../internals/well-known-symbol")("toStringTag");d.exports=function(u,d,t,b){if(u){var y=t?u:u.prototype;l(y,p)||c(y,p,{configurable:!0,value:d}),b&&!a&&i(y,"toString",D)}}},{"../internals/create-non-enumerable-property":78,"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/object-to-string":140,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],148:[function(u,d,t){var a=u("../internals/shared"),c=u("../internals/uid"),i=a("keys");d.exports=function(u){return i[u]||(i[u]=c(u))}},{"../internals/shared":150,"../internals/uid":163}],149:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/set-global"),i="__core-js_shared__",l=a[i]||c(i,{});d.exports=l},{"../internals/global":104,"../internals/set-global":146}],150:[function(u,d,t){var a=u("../internals/is-pure"),c=u("../internals/shared-store");(d.exports=function(u,d){return c[u]||(c[u]=void 0!==d?d:{})})("versions",[]).push({version:"3.20.0",mode:a?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},{"../internals/is-pure":118,"../internals/shared-store":149}],151:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/to-integer-or-infinity"),i=u("../internals/to-string"),l=u("../internals/require-object-coercible"),D=a("".charAt),p=a("".charCodeAt),b=a("".slice),createMethod=function(u){return function(d,t){var a,y,m=i(l(d)),A=c(t),E=m.length;return A<0||A>=E?u?"":void 0:(a=p(m,A))<55296||a>56319||A+1===E||(y=p(m,A+1))<56320||y>57343?u?D(m,A):a:u?b(m,A,A+2):y-56320+(a-55296<<10)+65536}};d.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-integer-or-infinity":155,"../internals/to-string":161}],152:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/require-object-coercible"),i=u("../internals/to-string"),l=u("../internals/whitespaces"),D=a("".replace),p="["+l+"]",b=RegExp("^"+p+p+"*"),y=RegExp(p+p+"*$"),createMethod=function(u){return function(d){var t=i(c(d));return 1&u&&(t=D(t,b,"")),2&u&&(t=D(t,y,"")),t}};d.exports={start:createMethod(1),end:createMethod(2),trim:createMethod(3)}},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-string":161,"../internals/whitespaces":167}],153:[function(u,d,t){var a=u("../internals/to-integer-or-infinity"),c=Math.max,i=Math.min;d.exports=function(u,d){var t=a(u);return t<0?c(t+d,0):i(t,d)}},{"../internals/to-integer-or-infinity":155}],154:[function(u,d,t){var a=u("../internals/indexed-object"),c=u("../internals/require-object-coercible");d.exports=function(u){return a(c(u))}},{"../internals/indexed-object":109,"../internals/require-object-coercible":145}],155:[function(u,d,t){var a=Math.ceil,c=Math.floor;d.exports=function(u){var d=+u;return d!=d||0===d?0:(d>0?c:a)(d)}},{}],156:[function(u,d,t){var a=u("../internals/to-integer-or-infinity"),c=Math.min;d.exports=function(u){return u>0?c(a(u),9007199254740991):0}},{"../internals/to-integer-or-infinity":155}],157:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/require-object-coercible"),i=a.Object;d.exports=function(u){return i(c(u))}},{"../internals/global":104,"../internals/require-object-coercible":145}],158:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-call"),i=u("../internals/is-object"),l=u("../internals/is-symbol"),D=u("../internals/get-method"),p=u("../internals/ordinary-to-primitive"),b=u("../internals/well-known-symbol"),y=a.TypeError,m=b("toPrimitive");d.exports=function(u,d){if(!i(u)||l(u))return u;var t,a=D(u,m);if(a){if(void 0===d&&(d="default"),t=c(a,u,d),!i(t)||l(t))return t;throw y("Can't convert object to primitive value")}return void 0===d&&(d="number"),p(u,d)}},{"../internals/function-call":97,"../internals/get-method":103,"../internals/global":104,"../internals/is-object":117,"../internals/is-symbol":119,"../internals/ordinary-to-primitive":141,"../internals/well-known-symbol":166}],159:[function(u,d,t){var a=u("../internals/to-primitive"),c=u("../internals/is-symbol");d.exports=function(u){var d=a(u,"string");return c(d)?d:d+""}},{"../internals/is-symbol":119,"../internals/to-primitive":158}],160:[function(u,d,t){var a={};a[u("../internals/well-known-symbol")("toStringTag")]="z",d.exports="[object z]"===String(a)},{"../internals/well-known-symbol":166}],161:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/classof"),i=a.String;d.exports=function(u){if("Symbol"===c(u))throw TypeError("Cannot convert a Symbol value to a string");return i(u)}},{"../internals/classof":75,"../internals/global":104}],162:[function(u,d,t){var a=u("../internals/global").String;d.exports=function(u){try{return a(u)}catch(u){return"Object"}}},{"../internals/global":104}],163:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=0,i=Math.random(),l=a(1..toString);d.exports=function(u){return"Symbol("+(void 0===u?"":u)+")_"+l(++c+i,36)}},{"../internals/function-uncurry-this":99}],164:[function(u,d,t){var a=u("../internals/native-symbol");d.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},{"../internals/native-symbol":124}],165:[function(u,d,t){var a=u("../internals/well-known-symbol");t.f=a},{"../internals/well-known-symbol":166}],166:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/shared"),i=u("../internals/has-own-property"),l=u("../internals/uid"),D=u("../internals/native-symbol"),p=u("../internals/use-symbol-as-uid"),b=c("wks"),y=a.Symbol,m=y&&y.for,A=p?y:y&&y.withoutSetter||l;d.exports=function(u){if(!i(b,u)||!D&&"string"!=typeof b[u]){var d="Symbol."+u;D&&i(y,u)?b[u]=y[u]:b[u]=p&&m?m(d):A(d)}return b[u]}},{"../internals/global":104,"../internals/has-own-property":105,"../internals/native-symbol":124,"../internals/shared":150,"../internals/uid":163,"../internals/use-symbol-as-uid":164}],167:[function(u,d,t){d.exports="\t\n\v\f\r \u2028\u2029\ufeff"},{}],168:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/global"),i=u("../internals/fails"),l=u("../internals/is-array"),D=u("../internals/is-object"),p=u("../internals/to-object"),b=u("../internals/length-of-array-like"),y=u("../internals/create-property"),m=u("../internals/array-species-create"),A=u("../internals/array-method-has-species-support"),E=u("../internals/well-known-symbol"),C=u("../internals/engine-v8-version"),g=E("isConcatSpreadable"),h=9007199254740991,x="Maximum allowed index exceeded",v=c.TypeError,B=C>=51||!i((function(){var u=[];return u[g]=!1,u.concat()[0]!==u})),w=A("concat"),isConcatSpreadable=function(u){if(!D(u))return!1;var d=u[g];return void 0!==d?!!d:l(u)};a({target:"Array",proto:!0,forced:!B||!w},{concat:function concat(u){var d,t,a,c,i,l=p(this),D=m(l,0),A=0;for(d=-1,a=arguments.length;d<a;d++)if(isConcatSpreadable(i=-1===d?l:arguments[d])){if(A+(c=b(i))>h)throw v(x);for(t=0;t<c;t++,A++)t in i&&y(D,A,i[t])}else{if(A>=h)throw v(x);y(D,A++,i)}return D.length=A,D}})},{"../internals/array-method-has-species-support":65,"../internals/array-species-create":71,"../internals/create-property":80,"../internals/engine-v8-version":89,"../internals/export":93,"../internals/fails":94,"../internals/global":104,"../internals/is-array":113,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/well-known-symbol":166}],169:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/array-for-each");a({target:"Array",proto:!0,forced:[].forEach!=c},{forEach:c})},{"../internals/array-for-each":61,"../internals/export":93}],170:[function(u,d,t){var a=u("../internals/export"),c=u("../internals/array-from");a({target:"Array",stat:!0,forced:!u("../internals/check-correctness-of-iteration")((function(u){Array.from(u)}))},{from:c})},{"../internals/array-from":62,"../internals/check-correctness-of-iteration":73,"../internals/export":93}],171:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/function-uncurry-this"),i=u("../internals/array-includes").indexOf,l=u("../internals/array-method-is-strict"),D=c([].indexOf),p=!!D&&1/D([1],1,-0)<0,b=l("indexOf");a({target:"Array",proto:!0,forced:p||!b},{indexOf:function indexOf(u){var d=arguments.length>1?arguments[1]:void 0;return p?D(this,u,d)||0:i(this,u,d)}})},{"../internals/array-includes":63,"../internals/array-method-is-strict":66,"../internals/export":93,"../internals/function-uncurry-this":99}],172:[function(u,d,t){u("../internals/export")({target:"Array",stat:!0},{isArray:u("../internals/is-array")})},{"../internals/export":93,"../internals/is-array":113}],173:[function(u,d,t){"use strict";var a=u("../internals/to-indexed-object"),c=u("../internals/add-to-unscopables"),i=u("../internals/iterators"),l=u("../internals/internal-state"),D=u("../internals/object-define-property").f,p=u("../internals/define-iterator"),b=u("../internals/is-pure"),y=u("../internals/descriptors"),m="Array Iterator",A=l.set,E=l.getterFor(m);d.exports=p(Array,"Array",(function(u,d){A(this,{type:m,target:a(u),index:0,kind:d})}),(function(){var u=E(this),d=u.target,t=u.kind,a=u.index++;return!d||a>=d.length?(u.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:a,done:!1}:"values"==t?{value:d[a],done:!1}:{value:[a,d[a]],done:!1}}),"values");var C=i.Arguments=i.Array;if(c("keys"),c("values"),c("entries"),!b&&y&&"values"!==C.name)try{D(C,"name",{value:"values"})}catch(u){}},{"../internals/add-to-unscopables":59,"../internals/define-iterator":81,"../internals/descriptors":83,"../internals/internal-state":111,"../internals/is-pure":118,"../internals/iterators":122,"../internals/object-define-property":129,"../internals/to-indexed-object":154}],174:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/global"),i=u("../internals/is-array"),l=u("../internals/is-constructor"),D=u("../internals/is-object"),p=u("../internals/to-absolute-index"),b=u("../internals/length-of-array-like"),y=u("../internals/to-indexed-object"),m=u("../internals/create-property"),A=u("../internals/well-known-symbol"),E=u("../internals/array-method-has-species-support"),C=u("../internals/array-slice"),g=E("slice"),h=A("species"),x=c.Array,v=Math.max;a({target:"Array",proto:!0,forced:!g},{slice:function slice(u,d){var t,a,c,A=y(this),E=b(A),g=p(u,E),B=p(void 0===d?E:d,E);if(i(A)&&(t=A.constructor,(l(t)&&(t===x||i(t.prototype))||D(t)&&null===(t=t[h]))&&(t=void 0),t===x||void 0===t))return C(A,g,B);for(a=new(void 0===t?x:t)(v(B-g,0)),c=0;g<B;g++,c++)g in A&&m(a,c,A[g]);return a.length=c,a}})},{"../internals/array-method-has-species-support":65,"../internals/array-slice":68,"../internals/create-property":80,"../internals/export":93,"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154,"../internals/well-known-symbol":166}],175:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/function-uncurry-this"),i=u("../internals/a-callable"),l=u("../internals/to-object"),D=u("../internals/length-of-array-like"),p=u("../internals/to-string"),b=u("../internals/fails"),y=u("../internals/array-sort"),m=u("../internals/array-method-is-strict"),A=u("../internals/engine-ff-version"),E=u("../internals/engine-is-ie-or-edge"),C=u("../internals/engine-v8-version"),g=u("../internals/engine-webkit-version"),h=[],x=c(h.sort),v=c(h.push),B=b((function(){h.sort(void 0)})),w=b((function(){h.sort(null)})),j=m("sort"),k=!b((function(){if(C)return C<70;if(!(A&&A>3)){if(E)return!0;if(g)return g<603;var u,d,t,a,c="";for(u=65;u<76;u++){switch(d=String.fromCharCode(u),u){case 66:case 69:case 70:case 72:t=3;break;case 68:case 71:t=4;break;default:t=2}for(a=0;a<47;a++)h.push({k:d+a,v:t})}for(h.sort((function(u,d){return d.v-u.v})),a=0;a<h.length;a++)d=h[a].k.charAt(0),c.charAt(c.length-1)!==d&&(c+=d);return"DGBEFHACIJK"!==c}}));a({target:"Array",proto:!0,forced:B||!w||!j||!k},{sort:function sort(u){void 0!==u&&i(u);var d=l(this);if(k)return void 0===u?x(d):x(d,u);var t,a,c=[],b=D(d);for(a=0;a<b;a++)a in d&&v(c,d[a]);for(y(c,function(u){return function(d,t){return void 0===t?-1:void 0===d?1:void 0!==u?+u(d,t)||0:p(d)>p(t)?1:-1}}(u)),t=c.length,a=0;a<t;)d[a]=c[a++];for(;a<b;)delete d[a++];return d}})},{"../internals/a-callable":57,"../internals/array-method-is-strict":66,"../internals/array-sort":69,"../internals/engine-ff-version":86,"../internals/engine-is-ie-or-edge":87,"../internals/engine-v8-version":89,"../internals/engine-webkit-version":90,"../internals/export":93,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/to-string":161}],176:[function(u,d,t){var a=u("../internals/global");u("../internals/set-to-string-tag")(a.JSON,"JSON",!0)},{"../internals/global":104,"../internals/set-to-string-tag":147}],177:[function(u,d,t){},{}],178:[function(u,d,t){u("../internals/export")({target:"Object",stat:!0,sham:!u("../internals/descriptors")},{create:u("../internals/object-create")})},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-create":127}],179:[function(u,d,t){var a=u("../internals/export"),c=u("../internals/descriptors");a({target:"Object",stat:!0,forced:!c,sham:!c},{defineProperty:u("../internals/object-define-property").f})},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-define-property":129}],180:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],181:[function(u,d,t){var a=u("../internals/export"),c=u("../internals/number-parse-int");a({global:!0,forced:parseInt!=c},{parseInt:c})},{"../internals/export":93,"../internals/number-parse-int":126}],182:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],183:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],184:[function(u,d,t){"use strict";var a=u("../internals/string-multibyte").charAt,c=u("../internals/to-string"),i=u("../internals/internal-state"),l=u("../internals/define-iterator"),D="String Iterator",p=i.set,b=i.getterFor(D);l(String,"String",(function(u){p(this,{type:D,string:c(u),index:0})}),(function next(){var u,d=b(this),t=d.string,c=d.index;return c>=t.length?{value:void 0,done:!0}:(u=a(t,c),d.index+=u.length,{value:u,done:!1})}))},{"../internals/define-iterator":81,"../internals/internal-state":111,"../internals/string-multibyte":151,"../internals/to-string":161}],185:[function(u,d,t){u("../internals/define-well-known-symbol")("asyncIterator")},{"../internals/define-well-known-symbol":82}],186:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],187:[function(u,d,t){u("../internals/define-well-known-symbol")("hasInstance")},{"../internals/define-well-known-symbol":82}],188:[function(u,d,t){u("../internals/define-well-known-symbol")("isConcatSpreadable")},{"../internals/define-well-known-symbol":82}],189:[function(u,d,t){u("../internals/define-well-known-symbol")("iterator")},{"../internals/define-well-known-symbol":82}],190:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/global"),i=u("../internals/get-built-in"),l=u("../internals/function-apply"),D=u("../internals/function-call"),p=u("../internals/function-uncurry-this"),b=u("../internals/is-pure"),y=u("../internals/descriptors"),m=u("../internals/native-symbol"),A=u("../internals/fails"),E=u("../internals/has-own-property"),C=u("../internals/is-array"),g=u("../internals/is-callable"),h=u("../internals/is-object"),x=u("../internals/object-is-prototype-of"),v=u("../internals/is-symbol"),B=u("../internals/an-object"),w=u("../internals/to-object"),j=u("../internals/to-indexed-object"),k=u("../internals/to-property-key"),S=u("../internals/to-string"),O=u("../internals/create-property-descriptor"),R=u("../internals/object-create"),_=u("../internals/object-keys"),T=u("../internals/object-get-own-property-names"),I=u("../internals/object-get-own-property-names-external"),P=u("../internals/object-get-own-property-symbols"),X=u("../internals/object-get-own-property-descriptor"),L=u("../internals/object-define-property"),N=u("../internals/object-property-is-enumerable"),M=u("../internals/array-slice"),U=u("../internals/redefine"),G=u("../internals/shared"),q=u("../internals/shared-key"),z=u("../internals/hidden-keys"),$=u("../internals/uid"),H=u("../internals/well-known-symbol"),Z=u("../internals/well-known-symbol-wrapped"),Y=u("../internals/define-well-known-symbol"),V=u("../internals/set-to-string-tag"),W=u("../internals/internal-state"),J=u("../internals/array-iteration").forEach,K=q("hidden"),Q="Symbol",uu=H("toPrimitive"),eu=W.set,du=W.getterFor(Q),nu=Object.prototype,tu=c.Symbol,ru=tu&&tu.prototype,au=c.TypeError,cu=c.QObject,ou=i("JSON","stringify"),iu=X.f,su=L.f,fu=I.f,lu=N.f,Du=p([].push),pu=G("symbols"),bu=G("op-symbols"),yu=G("string-to-symbol-registry"),Fu=G("symbol-to-string-registry"),mu=G("wks"),Au=!cu||!cu.prototype||!cu.prototype.findChild,Eu=y&&A((function(){return 7!=R(su({},"a",{get:function(){return su(this,"a",{value:7}).a}})).a}))?function(u,d,t){var a=iu(nu,d);a&&delete nu[d],su(u,d,t),a&&u!==nu&&su(nu,d,a)}:su,wrap=function(u,d){var t=pu[u]=R(ru);return eu(t,{type:Q,tag:u,description:d}),y||(t.description=d),t},Cu=function defineProperty(u,d,t){u===nu&&Cu(bu,d,t),B(u);var a=k(d);return B(t),E(pu,a)?(t.enumerable?(E(u,K)&&u[K][a]&&(u[K][a]=!1),t=R(t,{enumerable:O(0,!1)})):(E(u,K)||su(u,K,O(1,{})),u[K][a]=!0),Eu(u,a,t)):su(u,a,t)},gu=function defineProperties(u,d){B(u);var t=j(d),a=_(t).concat(Bu(t));return J(a,(function(d){y&&!D(hu,t,d)||Cu(u,d,t[d])})),u},hu=function propertyIsEnumerable(u){var d=k(u),t=D(lu,this,d);return!(this===nu&&E(pu,d)&&!E(bu,d))&&(!(t||!E(this,d)||!E(pu,d)||E(this,K)&&this[K][d])||t)},xu=function getOwnPropertyDescriptor(u,d){var t=j(u),a=k(d);if(t!==nu||!E(pu,a)||E(bu,a)){var c=iu(t,a);return!c||!E(pu,a)||E(t,K)&&t[K][a]||(c.enumerable=!0),c}},vu=function getOwnPropertyNames(u){var d=fu(j(u)),t=[];return J(d,(function(u){E(pu,u)||E(z,u)||Du(t,u)})),t},Bu=function getOwnPropertySymbols(u){var d=u===nu,t=fu(d?bu:j(u)),a=[];return J(t,(function(u){!E(pu,u)||d&&!E(nu,u)||Du(a,pu[u])})),a};(m||(tu=function Symbol(){if(x(ru,this))throw au("Symbol is not a constructor");var u=arguments.length&&void 0!==arguments[0]?S(arguments[0]):void 0,d=$(u),setter=function(u){this===nu&&D(setter,bu,u),E(this,K)&&E(this[K],d)&&(this[K][d]=!1),Eu(this,d,O(1,u))};return y&&Au&&Eu(nu,d,{configurable:!0,set:setter}),wrap(d,u)},U(ru=tu.prototype,"toString",(function toString(){return du(this).tag})),U(tu,"withoutSetter",(function(u){return wrap($(u),u)})),N.f=hu,L.f=Cu,X.f=xu,T.f=I.f=vu,P.f=Bu,Z.f=function(u){return wrap(H(u),u)},y&&(su(ru,"description",{configurable:!0,get:function description(){return du(this).description}}),b||U(nu,"propertyIsEnumerable",hu,{unsafe:!0}))),a({global:!0,wrap:!0,forced:!m,sham:!m},{Symbol:tu}),J(_(mu),(function(u){Y(u)})),a({target:Q,stat:!0,forced:!m},{for:function(u){var d=S(u);if(E(yu,d))return yu[d];var t=tu(d);return yu[d]=t,Fu[t]=d,t},keyFor:function keyFor(u){if(!v(u))throw au(u+" is not a symbol");if(E(Fu,u))return Fu[u]},useSetter:function(){Au=!0},useSimple:function(){Au=!1}}),a({target:"Object",stat:!0,forced:!m,sham:!y},{create:function create(u,d){return void 0===d?R(u):gu(R(u),d)},defineProperty:Cu,defineProperties:gu,getOwnPropertyDescriptor:xu}),a({target:"Object",stat:!0,forced:!m},{getOwnPropertyNames:vu,getOwnPropertySymbols:Bu}),a({target:"Object",stat:!0,forced:A((function(){P.f(1)}))},{getOwnPropertySymbols:function getOwnPropertySymbols(u){return P.f(w(u))}}),ou)&&a({target:"JSON",stat:!0,forced:!m||A((function(){var u=tu();return"[null]"!=ou([u])||"{}"!=ou({a:u})||"{}"!=ou(Object(u))}))},{stringify:function stringify(u,d,t){var a=M(arguments),c=d;if((h(d)||void 0!==u)&&!v(u))return C(d)||(d=function(u,d){if(g(c)&&(d=D(c,this,u,d)),!v(d))return d}),a[1]=d,l(ou,null,a)}});if(!ru[uu]){var wu=ru.valueOf;U(ru,uu,(function(u){return D(wu,this)}))}V(tu,Q),z[K]=!0},{"../internals/an-object":60,"../internals/array-iteration":64,"../internals/array-slice":68,"../internals/create-property-descriptor":79,"../internals/define-well-known-symbol":82,"../internals/descriptors":83,"../internals/export":93,"../internals/fails":94,"../internals/function-apply":95,"../internals/function-call":97,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/internal-state":111,"../internals/is-array":113,"../internals/is-callable":114,"../internals/is-object":117,"../internals/is-pure":118,"../internals/is-symbol":119,"../internals/native-symbol":124,"../internals/object-create":127,"../internals/object-define-property":129,"../internals/object-get-own-property-descriptor":130,"../internals/object-get-own-property-names":132,"../internals/object-get-own-property-names-external":131,"../internals/object-get-own-property-symbols":133,"../internals/object-is-prototype-of":135,"../internals/object-keys":137,"../internals/object-property-is-enumerable":138,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/shared":150,"../internals/shared-key":148,"../internals/to-indexed-object":154,"../internals/to-object":157,"../internals/to-property-key":159,"../internals/to-string":161,"../internals/uid":163,"../internals/well-known-symbol":166,"../internals/well-known-symbol-wrapped":165}],191:[function(u,d,t){u("../internals/define-well-known-symbol")("matchAll")},{"../internals/define-well-known-symbol":82}],192:[function(u,d,t){u("../internals/define-well-known-symbol")("match")},{"../internals/define-well-known-symbol":82}],193:[function(u,d,t){u("../internals/define-well-known-symbol")("replace")},{"../internals/define-well-known-symbol":82}],194:[function(u,d,t){u("../internals/define-well-known-symbol")("search")},{"../internals/define-well-known-symbol":82}],195:[function(u,d,t){u("../internals/define-well-known-symbol")("species")},{"../internals/define-well-known-symbol":82}],196:[function(u,d,t){u("../internals/define-well-known-symbol")("split")},{"../internals/define-well-known-symbol":82}],197:[function(u,d,t){u("../internals/define-well-known-symbol")("toPrimitive")},{"../internals/define-well-known-symbol":82}],198:[function(u,d,t){u("../internals/define-well-known-symbol")("toStringTag")},{"../internals/define-well-known-symbol":82}],199:[function(u,d,t){u("../internals/define-well-known-symbol")("unscopables")},{"../internals/define-well-known-symbol":82}],200:[function(u,d,t){u("../internals/define-well-known-symbol")("asyncDispose")},{"../internals/define-well-known-symbol":82}],201:[function(u,d,t){u("../internals/define-well-known-symbol")("dispose")},{"../internals/define-well-known-symbol":82}],202:[function(u,d,t){u("../internals/define-well-known-symbol")("matcher")},{"../internals/define-well-known-symbol":82}],203:[function(u,d,t){u("../internals/define-well-known-symbol")("metadata")},{"../internals/define-well-known-symbol":82}],204:[function(u,d,t){u("../internals/define-well-known-symbol")("observable")},{"../internals/define-well-known-symbol":82}],205:[function(u,d,t){u("../internals/define-well-known-symbol")("patternMatch")},{"../internals/define-well-known-symbol":82}],206:[function(u,d,t){u("../internals/define-well-known-symbol")("replaceAll")},{"../internals/define-well-known-symbol":82}],207:[function(u,d,t){u("../modules/es.array.iterator");var a=u("../internals/dom-iterables"),c=u("../internals/global"),i=u("../internals/classof"),l=u("../internals/create-non-enumerable-property"),D=u("../internals/iterators"),p=u("../internals/well-known-symbol")("toStringTag");for(var b in a){var y=c[b],m=y&&y.prototype;m&&i(m)!==p&&l(m,p,b),D[b]=D.Array}},{"../internals/classof":75,"../internals/create-non-enumerable-property":78,"../internals/dom-iterables":85,"../internals/global":104,"../internals/iterators":122,"../internals/well-known-symbol":166,"../modules/es.array.iterator":173}],208:[function(u,d,t){var a=u("../../es/array/from");d.exports=a},{"../../es/array/from":34}],209:[function(u,d,t){var a=u("../../es/array/is-array");d.exports=a},{"../../es/array/is-array":35}],210:[function(u,d,t){var a=u("../../../es/array/virtual/for-each");d.exports=a},{"../../../es/array/virtual/for-each":37}],211:[function(u,d,t){var a=u("../es/get-iterator-method");u("../modules/web.dom-collections.iterator"),d.exports=a},{"../es/get-iterator-method":41,"../modules/web.dom-collections.iterator":207}],212:[function(u,d,t){var a=u("../../es/instance/concat");d.exports=a},{"../../es/instance/concat":42}],213:[function(u,d,t){var a=u("../../es/instance/flags");d.exports=a},{"../../es/instance/flags":43}],214:[function(u,d,t){u("../../modules/web.dom-collections.iterator");var a=u("../../internals/classof"),c=u("../../internals/has-own-property"),i=u("../../internals/object-is-prototype-of"),l=u("../array/virtual/for-each"),D=Array.prototype,p={DOMTokenList:!0,NodeList:!0};d.exports=function(u){var d=u.forEach;return u===D||i(D,u)&&d===D.forEach||c(p,a(u))?l:d}},{"../../internals/classof":75,"../../internals/has-own-property":105,"../../internals/object-is-prototype-of":135,"../../modules/web.dom-collections.iterator":207,"../array/virtual/for-each":210}],215:[function(u,d,t){var a=u("../../es/instance/index-of");d.exports=a},{"../../es/instance/index-of":44}],216:[function(u,d,t){var a=u("../../es/instance/slice");d.exports=a},{"../../es/instance/slice":45}],217:[function(u,d,t){var a=u("../../es/instance/sort");d.exports=a},{"../../es/instance/sort":46}],218:[function(u,d,t){var a=u("../../es/object/create");d.exports=a},{"../../es/object/create":47}],219:[function(u,d,t){var a=u("../../es/object/define-property");d.exports=a},{"../../es/object/define-property":48}],220:[function(u,d,t){var a=u("../es/parse-int");d.exports=a},{"../es/parse-int":49}],221:[function(u,d,t){var a=u("../../es/symbol");u("../../modules/web.dom-collections.iterator"),d.exports=a},{"../../es/symbol":51,"../../modules/web.dom-collections.iterator":207}],222:[function(u,d,t){d.exports=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0-------------------------------------ೳ---------໎------------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcbd\udcc3-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"},{name:"Cc",alias:"Control",bmp:"\0--"},{name:"Cf",alias:"Format",bmp:"-----\ufeff-",astral:"\ud804[\udcbd\udccd]|\ud80d[\udc30-\udc38]|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"-----------------------------------ೳ---------໎--------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcc3-\udccc\udcce\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f\udc39-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\ud801[\udc00-\udc4f\udcb0-\udcd3\udcd8-\udcfb\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udc80-\udcb2\udcc0-\udcf2]|\ud806[\udca0-\udcdf]|\ud81b[\ude40-\ude7f]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd00-\udd43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud838[\udd37-\udd3d]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf4a\udf50]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|𝼊|\ud838[\udd00-\udd2c\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc00-\udc02\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc82\udcb0-\udcba\udcc2\udd00-\udd02\udd27-\udd34\udd45\udd46\udd73\udd80-\udd82\uddb3-\uddc0\uddc9-\uddcc\uddce\uddcf\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3b\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udc5e\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud806[\udc2c-\udc3a\udd30-\udd35\udd37\udd38\udd3b-\udd3e\udd40\udd42\udd43\uddd1-\uddd7\uddda-\udde0\udde4\ude01-\ude0a\ude33-\ude39\ude3b-\ude3e\ude47\ude51-\ude5b\ude8a-\ude99]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd8a-\udd8e\udd90\udd91\udd93-\udd97\udef3-\udef6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf51-\udf87\udf8f-\udf92\udfe4\udff0\udff1]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd45\udd46\udd82\uddb3-\uddb5\uddbf\uddc0\uddce\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud806[\udc2c-\udc2e\udc38\udd30-\udd35\udd37\udd38\udd3d\udd40\udd42\uddd1-\uddd3\udddc-\udddf\udde4\ude39\ude57\ude58\ude97]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4\udd8a-\udd8e\udd93\udd94\udd96\udef5\udef6]|\ud81b[\udf51-\udf87\udff0\udff1]|\ud834[\udd65\udd66\udd6d-\udd72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc01\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udcc2\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddc9-\uddcc\uddcf\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3b\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udc5e\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud806[\udc2f-\udc37\udc39\udc3a\udd3b\udd3c\udd3e\udd43\uddd4-\uddd7\uddda\udddb\udde0\ude01-\ude0a\ude33-\ude38\ude3b-\ude3e\ude47\ude51-\ude56\ude59-\ude5b\ude8a-\ude96\ude98\ude99]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd90\udd91\udd95\udd97\udef3\udef4]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf8f-\udf92\udfe4]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\udd30-\udd39\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2\udd50-\udd59]|\ud807[\udc50-\udc6c\udd50-\udd59\udda0-\udda9\udfc0-\udfd4]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]|\ud83e[\udff0-\udff9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud801[\udca0-\udca9]|\ud803[\udd30-\udd39]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9\udd50-\udd59]|\ud807[\udc50-\udc59\udd50-\udd59\udda0-\udda9]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udd50-\udd59]|\ud83e[\udff0-\udff9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c\udfc0-\udfd4]|\ud81a[\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud83a[\udcc7-\udccf]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udead\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud838[\udd4f\udeff]|\ud83b[\udcac\udcb0\udd2e\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\ud807[\udfdd-\udfe0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\ud83c[\udffb-\udfff]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udfdc\udfe1-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|𞅏|\ud83b[\udcac\udd2e]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udffa]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Z",alias:"Separator",bmp:" - \u2028\u2029 "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:" - "}]},{}]},{},[3])(3)})); diff --git a/atdb/atdb/static/rest_framework/css/bootstrap-theme.min.css b/atdb/atdb/static/rest_framework/css/bootstrap-theme.min.css index 30c85f62..2a69f48c 100644 --- a/atdb/atdb/static/rest_framework/css/bootstrap-theme.min.css +++ b/atdb/atdb/static/rest_framework/css/bootstrap-theme.min.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.4.0 (https://getbootstrap.com/) - * Copyright 2011-2018 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x;background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x;background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} /*# sourceMappingURL=bootstrap-theme.min.css.map */ \ No newline at end of file diff --git a/atdb/atdb/static/rest_framework/css/bootstrap.min.css b/atdb/atdb/static/rest_framework/css/bootstrap.min.css index 7f3562ec..5b96335f 100644 --- a/atdb/atdb/static/rest_framework/css/bootstrap.min.css +++ b/atdb/atdb/static/rest_framework/css/bootstrap.min.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.4.0 (https://getbootstrap.com/) - * Copyright 2011-2018 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} /*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/atdb/atdb/static/rest_framework/css/default.css b/atdb/atdb/static/rest_framework/css/default.css index 86fef177..51ca3ba1 100644 --- a/atdb/atdb/static/rest_framework/css/default.css +++ b/atdb/atdb/static/rest_framework/css/default.css @@ -40,7 +40,7 @@ td.nested > table { margin: 0; } -form select, form input, form textarea { +form select, form input:not([type=checkbox]), form textarea { width: 90%; } diff --git a/atdb/atdb/static/rest_framework/docs/css/base.css b/atdb/atdb/static/rest_framework/docs/css/base.css index 0be2bafa..06b240c5 100644 --- a/atdb/atdb/static/rest_framework/docs/css/base.css +++ b/atdb/atdb/static/rest_framework/docs/css/base.css @@ -7,15 +7,15 @@ h1 { } pre.highlight code * { - white-space: nowrap; // this sets all children inside to nowrap + white-space: nowrap; /* this sets all children inside to nowrap */ } pre.highlight { - overflow-x: auto; // this sets the scrolling in x + overflow-x: auto; /* this sets the scrolling in x */ } pre.highlight code { - white-space: pre; // forces <code> to respect <pre> formatting + white-space: pre; /* forces <code> to respect <pre> formatting */ } .main-container { diff --git a/atdb/atdb/static/rest_framework/docs/js/api.js b/atdb/atdb/static/rest_framework/docs/js/api.js index e6120cd8..21663deb 100644 --- a/atdb/atdb/static/rest_framework/docs/js/api.js +++ b/atdb/atdb/static/rest_framework/docs/js/api.js @@ -131,13 +131,7 @@ $(function () { if (value !== undefined) { params[paramKey] = value } - } else if (dataType === 'array' && paramValue) { - try { - params[paramKey] = JSON.parse(paramValue) - } catch (err) { - // Ignore malformed JSON - } - } else if (dataType === 'object' && paramValue) { + } else if ((dataType === 'array' && paramValue) || (dataType === 'object' && paramValue)) { try { params[paramKey] = JSON.parse(paramValue) } catch (err) { diff --git a/atdb/atdb/static/taskdatabase/ATDB-LDV Workflow Diagram.png b/atdb/atdb/static/taskdatabase/ATDB-LDV Workflow Diagram.png index a91ad4d06bc1e7d1395198cfee37d7e40669b8f9..0035bc3bb0fbaa4f4814048548d46304af040a54 100644 GIT binary patch literal 349451 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%0A5bo&f6Wg<B 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 B^2GoE literal 347791 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%0AHIue|B4kFitnnwy~*tS{kY%$ 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%0D}*M(Hq}zuU$y@8{gkw^f4q;3L<D>&fv^|G2L1 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�ZB9+-s6c4aZdU}#|DpIFm9jMcAQiuD;F22HF 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 diff --git a/atdb/taskdatabase/templates/taskdatabase/graphs/status_graph.html b/atdb/taskdatabase/templates/taskdatabase/graphs/status_graph.html new file mode 100644 index 00000000..574e0751 --- /dev/null +++ b/atdb/taskdatabase/templates/taskdatabase/graphs/status_graph.html @@ -0,0 +1,13 @@ +# graph_template.html (HTML template for rendering the graph) +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Status Graph</title> +</head> +<body> + <h1>Status Graph</h1> + <img src="records_per_hour_finished_last_100days.png" alt="Status Graph"> +</body> +</html> \ No newline at end of file diff --git a/atdb/taskdatabase/templates/taskdatabase/graphs/status_graph_input_form.html b/atdb/taskdatabase/templates/taskdatabase/graphs/status_graph_input_form.html new file mode 100644 index 00000000..c48bac0c --- /dev/null +++ b/atdb/taskdatabase/templates/taskdatabase/graphs/status_graph_input_form.html @@ -0,0 +1,24 @@ +# input_form.html (HTML template for input form) +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Create Status Graph</title> +</head> +<body> + <form action="{% url 'create_status_graph' %}" method="post"> + {% csrf_token %} + <label for="status">Status:</label> + <input type="text" id="status" name="status" value="finished"><br><br> + <label for="days">Last X days:</label> + <input type="number" id="days" name="days" value="100"><br><br> + <label for="bin_size">Bin Size:</label> + <select id="bin_size" name="bin_size"> + <option value="hour">Hour</option> + <option value="day">Day</option> + </select><br><br> + <button type="submit">Generate Graph</button> + </form> +</body> +</html> \ No newline at end of file diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index 51fbf003..e79e6adc 100644 --- a/atdb/taskdatabase/templates/taskdatabase/index.html +++ b/atdb/taskdatabase/templates/taskdatabase/index.html @@ -31,7 +31,7 @@ {% include 'taskdatabase/pagination.html' %} </div> </div> - <p class="footer"> Version 29 Feb 2024 + <p class="footer"> Version 1 Mar 2024 </div> {% include 'taskdatabase/refresh.html' %} diff --git a/atdb/taskdatabase/urls.py b/atdb/taskdatabase/urls.py index e01d493c..c2210d56 100644 --- a/atdb/taskdatabase/urls.py +++ b/atdb/taskdatabase/urls.py @@ -86,6 +86,7 @@ urlpatterns = [ path('monitor/<int:pk>/', views.MonitorDetailsViewAPI.as_view(),name='monitor-detail-view-api'), path('latest_monitor/', views.LatestMonitorListViewAPI.as_view(),name='latest-monitor-detail-view-api'), path('latest_monitor/<int:pk>/', views.LatestMonitorDetailsViewAPI.as_view(), name='latest-monitor-detail-view-api'), + path('create_status_graph/', views.CreateStatusGraph, name='create_status_graph'), path('monitor/clear_inactive_services/', views.ClearInactiveServices, name='clear-inactive-services'), # path('monitoring/service_hold_resume/<int:pk>/<enabled>', views.ServiceHoldResume, name='service-hold-resume'), diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index 4f9fdda8..b5ee630e 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -1,5 +1,7 @@ import logging import json +from datetime import datetime, timedelta +import matplotlib.pyplot as plt from . import config from django.contrib.auth.decorators import login_required @@ -18,12 +20,15 @@ from django_tables2.views import SingleTableMixin from django.shortcuts import render, redirect, reverse from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.contrib.admin.views.decorators import staff_member_required +from django.db.models import Count, F, Func, ExpressionWrapper, DurationField +from django.db.models.functions import TruncHour, TruncDay +from django.db.models import IntegerField, DateTimeField from rest_framework.request import Request #from silk.profiling.profiler import silk_profile from django.conf import settings -from .models import Activity, Task, Workflow, LogEntry, Configuration, Job, PostProcessingRule, Monitor, LatestMonitor +from .models import Activity, Task, Workflow, LogEntry, Configuration, Job, PostProcessingRule, Monitor, LatestMonitor, Status from .models import check_if_summary from .services.common import State @@ -1140,6 +1145,57 @@ class LatestMonitorDetailsViewAPI(generics.RetrieveUpdateDestroyAPIView): queryset = LatestMonitor.objects.all() serializer_class = LatestMonitorSerializer + +def CreateStatusGraph(request): + + if request.method == 'POST': + status = request.POST.get('status', 'finished') + days_to_check = int(request.POST.get('days', 100)) + bin_size = request.POST.get('bin_size', 'hour') + + # Calculate the date x days ago + start_date = datetime.now() - timedelta(days=days_to_check) + + if bin_size == 'hour': + hour_part = Func(F('timestamp'), function='EXTRACT', template='%(function)s(HOUR from %(expressions)s)', + output_field=IntegerField()) + + queryset = Status.objects.filter(name=status, timestamp__gte=start_date) \ + .annotate(time_bin=F('timestamp') - + hour_part * + ExpressionWrapper(DurationField(hours=1), output_field=IntegerField())) \ + .values('time_bin') \ + .annotate(num_records=Count('id')) \ + .order_by('time_bin') + + + else: + queryset = Status.objects.filter(name=status, timestamp__gte=start_date) \ + .annotate(time_bin=TruncDay('timestamp')) \ + .values('time_bin') \ + .annotate(num_records=Count('id')) \ + .order_by('time_bin') + + # Extract time bins and number of records from queryset + time_bins = [item['time_bin'] for item in queryset] + num_records = [item['num_records'] for item in queryset] + + # Plot the graph + plt.figure(figsize=(10, 6)) + plt.plot(time_bins, num_records, marker='o') + plt.xlabel(bin_size.capitalize()) + plt.ylabel('Number of Records') + plt.title(f'{status} per {bin_size} for the last {days_to_check} days') + plt.xticks(rotation=45) + plt.grid(True) + plt.tight_layout() + plt.savefig('records_per_{}_{}_last_{}days.png'.format(bin_size, status, days_to_check)) + + # Render the template with the graph + return render(request, 'taskdatabase/graphs/status_graph.html') + + return render(request, 'taskdatabase/graphs/status_graph_input_form.html') + @login_required def ClearInactiveServices(request): LatestMonitor.objects.all().delete() -- GitLab