shufflecom-calculations 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/lib/{packages/shuffle-calculations/src/games → games}/crash.d.ts +4 -4
  2. package/lib/{packages/shuffle-calculations/src/games → games}/dice.d.ts +17 -17
  3. package/lib/{packages/shuffle-calculations/src/games → games}/hilo.d.ts +31 -31
  4. package/lib/{packages/shuffle-calculations/src/games → games}/keno.d.ts +21 -21
  5. package/lib/{packages/shuffle-calculations/src/games → games}/limbo.d.ts +4 -4
  6. package/lib/{packages/shuffle-calculations/src/games → games}/mines.d.ts +7 -7
  7. package/lib/{packages/shuffle-calculations/src/games → games}/plinko.d.ts +18 -18
  8. package/lib/{packages/shuffle-calculations/src/index.d.ts → index.d.ts} +9 -9
  9. package/lib/index.js +2 -0
  10. package/lib/index.js.map +1 -0
  11. package/lib/index.modern.js +2 -0
  12. package/lib/index.modern.js.map +1 -0
  13. package/lib/index.modern.mjs +2 -0
  14. package/lib/index.modern.mjs.map +1 -0
  15. package/lib/index.umd.js +2 -0
  16. package/lib/index.umd.js.map +1 -0
  17. package/lib/{packages/shuffle-calculations/src/regex → regex}/index.d.ts +6 -6
  18. package/lib/{packages/shuffle-calculations/src/utils → utils}/calculate-payout.d.ts +2 -2
  19. package/lib/{packages/shuffle-calculations/src/utils → utils}/chat-message.type.d.ts +26 -26
  20. package/lib/{packages/shuffle-calculations/src/utils → utils}/dates-calculator.d.ts +5 -5
  21. package/lib/{packages/shuffle-calculations/src/utils → utils}/derive-vip-bonus.d.ts +4 -4
  22. package/lib/{packages/shuffle-calculations/src/utils → utils}/edge.d.ts +2 -2
  23. package/lib/{packages/shuffle-calculations/src/utils → utils}/factorial.d.ts +2 -2
  24. package/lib/{packages/shuffle-calculations/src/utils → utils}/getChatMessageLength.d.ts +2 -2
  25. package/lib/{packages/shuffle-calculations/src/utils → utils}/hex-to-bytes.d.ts +1 -1
  26. package/lib/{packages/shuffle-calculations/src/utils → utils}/index.d.ts +7 -7
  27. package/lib/{packages/shuffle-calculations/src/utils → utils}/ncr.d.ts +2 -2
  28. package/lib/{packages/shuffle-calculations/src/utils → utils}/odds.d.ts +2 -2
  29. package/lib/{packages/shuffle-calculations/src/utils → utils}/vip-bonus.type.d.ts +30 -30
  30. package/package.json +6 -3
  31. package/tsconfig.json +3 -0
  32. package/lib/packages/shuffle-calculations/src/games/crash.js +0 -22
  33. package/lib/packages/shuffle-calculations/src/games/crash.js.map +0 -1
  34. package/lib/packages/shuffle-calculations/src/games/crash.spec.d.ts +0 -1
  35. package/lib/packages/shuffle-calculations/src/games/crash.spec.js +0 -35
  36. package/lib/packages/shuffle-calculations/src/games/crash.spec.js.map +0 -1
  37. package/lib/packages/shuffle-calculations/src/games/dice.js +0 -92
  38. package/lib/packages/shuffle-calculations/src/games/dice.js.map +0 -1
  39. package/lib/packages/shuffle-calculations/src/games/dice.spec.d.ts +0 -1
  40. package/lib/packages/shuffle-calculations/src/games/dice.spec.js +0 -53
  41. package/lib/packages/shuffle-calculations/src/games/dice.spec.js.map +0 -1
  42. package/lib/packages/shuffle-calculations/src/games/hilo.js +0 -134
  43. package/lib/packages/shuffle-calculations/src/games/hilo.js.map +0 -1
  44. package/lib/packages/shuffle-calculations/src/games/hilo.spec.d.ts +0 -1
  45. package/lib/packages/shuffle-calculations/src/games/hilo.spec.js +0 -119
  46. package/lib/packages/shuffle-calculations/src/games/hilo.spec.js.map +0 -1
  47. package/lib/packages/shuffle-calculations/src/games/keno.js +0 -145
  48. package/lib/packages/shuffle-calculations/src/games/keno.js.map +0 -1
  49. package/lib/packages/shuffle-calculations/src/games/keno.spec.d.ts +0 -1
  50. package/lib/packages/shuffle-calculations/src/games/keno.spec.js +0 -71
  51. package/lib/packages/shuffle-calculations/src/games/keno.spec.js.map +0 -1
  52. package/lib/packages/shuffle-calculations/src/games/limbo.js +0 -26
  53. package/lib/packages/shuffle-calculations/src/games/limbo.js.map +0 -1
  54. package/lib/packages/shuffle-calculations/src/games/limbo.spec.d.ts +0 -1
  55. package/lib/packages/shuffle-calculations/src/games/limbo.spec.js +0 -50
  56. package/lib/packages/shuffle-calculations/src/games/limbo.spec.js.map +0 -1
  57. package/lib/packages/shuffle-calculations/src/games/mines.js +0 -44
  58. package/lib/packages/shuffle-calculations/src/games/mines.js.map +0 -1
  59. package/lib/packages/shuffle-calculations/src/games/mines.spec.d.ts +0 -1
  60. package/lib/packages/shuffle-calculations/src/games/mines.spec.js +0 -62
  61. package/lib/packages/shuffle-calculations/src/games/mines.spec.js.map +0 -1
  62. package/lib/packages/shuffle-calculations/src/games/plinko.js +0 -128
  63. package/lib/packages/shuffle-calculations/src/games/plinko.js.map +0 -1
  64. package/lib/packages/shuffle-calculations/src/games/plinko.spec.d.ts +0 -1
  65. package/lib/packages/shuffle-calculations/src/games/plinko.spec.js +0 -78
  66. package/lib/packages/shuffle-calculations/src/games/plinko.spec.js.map +0 -1
  67. package/lib/packages/shuffle-calculations/src/index.js +0 -39
  68. package/lib/packages/shuffle-calculations/src/index.js.map +0 -1
  69. package/lib/packages/shuffle-calculations/src/regex/index.js +0 -10
  70. package/lib/packages/shuffle-calculations/src/regex/index.js.map +0 -1
  71. package/lib/packages/shuffle-calculations/src/regex/regex.spec.d.ts +0 -1
  72. package/lib/packages/shuffle-calculations/src/regex/regex.spec.js +0 -76
  73. package/lib/packages/shuffle-calculations/src/regex/regex.spec.js.map +0 -1
  74. package/lib/packages/shuffle-calculations/src/utils/calculate-payout.js +0 -8
  75. package/lib/packages/shuffle-calculations/src/utils/calculate-payout.js.map +0 -1
  76. package/lib/packages/shuffle-calculations/src/utils/chat-message.type.js +0 -10
  77. package/lib/packages/shuffle-calculations/src/utils/chat-message.type.js.map +0 -1
  78. package/lib/packages/shuffle-calculations/src/utils/date-calculator.spec.d.ts +0 -1
  79. package/lib/packages/shuffle-calculations/src/utils/date-calculator.spec.js +0 -70
  80. package/lib/packages/shuffle-calculations/src/utils/date-calculator.spec.js.map +0 -1
  81. package/lib/packages/shuffle-calculations/src/utils/dates-calculator.js +0 -37
  82. package/lib/packages/shuffle-calculations/src/utils/dates-calculator.js.map +0 -1
  83. package/lib/packages/shuffle-calculations/src/utils/derive-vip-bonus.js +0 -53
  84. package/lib/packages/shuffle-calculations/src/utils/derive-vip-bonus.js.map +0 -1
  85. package/lib/packages/shuffle-calculations/src/utils/derive-vip-bonus.spec.d.ts +0 -1
  86. package/lib/packages/shuffle-calculations/src/utils/derive-vip-bonus.spec.js +0 -131
  87. package/lib/packages/shuffle-calculations/src/utils/derive-vip-bonus.spec.js.map +0 -1
  88. package/lib/packages/shuffle-calculations/src/utils/edge.js +0 -17
  89. package/lib/packages/shuffle-calculations/src/utils/edge.js.map +0 -1
  90. package/lib/packages/shuffle-calculations/src/utils/factorial.js +0 -20
  91. package/lib/packages/shuffle-calculations/src/utils/factorial.js.map +0 -1
  92. package/lib/packages/shuffle-calculations/src/utils/factorial.spec.d.ts +0 -1
  93. package/lib/packages/shuffle-calculations/src/utils/factorial.spec.js +0 -19
  94. package/lib/packages/shuffle-calculations/src/utils/factorial.spec.js.map +0 -1
  95. package/lib/packages/shuffle-calculations/src/utils/getChatMessageLength.js +0 -19
  96. package/lib/packages/shuffle-calculations/src/utils/getChatMessageLength.js.map +0 -1
  97. package/lib/packages/shuffle-calculations/src/utils/getChatMessageLength.spec.d.ts +0 -1
  98. package/lib/packages/shuffle-calculations/src/utils/getChatMessageLength.spec.js +0 -21
  99. package/lib/packages/shuffle-calculations/src/utils/getChatMessageLength.spec.js.map +0 -1
  100. package/lib/packages/shuffle-calculations/src/utils/hex-to-bytes.js +0 -15
  101. package/lib/packages/shuffle-calculations/src/utils/hex-to-bytes.js.map +0 -1
  102. package/lib/packages/shuffle-calculations/src/utils/index.js +0 -19
  103. package/lib/packages/shuffle-calculations/src/utils/index.js.map +0 -1
  104. package/lib/packages/shuffle-calculations/src/utils/ncr.js +0 -15
  105. package/lib/packages/shuffle-calculations/src/utils/ncr.js.map +0 -1
  106. package/lib/packages/shuffle-calculations/src/utils/ncr.spec.d.ts +0 -1
  107. package/lib/packages/shuffle-calculations/src/utils/ncr.spec.js +0 -21
  108. package/lib/packages/shuffle-calculations/src/utils/ncr.spec.js.map +0 -1
  109. package/lib/packages/shuffle-calculations/src/utils/odds.js +0 -12
  110. package/lib/packages/shuffle-calculations/src/utils/odds.js.map +0 -1
  111. package/lib/packages/shuffle-calculations/src/utils/vip-bonus.type.js +0 -17
  112. package/lib/packages/shuffle-calculations/src/utils/vip-bonus.type.js.map +0 -1
  113. package/lib/test/utils/mockdatetime.d.ts +0 -2
  114. package/lib/test/utils/mockdatetime.js +0 -20
  115. package/lib/test/utils/mockdatetime.js.map +0 -1
  116. package/lib/tsconfig.tsbuildinfo +0 -1
@@ -1,4 +1,4 @@
1
- import BigNumber from 'bignumber.js';
2
- export declare class Crash {
3
- static getResult(hexStr: string): BigNumber;
4
- }
1
+ import BigNumber from 'bignumber.js';
2
+ export declare class Crash {
3
+ static getResult(hexStr: string): BigNumber;
4
+ }
@@ -1,17 +1,17 @@
1
- import BigNumber from 'bignumber.js';
2
- export declare enum DiceDirection {
3
- ABOVE = "ABOVE",
4
- BELOW = "BELOW"
5
- }
6
- export declare class Dice {
7
- static getResult(hexStr: string): BigNumber;
8
- private static convertToBN;
9
- static isWin(direction: DiceDirection, playerBet: number, result: number): boolean;
10
- static isWinBN(direction: DiceDirection, playerBet: BigNumber, result: BigNumber): boolean;
11
- static calculateMultiplier(direction: DiceDirection, playerBet: number, edgeBps: number): number;
12
- static calculateMultiplierBN(direction: DiceDirection, playerBet: BigNumber, edgeBps: number): BigNumber;
13
- static calculateWinChance(direction: DiceDirection, playerBet: number): number;
14
- static calculateWinChanceBN(direction: DiceDirection, playerBet: BigNumber): BigNumber;
15
- static calculateBetFromMultiplier(direction: DiceDirection, multiplier: number, edgeBps: number): number;
16
- static calculateBetFromWinChance(direction: DiceDirection, winChance: number): number;
17
- }
1
+ import BigNumber from 'bignumber.js';
2
+ export declare enum DiceDirection {
3
+ ABOVE = "ABOVE",
4
+ BELOW = "BELOW"
5
+ }
6
+ export declare class Dice {
7
+ static getResult(hexStr: string): BigNumber;
8
+ private static convertToBN;
9
+ static isWin(direction: DiceDirection, playerBet: number, result: number): boolean;
10
+ static isWinBN(direction: DiceDirection, playerBet: BigNumber, result: BigNumber): boolean;
11
+ static calculateMultiplier(direction: DiceDirection, playerBet: number, edgeBps: number): number;
12
+ static calculateMultiplierBN(direction: DiceDirection, playerBet: BigNumber, edgeBps: number): BigNumber;
13
+ static calculateWinChance(direction: DiceDirection, playerBet: number): number;
14
+ static calculateWinChanceBN(direction: DiceDirection, playerBet: BigNumber): BigNumber;
15
+ static calculateBetFromMultiplier(direction: DiceDirection, multiplier: number, edgeBps: number): number;
16
+ static calculateBetFromWinChance(direction: DiceDirection, winChance: number): number;
17
+ }
@@ -1,31 +1,31 @@
1
- import BigNumber from 'bignumber.js';
2
- export declare enum HiloGuess {
3
- SKIP = "SKIP",
4
- SAME_OR_ABOVE = "SAME_OR_ABOVE",
5
- SAME_OR_BELOW = "SAME_OR_BELOW"
6
- }
7
- export declare enum Suits {
8
- DIAMONDS = "DIAMONDS",
9
- HEARTS = "HEARTS",
10
- SPADES = "SPADES",
11
- CLUBS = "CLUBS"
12
- }
13
- export interface CardDetail {
14
- suit: Suits;
15
- value: string;
16
- }
17
- export declare class Hilo {
18
- static getResult(hexStr: string, cardNo: number): number;
19
- static getResults(hexStr: string[]): number[];
20
- static toComparableNo(result: number): number;
21
- static isGuessCorrect(previousCard: number, guess: HiloGuess, result: number): boolean;
22
- static calculateTotalMultiplierBN(actions: {
23
- guess: HiloGuess;
24
- lastCard: number;
25
- }[], edgeBps: number): BigNumber;
26
- static calculateMultiplier(guess: HiloGuess, previousCard: number, edgeBps: number): number;
27
- static calculateMultiplierBN(guess: HiloGuess, previousCard: number, edgeBps: number): BigNumber;
28
- static calculateWinChance(guess: HiloGuess, previousCard: number): number;
29
- static calculateWinChanceBN(guess: HiloGuess, previousCard: number): BigNumber;
30
- static getCardDetails(cardNum: number): CardDetail;
31
- }
1
+ import BigNumber from 'bignumber.js';
2
+ export declare enum HiloGuess {
3
+ SKIP = "SKIP",
4
+ SAME_OR_ABOVE = "SAME_OR_ABOVE",
5
+ SAME_OR_BELOW = "SAME_OR_BELOW"
6
+ }
7
+ export declare enum Suits {
8
+ DIAMONDS = "DIAMONDS",
9
+ HEARTS = "HEARTS",
10
+ SPADES = "SPADES",
11
+ CLUBS = "CLUBS"
12
+ }
13
+ export interface CardDetail {
14
+ suit: Suits;
15
+ value: string;
16
+ }
17
+ export declare class Hilo {
18
+ static getResult(hexStr: string, cardNo: number): number;
19
+ static getResults(hexStr: string[]): number[];
20
+ static toComparableNo(result: number): number;
21
+ static isGuessCorrect(previousCard: number, guess: HiloGuess, result: number): boolean;
22
+ static calculateTotalMultiplierBN(actions: {
23
+ guess: HiloGuess;
24
+ lastCard: number;
25
+ }[], edgeBps: number): BigNumber;
26
+ static calculateMultiplier(guess: HiloGuess, previousCard: number, edgeBps: number): number;
27
+ static calculateMultiplierBN(guess: HiloGuess, previousCard: number, edgeBps: number): BigNumber;
28
+ static calculateWinChance(guess: HiloGuess, previousCard: number): number;
29
+ static calculateWinChanceBN(guess: HiloGuess, previousCard: number): BigNumber;
30
+ static getCardDetails(cardNum: number): CardDetail;
31
+ }
@@ -1,21 +1,21 @@
1
- import BigNumber from 'bignumber.js';
2
- export declare enum KenoRiskLevel {
3
- CLASSIC = "CLASSIC",
4
- LOW_RISK = "LOW_RISK",
5
- MEDIUM_RISK = "MEDIUM_RISK",
6
- HIGH_RISK = "HIGH_RISK"
7
- }
8
- interface KenoConfig {
9
- tiles: number;
10
- payout: Record<KenoRiskLevel, number[]>;
11
- }
12
- export declare class Keno {
13
- static configs(): KenoConfig[];
14
- static calculateMultiplier(risk: KenoRiskLevel, selectedTiles: number[], results: number[]): BigNumber;
15
- static getResults(hexStr: string[], rows: number): number[];
16
- static getChance({ correctPicks, picked }: {
17
- correctPicks: number;
18
- picked: number;
19
- }): BigNumber;
20
- }
21
- export {};
1
+ import BigNumber from 'bignumber.js';
2
+ export declare enum KenoRiskLevel {
3
+ CLASSIC = "CLASSIC",
4
+ LOW_RISK = "LOW_RISK",
5
+ MEDIUM_RISK = "MEDIUM_RISK",
6
+ HIGH_RISK = "HIGH_RISK"
7
+ }
8
+ interface KenoConfig {
9
+ tiles: number;
10
+ payout: Record<KenoRiskLevel, number[]>;
11
+ }
12
+ export declare class Keno {
13
+ static configs(): KenoConfig[];
14
+ static calculateMultiplier(risk: KenoRiskLevel, selectedTiles: number[], results: number[]): BigNumber;
15
+ static getResults(hexStr: string[], rows: number): number[];
16
+ static getChance({ correctPicks, picked }: {
17
+ correctPicks: number;
18
+ picked: number;
19
+ }): BigNumber;
20
+ }
21
+ export {};
@@ -1,4 +1,4 @@
1
- import BigNumber from 'bignumber.js';
2
- export declare class Limbo {
3
- static getResult(hexStr: string, edgeBps: number): BigNumber;
4
- }
1
+ import BigNumber from 'bignumber.js';
2
+ export declare class Limbo {
3
+ static getResult(hexStr: string, edgeBps: number): BigNumber;
4
+ }
@@ -1,7 +1,7 @@
1
- import BigNumber from 'bignumber.js';
2
- export declare class Mines {
3
- static getResults(hexStr: string[], rows: number): number[];
4
- static hitMine: (field: number, results: number[]) => boolean;
5
- static calculateMultiplierBN(diamonds: number, mines: number, edgeBps: number): BigNumber;
6
- static calculateWinChanceBN(diamonds: number, mines: number): BigNumber;
7
- }
1
+ import BigNumber from 'bignumber.js';
2
+ export declare class Mines {
3
+ static getResults(hexStr: string[], rows: number): number[];
4
+ static hitMine: (field: number, results: number[]) => boolean;
5
+ static calculateMultiplierBN(diamonds: number, mines: number, edgeBps: number): BigNumber;
6
+ static calculateWinChanceBN(diamonds: number, mines: number): BigNumber;
7
+ }
@@ -1,18 +1,18 @@
1
- import BigNumber from 'bignumber.js';
2
- export declare enum PlinkoRiskLevel {
3
- LOW_RISK = "LOW_RISK",
4
- MEDIUM_RISK = "MEDIUM_RISK",
5
- HIGH_RISK = "HIGH_RISK"
6
- }
7
- interface PlinkConfig {
8
- rows: number;
9
- payout: Record<PlinkoRiskLevel, number[]>;
10
- }
11
- export declare class Plinko {
12
- static configs(): PlinkConfig[];
13
- static calculateChance(rows: number, position: number): BigNumber;
14
- static calculateChances(rows: number): BigNumber[];
15
- static calculateMultiplier(risk: PlinkoRiskLevel, rows: number, results: number[]): BigNumber;
16
- static getResults(hexStr: string[], rows: number): number[];
17
- }
18
- export {};
1
+ import BigNumber from 'bignumber.js';
2
+ export declare enum PlinkoRiskLevel {
3
+ LOW_RISK = "LOW_RISK",
4
+ MEDIUM_RISK = "MEDIUM_RISK",
5
+ HIGH_RISK = "HIGH_RISK"
6
+ }
7
+ interface PlinkConfig {
8
+ rows: number;
9
+ payout: Record<PlinkoRiskLevel, number[]>;
10
+ }
11
+ export declare class Plinko {
12
+ static configs(): PlinkConfig[];
13
+ static calculateChance(rows: number, position: number): BigNumber;
14
+ static calculateChances(rows: number): BigNumber[];
15
+ static calculateMultiplier(risk: PlinkoRiskLevel, rows: number, results: number[]): BigNumber;
16
+ static getResults(hexStr: string[], rows: number): number[];
17
+ }
18
+ export {};
@@ -1,9 +1,9 @@
1
- export * from './regex';
2
- export * from './utils';
3
- export { Dice, DiceDirection } from './games/dice';
4
- export { Mines } from './games/mines';
5
- export { Plinko, PlinkoRiskLevel } from './games/plinko';
6
- export { Crash } from './games/crash';
7
- export { Limbo } from './games/limbo';
8
- export { Keno, KenoRiskLevel } from './games/keno';
9
- export { Hilo, HiloGuess, CardDetail, Suits } from './games/hilo';
1
+ export * from './regex';
2
+ export * from './utils';
3
+ export { Dice, DiceDirection } from './games/dice';
4
+ export { Mines } from './games/mines';
5
+ export { Plinko, PlinkoRiskLevel } from './games/plinko';
6
+ export { Crash } from './games/crash';
7
+ export { Limbo } from './games/limbo';
8
+ export { Keno, KenoRiskLevel } from './games/keno';
9
+ export { Hilo, HiloGuess, CardDetail, Suits } from './games/hilo';
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ var e=require("dayjs"),t=require("dayjs/plugin/utc"),r=require("dayjs/plugin/isSameOrAfter");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=/*#__PURE__*/n(e),o=/*#__PURE__*/n(t),s=/*#__PURE__*/n(r),u=/@\[([a-z\d]{3,16})\]\(([a-z\d]{3,16})\)/gi;function l(e){if(!e)return new Uint8Array;for(var t=[],r=0;r<e.length;r+=2)t.push(parseInt(e.substring(r,r+2),16));return new Uint8Array(t)}var c=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,a=Math.ceil,f=Math.floor,p="[BigNumber Error] ",h=p+"Number primitive has more than 15 significant digits: ",d=1e14,v=14,R=9007199254740991,I=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],g=1e7,S=1e9;function w(e){var t=0|e;return e>0||e===t?t:t-1}function m(e){for(var t,r,n=1,i=e.length,o=e[0]+"";n<i;){for(t=e[n++]+"",r=v-t.length;r--;t="0"+t);o+=t}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function y(e,t){var r,n,i=e.c,o=t.c,s=e.s,u=t.s,l=e.e,c=t.e;if(!s||!u)return null;if(n=o&&!o[0],(r=i&&!i[0])||n)return r?n?0:-u:s;if(s!=u)return s;if(r=s<0,n=l==c,!i||!o)return n?0:!i^r?1:-1;if(!n)return l>c^r?1:-1;for(u=(l=i.length)<(c=o.length)?l:c,s=0;s<u;s++)if(i[s]!=o[s])return i[s]>o[s]^r?1:-1;return l==c?0:l>c^r?1:-1}function E(e,t,r,n){if(e<t||e>r||e!==f(e))throw Error(p+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function L(e){var t=e.c.length-1;return w(e.e/v)==t&&e.c[t]%2!=0}function x(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function O(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}var _,N=function e(t){var r,n,i,o,s,u,l,_,N,D,A=V.prototype={constructor:V,toString:null,valueOf:null},B=new V(1),k=20,b=4,M=-7,K=21,C=-1e7,P=1e7,H=!1,U=1,G=0,W={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},T="0123456789abcdefghijklmnopqrstuvwxyz",j=!0;function V(e,t){var r,o,s,u,l,a,p,d,I=this;if(!(I instanceof V))return new V(e,t);if(null==t){if(e&&!0===e._isBigNumber)return I.s=e.s,void(!e.c||e.e>P?I.c=I.e=null:e.e<C?I.c=[I.e=0]:(I.e=e.e,I.c=e.c.slice()));if((a="number"==typeof e)&&0*e==0){if(I.s=1/e<0?(e=-e,-1):1,e===~~e){for(u=0,l=e;l>=10;l/=10,u++);return void(u>P?I.c=I.e=null:(I.e=u,I.c=[e]))}d=String(e)}else{if(!c.test(d=String(e)))return i(I,d,a);I.s=45==d.charCodeAt(0)?(d=d.slice(1),-1):1}(u=d.indexOf("."))>-1&&(d=d.replace(".","")),(l=d.search(/e/i))>0?(u<0&&(u=l),u+=+d.slice(l+1),d=d.substring(0,l)):u<0&&(u=d.length)}else{if(E(t,2,T.length,"Base"),10==t&&j)return X(I=new V(e),k+I.e+1,b);if(d=String(e),a="number"==typeof e){if(0*e!=0)return i(I,d,a,t);if(I.s=1/e<0?(d=d.slice(1),-1):1,V.DEBUG&&d.replace(/^0\.0*|\./,"").length>15)throw Error(h+e)}else I.s=45===d.charCodeAt(0)?(d=d.slice(1),-1):1;for(r=T.slice(0,t),u=l=0,p=d.length;l<p;l++)if(r.indexOf(o=d.charAt(l))<0){if("."==o){if(l>u){u=p;continue}}else if(!s&&(d==d.toUpperCase()&&(d=d.toLowerCase())||d==d.toLowerCase()&&(d=d.toUpperCase()))){s=!0,l=-1,u=0;continue}return i(I,String(e),a,t)}a=!1,(u=(d=n(d,t,10,I.s)).indexOf("."))>-1?d=d.replace(".",""):u=d.length}for(l=0;48===d.charCodeAt(l);l++);for(p=d.length;48===d.charCodeAt(--p););if(d=d.slice(l,++p)){if(p-=l,a&&V.DEBUG&&p>15&&(e>R||e!==f(e)))throw Error(h+I.s*e);if((u=u-l-1)>P)I.c=I.e=null;else if(u<C)I.c=[I.e=0];else{if(I.e=u,I.c=[],l=(u+1)%v,u<0&&(l+=v),l<p){for(l&&I.c.push(+d.slice(0,l)),p-=v;l<p;)I.c.push(+d.slice(l,l+=v));l=v-(d=d.slice(l)).length}else l-=p;for(;l--;d+="0");I.c.push(+d)}}else I.c=[I.e=0]}function F(e,t,r,n){var i,o,s,u,l;if(null==r?r=b:E(r,0,8),!e.c)return e.toString();if(i=e.c[0],s=e.e,null==t)l=m(e.c),l=1==n||2==n&&(s<=M||s>=K)?x(l,s):O(l,s,"0");else if(o=(e=X(new V(e),t,r)).e,u=(l=m(e.c)).length,1==n||2==n&&(t<=o||o<=M)){for(;u<t;l+="0",u++);l=x(l,o)}else if(t-=s,l=O(l,o,"0"),o+1>u){if(--t>0)for(l+=".";t--;l+="0");}else if((t+=o-u)>0)for(o+1==u&&(l+=".");t--;l+="0");return e.s<0&&i?"-"+l:l}function $(e,t){for(var r,n=1,i=new V(e[0]);n<e.length;n++){if(!(r=new V(e[n])).s){i=r;break}t.call(i,r)&&(i=r)}return i}function q(e,t,r){for(var n=1,i=t.length;!t[--i];t.pop());for(i=t[0];i>=10;i/=10,n++);return(r=n+r*v-1)>P?e.c=e.e=null:r<C?e.c=[e.e=0]:(e.e=r,e.c=t),e}function X(e,t,r,n){var i,o,s,u,l,c,p,h=e.c,R=I;if(h){e:{for(i=1,u=h[0];u>=10;u/=10,i++);if((o=t-i)<0)o+=v,p=(l=h[c=0])/R[i-(s=t)-1]%10|0;else if((c=a((o+1)/v))>=h.length){if(!n)break e;for(;h.length<=c;h.push(0));l=p=0,i=1,s=(o%=v)-v+1}else{for(l=u=h[c],i=1;u>=10;u/=10,i++);p=(s=(o%=v)-v+i)<0?0:l/R[i-s-1]%10|0}if(n=n||t<0||null!=h[c+1]||(s<0?l:l%R[i-s-1]),n=r<4?(p||n)&&(0==r||r==(e.s<0?3:2)):p>5||5==p&&(4==r||n||6==r&&(o>0?s>0?l/R[i-s]:0:h[c-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,n?(h[0]=R[(v-(t-=e.e+1)%v)%v],e.e=-t||0):h[0]=e.e=0,e;if(0==o?(h.length=c,u=1,c--):(h.length=c+1,u=R[v-o],h[c]=s>0?f(l/R[i-s]%R[s])*u:0),n)for(;;){if(0==c){for(o=1,s=h[0];s>=10;s/=10,o++);for(s=h[0]+=u,u=1;s>=10;s/=10,u++);o!=u&&(e.e++,h[0]==d&&(h[0]=1));break}if(h[c]+=u,h[c]!=d)break;h[c--]=0,u=1}for(o=h.length;0===h[--o];h.pop());}e.e>P?e.c=e.e=null:e.e<C&&(e.c=[e.e=0])}return e}function z(e){var t,r=e.e;return null===r?e.toString():(t=m(e.c),t=r<=M||r>=K?x(t,r):O(t,r,"0"),e.s<0?"-"+t:t)}return V.clone=e,V.ROUND_UP=0,V.ROUND_DOWN=1,V.ROUND_CEIL=2,V.ROUND_FLOOR=3,V.ROUND_HALF_UP=4,V.ROUND_HALF_DOWN=5,V.ROUND_HALF_EVEN=6,V.ROUND_HALF_CEIL=7,V.ROUND_HALF_FLOOR=8,V.EUCLID=9,V.config=V.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(p+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(E(r=e[t],0,S,t),k=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(E(r=e[t],0,8,t),b=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(E(r[0],-S,0,t),E(r[1],0,S,t),M=r[0],K=r[1]):(E(r,-S,S,t),M=-(K=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)E(r[0],-S,-1,t),E(r[1],1,S,t),C=r[0],P=r[1];else{if(E(r,-S,S,t),!r)throw Error(p+t+" cannot be zero: "+r);C=-(P=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(p+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw H=!r,Error(p+"crypto unavailable");H=r}else H=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(E(r=e[t],0,9,t),U=r),e.hasOwnProperty(t="POW_PRECISION")&&(E(r=e[t],0,S,t),G=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(p+t+" not an object: "+r);W=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(p+t+" invalid: "+r);j="0123456789"==r.slice(0,10),T=r}}return{DECIMAL_PLACES:k,ROUNDING_MODE:b,EXPONENTIAL_AT:[M,K],RANGE:[C,P],CRYPTO:H,MODULO_MODE:U,POW_PRECISION:G,FORMAT:W,ALPHABET:T}},V.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!V.DEBUG)return!0;var t,r,n=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&i>=-S&&i<=S&&i===f(i)){if(0===n[0]){if(0===i&&1===n.length)return!0;break e}if((t=(i+1)%v)<1&&(t+=v),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=d||r!==f(r))break e;if(0!==r)return!0}}}else if(null===n&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(p+"Invalid BigNumber: "+e)},V.maximum=V.max=function(){return $(arguments,A.lt)},V.minimum=V.min=function(){return $(arguments,A.gt)},V.random=(o=9007199254740992,s=Math.random()*o&2097151?function(){return f(Math.random()*o)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,i,o,u=0,l=[],c=new V(B);if(null==e?e=k:E(e,0,S),i=a(e/v),H)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(i*=2));u<i;)(o=131072*t[u]+(t[u+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[u]=r[0],t[u+1]=r[1]):(l.push(o%1e14),u+=2);u=i/2}else{if(!crypto.randomBytes)throw H=!1,Error(p+"crypto unavailable");for(t=crypto.randomBytes(i*=7);u<i;)(o=281474976710656*(31&t[u])+1099511627776*t[u+1]+4294967296*t[u+2]+16777216*t[u+3]+(t[u+4]<<16)+(t[u+5]<<8)+t[u+6])>=9e15?crypto.randomBytes(7).copy(t,u):(l.push(o%1e14),u+=7);u=i/7}if(!H)for(;u<i;)(o=s())<9e15&&(l[u++]=o%1e14);for(i=l[--u],e%=v,i&&e&&(l[u]=f(i/(o=I[v-e]))*o);0===l[u];l.pop(),u--);if(u<0)l=[n=0];else{for(n=-1;0===l[0];l.splice(0,1),n-=v);for(u=1,o=l[0];o>=10;o/=10,u++);u<v&&(n-=v-u)}return c.e=n,c.c=l,c}),V.sum=function(){for(var e=1,t=arguments,r=new V(t[0]);e<t.length;)r=r.plus(t[e++]);return r},n=function(){var e="0123456789";function t(e,t,r,n){for(var i,o,s=[0],u=0,l=e.length;u<l;){for(o=s.length;o--;s[o]*=t);for(s[0]+=n.indexOf(e.charAt(u++)),i=0;i<s.length;i++)s[i]>r-1&&(null==s[i+1]&&(s[i+1]=0),s[i+1]+=s[i]/r|0,s[i]%=r)}return s.reverse()}return function(n,i,o,s,u){var l,c,a,f,p,h,d,v,R=n.indexOf("."),I=k,g=b;for(R>=0&&(f=G,G=0,n=n.replace(".",""),h=(v=new V(i)).pow(n.length-R),G=f,v.c=t(O(m(h.c),h.e,"0"),10,o,e),v.e=v.c.length),a=f=(d=t(n,i,o,u?(l=T,e):(l=e,T))).length;0==d[--f];d.pop());if(!d[0])return l.charAt(0);if(R<0?--a:(h.c=d,h.e=a,h.s=s,d=(h=r(h,v,I,g,o)).c,p=h.r,a=h.e),R=d[c=a+I+1],f=o/2,p=p||c<0||null!=d[c+1],p=g<4?(null!=R||p)&&(0==g||g==(h.s<0?3:2)):R>f||R==f&&(4==g||p||6==g&&1&d[c-1]||g==(h.s<0?8:7)),c<1||!d[0])n=p?O(l.charAt(1),-I,l.charAt(0)):l.charAt(0);else{if(d.length=c,p)for(--o;++d[--c]>o;)d[c]=0,c||(++a,d=[1].concat(d));for(f=d.length;!d[--f];);for(R=0,n="";R<=f;n+=l.charAt(d[R++]));n=O(n,a,l.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,i,o,s,u=0,l=e.length,c=t%g,a=t/g|0;for(e=e.slice();l--;)u=((i=c*(o=e[l]%g)+(n=a*o+(s=e[l]/g|0)*c)%g*g+u)/r|0)+(n/g|0)+a*s,e[l]=i%r;return u&&(e=[u].concat(e)),e}function t(e,t,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;i<r;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,e[r]=(i=e[r]<t[r]?1:0)*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,i,o,s,u){var l,c,a,p,h,R,I,g,S,m,y,E,L,x,O,_,N,D=n.s==i.s?1:-1,A=n.c,B=i.c;if(!(A&&A[0]&&B&&B[0]))return new V(n.s&&i.s&&(A?!B||A[0]!=B[0]:B)?A&&0==A[0]||!B?0*D:D/0:NaN);for(S=(g=new V(D)).c=[],D=o+(c=n.e-i.e)+1,u||(u=d,c=w(n.e/v)-w(i.e/v),D=D/v|0),a=0;B[a]==(A[a]||0);a++);if(B[a]>(A[a]||0)&&c--,D<0)S.push(1),p=!0;else{for(x=A.length,_=B.length,a=0,D+=2,(h=f(u/(B[0]+1)))>1&&(B=e(B,h,u),A=e(A,h,u),_=B.length,x=A.length),L=_,y=(m=A.slice(0,_)).length;y<_;m[y++]=0);N=B.slice(),N=[0].concat(N),O=B[0],B[1]>=u/2&&O++;do{if(h=0,(l=t(B,m,_,y))<0){if(E=m[0],_!=y&&(E=E*u+(m[1]||0)),(h=f(E/O))>1)for(h>=u&&(h=u-1),I=(R=e(B,h,u)).length,y=m.length;1==t(R,m,I,y);)h--,r(R,_<I?N:B,I,u),I=R.length,l=1;else 0==h&&(l=h=1),I=(R=B.slice()).length;if(I<y&&(R=[0].concat(R)),r(m,R,y,u),y=m.length,-1==l)for(;t(B,m,_,y)<1;)h++,r(m,_<y?N:B,y,u),y=m.length}else 0===l&&(h++,m=[0]);S[a++]=h,m[0]?m[y++]=A[L]||0:(m=[A[L]],y=1)}while((L++<x||null!=m[0])&&D--);p=null!=m[0],S[0]||S.splice(0,1)}if(u==d){for(a=1,D=S[0];D>=10;D/=10,a++);X(g,o+(g.e=a+c*v-1)+1,s,p)}else g.e=c,g.r=+p;return g}}(),u=/^(-?)0([xbo])(?=\w[\w.]*$)/i,l=/^([^.]+)\.$/,_=/^\.([^.]+)$/,N=/^-?(Infinity|NaN)$/,D=/^\s*\+(?=[\w.])|^\s+|\s+$/g,i=function(e,t,r,n){var i,o=r?t:t.replace(D,"");if(N.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!r&&(o=o.replace(u,function(e,t,r){return i="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=i?e:t}),n&&(i=n,o=o.replace(l,"$1").replace(_,"0.$1")),t!=o))return new V(o,i);if(V.DEBUG)throw Error(p+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},A.absoluteValue=A.abs=function(){var e=new V(this);return e.s<0&&(e.s=1),e},A.comparedTo=function(e,t){return y(this,new V(e,t))},A.decimalPlaces=A.dp=function(e,t){var r,n,i,o=this;if(null!=e)return E(e,0,S),null==t?t=b:E(t,0,8),X(new V(o),e+o.e+1,t);if(!(r=o.c))return null;if(n=((i=r.length-1)-w(this.e/v))*v,i=r[i])for(;i%10==0;i/=10,n--);return n<0&&(n=0),n},A.dividedBy=A.div=function(e,t){return r(this,new V(e,t),k,b)},A.dividedToIntegerBy=A.idiv=function(e,t){return r(this,new V(e,t),0,1)},A.exponentiatedBy=A.pow=function(e,t){var r,n,i,o,s,u,l,c,h=this;if((e=new V(e)).c&&!e.isInteger())throw Error(p+"Exponent not an integer: "+z(e));if(null!=t&&(t=new V(t)),s=e.e>14,!h.c||!h.c[0]||1==h.c[0]&&!h.e&&1==h.c.length||!e.c||!e.c[0])return c=new V(Math.pow(+z(h),s?e.s*(2-L(e)):+z(e))),t?c.mod(t):c;if(u=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new V(NaN);(n=!u&&h.isInteger()&&t.isInteger())&&(h=h.mod(t))}else{if(e.e>9&&(h.e>0||h.e<-1||(0==h.e?h.c[0]>1||s&&h.c[1]>=24e7:h.c[0]<8e13||s&&h.c[0]<=9999975e7)))return o=h.s<0&&L(e)?-0:0,h.e>-1&&(o=1/o),new V(u?1/o:o);G&&(o=a(G/v+2))}for(s?(r=new V(.5),u&&(e.s=1),l=L(e)):l=(i=Math.abs(+z(e)))%2,c=new V(B);;){if(l){if(!(c=c.times(h)).c)break;o?c.c.length>o&&(c.c.length=o):n&&(c=c.mod(t))}if(i){if(0===(i=f(i/2)))break;l=i%2}else if(X(e=e.times(r),e.e+1,1),e.e>14)l=L(e);else{if(0==(i=+z(e)))break;l=i%2}h=h.times(h),o?h.c&&h.c.length>o&&(h.c.length=o):n&&(h=h.mod(t))}return n?c:(u&&(c=B.div(c)),t?c.mod(t):o?X(c,G,b,void 0):c)},A.integerValue=function(e){var t=new V(this);return null==e?e=b:E(e,0,8),X(t,t.e+1,e)},A.isEqualTo=A.eq=function(e,t){return 0===y(this,new V(e,t))},A.isFinite=function(){return!!this.c},A.isGreaterThan=A.gt=function(e,t){return y(this,new V(e,t))>0},A.isGreaterThanOrEqualTo=A.gte=function(e,t){return 1===(t=y(this,new V(e,t)))||0===t},A.isInteger=function(){return!!this.c&&w(this.e/v)>this.c.length-2},A.isLessThan=A.lt=function(e,t){return y(this,new V(e,t))<0},A.isLessThanOrEqualTo=A.lte=function(e,t){return-1===(t=y(this,new V(e,t)))||0===t},A.isNaN=function(){return!this.s},A.isNegative=function(){return this.s<0},A.isPositive=function(){return this.s>0},A.isZero=function(){return!!this.c&&0==this.c[0]},A.minus=function(e,t){var r,n,i,o,s=this,u=s.s;if(t=(e=new V(e,t)).s,!u||!t)return new V(NaN);if(u!=t)return e.s=-t,s.plus(e);var l=s.e/v,c=e.e/v,a=s.c,f=e.c;if(!l||!c){if(!a||!f)return a?(e.s=-t,e):new V(f?s:NaN);if(!a[0]||!f[0])return f[0]?(e.s=-t,e):new V(a[0]?s:3==b?-0:0)}if(l=w(l),c=w(c),a=a.slice(),u=l-c){for((o=u<0)?(u=-u,i=a):(c=l,i=f),i.reverse(),t=u;t--;i.push(0));i.reverse()}else for(n=(o=(u=a.length)<(t=f.length))?u:t,u=t=0;t<n;t++)if(a[t]!=f[t]){o=a[t]<f[t];break}if(o&&(i=a,a=f,f=i,e.s=-e.s),(t=(n=f.length)-(r=a.length))>0)for(;t--;a[r++]=0);for(t=d-1;n>u;){if(a[--n]<f[n]){for(r=n;r&&!a[--r];a[r]=t);--a[r],a[n]+=d}a[n]-=f[n]}for(;0==a[0];a.splice(0,1),--c);return a[0]?q(e,a,c):(e.s=3==b?-1:1,e.c=[e.e=0],e)},A.modulo=A.mod=function(e,t){var n,i,o=this;return e=new V(e,t),!o.c||!e.s||e.c&&!e.c[0]?new V(NaN):!e.c||o.c&&!o.c[0]?new V(o):(9==U?(i=e.s,e.s=1,n=r(o,e,0,3),e.s=i,n.s*=i):n=r(o,e,0,U),(e=o.minus(n.times(e))).c[0]||1!=U||(e.s=o.s),e)},A.multipliedBy=A.times=function(e,t){var r,n,i,o,s,u,l,c,a,f,p,h,R,I,S,m=this,y=m.c,E=(e=new V(e,t)).c;if(!(y&&E&&y[0]&&E[0]))return!m.s||!e.s||y&&!y[0]&&!E||E&&!E[0]&&!y?e.c=e.e=e.s=null:(e.s*=m.s,y&&E?(e.c=[0],e.e=0):e.c=e.e=null),e;for(n=w(m.e/v)+w(e.e/v),e.s*=m.s,(l=y.length)<(f=E.length)&&(R=y,y=E,E=R,i=l,l=f,f=i),i=l+f,R=[];i--;R.push(0));for(I=d,S=g,i=f;--i>=0;){for(r=0,p=E[i]%S,h=E[i]/S|0,o=i+(s=l);o>i;)r=((c=p*(c=y[--s]%S)+(u=h*c+(a=y[s]/S|0)*p)%S*S+R[o]+r)/I|0)+(u/S|0)+h*a,R[o--]=c%I;R[o]=r}return r?++n:R.splice(0,1),q(e,R,n)},A.negated=function(){var e=new V(this);return e.s=-e.s||null,e},A.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new V(e,t)).s,!i||!t)return new V(NaN);if(i!=t)return e.s=-t,n.minus(e);var o=n.e/v,s=e.e/v,u=n.c,l=e.c;if(!o||!s){if(!u||!l)return new V(i/0);if(!u[0]||!l[0])return l[0]?e:new V(u[0]?n:0*i)}if(o=w(o),s=w(s),u=u.slice(),i=o-s){for(i>0?(s=o,r=l):(i=-i,r=u),r.reverse();i--;r.push(0));r.reverse()}for((i=u.length)-(t=l.length)<0&&(r=l,l=u,u=r,t=i),i=0;t;)i=(u[--t]=u[t]+l[t]+i)/d|0,u[t]=d===u[t]?0:u[t]%d;return i&&(u=[i].concat(u),++s),q(e,u,s)},A.precision=A.sd=function(e,t){var r,n,i,o=this;if(null!=e&&e!==!!e)return E(e,1,S),null==t?t=b:E(t,0,8),X(new V(o),e,t);if(!(r=o.c))return null;if(n=(i=r.length-1)*v+1,i=r[i]){for(;i%10==0;i/=10,n--);for(i=r[0];i>=10;i/=10,n++);}return e&&o.e+1>n&&(n=o.e+1),n},A.shiftedBy=function(e){return E(e,-9007199254740991,R),this.times("1e"+e)},A.squareRoot=A.sqrt=function(){var e,t,n,i,o,s=this,u=s.c,l=s.s,c=s.e,a=k+4,f=new V("0.5");if(1!==l||!u||!u[0])return new V(!l||l<0&&(!u||u[0])?NaN:u?s:1/0);if(0==(l=Math.sqrt(+z(s)))||l==1/0?(((t=m(u)).length+c)%2==0&&(t+="0"),l=Math.sqrt(+t),c=w((c+1)/2)-(c<0||c%2),n=new V(t=l==1/0?"5e"+c:(t=l.toExponential()).slice(0,t.indexOf("e")+1)+c)):n=new V(l+""),n.c[0])for((l=(c=n.e)+a)<3&&(l=0);;)if(n=f.times((o=n).plus(r(s,o,a,1))),m(o.c).slice(0,l)===(t=m(n.c)).slice(0,l)){if(n.e<c&&--l,"9999"!=(t=t.slice(l-3,l+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(X(n,n.e+k+2,1),e=!n.times(n).eq(s));break}if(!i&&(X(o,o.e+k+2,0),o.times(o).eq(s))){n=o;break}a+=4,l+=4,i=1}return X(n,n.e+k+1,b,e)},A.toExponential=function(e,t){return null!=e&&(E(e,0,S),e++),F(this,e,t,1)},A.toFixed=function(e,t){return null!=e&&(E(e,0,S),e=e+this.e+1),F(this,e,t)},A.toFormat=function(e,t,r){var n,i=this;if(null==r)null!=e&&t&&"object"==typeof t?(r=t,t=null):e&&"object"==typeof e?(r=e,e=t=null):r=W;else if("object"!=typeof r)throw Error(p+"Argument not an object: "+r);if(n=i.toFixed(e,t),i.c){var o,s=n.split("."),u=+r.groupSize,l=+r.secondaryGroupSize,c=r.groupSeparator||"",a=s[0],f=s[1],h=i.s<0,d=h?a.slice(1):a,v=d.length;if(l&&(o=u,u=l,l=o,v-=o),u>0&&v>0){for(a=d.substr(0,o=v%u||u);o<v;o+=u)a+=c+d.substr(o,u);l>0&&(a+=c+d.slice(o)),h&&(a="-"+a)}n=f?a+(r.decimalSeparator||"")+((l=+r.fractionGroupSize)?f.replace(new RegExp("\\d{"+l+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):f):a}return(r.prefix||"")+n+(r.suffix||"")},A.toFraction=function(e){var t,n,i,o,s,u,l,c,a,f,h,d,R=this,g=R.c;if(null!=e&&(!(l=new V(e)).isInteger()&&(l.c||1!==l.s)||l.lt(B)))throw Error(p+"Argument "+(l.isInteger()?"out of range: ":"not an integer: ")+z(l));if(!g)return new V(R);for(t=new V(B),a=n=new V(B),i=c=new V(B),d=m(g),s=t.e=d.length-R.e-1,t.c[0]=I[(u=s%v)<0?v+u:u],e=!e||l.comparedTo(t)>0?s>0?t:a:l,u=P,P=1/0,l=new V(d),c.c[0]=0;f=r(l,t,0,1),1!=(o=n.plus(f.times(i))).comparedTo(e);)n=i,i=o,a=c.plus(f.times(o=a)),c=o,t=l.minus(f.times(o=t)),l=o;return o=r(e.minus(n),i,0,1),c=c.plus(o.times(a)),n=n.plus(o.times(i)),c.s=a.s=R.s,h=r(a,i,s*=2,b).minus(R).abs().comparedTo(r(c,n,s,b).minus(R).abs())<1?[a,i]:[c,n],P=u,h},A.toNumber=function(){return+z(this)},A.toPrecision=function(e,t){return null!=e&&E(e,1,S),F(this,e,t,2)},A.toString=function(e){var t,r=this,i=r.s,o=r.e;return null===o?i?(t="Infinity",i<0&&(t="-"+t)):t="NaN":(null==e?t=o<=M||o>=K?x(m(r.c),o):O(m(r.c),o,"0"):10===e&&j?t=O(m((r=X(new V(r),k+o+1,b)).c),r.e,"0"):(E(e,2,T.length,"Base"),t=n(O(m(r.c),o,"0"),10,e,i,!0)),i<0&&r.c[0]&&(t="-"+t)),t},A.valueOf=A.toJSON=function(){return z(this)},A._isBigNumber=!0,A[Symbol.toStringTag]="BigNumber",A[Symbol.for("nodejs.util.inspect.custom")]=A.valueOf,null!=t&&V.set(t),V}();function D(e){if(e<100)throw new Error("Exceeded Minimum edge allowed on platform");return new N(1e4).minus(e).dividedBy(1e4)}exports.ChatMessageType=void 0,(_=exports.ChatMessageType||(exports.ChatMessageType={})).TEXT="TEXT",_.TIP="TIP",_.TIP_RAIN="TIP_RAIN",e.extend(o.default);var A,B,k=function(){};k.startOfWeeklyBonus=function(e){if(!e.isUTC())throw"utcDate must be in UTC";var t=e.startOf("week").set("day",4).set("hour",11);return t.isAfter(e)?t.subtract(1,"week").toDate():t.toDate()},k.startOfMonthlyBonus=function(e){if(!e.isUTC())throw"utcDate must be in UTC";var t=e.startOf("month"),r=(12-t.day())%7,n=t.add(r,"day");return n.isAfter(e)?k.startOfMonthlyBonus(t.subtract(1,"day")):n.toDate()},exports.VipBonusIssuanceStatus=void 0,(A=exports.VipBonusIssuanceStatus||(exports.VipBonusIssuanceStatus={})).SCHEDULED="SCHEDULED",A.PENDING_CLAIM="PENDING_CLAIM",A.CLAIMED="CLAIMED",A.CANCELLED="CANCELLED",A.EXPIRED="EXPIRED",function(e){e.SINGLE="SINGLE",e.RELOADED="RELOADED"}(B||(B={}));var b,M=Math.ceil,K=Math.max,C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},P="object"==typeof self&&self&&self.Object===Object&&self,H=("object"==typeof C&&C&&C.Object===Object&&C||P||Function("return this")()).Symbol,U=Object.prototype,G=U.hasOwnProperty,W=U.toString,T=H?H.toStringTag:void 0,j=Object.prototype.toString,V=H?H.toStringTag:void 0,F=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":V&&V in Object(e)?function(e){var t=G.call(e,T),r=e[T];try{e[T]=void 0;var n=!0}catch(e){}var i=W.call(e);return n&&(t?e[T]=r:delete e[T]),i}(e):function(e){return j.call(e)}(e)},$=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},q=/^(?:0|[1-9]\d*)$/,X=/\s/,z=/^\s+/,Z=/^[-+]0x[0-9a-f]+$/i,J=/^0b[01]+$/i,Y=/^0o[0-7]+$/i,Q=parseInt,ee=function(e){return e?Infinity===(e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==F(e)}(e))return NaN;if($(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=$(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;var r;e=(r=e)?r.slice(0,function(e){for(var t=e.length;t--&&X.test(e.charAt(t)););return t}(r)+1).replace(z,""):r;var n=J.test(e);return n||Y.test(e)?Q(e.slice(2),n?2:8):Z.test(e)?NaN:+e}(e))||-Infinity===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0};function te(e,t,r){return e.add(t*r,"second").toDate()}i.default.extend(s.default),exports.DiceDirection=void 0,(b=exports.DiceDirection||(exports.DiceDirection={})).ABOVE="ABOVE",b.BELOW="BELOW";var re=new N(256),ne=new N(10001),ie=ne.minus(1),oe=new N(100),se=new N(100),ue=/*#__PURE__*/function(){function e(){}return e.getResult=function(e){for(var t=l(e),r=new N(0),n=0;n<4;n++)r=r.plus(new N(t[n]).dividedBy(re.pow(n+1)));return r.multipliedBy(ne).integerValue(N.ROUND_DOWN)},e.convertToBN=function(e){return new N(e).multipliedBy(oe)},e.isWin=function(e,t,r){return this.isWinBN(e,this.convertToBN(t),this.convertToBN(r))},e.isWinBN=function(e,t,r){return!(e!==exports.DiceDirection.ABOVE||!r.isGreaterThan(t))||!(e!==exports.DiceDirection.BELOW||!r.isLessThan(t))},e.calculateMultiplier=function(e,t,r){return this.calculateMultiplierBN(e,this.convertToBN(t),r).toNumber()},e.calculateMultiplierBN=function(e,t,r){return this.calculateWinChanceBN(e,t).pow(-1).multipliedBy(D(r)).decimalPlaces(4)},e.calculateWinChance=function(e,t){return this.calculateWinChanceBN(e,this.convertToBN(t)).multipliedBy(100).decimalPlaces(4).toNumber()},e.calculateWinChanceBN=function(e,t){var r;if(e===exports.DiceDirection.ABOVE)r=ie.minus(t);else{if(e!==exports.DiceDirection.BELOW)throw new Error("Dice Direction does not include "+e);r=t}return r.dividedBy(ie)},e.calculateBetFromMultiplier=function(e,t,r){var n=new N(t).dividedBy(D(r)),i=new N(1).dividedBy(n).multipliedBy(se).toNumber();return this.calculateBetFromWinChance(e,i)},e.calculateBetFromWinChance=function(e,t){var r,n=new N(t).dividedBy(se);if(e===exports.DiceDirection.BELOW)r=ie.multipliedBy(n);else{if(e!==exports.DiceDirection.ABOVE)throw new Error('Dice Direction not acceptable - "'+e+'"');r=ie.minus(ie.multipliedBy(n))}return r.dividedBy(oe).decimalPlaces(2).toNumber()},e}(),le=[new N(1)];function ce(e){if(!Number.isInteger(e)||e<0)throw new Error("Factorial: <"+e+"> should be an integer greater or equal to 0");var t=new N(e);return le[e]||(le[e]=t.multipliedBy(ce(e-1))),le[e]}function ae(e,t){return ce(e).dividedBy(ce(t)).dividedBy(ce(new N(e).minus(t).toNumber()))}var fe,pe,he,de,ve,Re,Ie,ge,Se,we,me=new N(256),ye=new N(25),Ee=/*#__PURE__*/function(){function e(){}return e.getResults=function(e,t){var r=[],n=Array.from(Array(ye.toNumber()).keys());return e.map(l).every(function(e,i){for(var o=0;o<8;o++){if(r.length>=t)return!1;for(var s=new N(0),u=0;u<4;u++)s=s.plus(new N(e[4*o+u]).dividedBy(me.pow(u+1)));s=s.multipliedBy(ye.minus(new N(8*i+o))).integerValue(N.ROUND_DOWN),r.push(n.splice(s.toNumber(),1)[0])}return!0}),r},e.calculateMultiplierBN=function(e,t,r){return this.calculateWinChanceBN(e,t).pow(-1).multipliedBy(D(r))},e.calculateWinChanceBN=function(e,t){return ae(ye.minus(t).toNumber(),e).dividedBy(ae(ye.toNumber(),e))},e}();Ee.hitMine=function(e,t){return t.some(function(t){return t===e})},exports.PlinkoRiskLevel=void 0,(we=exports.PlinkoRiskLevel||(exports.PlinkoRiskLevel={})).LOW_RISK="LOW_RISK",we.MEDIUM_RISK="MEDIUM_RISK",we.HIGH_RISK="HIGH_RISK";var Le,xe,Oe,_e,Ne,De,Ae,Be,ke,be,Me,Ke=new N(256),Ce=[{rows:8,payout:(fe={},fe[exports.PlinkoRiskLevel.LOW_RISK]=[5.6,2.1,1.1,1,.5,1,1.1,2.1,5.6],fe[exports.PlinkoRiskLevel.MEDIUM_RISK]=[13,3,1.3,.7,.4,.7,1.3,3,13],fe[exports.PlinkoRiskLevel.HIGH_RISK]=[29,4,1.5,.3,.2,.3,1.5,4,29],fe)},{rows:9,payout:(pe={},pe[exports.PlinkoRiskLevel.LOW_RISK]=[5.6,2,1.6,1,.7,.7,1,1.6,2,5.6],pe[exports.PlinkoRiskLevel.MEDIUM_RISK]=[18,4,1.7,.9,.5,.5,.9,1.7,4,18],pe[exports.PlinkoRiskLevel.HIGH_RISK]=[43,7,2,.6,.2,.2,.6,2,7,43],pe)},{rows:10,payout:(he={},he[exports.PlinkoRiskLevel.LOW_RISK]=[8.9,3,1.4,1.1,1,.5,1,1.1,1.4,3,8.9],he[exports.PlinkoRiskLevel.MEDIUM_RISK]=[22,5,2,1.4,.6,.4,.6,1.4,2,5,22],he[exports.PlinkoRiskLevel.HIGH_RISK]=[76,10,3,.9,.3,.2,.3,.9,3,10,76],he)},{rows:11,payout:(de={},de[exports.PlinkoRiskLevel.LOW_RISK]=[8.4,3,1.9,1.3,1,.7,.7,1,1.3,1.9,3,8.4],de[exports.PlinkoRiskLevel.MEDIUM_RISK]=[24,6,3,1.8,.7,.5,.5,.7,1.8,3,6,24],de[exports.PlinkoRiskLevel.HIGH_RISK]=[120,14,5.2,1.4,.4,.2,.2,.4,1.4,5.2,14,120],de)},{rows:12,payout:(ve={},ve[exports.PlinkoRiskLevel.LOW_RISK]=[10,3,1.6,1.4,1.1,1,.5,1,1.1,1.4,1.6,3,10],ve[exports.PlinkoRiskLevel.MEDIUM_RISK]=[33,11,4,2,1.1,.6,.3,.6,1.1,2,4,11,33],ve[exports.PlinkoRiskLevel.HIGH_RISK]=[170,24,8.1,2,.7,.2,.2,.2,.7,2,8.1,24,170],ve)},{rows:13,payout:(Re={},Re[exports.PlinkoRiskLevel.LOW_RISK]=[8.1,4,3,1.9,1.2,.9,.7,.7,.9,1.2,1.9,3,4,8.1],Re[exports.PlinkoRiskLevel.MEDIUM_RISK]=[43,13,6,3,1.3,.7,.4,.4,.7,1.3,3,6,13,43],Re[exports.PlinkoRiskLevel.HIGH_RISK]=[260,37,11,4,1,.2,.2,.2,.2,1,4,11,37,260],Re)},{rows:14,payout:(Ie={},Ie[exports.PlinkoRiskLevel.LOW_RISK]=[7.1,4,1.9,1.4,1.3,1.1,1,.5,1,1.1,1.3,1.4,1.9,4,7.1],Ie[exports.PlinkoRiskLevel.MEDIUM_RISK]=[58,15,7,4,1.9,1,.5,.2,.5,1,1.9,4,7,15,58],Ie[exports.PlinkoRiskLevel.HIGH_RISK]=[420,56,18,5,1.9,.3,.2,.2,.2,.3,1.9,5,18,56,420],Ie)},{rows:15,payout:(ge={},ge[exports.PlinkoRiskLevel.LOW_RISK]=[15,8,3,2,1.5,1.1,1,.7,.7,1,1.1,1.5,2,3,8,15],ge[exports.PlinkoRiskLevel.MEDIUM_RISK]=[88,18,11,5,3,1.3,.5,.3,.3,.5,1.3,3,5,11,18,88],ge[exports.PlinkoRiskLevel.HIGH_RISK]=[620,83,27,8,3,.5,.2,.2,.2,.2,.5,3,8,27,83,620],ge)},{rows:16,payout:(Se={},Se[exports.PlinkoRiskLevel.LOW_RISK]=[16,9,2,1.4,1.4,1.2,1.1,1,.5,1,1.1,1.2,1.4,1.4,2,9,16],Se[exports.PlinkoRiskLevel.MEDIUM_RISK]=[110,41,10,5,3,1.5,1,.5,.3,.5,1,1.5,3,5,10,41,110],Se[exports.PlinkoRiskLevel.HIGH_RISK]=[1e3,130,26,9,4,2,.2,.2,.2,.2,.2,2,4,9,26,130,1e3],Se)}],Pe=/*#__PURE__*/function(){function e(){}return e.configs=function(){return Ce},e.calculateChance=function(e,t){var r=ae(e,t),n=new N(2).pow(e);return r.dividedBy(n)},e.calculateChances=function(e){var t=this;return[].concat(Array(e+1).keys()).map(function(r){return t.calculateChance(e,r)})},e.calculateMultiplier=function(e,t,r){var n=r.reduce(function(e,t){return e+t},0);return new N(this.configs().find(function(e){return e.rows===t}).payout[e][n])},e.getResults=function(e,t){var r=[];return e.map(l).every(function(e){for(var n=0;n<8;n++){if(r.length>=t)return!1;for(var i=new N(0),o=0;o<4;o++)i=i.plus(new N(e[4*n+o]).dividedBy(Ke.pow(o+1)));i=i.multipliedBy(2).integerValue(N.ROUND_DOWN),r.push(i.toNumber())}return!0}),r},e}(),He=new N(4294967296),Ue=/*#__PURE__*/function(){function e(){}return e.getResult=function(e){for(var t=new N(0),r=0;r<8;r++){var n=e[r];t=t.plus(new N(16).pow(7-r).multipliedBy(parseInt(n,16)))}return t=He.dividedBy(t.plus(1)).multipliedBy(.99),N.max(t,1)},e}(),Ge=new N(16777216),We=new N(256),Te=/*#__PURE__*/function(){function e(){}return e.getResult=function(e,t){for(var r=l(e),n=new N(0),i=0;i<4;i++)n=n.plus(new N(r[i]).dividedBy(We.pow(i+1)));return n=n.multipliedBy(Ge),n=Ge.dividedBy(n.plus(1)).multipliedBy(D(t)),N.min(N.max(n,1),1e6)},e}();exports.KenoRiskLevel=void 0,(Me=exports.KenoRiskLevel||(exports.KenoRiskLevel={})).CLASSIC="CLASSIC",Me.LOW_RISK="LOW_RISK",Me.MEDIUM_RISK="MEDIUM_RISK",Me.HIGH_RISK="HIGH_RISK";var je,Ve,Fe=new N(256),$e=new N(40),qe=[{tiles:1,payout:(Le={},Le[exports.KenoRiskLevel.CLASSIC]=[0,3.96],Le[exports.KenoRiskLevel.LOW_RISK]=[.7,1.85],Le[exports.KenoRiskLevel.MEDIUM_RISK]=[.4,2.75],Le[exports.KenoRiskLevel.HIGH_RISK]=[0,3.96],Le)},{tiles:2,payout:(xe={},xe[exports.KenoRiskLevel.CLASSIC]=[0,1.9,4.5],xe[exports.KenoRiskLevel.LOW_RISK]=[0,2,3.8],xe[exports.KenoRiskLevel.MEDIUM_RISK]=[0,1.8,5.1],xe[exports.KenoRiskLevel.HIGH_RISK]=[0,0,17.1],xe)},{tiles:3,payout:(Oe={},Oe[exports.KenoRiskLevel.CLASSIC]=[0,1,3.1,10.4],Oe[exports.KenoRiskLevel.LOW_RISK]=[0,1.1,1.38,26],Oe[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,2.8,50],Oe[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,81.5],Oe)},{tiles:4,payout:(_e={},_e[exports.KenoRiskLevel.CLASSIC]=[0,.8,1.8,5,22.5],_e[exports.KenoRiskLevel.LOW_RISK]=[0,0,2.2,7.9,90],_e[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,1.7,10,100],_e[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,10,259],_e)},{tiles:5,payout:(Ne={},Ne[exports.KenoRiskLevel.CLASSIC]=[0,.25,1.4,4.1,16.5,36],Ne[exports.KenoRiskLevel.LOW_RISK]=[0,0,1.5,4.2,13,300],Ne[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,1.4,4,14,390],Ne[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,4.5,48,450],Ne)},{tiles:6,payout:(De={},De[exports.KenoRiskLevel.CLASSIC]=[0,0,1,3.68,7,16.5,40],De[exports.KenoRiskLevel.LOW_RISK]=[0,0,1.1,2,6.2,100,700],De[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,0,3,9,180,710],De[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,0,11,350,710],De)},{tiles:7,payout:(Ae={},Ae[exports.KenoRiskLevel.CLASSIC]=[0,0,.47,3,4.5,14,31,60],Ae[exports.KenoRiskLevel.LOW_RISK]=[0,0,1.1,1.6,3.5,15,225,700],Ae[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,0,2,7,30,400,800],Ae[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,0,7,90,400,800],Ae)},{tiles:8,payout:(Be={},Be[exports.KenoRiskLevel.CLASSIC]=[0,0,0,2.2,4,13,22,55,70],Be[exports.KenoRiskLevel.LOW_RISK]=[0,0,1.1,1.5,2,5.5,39,100,800],Be[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,0,2,4,11,67,400,900],Be[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,0,5,20,270,600,900],Be)},{tiles:9,payout:(ke={},ke[exports.KenoRiskLevel.CLASSIC]=[0,0,0,1.55,3,8,15,44,60,85],ke[exports.KenoRiskLevel.LOW_RISK]=[0,0,1.1,1.3,1.7,2.5,7.5,50,250,1e3],ke[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,0,2,2.5,5,15,100,500,1e3],ke[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,0,4,11,56,500,800,1e3],ke)},{tiles:10,payout:(be={},be[exports.KenoRiskLevel.CLASSIC]=[0,0,0,1.4,2.25,4.5,8,17,50,80,100],be[exports.KenoRiskLevel.LOW_RISK]=[0,0,1.1,1.2,1.3,1.8,3.5,13,50,250,1e3],be[exports.KenoRiskLevel.MEDIUM_RISK]=[0,0,0,1.6,2,4,7,26,100,500,1e3],be[exports.KenoRiskLevel.HIGH_RISK]=[0,0,0,0,3.5,8,13,63,500,800,1e3],be)}],Xe=/*#__PURE__*/function(){function e(){}return e.configs=function(){return qe},e.calculateMultiplier=function(e,t,r){var n,i=r.filter(function(e){return t.includes(e)});return new N(this.configs().find(function(e){return e.tiles===t.length}).payout[e][null!=(n=null==i?void 0:i.length)?n:0])},e.getResults=function(e,t){var r=[],n=Array.from(Array($e.toNumber()).keys());return e.map(l).every(function(e,i){for(var o=0;o<8;o++){if(r.length>=t)return!1;for(var s=new N(0),u=0;u<4;u++)s=s.plus(new N(e[4*o+u]).dividedBy(Fe.pow(u+1)));s=s.multipliedBy($e.minus(new N(8*i+o))).integerValue(N.ROUND_DOWN),r.push(n.splice(s.toNumber(),1)[0]+1)}return!0}),r},e.getChance=function(e){var t=e.correctPicks,r=e.picked;return new N(ae(10,t)).multipliedBy(ae(30,r-t)).dividedBy(new N(ae(40,r)))},e}(),ze=new N(256),Ze=new N(13);exports.HiloGuess=void 0,(je=exports.HiloGuess||(exports.HiloGuess={})).SKIP="SKIP",je.SAME_OR_ABOVE="SAME_OR_ABOVE",je.SAME_OR_BELOW="SAME_OR_BELOW",exports.Suits=void 0,(Ve=exports.Suits||(exports.Suits={})).DIAMONDS="DIAMONDS",Ve.HEARTS="HEARTS",Ve.SPADES="SPADES",Ve.CLUBS="CLUBS";var Je=[exports.Suits.DIAMONDS,exports.Suits.HEARTS,exports.Suits.SPADES,exports.Suits.CLUBS],Ye={1:"A",11:"J",12:"Q",13:"K"},Qe=/*#__PURE__*/function(){function e(){}return e.getResult=function(e,t){for(var r=t%8,n=l(e),i=new N(0),o=0;o<4;o++)i=i.plus(new N(n[4*r+o]).dividedBy(ze.pow(o+1)));return i.multipliedBy(52).integerValue(N.ROUND_FLOOR).toNumber()},e.getResults=function(e){for(var t=[],r=0;r<8*e.length;r++){var n=Math.trunc(r/8);t.push(this.getResult(e[n],r))}return t},e.toComparableNo=function(e){var t=Math.trunc(e/4)+2;return 14===t?1:t},e.isGuessCorrect=function(e,t,r){var n=this.toComparableNo(e),i=this.toComparableNo(r);return t===exports.HiloGuess.SAME_OR_ABOVE?1===n?i>1:13===n?13===i:i>=n:t!==exports.HiloGuess.SAME_OR_BELOW||(1===n?1===i:13===n?i<13:i<=n)},e.calculateTotalMultiplierBN=function(e,t){var r=this;return e.map(function(e){return r.calculateWinChanceBN(e.guess,e.lastCard)}).reduce(function(e,t){return e.multipliedBy(t)},N(1)).pow(-1).multipliedBy(D(t)).decimalPlaces(4)},e.calculateMultiplier=function(e,t,r){return this.calculateMultiplierBN(e,t,r).toNumber()},e.calculateMultiplierBN=function(e,t,r){return this.calculateWinChanceBN(e,t).pow(-1).multipliedBy(D(r)).decimalPlaces(4)},e.calculateWinChance=function(e,t){return this.calculateWinChanceBN(e,t).multipliedBy(100).decimalPlaces(4).toNumber()},e.calculateWinChanceBN=function(e,t){var r=new N(0),n=this.toComparableNo(t);return 1===n&&e===exports.HiloGuess.SAME_OR_BELOW||13===n&&e===exports.HiloGuess.SAME_OR_ABOVE?r=N(1):13===n&&e===exports.HiloGuess.SAME_OR_BELOW||1===n&&e===exports.HiloGuess.SAME_OR_ABOVE?r=new N(12):e===exports.HiloGuess.SAME_OR_ABOVE?r=new N(14).minus(n):e===exports.HiloGuess.SAME_OR_BELOW&&(r=N(n)),r.dividedBy(Ze)},e.getCardDetails=function(e){if(e>51||e<0||!Number.isInteger(e))throw"out of bounds";var t=Je[e%4],r=this.toComparableNo(e).toString();return Ye[r]&&(r=Ye[r]),{suit:t,value:r}},e}();exports.CAMPAIGN_CODE_REGEX=/^[a-z\d_\-]{1,30}$/i,exports.CHAT_CHAR_LIMIT=120,exports.Crash=Ue,exports.DatesCalculator=k,exports.Dice=ue,exports.HEX_COLOR_CODE_REGEX=/^#([A-F0-9]{6}|[A-F0-9]{3})$/i,exports.Hilo=Qe,exports.Keno=Xe,exports.Limbo=Te,exports.MENTIONED_USER_REGEX=u,exports.Mines=Ee,exports.PROMOTION_CODE_REGEX=/^[A-Z_\-\d]{3,25}$/,exports.PWD_REGEX=/^(?=.*[0-9])(?=.*[a-zA-Z])(?=\S+$).{8,24}$/i,exports.Plinko=Pe,exports.USERNAME_REGEX=/^[a-z\d]{3,16}$/i,exports.calculateEdgeMultiplier=D,exports.deriveBonusIssuances=function(e){var t,r,n,o=e.bonusClaims,s=i.default(e.createdAt),u=i.default();return(t=1,r=e.occurrence+1,n&&"number"!=typeof n&&function(e,t,r){if(!$(r))return!1;var n=typeof t;return!!("number"==n?function(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}(e.length)&&!function(e){if(!$(e))return!1;var t=F(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}(e)}(r)&&function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&q.test(e))&&e>-1&&e%1==0&&e<t}(t,r.length):"string"==n&&t in r)&&function(e,t){return e===t||e!=e&&t!=t}(r[t],e)}(t,r,n)&&(r=n=void 0),t=ee(t),void 0===r?(r=t,t=0):r=ee(r),function(e,t,r,n){for(var i=-1,o=K(M((t-e)/(r||1)),0),s=Array(o);o--;)s[++i]=e,e+=r;return s}(t,r,n=void 0===n?t<r?1:-1:ee(n))).map(function(t){var r=o.find(function(e){return e.occurrenceIndex==t}),n=e.type===B.RELOADED?te(s,e.cadence,t).toISOString():e.endAt,l=e.type===B.RELOADED?te(s,e.cadence,t-1).toISOString():e.createdAt;return function(e,t,r){return e.status!==exports.VipBonusIssuanceStatus.CLAIMED&&(e.status=t&&i.default(e.expiryDate).isAfter(t)?exports.VipBonusIssuanceStatus.CANCELLED:r.isSameOrAfter(e.expiryDate)?exports.VipBonusIssuanceStatus.EXPIRED:r.isSameOrAfter(e.availableDate)?exports.VipBonusIssuanceStatus.PENDING_CLAIM:exports.VipBonusIssuanceStatus.SCHEDULED),e}({currency:e.currency,amount:new N(e.amount).dividedBy(e.occurrence).decimalPlaces(8,N.ROUND_DOWN).toFixed(),occurrenceIndex:t,expiryDate:n,availableDate:l,status:r?exports.VipBonusIssuanceStatus.CLAIMED:null},e.cancelledAt?new Date(e.cancelledAt):null,u)})},exports.getChatMessageLength=function(e){var t=(e.match(u)||[]).reduce(function(e,t){var r,n=null!=(r=t.match(new RegExp(u,"i")))?r:[,"",""],i=n[1];return i!==n[2]?e:e+(i.length+4)},0);return e.trim().length-t},exports.hexToBytes=l;
2
+ //# sourceMappingURL=index.js.map