@lovebowls/leagueelements
Version:
League Elements package for LoveBowls
572 lines (514 loc) • 839 kB
JavaScript
var LeagueElement = (function () {
'use strict';
const dropdownStyles = `
.dropdown-shared {
position: relative;
display: inline-block;
}
.dropdown-select-shared {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
background-color: var(--le-background-color-panel, #fff);
border: 1px solid var(--le-border-color-medium, #ddd);
border-radius: var(--le-border-radius-small, 3px);
padding: var(--le-padding-xs, 0.25rem) var(--le-padding-m, 0.75rem);
padding-right: calc(var(--le-padding-m, 0.75rem) * 2);
font-size: var(--le-font-size-base, 1em);
color: var(--le-text-color-primary, #333);
cursor: pointer;
line-height: 1.4;
max-width: 100%;
width: auto;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 0.5em center;
background-size: 1em;
}
.dropdown-select-shared:hover {
border-color: var(--le-border-color-dark, #ccc);
}
.dropdown-select-shared:focus {
outline: none;
border-color: var(--le-text-color-accent, #2196f3);
box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2);
}
/* Mobile-specific adjustments */
@media (max-width: 480px) {
.dropdown-select-shared {
font-size: 1.1em;
padding: 0.3rem 2rem 0.3rem 0.5rem;
background-size: 0.8em;
}
}
/* For dropdown containers that need to be right-aligned */
.dropdown-container-right {
display: flex;
justify-content: flex-end;
}
/* For dropdowns within flexbox layouts */
.dropdown-container-flex {
display: flex;
align-items: center;
gap: var(--le-padding-s, 0.5rem);
}
/* Dropdown Menu Styles (for button-triggered dropdowns like export menu) */
.dropdown-menu-shared {
position: relative;
display: inline-block;
}
.dropdown-menu-button-shared {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
background-color: var(--le-background-color-panel, #fff);
border: 1px solid var(--le-border-color-medium, #ddd);
border-radius: var(--le-border-radius-small, 3px);
padding: var(--le-padding-xs, 0.25rem) var(--le-padding-m, 0.75rem);
padding-right: calc(var(--le-padding-m, 0.75rem) * 2);
font-size: var(--le-font-size-base, 1em);
color: var(--le-text-color-primary, #333);
cursor: pointer;
line-height: 1.4;
max-width: 100%;
width: auto;
min-width: auto;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 0.5em center;
background-size: 1em;
}
.dropdown-menu-button-shared:hover {
border-color: var(--le-border-color-dark, #ccc);
background-color: var(--le-background-color-hover, #f1f1f1);
}
.dropdown-menu-button-shared:focus {
outline: none;
border-color: var(--le-text-color-accent, #2196f3);
box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2);
}
.dropdown-menu-list-shared {
display: none;
position: absolute;
right: 0;
top: 100%;
background-color: var(--le-background-color-panel, #fff);
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1000;
border-radius: var(--le-border-radius-small, 3px);
border: 1px solid var(--le-border-color-medium, #ddd);
overflow: hidden;
}
.dropdown-menu-list-shared.show {
display: block;
}
.dropdown-menu-item-shared {
color: var(--le-text-color-primary, #333);
padding: var(--le-padding-s, 0.5rem) var(--le-padding-m, 1rem);
text-decoration: none;
display: block;
text-align: left;
width: 100%;
background: none;
border: none;
cursor: pointer;
font-size: var(--le-font-size-base, 1em);
box-sizing: border-box;
margin: 0;
min-height: 2.5em;
line-height: 1.5;
}
.dropdown-menu-item-shared:hover {
background-color: var(--le-background-color-hover, #f1f1f1);
}
.dropdown-menu-item-shared:active {
background-color: var(--le-background-color-active, #e1e1e1);
}
/* Mobile-specific adjustments for dropdown menus */
@media (max-width: 480px) {
.dropdown-menu-button-shared {
font-size: 1.1em;
padding: 0.3rem 2rem 0.3rem 0.5rem;
background-size: 0.8em;
}
.dropdown-menu-shared.mobile-full-width {
width: 100%;
}
.dropdown-menu-shared.mobile-full-width .dropdown-menu-button-shared {
width: 100%;
}
}
`;
const panelStyles = `
.panel-header-shared {
padding: var(--le-padding-s, 0.75em) var(--le-padding-m, 1.25em); /* Increased padding */
border-bottom: 1px solid var(--le-border-color-medium, #eee);
font-weight: bold;
color: var(--le-text-color-primary, #333);
background-color: var(--le-background-color-header, #f9f9f9);
display: flex;
justify-content: space-between;
align-items: center;
}
.panel-content-shared {
padding: var(--le-padding-m, 1.25em);
background-color: var(--le-background-color-panel, #fff);
/* Common border for content area if needed
border: 1px solid var(--le-border-color-light, #f0f0f0);
*/
}
`;
const buttonStyles = `
.button-shared {
padding: var(--le-padding-s, 0.75em) var(--le-padding-m, 1.25em); /* Increased padding */
border: 1px solid var(--le-border-color-medium, #ccc);
background-color: var(--le-background-color-button, #f0f0f0);
color: var(--le-text-color-primary, #333); /* Ensure text color contrasts with button background */
cursor: pointer;
border-radius: var(--le-border-radius-standard, 4px);
font-size: var(--le-font-size-medium, 1.15em); /* Increased font size */
text-decoration: none;
display: inline-block;
text-align: center;
line-height: normal; /* Ensure consistent line height */
white-space: nowrap; /* Prevent text wrapping */
vertical-align: middle; /* Align nicely if next to text/icons */
user-select: none; /* Prevent text selection on click */
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out; /* Smooth transitions */
}
.button-shared:hover:not(:disabled) {
background-color: var(--le-background-color-button-hover, #e0e0e0);
border-color: var(--le-border-color-dark, #bbb); /* Slightly darker border on hover */
/* color: var(--le-text-color-accent-hover, inherit); Optional: change text color on hover */
}
.button-shared:active:not(:disabled) {
/* Optional: style for active (pressed) state */
/* background-color: var(--le-background-color-button-active, #d0d0d0); */
}
.button-shared:disabled,
.button-shared.disabled { /* Allow class-based disabling too */
background-color: var(--le-background-color-button-disabled, #eee);
color: var(--le-text-color-secondary, #aaa);
border-color: var(--le-border-color-medium, #ccc); /* Use medium border for disabled state */
cursor: not-allowed;
opacity: 0.7; /* Visually indicate disabled state */
}
/* Small button variant */
.button-shared.button-sm {
padding: var(--le-padding-xs, 0.4rem) var(--le-padding-s, 0.75rem); /* Increased padding */
font-size: var(--le-font-size-small, 1em); /* Increased small font size */
/* line-height can be tighter if needed for small buttons */
/* line-height: 1.2; */
}
/* Variations */
.button-shared.button-primary {
background-color: var(--le-color-primary, #007bff);
color: var(--le-text-color-on-primary, #fff);
border-color: var(--le-color-primary, #007bff);
}
.button-shared.button-primary:hover:not(:disabled) {
background-color: var(--le-color-primary-hover, #0056b3);
border-color: var(--le-color-primary-hover, #0056b3);
}
.button-shared.button-secondary-light {
background-color: var(--le-background-color-button-secondary-light, #f8f9fa);
color: var(--le-text-color-secondary-light-text, #212529);
border-color: var(--le-border-color-secondary-light, #ced4da);
}
.button-shared.button-secondary-light:hover:not(:disabled) {
background-color: var(--le-background-color-button-secondary-light-hover, #e2e6ea);
border-color: var(--le-border-color-secondary-light-hover, #dae0e5);
color: var(--le-text-color-secondary-light-text-hover, #212529);
}
/* Example for a darker secondary button if needed elsewhere
.button-shared.button-secondary {
background-color: var(--le-color-secondary, #6c757d);
color: var(--le-text-color-on-secondary, #fff);
border-color: var(--le-color-secondary, #6c757d);
}
.button-shared.button-secondary:hover:not(:disabled) {
background-color: var(--le-color-secondary-hover, #5a6268);
border-color: var(--le-color-secondary-hover, #5a6268);
}
*/
`;
const modalStyles = `
.modal-shared-overlay {
display: none; /* Hidden by default */
position: fixed;
z-index: var(--le-z-index-modal-overlay, 1000); /* Ensure it's on top */
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: var(--le-background-color-modal-overlay, rgba(0,0,0,0.4));
}
.modal-shared-content {
background-color: var(--le-background-color-panel, #fff);
margin: var(--le-modal-margin-top, 10%) auto; /* Default to 10% from top, centered */
padding: 0; /* Remove padding, header/body/footer will handle it */
border: 1px solid var(--le-border-color-dark, #ccc);
width: var(--le-modal-width, 90%); /* Increased width for mobile */
max-width: var(--le-modal-max-width, 600px);
border-radius: var(--le-border-radius-large, 8px);
box-shadow: var(--le-shadow-modal, 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19));
display: flex;
flex-direction: column;
}
/* Specific styles for mobile-view class, used by leagueMatch.js */
.modal-shared-content.mobile-view {
margin: 5% auto; /* Less margin from top on mobile */
width: var(--le-modal-width-mobile, 95%); /* Even wider on mobile */
max-width: var(--le-modal-max-width-mobile, 650px); /* Increased max-width for mobile */
}
.modal-shared-header {
/* Utilizes .panel-header-shared for base styling if desired, or define fully here */
/* This example assumes it might be combined with .panel-header-shared or similar */
padding: var(--le-padding-s, 0.75em) var(--le-padding-m, 1.25em); /* Increased padding */
border-bottom: 1px solid var(--le-border-color-medium, #eee);
font-weight: bold;
color: var(--le-text-color-primary, #333);
background-color: var(--le-background-color-header, #f9f9f9); /* Modal header distinct background */
display: flex;
justify-content: space-between;
align-items: center;
font-size: var(--le-font-size-large, 1.4em); /* Increased large font size */
border-top-left-radius: var(--le-border-radius-large, 8px); /* Match content radius */
border-top-right-radius: var(--le-border-radius-large, 8px); /* Match content radius */
}
.modal-shared-header .close-button-shared { /* Specific styling for a close button if needed */
color: var(--le-text-color-secondary, #aaa);
font-size: 1.75em; /* Increased size */
font-weight: bold;
background: none;
border: none;
cursor: pointer;
}
.modal-shared-header .close-button-shared:hover,
.modal-shared-header .close-button-shared:focus {
color: var(--le-text-color-primary, #000);
text-decoration: none;
}
.modal-shared-body {
padding: var(--le-padding-m, 1.25em); /* Increased padding */
overflow-y: auto; /* Allow body to scroll if content is too long */
flex-grow: 1; /* Allows body to take up available space if modal has fixed height */
}
.modal-shared-footer {
padding: var(--le-padding-s, 0.75em) var(--le-padding-m, 1.25em); /* Increased padding */
text-align: right;
border-top: 1px solid var(--le-border-color-medium, #eee);
background-color: var(--le-background-color-header, #f9f9f9); /* Optional: footer background */
border-bottom-left-radius: var(--le-border-radius-large, 8px); /* Match content radius */
border-bottom-right-radius: var(--le-border-radius-large, 8px); /* Match content radius */
}
.modal-shared-footer .button-shared + .button-shared { /* Spacing between buttons in footer */
margin-left: var(--le-padding-s, 0.75em); /* Increased margin */
}
`;
const formStyles = `
.form-group-shared {
margin-bottom: var(--le-padding-m, 1.25em); /* Increased margin */
}
.form-label-shared {
display: block;
margin-bottom: var(--le-padding-xs, 0.4em); /* Increased margin */
font-weight: bold;
color: var(--le-text-color-primary, #333);
font-size: var(--le-font-size-medium, 1.15em); /* Increased font size */
}
.form-input-shared,
.form-textarea-shared,
.form-select-shared {
width: 100%;
padding: var(--le-padding-s, 0.75em); /* Increased padding */
border: 1px solid var(--le-border-color-dark, #ccc);
border-radius: var(--le-border-radius-standard, 4px);
box-sizing: border-box;
font-size: var(--le-font-size-medium, 1.15em); /* Increased font size */
color: var(--le-text-color-primary, #333);
background-color: var(--le-background-color-panel, #fff);
}
.form-input-shared:focus,
.form-textarea-shared:focus,
.form-select-shared:focus {
border-color: var(--le-border-color-accent, #2196f3);
outline: none; /* Or a custom focus ring */
box-shadow: 0 0 0 2px var(--le-focus-ring-color, rgba(33, 150, 243, 0.3));
}
/* Specific styling for checkbox groups if needed */
.form-checkbox-label-shared {
display: flex; /* Changed to flex for better alignment */
align-items: center;
font-weight: normal; /* Typically labels for checkboxes are not bold by default */
font-size: var(--le-font-size-medium, 1.15em); /* Increased font size */
color: var(--le-text-color-primary, #333);
}
.form-checkbox-label-shared input[type="checkbox"] {
margin-right: var(--le-padding-s, 0.75em); /* Increased margin */
/* Consider custom styling for checkboxes if desired, or rely on browser defaults */
/* For consistent appearance across browsers, custom checkbox styling can be complex */
/* For now, using default with adjusted margin */
width: auto; /* Override width: 100% from .form-input-shared if a generic class was applied */
vertical-align: middle; /* Align checkbox with text */
}
/* Styling for a container of multiple checkboxes or radio buttons */
.form-options-group-shared {
/* Styles for a group of checkboxes/radios, e.g., display: flex; flex-direction: column; gap: ... */
}
/* Styling for individual option within a group */
.form-option-item-shared {
/* Styles for each checkbox/radio item within a group */
}
`;
const listItemStyles = `
.list-item-shared {
padding: var(--le-padding-s, 0.75em) var(--le-padding-xs, 0.4em); /* Increased padding */
border-bottom: 1px solid var(--le-border-color-light, #eee);
display: flex;
align-items: center;
justify-content: space-between; /* Common for items with actions on the right */
gap: var(--le-padding-s, 0.75em); /* Increased gap */
}
.list-item-shared:last-child {
border-bottom: none;
}
/* Example of a text part within a list item that should grow */
.list-item-shared .list-item-text-primary {
flex-grow: 1;
font-size: var(--le-font-size-small, 1.0em); /* Added explicit font size */
/* Potentially add text overflow properties if needed */
/* white-space: nowrap; */
/* overflow: hidden; */
/* text-overflow: ellipsis; */
}
/* Example of an actions container part within a list item */
.list-item-shared .list-item-actions {
flex-shrink: 0; /* Prevent actions from shrinking */
display: flex;
gap: var(--le-padding-xs, 0.4em); /* Increased gap */
}
`;
const mobileStyles = `
/* Mobile-specific styling that can be added to host elements */
/* Increased font sizes for better readability on mobile */
--le-font-size-base: 1.4em;
--le-font-size-small: 1.2em;
--le-font-size-medium: 1.6em;
--le-font-size-large: 1.8em;
--le-font-size-xlarge: 2em;
/* Adjust padding for better touch targets */
--le-padding-s: 0.6rem;
--le-padding-m: 1rem;
/* Other mobile optimizations */
font-size: var(--le-font-size-base);
line-height: 1.4;
`;
// Base styles shared between mobile and desktop layouts
const BASE_STYLES$6 = `
${panelStyles}
${buttonStyles}
${listItemStyles}
:host {
display: block;
font-family: var(--le-font-family-main, 'Open Sans', Helvetica, Arial, sans-serif);
box-sizing: border-box;
color: var(--le-text-color-primary, #333);
font-size: var(--le-font-size-base, 1em);
}
.matches-container {
max-height: 300px;
overflow-y: auto;
}
.match-item {
}
.match-date {
color: var(--le-text-color-secondary, #666);
font-size: 0.85em;
margin-bottom: var(--le-padding-xs, 0.2em);
}
.match-details {
display: flex;
justify-content: space-between;
align-items: center;
}
.match-teams {
flex-grow: 1;
}
.team-name {
}
.match-score {
font-weight: bold;
margin: 0 var(--le-padding-s, 0.5rem);
color: var(--le-text-color-primary, #333);
}
.match-result-indicator {
padding: var(--le-padding-xs, 0.1em) var(--le-padding-s, 0.3em);
border-radius: var(--le-border-radius-small, 3px);
color: var(--le-text-color-on-primary, #fff);
font-size: 0.8em;
font-weight: bold;
margin-left: var(--le-padding-s, 0.5rem);
}
.result-w {
background-color: var(--le-form-color-w, #4CAF50);
}
.result-d {
background-color: var(--le-form-color-d, #FFC107);
}
.result-l {
background-color: var(--le-form-color-l, #F44336);
}
.no-matches {
padding: var(--le-padding-m, 1rem);
text-align: center;
color: var(--le-text-color-secondary, #666);
}
.error {
color: var(--le-text-color-error, #ff0000);
padding: var(--le-padding-s, 0.5rem);
}
`;
// Mobile-specific styles
const MOBILE_STYLES$5 = `
${BASE_STYLES$6}
:host {
${mobileStyles}
}
.match-item {
font-size: 1em;
}
`;
// Desktop-specific styles
const DESKTOP_STYLES$5 = `
${BASE_STYLES$6}
:host {
}
.match-item {
font-size: 1em;
}
`;
// Template
const TEMPLATE$3 = `
<div class="recent-results">
{{recentResults}}
</div>
<div class="paging-controls" id="recent-paging" {{showPaging}}>
<button class="paging-btn button-shared button-sm" id="recent-prev" {{prevDisabled}}>< Prev</button>
<button class="paging-btn button-shared button-sm" id="recent-next" {{nextDisabled}}>Next ></button>
</div>
`;
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function getDefaultExportFromCjs (x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
var jsbiUmd$1 = {exports: {}};
var jsbiUmd = jsbiUmd$1.exports;
var hasRequiredJsbiUmd;
function requireJsbiUmd () {
if (hasRequiredJsbiUmd) return jsbiUmd$1.exports;
hasRequiredJsbiUmd = 1;
(function (module, exports) {
(function(e,t){module.exports=t();})(jsbiUmd,function(){var e=Math.imul,t=Math.clz32;function i(t,i){(null==i||i>t.length)&&(i=t.length);for(var _=0,o=Array(i);_<i;_++)o[_]=t[_];return o}function _(e){if(Array.isArray(e))return e}function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function o(i,t,_){return t=r(t),v(i,b()?Reflect.construct(t,_||[],r(i).constructor):t.apply(i,_))}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(i,t,e){if(b())return Reflect.construct.apply(null,arguments);var _=[null];_.push.apply(_,t);var n=new(i.bind.apply(i,_));return e&&y(n,e.prototype),n}function a(i,e){for(var _,n=0;n<e.length;n++)_=e[n],_.enumerable=_.enumerable||!1,_.configurable=!0,"value"in _&&(_.writable=!0),Object.defineProperty(i,D(_.key),_);}function s(i,e,_){return e&&a(i.prototype,e),_&&a(i,_),Object.defineProperty(i,"prototype",{writable:!1}),i}function u(i,_){var e="undefined"!=typeof Symbol&&i[Symbol.iterator]||i["@@iterator"];if(!e){if(Array.isArray(i)||(e=B(i))||_&&i&&"number"==typeof i.length){e&&(i=e);var l=0,g=function(){};return {s:g,n:function(){return l>=i.length?{done:!0}:{done:!1,value:i[l++]}},e:function(e){throw e},f:g}}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 s,d=!0,h=!1;return {s:function(){e=e.call(i);},n:function(){var t=e.next();return d=t.done,t},e:function(e){h=!0,s=e;},f:function(){try{d||null==e.return||e.return();}finally{if(h)throw s}}}}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function d(i,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(t&&t.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),t&&y(i,t);}function h(e){try{return -1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return "function"==typeof e}}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){}return (b=function(){return !!e})()}function m(_,g){var l=null==_?null:"undefined"!=typeof Symbol&&_[Symbol.iterator]||_["@@iterator"];if(null!=l){var s,d,r,h,b=[],a=!0,m=!1;try{if(r=(l=l.call(_)).next,0===g){if(Object(l)!==l)return;a=!1;}else for(;!(a=(s=r.call(l)).done)&&(b.push(s.value),b.length!==g);a=!0);}catch(e){m=!0,d=e;}finally{try{if(!a&&null!=l.return&&(h=l.return(),Object(h)!==h))return}finally{if(m)throw d}}return b}}function c(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(i,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return n(i)}function y(i,t){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,t){return i.__proto__=t,i},y(i,t)}function f(t,i){return _(t)||m(t,i)||B(t,i)||c()}function k(_,t){if("object"!=typeof _||!_)return _;var n=_[Symbol.toPrimitive];if(void 0!==n){var e=n.call(_,t||"default");if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===t?String:Number)(_)}function D(e){var t=k(e,"string");return "symbol"==typeof t?t:t+""}function p(e){"@babel/helpers - typeof";return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function B(e,_){if(e){if("string"==typeof e)return i(e,_);var n={}.toString.call(e).slice(8,-1);return "Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,_):void 0}}function S(e){var i="function"==typeof Map?new Map:void 0;return S=function(e){function t(){return g(e,arguments,r(this).constructor)}if(null===e||!h(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==i){if(i.has(e))return i.get(e);i.set(e,t);}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),y(t,e)},S(e)}var C=function(e){var t=Math.abs,i=Math.max,_=Math.floor;function g(e,t){var i;if(l(this,g),i=o(this,g,[e]),i.sign=t,Object.setPrototypeOf(i,g.prototype),e>g.__kMaxLength)throw new RangeError("Maximum BigInt size exceeded");return i}return d(g,e),s(g,[{key:"toDebugString",value:function e(){var t,i=["BigInt["],_=u(this);try{for(_.s();!(t=_.n()).done;){var n=t.value;i.push((n?(n>>>0).toString(16):n)+", ");}}catch(e){_.e(e);}finally{_.f();}return i.push("]"),i.join("")}},{key:"toString",value:function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10;if(2>t||36<t)throw new RangeError("toString() radix argument must be between 2 and 36");return 0===this.length?"0":0==(t&t-1)?g.__toStringBasePowerOfTwo(this,t):g.__toStringGeneric(this,t,!1)}},{key:"valueOf",value:function e(){throw new Error("Convert JSBI instances to native numbers using `toNumber`.")}},{key:"__copy",value:function e(){for(var t=new g(this.length,this.sign),_=0;_<this.length;_++)t[_]=this[_];return t}},{key:"__trim",value:function e(){for(var t=this.length,i=this[t-1];0===i;)t--,i=this[t-1],this.pop();return 0===t&&(this.sign=!1),this}},{key:"__initializeDigits",value:function e(){for(var t=0;t<this.length;t++)this[t]=0;}},{key:"__clzmsd",value:function e(){return g.__clz30(this.__digit(this.length-1))}},{key:"__inplaceMultiplyAdd",value:function n(e,t,_){_>this.length&&(_=this.length);for(var o=32767&e,l=e>>>15,a=0,s=t,u=0;u<_;u++){var r=this.__digit(u),h=32767&r,b=r>>>15,m=g.__imul(h,o),c=g.__imul(h,l),v=g.__imul(b,o),y=g.__imul(b,l),f=s+m+a;a=f>>>30,f&=1073741823,f+=((32767&c)<<15)+((32767&v)<<15),a+=f>>>30,s=y+(c>>>15)+(v>>>15),this.__setDigit(u,1073741823&f);}if(0!==a||0!==s)throw new Error("implementation bug")}},{key:"__inplaceAdd",value:function n(e,t,_){for(var o,l=0,g=0;g<_;g++)o=this.__halfDigit(t+g)+e.__halfDigit(g)+l,l=o>>>15,this.__setHalfDigit(t+g,32767&o);return l}},{key:"__inplaceSub",value:function n(e,t,_){var o=_-1>>>1,l=0;if(1&t){t>>=1;for(var g=this.__digit(t),a=32767&g,s=0;s<o;s++){var u=e.__digit(s),r=(g>>>15)-(32767&u)-l;l=1&r>>>15,this.__setDigit(t+s,(32767&r)<<15|32767&a),g=this.__digit(t+s+1),a=(32767&g)-(u>>>15)-l,l=1&a>>>15;}var d=e.__digit(s),h=(g>>>15)-(32767&d)-l;l=1&h>>>15,this.__setDigit(t+s,(32767&h)<<15|32767&a);var b=d>>>15;if(t+s+1>=this.length)throw new RangeError("out of bounds");0==(1&_)&&(g=this.__digit(t+s+1),a=(32767&g)-b-l,l=1&a>>>15,this.__setDigit(t+e.length,1073709056&g|32767&a));}else {t>>=1;for(var m=0;m<e.length-1;m++){var c=this.__digit(t+m),v=e.__digit(m),y=(32767&c)-(32767&v)-l;l=1&y>>>15;var f=(c>>>15)-(v>>>15)-l;l=1&f>>>15,this.__setDigit(t+m,(32767&f)<<15|32767&y);}var k=this.__digit(t+m),D=e.__digit(m),p=(32767&k)-(32767&D)-l;l=1&p>>>15;var B=0;0==(1&_)&&(B=(k>>>15)-(D>>>15)-l,l=1&B>>>15),this.__setDigit(t+m,(32767&B)<<15|32767&p);}return l}},{key:"__inplaceRightShift",value:function t(e){if(0!==e){for(var _,n=this.__digit(0)>>>e,o=this.length-1,l=0;l<o;l++)_=this.__digit(l+1),this.__setDigit(l,1073741823&_<<30-e|n),n=_>>>e;this.__setDigit(o,n);}}},{key:"__digit",value:function t(e){return this[e]}},{key:"__unsignedDigit",value:function t(e){return this[e]>>>0}},{key:"__setDigit",value:function i(e,t){this[e]=0|t;}},{key:"__setDigitGrow",value:function i(e,t){this[e]=0|t;}},{key:"__halfDigitLength",value:function e(){var t=this.length;return 32767>=this.__unsignedDigit(t-1)?2*t-1:2*t}},{key:"__halfDigit",value:function t(e){return 32767&this[e>>>1]>>>15*(1&e)}},{key:"__setHalfDigit",value:function i(e,t){var _=e>>>1,n=this.__digit(_),o=1&e?32767&n|t<<15:1073709056&n|32767&t;this.__setDigit(_,o);}}],[{key:"BigInt",value:function t(e){var i=Number.isFinite;if("number"==typeof e){if(0===e)return g.__zero();if(g.__isOneDigitInt(e))return 0>e?g.__oneDigit(-e,!0):g.__oneDigit(e,!1);if(!i(e)||_(e)!==e)throw new RangeError("The number "+e+" cannot be converted to BigInt because it is not an integer");return g.__fromDouble(e)}if("string"==typeof e){var n=g.__fromString(e);if(null===n)throw new SyntaxError("Cannot convert "+e+" to a BigInt");return n}if("boolean"==typeof e)return !0===e?g.__oneDigit(1,!1):g.__zero();if("object"===p(e)){if(e.constructor===g)return e;var o=g.__toPrimitive(e);return g.BigInt(o)}throw new TypeError("Cannot convert "+e+" to a BigInt")}},{key:"toNumber",value:function t(e){var i=e.length;if(0===i)return 0;if(1===i){var _=e.__unsignedDigit(0);return e.sign?-_:_}var n=e.__digit(i-1),o=g.__clz30(n),l=30*i-o;if(1024<l)return e.sign?-Infinity:1/0;var a=l-1,s=n,u=i-1,r=o+3,d=32===r?0:s<<r;d>>>=12;var h=r-12,b=12<=r?0:s<<20+r,m=20+r;for(0<h&&0<u&&(u--,s=e.__digit(u),d|=s>>>30-h,b=s<<h+2,m=h+2);0<m&&0<u;)u--,s=e.__digit(u),b|=30<=m?s<<m-30:s>>>30-m,m-=30;var c=g.__decideRounding(e,m,u,s);if((1===c||0===c&&1==(1&b))&&(b=b+1>>>0,0===b&&(d++,0!=d>>>20&&(d=0,a++,1023<a))))return e.sign?-Infinity:1/0;var v=e.sign?-2147483648:0;return a=a+1023<<20,g.__kBitConversionInts[g.__kBitConversionIntHigh]=v|a|d,g.__kBitConversionInts[g.__kBitConversionIntLow]=b,g.__kBitConversionDouble[0]}},{key:"unaryMinus",value:function t(e){if(0===e.length)return e;var i=e.__copy();return i.sign=!e.sign,i}},{key:"bitwiseNot",value:function t(e){return e.sign?g.__absoluteSubOne(e).__trim():g.__absoluteAddOne(e,!0)}},{key:"exponentiate",value:function i(e,t){if(t.sign)throw new RangeError("Exponent must be positive");if(0===t.length)return g.__oneDigit(1,!1);if(0===e.length)return e;if(1===e.length&&1===e.__digit(0))return e.sign&&0==(1&t.__digit(0))?g.unaryMinus(e):e;if(1<t.length)throw new RangeError("BigInt too big");var _=t.__unsignedDigit(0);if(1===_)return e;if(_>=g.__kMaxLengthBits)throw new RangeError("BigInt too big");if(1===e.length&&2===e.__digit(0)){var n=1+(0|_/30),o=e.sign&&0!=(1&_),l=new g(n,o);l.__initializeDigits();var a=1<<_%30;return l.__setDigit(n-1,a),l}var s=null,u=e;for(0!=(1&_)&&(s=e),_>>=1;0!==_;_>>=1)u=g.multiply(u,u),0!=(1&_)&&(null===s?s=u:s=g.multiply(s,u));return s}},{key:"multiply",value:function _(e,t){if(0===e.length)return e;if(0===t.length)return t;var n=e.length+t.length;30<=e.__clzmsd()+t.__clzmsd()&&n--;var o=new g(n,e.sign!==t.sign);o.__initializeDigits();for(var l=0;l<e.length;l++)g.__multiplyAccumulate(t,e.__digit(l),o,l);return o.__trim()}},{key:"divide",value:function i(e,t){if(0===t.length)throw new RangeError("Division by zero");if(0>g.__absoluteCompare(e,t))return g.__zero();var _,n=e.sign!==t.sign,o=t.__unsignedDigit(0);if(1===t.length&&32767>=o){if(1===o)return n===e.sign?e:g.unaryMinus(e);_=g.__absoluteDivSmall(e,o,null);}else _=g.__absoluteDivLarge(e,t,!0,!1);return _.sign=n,_.__trim()}},{key:"remainder",value:function i(e,t){if(0===t.length)throw new RangeError("Division by zero");if(0>g.__absoluteCompare(e,t))return e;var _=t.__unsignedDigit(0);if(1===t.length&&32767>=_){if(1===_)return g.__zero();var n=g.__absoluteModSmall(e,_);return 0===n?g.__zero():g.__oneDigit(n,e.sign)}var i=g.__absoluteDivLarge(e,t,!1,!0);return i.sign=e.sign,i.__trim()}},{key:"add",value:function i(e,t){var _=e.sign;return _===t.sign?g.__absoluteAdd(e,t,_):0<=g.__absoluteCompare(e,t)?g.__absoluteSub(e,t,_):g.__absoluteSub(t,e,!_)}},{key:"subtract",value:function i(e,t){var _=e.sign;return _===t.sign?0<=g.__absoluteCompare(e,t)?g.__absoluteSub(e,t,_):g.__absoluteSub(t,e,!_):g.__absoluteAdd(e,t,_)}},{key:"leftShift",value:function i(e,t){return 0===t.length||0===e.length?e:t.sign?g.__rightShiftByAbsolute(e,t):g.__leftShiftByAbsolute(e,t)}},{key:"signedRightShift",value:function i(e,t){return 0===t.length||0===e.length?e:t.sign?g.__leftShiftByAbsolute(e,t):g.__rightShiftByAbsolute(e,t)}},{key:"unsignedRightShift",value:function e(){throw new TypeError("BigInts have no unsigned right shift; use >> instead")}},{key:"lessThan",value:function i(e,t){return 0>g.__compareToBigInt(e,t)}},{key:"lessThanOrEqual",value:function i(e,t){return 0>=g.__compareToBigInt(e,t)}},{key:"greaterThan",value:function i(e,t){return 0<g.__compareToBigInt(e,t)}},{key:"greaterThanOrEqual",value:function i(e,t){return 0<=g.__compareToBigInt(e,t)}},{key:"equal",value:function _(e,t){if(e.sign!==t.sign)return !1;if(e.length!==t.length)return !1;for(var n=0;n<e.length;n++)if(e.__digit(n)!==t.__digit(n))return !1;return !0}},{key:"notEqual",value:function i(e,t){return !g.equal(e,t)}},{key:"bitwiseAnd",value:function _(e,t){if(!e.sign&&!t.sign)return g.__absoluteAnd(e,t).__trim();if(e.sign&&t.sign){var n=i(e.length,t.length)+1,o=g.__absoluteSubOne(e,n),l=g.__absoluteSubOne(t);return o=g.__absoluteOr(o,l,o),g.__absoluteAddOne(o,!0,o).__trim()}if(e.sign){var a=[t,e];e=a[0],t=a[1];}return g.__absoluteAndNot(e,g.__absoluteSubOne(t)).__trim()}},{key:"bitwiseXor",value:function _(e,t){if(!e.sign&&!t.sign)return g.__absoluteXor(e,t).__trim();if(e.sign&&t.sign){var n=i(e.length,t.length),o=g.__absoluteSubOne(e,n),l=g.__absoluteSubOne(t);return g.__absoluteXor(o,l,o).__trim()}var a=i(e.length,t.length)+1;if(e.sign){var s=[t,e];e=s[0],t=s[1];}var u=g.__absoluteSubOne(t,a);return u=g.__absoluteXor(u,e,u),g.__absoluteAddOne(u,!0,u).__trim()}},{key:"bitwiseOr",value:function _(e,t){var n=i(e.length,t.length);if(!e.sign&&!t.sign)return g.__absoluteOr(e,t).__trim();if(e.sign&&t.sign){var o=g.__absoluteSubOne(e,n),l=g.__absoluteSubOne(t);return o=g.__absoluteAnd(o,l,o),g.__absoluteAddOne(o,!0,o).__trim()}if(e.sign){var a=[t,e];e=a[0],t=a[1];}var s=g.__absoluteSubOne(t,n);return s=g.__absoluteAndNot(s,e,s),g.__absoluteAddOne(s,!0,s).__trim()}},{key:"asIntN",value:function o(e,t){if(0===t.length)return t;if(e=_(e),0>e)throw new RangeError("Invalid value: not (convertible to) a safe integer");if(0===e)return g.__zero();if(e>=g.__kMaxLengthBits)return t;var l=0|(e+29)/30;if(t.length<l)return t;var a=t.__unsignedDigit(l-1),s=1<<(e-1)%30;if(t.length===l&&a<s)return t;var u=(a&s)===s;if(!u)return g.__truncateToNBits(e,t);if(!t.sign)return g.__truncateAndSubFromPowerOfTwo(e,t,!0);if(0==(a&s-1)){for(var r=l-2;0<=r;r--)if(0!==t.__digit(r))return g.__truncateAndSubFromPowerOfTwo(e,t,!1);return t.length===l&&a===s?t:g.__truncateToNBits(e,t)}return g.__truncateAndSubFromPowerOfTwo(e,t,!1)}},{key:"asUintN",value:function i(e,t){if(0===t.length)return t;if(e=_(e),0>e)throw new RangeError("Invalid value: not (convertible to) a safe integer");if(0===e)return g.__zero();if(t.sign){if(e>g.__kMaxLengthBits)throw new RangeError("BigInt too big");return g.__truncateAndSubFromPowerOfTwo(e,t,!1)}if(e>=g.__kMaxLengthBits)return t;var o=0|(e+29)/30;if(t.length<o)return t;var l=e%30;if(t.length==o){if(0===l)return t;var a=t.__digit(o-1);if(0==a>>>l)return t}return g.__truncateToNBits(e,t)}},{key:"ADD",value:function i(e,t){if(e=g.__toPrimitive(e),t=g.__toPrimitive(t),"string"==typeof e)return "string"!=typeof t&&(t=t.toString()),e+t;if("string"==typeof t)return e.toString()+t;if(e=g.__toNumeric(e),t=g.__toNumeric(t),g.__isBigInt(e)&&g.__isBigInt(t))return g.add(e,t);if("number"==typeof e&&"number"==typeof t)return e+t;throw new TypeError("Cannot mix BigInt and other types, use explicit conversions")}},{key:"LT",value:function i(e,t){return g.__compare(e,t,0)}},{key:"LE",value:function i(e,t){return g.__compare(e,t,1)}},{key:"GT",value:function i(e,t){return g.__compare(e,t,2)}},{key:"GE",value:function i(e,t){return g.__compare(e,t,3)}},{key:"EQ",value:function i(e,t){for(;!0;){if(g.__isBigInt(e))return g.__isBigInt(t)?g.equal(e,t):g.EQ(t,e);if("number"==typeof e){if(g.__isBigInt(t))return g.__equalToNumber(t,e);if("object"!==p(t))return e==t;t=g.__toPrimitive(t);}else if("string"==typeof e){if(g.__isBigInt(t))return e=g.__fromString(e),null!==e&&g.equal(e,t);if("object"!==p(t))return e==t;t=g.__toPrimitive(t);}else if("boolean"==typeof e){if(g.__isBigInt(t))return g.__equalToNumber(t,+e);if("object"!==p(t))return e==t;t=g.__toPrimitive(t);}else if("symbol"===p(e)){if(g.__isBigInt(t))return !1;if("object"!==p(t))return e==t;t=g.__toPrimitive(t);}else if("object"===p(e)){if("object"===p(t)&&t.constructor!==g)return e==t;e=g.__toPrimitive(e);}else return e==t}}},{key:"NE",value:function i(e,t){return !g.EQ(e,t)}},{key:"DataViewGetBigInt64",value:function i(e,t){var _=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2];return g.asIntN(64,g.DataViewGetBigUint64(e,t,_))}},{key:"DataViewGetBigUint64",value:function i(e,t){var _=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],n=_?[4,0]:[0,4],o=f(n,2),a=o[0],s=o[1],l=e.getUint32(t+a,_),u=e.getUint32(t+s,_),r=new g(3,!1);return r.__setDigit(0,1073741823&u),r.__setDigit(1,(268435455&l)<<2|u>>>30),r.__setDigit(2,l>>>28),r.__trim()}},{key:"DataViewSetBigInt64",value:function _(e,t,i){var n=!!(3<arguments.length&&void 0!==arguments[3])&&arguments[3];g.DataViewSetBigUint64(e,t,i,n);}},{key:"DataViewSetBigUint64",value:function _(e,t,i){var n=!!(3<arguments.length&&void 0!==arguments[3])&&arguments[3];i=g.asUintN(64,i);var o=0,a=0;if(0<i.length&&(a=i.__digit(0),1<i.length)){var s=i.__digit(1);a|=s<<30,o=s>>>2,2<i.length&&(o|=i.__digit(2)<<28);}var u=n?[4,0]:[0,4],r=f(u,2),d=r[0],h=r[1];e.setUint32(t+d,o,n),e.setUint32(t+h,a,n);}},{key:"__zero",value:function e(){return new g(0,!1)}},{key:"__oneDigit",value:function i(e,t){var _=new g(1,t);return _.__setDigit(0,e),_}},{key:"__decideRounding",value:function n(e,t,i,_){if(0<t)return -1;var o;if(0>t)o=-t-1;else {if(0===i)return -1;i--,_=e.__digit(i),o=29;}var l=1<<o;if(0==(_&l))return -1;if(l-=1,0!=(_&l))return 1;for(;0<i;)if(i--,0!==e.__digit(i))return 1;return 0}},{key:"__fromDouble",value:function t(e){var i=0>e;g.__kBitConversionDouble[0]=e;var _,n=2047&g.__kBitConversionInts[g.__kBitConversionIntHigh]>>>20,o=n-1023,l=(0|o/30)+1,a=new g(l,i),s=1048576,u=1048575&g.__kBitConversionInts[g.__kBitConversionIntHigh]|s,r=g.__kBitConversionInts[g.__kBitConversionIntLow],d=20,h=o%30,b=0;if(h<d){var m=d-h;b=m+32,_=u>>>m,u=u<<32-m|r>>>m,r<<=32-m;}else if(h===d)b=32,_=u,u=r,r=0;else {var c=h-d;b=32-c,_=u<<c|r>>>32-c,u=r<<c,r=0;}a.__setDigit(l-1,_);for(var v=l-2;0<=v;v--)0<b?(b-=30,_=u>>>2,u=u<<30|r>>>2,r<<=30):_=0,a.__setDigit(v,_);return a.__trim()}},{key:"__isWhitespace",value:function t(e){return !!(13>=e&&9<=e)||(159>=e?32==e:131071>=e?160==e||5760==e:196607>=e?(e&=131071,10>=e||40==e||41==e||47==e||95==e||4096==e):65279==e)}},{key:"__fromString",value:function t(e){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,_=0,n=e.length,o=0;if(o===n)return g.__zero();for(var l=e.charCodeAt(o);g.__isWhitespace(l);){if(++o===n)return g.__zero();l=e.charCodeAt(o);}if(43===l){if(++o===n)return null;l=e.charCodeAt(o),_=1;}else if(45===l){if(++o===n)return null;l=e.charCodeAt(o),_=-1;}if(0===i){if(i=10,48===l){if(++o===n)return g.__zero();if(l=e.charCodeAt(o),88===l||120===l){if(i=16,++o===n)return null;l=e.charCodeAt(o);}else if(79===l||111===l){if(i=8,++o===n)return null;l=e.charCodeAt(o);}else if(66===l||98===l){if(i=2,++o===n)return null;l=e.charCodeAt(o);}}}else if(16===i&&48===l){if(++o===n)return g.__zero();if(l=e.charCodeAt(o),88===l||120===l){if(++o===n)return null;l=e.charCodeAt(o);}}if(0!==_&&10!==i)return null;for(;48===l;){if(++o===n)return g.__zero();l=e.charCodeAt(o);}var a=n-o,s=g.__kMaxBitsPerChar[i],u=g.__kBitsPerCharTableMultiplier-1;if(a>1073741824/s)return null;var r=s*a+u>>>g.__kBitsPerCharTableShift,h=0|(r+29)/30,b=new g(h,!1),c=10>i?i:10,v=10<i?i-10:0;if(0==(i&i-1)){s>>=g.__kBitsPerCharTableShift;var y=[],f=[],k=!1;do{for(var D,p=0,B=0;!0;){if(D=void 0,l-48>>>0<c)D=l-48;else if((32|l)-97>>>0<v)D=(32|l)-87;else {k=!0;break}if(B+=s,p=p<<s|D,++o===n){k=!0;break}if(l=e.charCodeAt(o),30<B+s)break}y.push(p),f.push(B);}while(!k);g.__fillFromParts(b,y,f);}else {b.__initializeDigits();var S=!1,C=0;do{for(var I,A=0,T=1;!0;){if(I=void 0,l-48>>>0<c)I=l-48;else if((32|l)-97>>>0<v)I=(32|l)-87;else {S=!0;break}var P=T*i;if(1073741823<P)break;if(T=P,A=A*i+I,C++,++o===n){S=!0;break}l=e.charCodeAt(o);}u=30*g.__kBitsPerCharTableMultiplier-1;var O=0|(s*C+u>>>g.__kBitsPerCharTableShift)/30;b.__inplaceMultiplyAdd(T,A,O);}while(!S)}if(o!==n){if(!g.__isWhitespace(l))return null;for(o++;o<n;o++)if(l=e.charCodeAt(o),!g.__isWhitespace(l))return null}return b.sign=-1===_,b.__trim()}},{key:"__fillFromParts",value:function n(e,t,_){for(var o=0,l=0,g=0,a=t.length-1;0<=a;a--){var s=t[a],u=_[a];l|=s<<g,g+=u,30===g?(e.__setDigit(o++,l),g=0,l=0):30<g&&(e.__setDigit(o++,1073741823&l),g-=30,l=s>>>u-g);}if(0!==l){if(o>=e.length)throw new Error("implementation bug");e.__setDigit(o++,l);}for(;o<e.length;o++)e.__setDigit(o,0);}},{key:"__toStringBasePowerOfTwo",value:function _(e,t){var n=e.length,o=t-1;o=(85&o>>>1)+(85&o),o=(51&o>>>2)+(51&o),o=(15&o>>>4)+(15&o);var l=o,a=t-1,s=e.__digit(n-1),u=g.__clz30(s),r=30*n-u,d=0|(r+l-1)/l;if(e.sign&&d++,268435456<d)throw new Error("string too long");for(var h=Array(d),b=d-1,m=0,c=0,v=0;v<n-1;v++){var y=e.__digit(v),f=(m|y<<c)&a;h[b--]=g.__kConversionChars[f];var k=l-c;for(m=y>>>k,c=30-k;c>=l;)h[b--]=g.__kConversionChars[m&a],m>>>=l,c-=l;}var D=(m|s<<c)&a;for(h[b--]=g.__kConversionChars[D],m=s>>>l-c;0!==m;)h[b--]=g.__kConversionChars[m&a],m>>>=l;if(e.sign&&(h[b--]="-"),-1!==b)throw new Error("implementation bug");return h.join("")}},{key:"__toStringGeneric",value:function n(e,t,_){var o=e.length;if(0===o)return "";if(1===o){var l=e.__unsignedDigit(0).toString(t);return !1===_&&e.sign&&(l="-"+l),l}var a=30*o-g.__clz30(e.__digit(o-1)),s=g.__kMaxBitsPerChar[t],u=s-1,r=a*g.__kBitsPerCharTableMultiplier;r+=u-1,r=0|r/u;var d,h,b=r+1>>1,m=g.exponentiate(g.__oneDigit(t,!1),g.__oneDigit(b,!1)),c=m.__unsignedDigit(0);if(1===m.length&&32767>=c){d=new g(e.length,!1),d.__initializeDigits();for(var v,y=0,f=2*e.length-1;0<=f;f--)v=y<<15|e.__halfDigit(f),d.__setHalfDigit(f,0|v/c),y=0|v%c;h=y.toString(t);}else {var k=g.__absoluteDivLarge(e,m,!0,!0);d=k.quotient;var D=k.remainder.__trim();h=g.__toStringGeneric(D,t,!0);}d.__trim();for(var p=g.__toStringGeneric(d,t,!0);h.length<b;)h="0"+h;return !1===_&&e.sign&&(p="-"+p),p+h}},{key:"__unequalSign",value:function t(e){return e?-1:1}},{key:"__absoluteGreater",value:function t(e){return e?-1:1}},{key:"__absoluteLess",value:function t(e){return e?1:-1}},{key:"__compareToBigInt",value:function i(e,t){var _=e.sign;if(_!==t.sign)return g.__unequalSign(_);var n=g.__absoluteCompare(e,t);return 0<n?g.__absoluteGreater(_):0>n?g.__absoluteLess(_):0}},{key:"__compareToNumber",value:function _(e,i){if(g.__isOneDigitInt(i)){var n=e.sign,o=0>i;if(n!==o)return g.__unequalSign(n);if(0===e.length){if(o)throw new Error("implementation bug");return 0===i?0:-1}if(1<e.length)return g.__absoluteGreater(n);var l=t(i),a=e.__unsignedDigit(0);return a>l?g.__absoluteGreater(n):a<l?g.__absoluteLess(n):0}return g.__compareToDouble(e,i)}},{key:"__compareToDouble",value:function i(e,t){if(t!==t)return t;if(t===1/0)return -1;if(t===-Infinity)return 1;var _=e.sign,n=0>t;if(_!==n)return g.__unequalSign(_);if(0===t)throw new Error("implementation bug: should be handled elsewhere");if(0===e.length)return -1;g.__kBitConversionDouble[0]=t;var o=2047&g.__kBitConversionInts[g.__kBitConversionIntHigh]>>>20;if(2047==o)throw new Error("implementation bug: handled elsewhere");var l=o-1023;if(0>l)return g.__absoluteGreater(_);var a=e.length,s=e.__digit(a-1),u=g.__clz30(s),r=30*a-u,d=l+1;if(r<d)return g.__absoluteLess(_);if(r>d)return g.__absoluteGreater(_);var b=1048576|1048575&g.__kBitConversionInts[g.__kBitConversionIntHigh],m=g.__kBitConversionInts[g.__kBitConversionIntLow],c=20,v=29-u;if(v!==(0|(r-1)%30))throw new Error("implementation bug");var y,f=0;if(v<c){var k=c-v;f=k+32,y=b>>>k,b=b<<32-k|m>>>k,m<<=32-k;}else if(v===c)f=32,y=b,b=m,m=0;else {var D=v-c;f=32-D,y=b<<D|m>>>32-D,b=m<<D,m=0;}if(s>>>=0,y>>>=0,s>y)return g.__absoluteGreater(_);if(s<y)return g.__absoluteLess(_);for(var p=a-2;0<=p;p--){0<f?(f-=30,y=b>>>2,b=b<<30|m>>>2,m<<=30):y=0;var B=e.__unsignedDigit(p);if(B>y)return g.__absoluteGreater(_);if(B<y)return g.__absoluteLess(_)}if(0!==b||0!==m){if(0===f)throw new Error("implementation bug");return g.__absoluteLess(_)}return 0}},{key:"__equalToNumber",value:function _(e,i){return g.__isOneDigitInt(i)?0===i?0===e.length:1===e.length&&e.sign===0>i&&e.__unsignedDigit(0)===t(i):0===g.__compareToDouble(e,i)}},{key:"__comparisonResultToBool",value:function i(e,t){return 0===t?0>e:1===t?0>=e:2===t?0<e:3===t?0<=e:void 0}},{key:"__compare",value:function _(e,t,i){if(e=g.__toPrimitive(e),t=g.__toPrimitive(t),"string"==typeof e&&"string"==typeof t)switch(i){case 0:return e<t;case 1:return e<=t;case 2:return e>t;case 3:return e>=t}if(g.__isBigInt(e)&&"string"==typeof t)return t=g.__fromString(t),null!==t&&g.__comparisonResultToBool(g.__compareToBigInt(e,t),i);if("string"==typeof e&&g.__isBigInt(t))return e=g.__fromString(e),null!==e&&g.__comparisonResultToBool(g.__compareToBigInt(e,t),i);if(e=g.__toNumeric(e),t=g.__toNumeric(t),g.__isBigInt(e)){if(g.__isBigInt(t))return g.__comparisonResultToBool(g.__compareToBigInt(e,t),i);if("number"!=typeof t)throw new Error("implementation bug");return g.__comparisonResultToBool(g.__compareToNumber(e,t),i)}if("number"!=typeof e)throw new Error("implementation bug");if(g.__isBigInt(t))return g.__comparisonResultToBool(g.__compareToNumber(t,e),2^i);if("number"!=typeof t)throw new Error("implementation bug");return 0===i?e<t:1===i?e<=t:2===i?e>t:3===i?e>=t:void 0}},{key:"__absoluteAdd",value:function n(e,t,_){if(e.length<t.length)return g.__absoluteAdd(t,e,_);if(0===e.length)return e;if(0===t.length)return e.sign===_?e:g.unaryMinus(e);var o=e.length;(0===e.__clzmsd()||t.length===e.length&&0===t.__clzmsd())&&o++;for(var l,a=new g(o,_),s=0,u=0;u<t.length;u++)l=e.__digit(u)+t.__digit(u)+s,s=l>>>30,a.__setDigit(u,1073741823&l);for(;u<e.length;u++){var d=e.__digit(u)+s;s=d>>>30,a.__setDigit(u,1073741823&d);}return u<a.length&&a.__setDigit(u,s),a.__trim()}},{key:"__absoluteSub",value:function n(e,t,_){if(0===e.length)return e;if(0===t.length)return e.sign===_?e:g.unaryMinus(e);for(var o,l=new g(e.length,_),a=0,s=0;s<t.length;s++)o=e.__digit(s)-t.__digit(s)-a,a=1&o>>>30,l.__setDigit(s,1073741823&o);for(;s<e.length;s++){var u=e.__digit(s)-a;a=1&u>>>30,l.__setDigit(s,1073741823&u);}return l.__trim()}},{key:"__absoluteAddOne",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length;null===n?n=new g(o,t):n.sign=t;for(var l,a=1,s=0;s<o;s++)l=e.__digit(s)+a,a=l>>>30,n.__setDigit(s,1073741823&l);return 0!==a&&n.__setDigitGrow(o,1),n}},{key:"__absoluteSubOne",value:function _(e,t){var n=e.length;t=t||n;for(var o,l=new g(t,!1),a=1,s=0;s<n;s++)o=e.__digit(s)-a,a=1&o>>>30,l.__setDigit(s,1073741823&o);if(0!==a)throw new Error("implementation bug");for(var u=n;u<t;u++)l.__setDigit(u,0);return l}},{key:"__absoluteAnd",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;if(o<l){a=o;var s=e,u=o;e=t,o=l,t=s,l=u;}var r=a;null===n?n=new g(r,!1):r=n.length;for(var d=0;d<a;d++)n.__setDigit(d,e.__digit(d)&t.__digit(d));for(;d<r;d++)n.__setDigit(d,0);return n}},{key:"__absoluteAndNot",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;o<l&&(a=o);var s=o;null===n?n=new g(s,!1):s=n.length;for(var u=0;u<a;u++)n.__setDigit(u,e.__digit(u)&~t.__digit(u));for(;u<o;u++)n.__setDigit(u,e.__digit(u));for(;u<s;u++)n.__setDigit(u,0);return n}},{key:"__absoluteOr",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;if(o<l){a=o;var s=e,u=o;e=t,o=l,t=s,l=u;}var r=o;null===n?n=new g(r,!1):r=n.length;for(var d=0;d<a;d++)n.__setDigit(d,e.__digit(d)|t.__digit(d));for(;d<o;d++)n.__setDigit(d,e.__digit(d));for(;d<r;d++)n.__setDigit(d,0);return n}},{key:"__absoluteXor",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,o=e.length,l=t.length,a=l;if(o<l){a=o;var s=e,u=o;e=t,o=l,t=s,l=u;}var r=o;null===n?n=new g(r,!1):r=n.length;for(var d=0;d<a;d++)n.__setDigit(d,e.__digit(d)^t.__digit(d));for(;d<o;d++)n.__setDigit(d,e.__digit(d));for(;d<r;d++)n.__setDigit(d,0);return n}},{key:"__absoluteCompare",value:function _(e,t){var n=e.length-t.length;if(0!=n)return n;for(var o=e.length-1;0<=o&&e.__digit(o)===t.__digit(o);)o--;return 0>o?0:e.__unsignedDigit(o)>t.__unsignedDigit(o)?1:-1}},{key:"__multiplyAccumulate",value:function o(e,t,_,n){if(0!==t){for(var l=32767&t,a=t>>>15,s=0,u=0,r=0;r<e.length;r++,n++){var d=_.__digit(n),h=e.__digit(r),b=32767&h,m=h>>>15,c=g.__imul(b,l),v=g.__imul(b,a),y=g.__imul(m,l),f=g.__imul(m,a);d+=u+c+s,s=d>>>30,d&=1073741823,d+=((32767&v)<<15)+((32767&y)<<15),s+=d>>>30,u=f+(v>>>15)+(y>>>15),_.__setDigit(n,1073741823&d);}for(;0!==s||0!==u;n++){var k=_.__digit(n);k+=s+u,u=0,s=k>>>30,_.__setDigit(n,1073741823&k);}}}},{key:"__internalMultiplyAdd",value:function a(e,t,_,o,l){for(var s=_,u=0,d=0;d<o;d++){var h=e.__digit(d),b=g.__imul(32767&h,t),m=g.__imul(h>>>15,t),c=b+((32767&m)<<15)+u+s;s=c>>>30,u=m>>>15,l.__setDigit(d,1073741823&c);}if(l.length>o)for(l.__setDigit(o++,s+u);o<l.length;)l.__setDigit(o++,0);else if(0!==s+u)throw new Error("implementation bug")}},{key:"__absoluteDivSmall",value:function _(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;null===n&&(n=new g(e.length,!1));for(var o=0,l=2*e.length-1;0<=l;l-=2){var a=(o<<15|e.__halfDigit(l))>>>0,s=0|a/t;o=0|a%t,a=(o<<15|e.__halfDigit(l-1))>>>0;var u=0|a/t;o=0|a%t,n.__setDigit(l>>>1,s<<15|u);}return n}},{key:"__absoluteModSmal