overtime-live-trading-utils 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/main.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={d:(r,E)=>{for(var i in E)e.o(E,i)&&!e.o(r,i)&&Object.defineProperty(r,i,{enumerable:!0,get:E[i]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{AMERICAN_LEAGUES:()=>v,DRAW:()=>K,LEAGUES_NO_FORMAL_HOME_AWAY:()=>y,LEAGUES_NO_LIVE_CONSTRAINTS:()=>c,LIVE_TYPE_ID_BASE:()=>Q,League:()=>T,LeagueIdMapEnetpulse:()=>G,LeagueIdMapOpticOdds:()=>b,LeagueIdMapRundown:()=>U,LeagueMap:()=>P,MIN_ODDS_FOR_DIFF_CHECKING:()=>X,MULTIPLIER_100:()=>Z,MatchResolveType:()=>S,MoneylineTypes:()=>s,PeriodType:()=>I,Provider:()=>O,ScoringType:()=>N,Sport:()=>A,SpreadTypes:()=>_,TAG_CHILD_SPREAD:()=>j,TAG_CHILD_TOTALS:()=>z,TotalTypes:()=>p,UFC_LEAGUE_IDS:()=>C,ZERO:()=>k,adjustSpreadOnOdds:()=>J,allowGameSportWithPeriodConstraint:()=>Se,allowGameSportWithResultConstraint:()=>Oe,allowSoccerGame:()=>Ie,calculateImpliedOddsDifference:()=>M,checkGameContraints:()=>Ne,checkOddsFromBookmakers:()=>d,createSpreadChildMarkets:()=>_e,createTotalChildMarkets:()=>pe,fetchResultInCurrentSet:()=>le,filterOddsByMarketNameBookmaker:()=>ie,filterOddsByMarketNameTeamNameBookmaker:()=>re,formatSpreadOdds:()=>oe,gamesDatesMatching:()=>W,getBetTypesForLeague:()=>h,getBookmakersArray:()=>R,getIsLiveSupported:()=>V,getLeagueIsDrawAvailable:()=>D,getLeagueLabel:()=>m,getLeagueOpticOddsName:()=>B,getLeaguePeriodType:()=>Y,getLeagueProvider:()=>F,getLeagueSport:()=>u,getLeagueSpreadType:()=>f,getLeagueTotalType:()=>w,getLiveSupportedLeagues:()=>g,getParentOdds:()=>Ee,getSpreadData:()=>q,groupAndFormatSpreadOdds:()=>ae,groupOddsBySelectionAndPoints:()=>te,processMarket:()=>Te,processTotalOdds:()=>Le,statusCodes:()=>x,teamNamesMatching:()=>H}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var E=Object(e),i=1;i<arguments.length;i++){var o=arguments[i];if(null!=o)for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(E[a]=o[a])}return E});var E=function(e){return parseFloat(e.toPrecision(12))};function i(e,r,E){return void 0===E||0==+E?Math[e](r):(r=+r,E=+E,isNaN(r)||"number"!=typeof E||E%1!=0?NaN:r<0?-i(e,-r,E):(r=r.toString().split("e"),+((r=(r=Math[e](+(r[0]+"e"+(r[1]?+r[1]-E:-E)))).toString().split("e"))[0]+"e"+(r[1]?+r[1]+E:E))))}var o,a,L={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?E(100*(this.decimalValue-1)):E(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return E(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(e){if(e.percentage){var r=E(100/this.decimalValue);return null!==e.precision&&(r=i("round",r,-e.precision)),r.toString()+"%"}return E(1/this.decimalValue)}},fractional:{from:function(e){var r,E=e.toString().split("/");if(e=parseFloat(E[0]),2===E.length)r=parseFloat(E[1]);else{if(1!==E.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var E,i=[0,1],o=[1,0],a=function(e){var r=null,E=e.toString().indexOf("E");-1==E&&(E=e.toString().indexOf("e"));var i=null,o=(r=-1==E?e.toString():e.toString().substring(0,E)).toString().indexOf(".");-1==o?i=r:0===o?i=r.substring(1,r.length):o<r.length&&(i=r.substring(0,o)+r.substring(o+1,r.length));var a=i,L=a.toString().length,t=e,A=t.toString().length;0===t&&(A=0);var T,s=L-A;for(T=s;T>0&&a%2==0;T--)a/=2;for(T=s;T>0&&a%5==0;T--)a/=5;return a}(e),L=e,t=Math.pow(10,-r)/2,A=2;A<1e3;A++){var T=Math.floor(L);if(i[A]=T*i[A-1]+i[A-2],Math.abs(i[A])>a)return;if(o[A]=T*o[A-1]+o[A-2],E=i[A]/o[A],Math.abs(E-e)<t||NaN==E)return i[A].toString()+"/"+o[A].toString();L=1/(L-T)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?E(this.decimalValue-1):E(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?E(-1/(this.decimalValue-1)):E(this.decimalValue-1)}}},t=((a=function(e){if("number"!=typeof e||isNaN(e))throw new Error("Invalid odds");this.decimalValue=E(e)}).prototype=(o=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,o.from=function(e,r){if(!L.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var E=L[e].from(r);return new a(E)},o);t.prototype.to=function(e,r){if(!L.hasOwnProperty(e))throw new Error("Unknown format "+e+".");r=Object.assign({precision:null,percentage:!1},r);var E=L[e].to.call(this,r);return"number"==typeof E&&null!==r.precision&&(E=i("round",E,-r.precision)),E};var A,T,s,_,p,N,S,I,O,l,n=t.from,R=function(e,r,E){var i=e.find((function(e){return Number(e.sportId)===Number(r)}));if(i){if(""==i.primaryBookmaker)return E;var o=[];return i.primaryBookmaker&&o.push(i.primaryBookmaker),i.secondaryBookmaker&&o.push(i.secondaryBookmaker),i.tertiaryBookmaker&&o.push(i.tertiaryBookmaker),o}return E},d=function(e,r,E,i,o){var a=e.get(r[0]);if(!a)return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause no matching bookmakers have been found"};var L=a.homeOdds,t=a.awayOdds,A=E?0:a.drawOdds;if(r.some((function(r){var i=e.get(r);return!!i&&(0===i.homeOdds||0===i.awayOdds||!E&&0===i.drawOdds||1===i.homeOdds||1===i.awayOdds||!E&&1===i.drawOdds)})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause bookmakers have 0 or 1 odds"};if(1==r.length)return{homeOdds:L,awayOdds:t,drawOdds:E?0:A};if(r.slice(1).some((function(r){var a=e[r];if(a){var T=a.homeOdds,s=a.awayOdds,_=a.drawOdds,p=n("decimal",L).to("impliedProbability"),N=n("decimal",t).to("impliedProbability"),S=E?0:n("decimal",A).to("impliedProbability"),I=n("decimal",T).to("impliedProbability"),O=n("decimal",s).to("impliedProbability"),l=E?0:n("decimal",_).to("impliedProbability"),R=M(p,I),d=M(N,O),P=E?0:M(S,l);if(R>i&&p>o&&I>o||d>i&&N>o&&O>o||!E&&P>i&&S>o&&l>o)return!0}return!1})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds due to percentage difference between bookmakers"};var T=[];return r.forEach((function(r){return T.push(e.get(r))})),{homeOdds:L,awayOdds:t,drawOdds:E?0:A}},M=function(e,r){var E=Math.abs(e-r)/e*100;return console.log("% diff: "+E),E};!function(e){e.SOCCER="Soccer",e.FOOTBALL="Football",e.BASKETBALL="Basketball",e.BASEBALL="Baseball",e.HOCKEY="Hockey",e.FIGHTING="Fighting",e.TENNIS="Tennis",e.ESPORTS="eSports",e.RUGBY="Rugby",e.VOLLEYBALL="Volleyball",e.HANDBALL="Handball",e.WATERPOLO="Waterpolo",e.CRICKET="Cricket",e.MOTOSPORT="Motosport",e.GOLF="Golf",e.TABLE_TENNIS="TableTennis",e.POLITICS="Politics",e.EMPTY=""}(A||(A={})),function(e){e[e.NCAAF=1]="NCAAF",e[e.NFL=2]="NFL",e[e.MLB=3]="MLB",e[e.NBA=4]="NBA",e[e.NCAAB=5]="NCAAB",e[e.NHL=6]="NHL",e[e.UFC=7]="UFC",e[e.WNBA=8]="WNBA",e[e.MLS=10]="MLS",e[e.EPL=11]="EPL",e[e.LIGUE_ONE=12]="LIGUE_ONE",e[e.BUNDESLIGA=13]="BUNDESLIGA",e[e.LA_LIGA=14]="LA_LIGA",e[e.SERIE_A=15]="SERIE_A",e[e.UEFA_CL=16]="UEFA_CL",e[e.UEFA_EL=17]="UEFA_EL",e[e.FIFA_WC=18]="FIFA_WC",e[e.J1_LEAGUE=19]="J1_LEAGUE",e[e.IPL=20]="IPL",e[e.T20_BLAST=21]="T20_BLAST",e[e.IIHF_WORLD_CHAMPIONSHIP=33]="IIHF_WORLD_CHAMPIONSHIP",e[e.COPA_AMERICA=44]="COPA_AMERICA",e[e.COPA_LIBERTADORES=45]="COPA_LIBERTADORES",e[e.UEFA_EURO=50]="UEFA_EURO",e[e.EREDIVISIE=57]="EREDIVISIE",e[e.PRIMEIRA_LIGA=61]="PRIMEIRA_LIGA",e[e.SUMMER_OLYMPICS_SOCCER_WOMEN=65]="SUMMER_OLYMPICS_SOCCER_WOMEN",e[e.SUMMER_OLYMPICS_SOCCER=66]="SUMMER_OLYMPICS_SOCCER",e[e.FIFA_WC_WOMEN=76]="FIFA_WC_WOMEN",e[e.ENGLAND_CUP=132]="ENGLAND_CUP",e[e.FRANCE_CUP=134]="FRANCE_CUP",e[e.SPAIN_CUP=138]="SPAIN_CUP",e[e.ITALY_CUP=141]="ITALY_CUP",e[e.TENNIS_WTA=152]="TENNIS_WTA",e[e.TENNIS_GS=153]="TENNIS_GS",e[e.TENNIS_MASTERS=156]="TENNIS_MASTERS",e[e.SUMMER_OLYMPICS_TENNIS=158]="SUMMER_OLYMPICS_TENNIS",e[e.GERMANY_CUP=209]="GERMANY_CUP",e[e.LIGA_MX=230]="LIGA_MX",e[e.BRAZIL_1=268]="BRAZIL_1",e[e.UEFA_EURO_U21=288]="UEFA_EURO_U21",e[e.FIFA_WORLD_CUP_U20=296]="FIFA_WORLD_CUP_U20",e[e.SUMMER_OLYMPICS_HANDBALL_WOMEN=380]="SUMMER_OLYMPICS_HANDBALL_WOMEN",e[e.SUMMER_OLYMPICS_HANDBALL=381]="SUMMER_OLYMPICS_HANDBALL",e[e.EUROLEAGUE=399]="EUROLEAGUE",e[e.SUMMER_OLYMPICS_BASKETBALL=406]="SUMMER_OLYMPICS_BASKETBALL",e[e.SUMMER_OLYMPICS_BASKETBALL_WOMEN=407]="SUMMER_OLYMPICS_BASKETBALL_WOMEN",e[e.FIBA_WORLD_CUP=409]="FIBA_WORLD_CUP",e[e.FORMULA1=445]="FORMULA1",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN=453]="SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL=454]="SUMMER_OLYMPICS_BEACH_VOLEYBALL",e[e.MOTOGP=497]="MOTOGP",e[e.SAUDI_PROFESSIONAL_LEAGUE=536]="SAUDI_PROFESSIONAL_LEAGUE",e[e.SUMMER_OLYMPICS_WATERPOLO=8881]="SUMMER_OLYMPICS_WATERPOLO",e[e.SUMMER_OLYMPICS_VOLEYBALL_WOMEN=8893]="SUMMER_OLYMPICS_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_VOLEYBALL=8894]="SUMMER_OLYMPICS_VOLEYBALL",e[e.SUMMER_OLYMPICS_TABLE_TENNIS=8910]="SUMMER_OLYMPICS_TABLE_TENNIS",e[e.BOXING=9196]="BOXING",e[e.SUMMER_OLYMPICS_RUGBY=9578]="SUMMER_OLYMPICS_RUGBY",e[e.SUMMER_OLYMPICS_RUGBY_WOMEN=9588]="SUMMER_OLYMPICS_RUGBY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY_WOMEN=9698]="SUMMER_OLYMPICS_HOCKEY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY=9699]="SUMMER_OLYMPICS_HOCKEY",e[e.UEFA_NATIONS_LEAGUE=9806]="UEFA_NATIONS_LEAGUE",e[e.CONCACAF_NATIONS_LEAGUE=9821]="CONCACAF_NATIONS_LEAGUE",e[e.CSGO=9977]="CSGO",e[e.DOTA2=9983]="DOTA2",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3=10071]="SUMMER_OLYMPICS_BASKETBALL_3X3",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN=10072]="SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN",e[e.SUMMER_OLYMPICS_QUALIFICATION=10502]="SUMMER_OLYMPICS_QUALIFICATION",e[e.LOL=10138]="LOL",e[e.CONMEBOL_WC_QUALIFICATIONS=10199]="CONMEBOL_WC_QUALIFICATIONS",e[e.UEFA_CONFERENCE_LEAGUE=10216]="UEFA_CONFERENCE_LEAGUE",e[e.NON_TITLE_BOXING=10595]="NON_TITLE_BOXING",e[e.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION=10611]="UEFA_CHAMPIONS_LEAGUE_QUALIFICATION",e[e.UEFA_EUROPA_LEAGUE_QUALIFICATION=10613]="UEFA_EUROPA_LEAGUE_QUALIFICATION",e[e.UEFA_CONFERENCE_LEAGUE_QUALIFICATION=10615]="UEFA_CONFERENCE_LEAGUE_QUALIFICATION",e[e.US_ELECTION=2e4]="US_ELECTION",e[e.UEFA_SUPER_CUP=20001]="UEFA_SUPER_CUP",e[e.BRAZIL_CUP=20002]="BRAZIL_CUP",e[e.ENGLAND_CHAMPIONSHIP=20011]="ENGLAND_CHAMPIONSHIP",e[e.SCOTLAND_PREMIERSHIP=20101]="SCOTLAND_PREMIERSHIP",e[e.BELGIUM_LEAGUE=20102]="BELGIUM_LEAGUE",e[e.CZECH_LEAGUE=20103]="CZECH_LEAGUE",e[e.CHILE_PRIMERA=20104]="CHILE_PRIMERA",e[e.FINLAND_LEAGUE=20105]="FINLAND_LEAGUE",e[e.ARGENTINA_PRIMERA=20106]="ARGENTINA_PRIMERA",e[e.RUSSIA_PREMIER=20107]="RUSSIA_PREMIER",e[e.TURKEY_SUPER_LEAGUE=20108]="TURKEY_SUPER_LEAGUE",e[e.SERBIA_SUPER_LEAGUE=20109]="SERBIA_SUPER_LEAGUE",e[e.GREECE_SUPER_LEAGUE=20110]="GREECE_SUPER_LEAGUE",e[e.INDIA_PREMIER=20111]="INDIA_PREMIER",e[e.CHINA_SUPER_LEAGUE=20112]="CHINA_SUPER_LEAGUE",e[e.AUSTRALIA_A_LEAGUE=20113]="AUSTRALIA_A_LEAGUE",e[e.SWITZERLAND_SUPER_LEAGUE=20114]="SWITZERLAND_SUPER_LEAGUE",e[e.BUNDESLIGA_2=20115]="BUNDESLIGA_2",e[e.LA_LIGA_2=20116]="LA_LIGA_2",e[e.SERIE_B=20117]="SERIE_B",e[e.INDIA_SUPER_LEAGUE=20118]="INDIA_SUPER_LEAGUE",e[e.LIGUE_2=20119]="LIGUE_2",e[e.AUSTRIA_BUNDESLIGA=20120]="AUSTRIA_BUNDESLIGA",e[e.DENMARK_SUPER_LEAGUE=20121]="DENMARK_SUPER_LEAGUE",e[e.POLAND_LEAGUE=20122]="POLAND_LEAGUE",e[e.SWEDEN_LEAGUE=20123]="SWEDEN_LEAGUE",e[e.COLOMBIA_PRIMERA_A=20124]="COLOMBIA_PRIMERA_A",e[e.ENGLAND_EFL_CUP=20125]="ENGLAND_EFL_CUP",e[e.ENGLAND_LEGAUE_1=20126]="ENGLAND_LEGAUE_1",e[e.URUGUAY_PRIMERA_DIVISION=20127]="URUGUAY_PRIMERA_DIVISION",e[e.EUROCUP=20200]="EUROCUP",e[e.GOLF_H2H=100021]="GOLF_H2H",e[e.GOLF_WINNER=100121]="GOLF_WINNER",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1=15312]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2=15313]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3=15314]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4=15315]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5=15316]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6=15317]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7=15318]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_1=15622]="TENNIS_MASTERS_LIVE_MAPPING_V2_1",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_2=15623]="TENNIS_MASTERS_LIVE_MAPPING_V2_2",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_3=15624]="TENNIS_MASTERS_LIVE_MAPPING_V2_3",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_4=15625]="TENNIS_MASTERS_LIVE_MAPPING_V2_4",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_5=15626]="TENNIS_MASTERS_LIVE_MAPPING_V2_5",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_6=15627]="TENNIS_MASTERS_LIVE_MAPPING_V2_6",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_7=15628]="TENNIS_MASTERS_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_8=15632]="TENNIS_MASTERS_LIVE_MAPPING_V2_8",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_9=15633]="TENNIS_MASTERS_LIVE_MAPPING_V2_9",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_10=15634]="TENNIS_MASTERS_LIVE_MAPPING_V2_10",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_11=15635]="TENNIS_MASTERS_LIVE_MAPPING_V2_11",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_12=15636]="TENNIS_MASTERS_LIVE_MAPPING_V2_12",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_13=15637]="TENNIS_MASTERS_LIVE_MAPPING_V2_13",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_14=15638]="TENNIS_MASTERS_LIVE_MAPPING_V2_14",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_15=15641]="TENNIS_MASTERS_LIVE_MAPPING_V2_15",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_16=15642]="TENNIS_MASTERS_LIVE_MAPPING_V2_16",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_17=15643]="TENNIS_MASTERS_LIVE_MAPPING_V2_17",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_18=15644]="TENNIS_MASTERS_LIVE_MAPPING_V2_18",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_19=15645]="TENNIS_MASTERS_LIVE_MAPPING_V2_19",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_20=15646]="TENNIS_MASTERS_LIVE_MAPPING_V2_20",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_21=15647]="TENNIS_MASTERS_LIVE_MAPPING_V2_21",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_22=15648]="TENNIS_MASTERS_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_1=15322]="TENNIS_WTA_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_LIVE_MAPPING_V2_2=15323]="TENNIS_WTA_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_LIVE_MAPPING_V2_3=15324]="TENNIS_WTA_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_LIVE_MAPPING_V2_4=15325]="TENNIS_WTA_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_LIVE_MAPPING_V2_5=15326]="TENNIS_WTA_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_LIVE_MAPPING_V2_6=15327]="TENNIS_WTA_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_LIVE_MAPPING_V2_7=15328]="TENNIS_WTA_LIVE_MAPPING_V2_7"}(T||(T={})),function(e){e.MONEYLINE="Moneyline"}(s||(s={})),function(e){e.ASIAN_HANDICAP="Asian Handicap",e.GAME_SPREAD="Game Spread",e.POINT_SPREAD="Point Spread",e.RUN_LINE="Run Line",e.PUCK_LINE="Puck Line"}(_||(_={})),function(e){e.TOTAL_GAMES="Total Games",e.TOTAL_GOALS="Total Goals",e.TOTAL_POINTS="Total Points",e.TOTAL_RUNS="Total Runs"}(p||(p={})),function(e){e.POINTS="points",e.GOALS="goals",e.ROUNDS="rounds",e.SETS="sets",e.EMPTY=""}(N||(N={})),function(e){e.OVERTIME="overtime",e.REGULAR="regular",e.EMPTY=""}(S||(S={})),function(e){e.QUARTER="quarter",e.HALF="half",e.PERIOD="period",e.ROUND="round",e.INNING="inning",e.SET="set",e.EMPTY=""}(I||(I={})),function(e){e.RUNDOWN="rundown",e.ENETPULSE="enetpulse",e.JSONODDS="jsonOdds",e.OPTICODDS="opticOdds",e.EMPTY=""}(O||(O={}));var P=((l={})[T.NCAAF]={sport:A.FOOTBALL,id:T.NCAAF,label:"NCAA Football",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.NFL]={sport:A.FOOTBALL,id:T.NFL,label:"NFL",opticOddsName:"NFL",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.MLB]={sport:A.BASEBALL,id:T.MLB,label:"MLB",opticOddsName:"MLB",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.RUN_LINE,p.TOTAL_RUNS],betTypesForLiveTestnet:[s.MONEYLINE,_.RUN_LINE,p.TOTAL_RUNS]},l[T.NBA]={sport:A.BASKETBALL,id:T.NBA,label:"NBA",opticOddsName:"NBA",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.NCAAB]={sport:A.BASKETBALL,id:T.NCAAB,label:"NCAA Basketball",provider:O.RUNDOWN,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.NHL]={sport:A.HOCKEY,id:T.NHL,label:"NHL",opticOddsName:"NHL",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.OVERTIME,periodType:I.PERIOD,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.PUCK_LINE,p.TOTAL_GOALS],betTypesForLiveTestnet:[s.MONEYLINE,_.PUCK_LINE,p.TOTAL_GOALS]},l[T.UFC]={sport:A.FIGHTING,id:T.UFC,label:"UFC",provider:O.OPTICODDS,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.WNBA]={sport:A.BASKETBALL,id:T.WNBA,label:"WNBA",opticOddsName:"WNBA",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.MLS]={sport:A.SOCCER,id:T.MLS,label:"MLS",opticOddsName:"USA - Major League Soccer",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.EPL]={sport:A.SOCCER,id:T.EPL,label:"EPL",opticOddsName:"England - Premier League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.LIGUE_ONE]={sport:A.SOCCER,id:T.LIGUE_ONE,label:"Ligue 1",opticOddsName:"France - Ligue 1",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.BUNDESLIGA]={sport:A.SOCCER,id:T.BUNDESLIGA,label:"Bundesliga",opticOddsName:"Germany - Bundesliga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.LA_LIGA]={sport:A.SOCCER,id:T.LA_LIGA,label:"La Liga",opticOddsName:"Spain - La Liga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SERIE_A]={sport:A.SOCCER,id:T.SERIE_A,label:"Serie A",opticOddsName:"Italy - Serie A",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_CL]={sport:A.SOCCER,id:T.UEFA_CL,label:"UEFA Champions League",opticOddsName:"UEFA - Champions League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EL]={sport:A.SOCCER,id:T.UEFA_EL,label:"UEFA Europa League",opticOddsName:"UEFA - Europa League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.FIFA_WC]={sport:A.SOCCER,id:T.FIFA_WC,label:"FIFA World Cup Qualifiers",provider:O.OPTICODDS,opticOddsName:"FIFA - World Cup Qualifiers",scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.J1_LEAGUE]={sport:A.SOCCER,id:T.J1_LEAGUE,label:"J1 League",opticOddsName:"Japan - J1 League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.IPL]={sport:A.CRICKET,id:T.IPL,label:"Indian Premier League",provider:O.RUNDOWN,scoringType:N.POINTS,matchResolveType:S.EMPTY,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.T20_BLAST]={sport:A.CRICKET,id:T.T20_BLAST,label:"T20 Blast",provider:O.RUNDOWN,scoringType:N.POINTS,matchResolveType:S.EMPTY,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.IIHF_WORLD_CHAMPIONSHIP]={sport:A.HOCKEY,id:T.IIHF_WORLD_CHAMPIONSHIP,label:"IIHF World Championship",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.COPA_AMERICA]={sport:A.SOCCER,id:T.COPA_AMERICA,label:"Copa America",opticOddsName:"CONMEBOL - Copa America",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.COPA_LIBERTADORES]={sport:A.SOCCER,id:T.COPA_LIBERTADORES,label:"Copa Libertadores",opticOddsName:"CONMEBOL - Copa Libertadores",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EURO]={sport:A.SOCCER,id:T.UEFA_EURO,label:"UEFA EURO 2024",opticOddsName:"UEFA - European Championship",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.EREDIVISIE]={sport:A.SOCCER,id:T.EREDIVISIE,label:"Eredivisie",opticOddsName:"Netherlands - Eredivisie",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.PRIMEIRA_LIGA]={sport:A.SOCCER,id:T.PRIMEIRA_LIGA,label:"Primeira Liga",opticOddsName:"Portugal - Primeira Liga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:A.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER_WOMEN,label:"Olympic Games Soccer Women",opticOddsName:"Olympics Soccer Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_SOCCER]={sport:A.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER,label:"Olympic Games Soccer",opticOddsName:"Olympics Soccer Men",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.FIFA_WC_WOMEN]={sport:A.SOCCER,id:T.FIFA_WC_WOMEN,label:"FIFA World Cup Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ENGLAND_CUP]={sport:A.SOCCER,id:T.ENGLAND_CUP,label:"FA Cup",opticOddsName:"England - FA Cup",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FRANCE_CUP]={sport:A.SOCCER,id:T.FRANCE_CUP,label:"Coupe de France",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SPAIN_CUP]={sport:A.SOCCER,id:T.SPAIN_CUP,label:"Copa del Rey",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ITALY_CUP]={sport:A.SOCCER,id:T.ITALY_CUP,label:"Coppa Italia",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.TENNIS_WTA]={sport:A.TENNIS,id:T.TENNIS_WTA,label:"WTA Events",opticOddsName:"WTA",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.TENNIS_GS]={sport:A.TENNIS,id:T.TENNIS_GS,label:"Grand Slam",opticOddsName:"ATP,WTA",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.TENNIS_MASTERS]={sport:A.TENNIS,id:T.TENNIS_MASTERS,label:"ATP Events",opticOddsName:"ATP",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.SUMMER_OLYMPICS_TENNIS]={sport:A.TENNIS,id:T.SUMMER_OLYMPICS_TENNIS,label:"Olympic Games Tennis",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.GERMANY_CUP]={sport:A.SOCCER,id:T.GERMANY_CUP,label:"DFB Pokal",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LIGA_MX]={sport:A.SOCCER,id:T.LIGA_MX,label:"Liga MX",opticOddsName:"Mexico - Liga MX",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.BRAZIL_1]={sport:A.SOCCER,id:T.BRAZIL_1,label:"Serie A",opticOddsName:"Brazil - Serie A",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EURO_U21]={sport:A.SOCCER,id:T.UEFA_EURO_U21,label:"UEFA EURO U21",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.FIFA_WORLD_CUP_U20]={sport:A.SOCCER,id:T.FIFA_WORLD_CUP_U20,label:"FIFA World Cup U20",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:A.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL_WOMEN,label:"Olympic Games Handball Women",opticOddsName:"Olympics Handball Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_HANDBALL]={sport:A.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL,label:"Olympic Games Handball",opticOddsName:"Olympics Handball Men",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.EUROLEAGUE]={sport:A.BASKETBALL,id:T.EUROLEAGUE,label:"Euroleague",opticOddsName:"Euroleague",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.SUMMER_OLYMPICS_BASKETBALL]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL,label:"Olympic Games Basketball",opticOddsName:"Olympics Basketball Men",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_WOMEN,label:"Olympic Games Basketball Women",opticOddsName:"Olympics Basketball Women",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.FIBA_WORLD_CUP]={sport:A.BASKETBALL,id:T.FIBA_WORLD_CUP,label:"FIBA World Cup",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FORMULA1]={sport:A.MOTOSPORT,id:T.FORMULA1,label:"Formula 1",provider:O.ENETPULSE,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,label:"Olympic Games Beach Voleyball Women",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL,label:"Olympic Games Beach Voleyball",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:A.TABLE_TENNIS,id:T.SUMMER_OLYMPICS_TABLE_TENNIS,label:"Olympic Games Table Tennis",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.MOTOGP]={sport:A.MOTOSPORT,id:T.MOTOGP,label:"MotoGP",provider:O.ENETPULSE,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SAUDI_PROFESSIONAL_LEAGUE]={sport:A.SOCCER,id:T.SAUDI_PROFESSIONAL_LEAGUE,label:"Saudi Professional League",opticOddsName:"Saudi Arabia - Saudi League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_WATERPOLO]={sport:A.WATERPOLO,id:T.SUMMER_OLYMPICS_WATERPOLO,label:"Olympic Games Water Polo",opticOddsName:"Olympics Water Polo",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.QUARTER,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,label:"Olympic Games Volleyball Women",opticOddsName:"Olympics Volleyball Women",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_VOLEYBALL]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL,label:"Olympic Games Volleyball",opticOddsName:"Olympics Volleyball Men",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.BOXING]={sport:A.FIGHTING,id:T.BOXING,label:"Boxing",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_RUGBY]={sport:A.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY,label:"Olympic Games Rugby",opticOddsName:"Olympics Rugby 7s Men",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:A.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY_WOMEN,label:"Olympic Games Rugby Women",opticOddsName:"Olympics Rugby 7s Women",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:A.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY_WOMEN,label:"Olympic Games Hockey Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HOCKEY]={sport:A.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY,label:"Olympic Games Hockey",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_NATIONS_LEAGUE]={sport:A.SOCCER,id:T.UEFA_NATIONS_LEAGUE,label:"UEFA Nations League",provider:O.OPTICODDS,opticOddsName:"UEFA - Nations League",scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.CONCACAF_NATIONS_LEAGUE]={sport:A.SOCCER,id:T.CONCACAF_NATIONS_LEAGUE,label:"CONCACAF Nations League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CSGO]={sport:A.ESPORTS,id:T.CSGO,label:"CS GO",opticOddsName:"CS2",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.DOTA2]={sport:A.ESPORTS,id:T.DOTA2,label:"DOTA 2",opticOddsName:"Dota 2",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3,label:"Olympic Games Basketball 3x3",opticOddsName:"Olympics Basketball 3x3 Men",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,label:"Olympic Games Basketball 3x3 Women",opticOddsName:"Olympics Basketball 3x3 Women",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_QUALIFICATION]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_QUALIFICATION,label:"Summer Olympics Basketball Qualification",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LOL]={sport:A.ESPORTS,id:T.LOL,label:"LOL",opticOddsName:"League of Legends",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CONMEBOL_WC_QUALIFICATIONS]={sport:A.SOCCER,id:T.CONMEBOL_WC_QUALIFICATIONS,label:"CONMEBOL WC Qualification",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_CONFERENCE_LEAGUE]={sport:A.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE,label:"UEFA Conference League",opticOddsName:"UEFA - Europa Conference League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.NON_TITLE_BOXING]={sport:A.FIGHTING,id:T.NON_TITLE_BOXING,label:"Boxing",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:A.SOCCER,id:T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,label:"UEFA Champions League Qualification",opticOddsName:"UEFA - Champions League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:A.SOCCER,id:T.UEFA_EUROPA_LEAGUE_QUALIFICATION,label:"UEFA Europa League Qualification",opticOddsName:"UEFA - Europa League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:A.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,label:"UEFA Conference League Qualification",opticOddsName:"UEFA - Europa Conference League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.US_ELECTION]={sport:A.POLITICS,id:T.US_ELECTION,label:"US Election 2024",provider:O.EMPTY,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_SUPER_CUP]={sport:A.SOCCER,id:T.UEFA_SUPER_CUP,label:"UEFA Super Cup",opticOddsName:"UEFA - Super Cup",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.BRAZIL_CUP]={sport:A.SOCCER,id:T.BRAZIL_CUP,label:"Copa do Brasil",opticOddsName:"Brazil - Copa do Brasil",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.ENGLAND_CHAMPIONSHIP]={sport:A.SOCCER,id:T.ENGLAND_CHAMPIONSHIP,label:"EFL Championship",opticOddsName:"England - Championship",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SCOTLAND_PREMIERSHIP]={sport:A.SOCCER,id:T.SCOTLAND_PREMIERSHIP,label:"Scotland Premiership",opticOddsName:"Scotland - Premiership",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.BELGIUM_LEAGUE]={sport:A.SOCCER,id:T.BELGIUM_LEAGUE,label:"Belgium Jupiler Pro League",opticOddsName:"Belgium - Jupiler Pro League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CZECH_LEAGUE]={sport:A.SOCCER,id:T.CZECH_LEAGUE,label:"Czech Republic FNL",opticOddsName:"Czech Republic - FNL",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CHILE_PRIMERA]={sport:A.SOCCER,id:T.CHILE_PRIMERA,label:"Chile Primera Division",opticOddsName:"Chile - Primera Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FINLAND_LEAGUE]={sport:A.SOCCER,id:T.FINLAND_LEAGUE,label:"Finland Veikkausliiga",opticOddsName:"Finland - Veikkausliiga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ARGENTINA_PRIMERA]={sport:A.SOCCER,id:T.ARGENTINA_PRIMERA,label:"Argentina Primera Division",opticOddsName:"Argentina - Primera Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.RUSSIA_PREMIER]={sport:A.SOCCER,id:T.RUSSIA_PREMIER,label:"Russia Premier League",opticOddsName:"Russia - Premier League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.TURKEY_SUPER_LEAGUE]={sport:A.SOCCER,id:T.TURKEY_SUPER_LEAGUE,label:"Turkey Super Lig",opticOddsName:"Turkey - Super Lig",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SERBIA_SUPER_LEAGUE]={sport:A.SOCCER,id:T.SERBIA_SUPER_LEAGUE,label:"Serbia Super Liga",opticOddsName:"Serbia - Super Liga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GREECE_SUPER_LEAGUE]={sport:A.SOCCER,id:T.GREECE_SUPER_LEAGUE,label:"Greece Super League",opticOddsName:"Greece - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.INDIA_PREMIER]={sport:A.SOCCER,id:T.INDIA_PREMIER,label:"India Calcutta Premier Division",opticOddsName:"India - Calcutta Premier Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CHINA_SUPER_LEAGUE]={sport:A.SOCCER,id:T.CHINA_SUPER_LEAGUE,label:"China Super League",opticOddsName:"China - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.AUSTRALIA_A_LEAGUE]={sport:A.SOCCER,id:T.AUSTRALIA_A_LEAGUE,label:"Australia A-League",opticOddsName:"Australia - A-League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SWITZERLAND_SUPER_LEAGUE]={sport:A.SOCCER,id:T.SWITZERLAND_SUPER_LEAGUE,label:"Switzerland Super League",opticOddsName:"Switzerland - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.BUNDESLIGA_2]={sport:A.SOCCER,id:T.BUNDESLIGA_2,label:"Bundesliga 2",opticOddsName:"Germany - Bundesliga 2",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LA_LIGA_2]={sport:A.SOCCER,id:T.LA_LIGA_2,label:"La Liga 2",opticOddsName:"Spain - La Liga 2",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SERIE_B]={sport:A.SOCCER,id:T.SERIE_B,label:"Serie B",opticOddsName:"Italy - Serie B",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.INDIA_SUPER_LEAGUE]={sport:A.SOCCER,id:T.INDIA_SUPER_LEAGUE,label:"India Super League",opticOddsName:"India - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LIGUE_2]={sport:A.SOCCER,id:T.LIGUE_2,label:"Ligue 2",opticOddsName:"France - Ligue 2",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.AUSTRIA_BUNDESLIGA]={sport:A.SOCCER,id:T.AUSTRIA_BUNDESLIGA,label:"Austria Bundesliga",opticOddsName:"Austria - Bundesliga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.DENMARK_SUPER_LEAGUE]={sport:A.SOCCER,id:T.DENMARK_SUPER_LEAGUE,label:"Denmark Superliga",opticOddsName:"Denmark - Superliga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.POLAND_LEAGUE]={sport:A.SOCCER,id:T.POLAND_LEAGUE,label:"Poland Ekstraklasa",opticOddsName:"Poland - Ekstraklasa",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SWEDEN_LEAGUE]={sport:A.SOCCER,id:T.SWEDEN_LEAGUE,label:"Sweden Allsvenskan",opticOddsName:"Sweden - Allsvenskan",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.COLOMBIA_PRIMERA_A]={sport:A.SOCCER,id:T.COLOMBIA_PRIMERA_A,label:"Colombia Primera A",opticOddsName:"Colombia - Primera A",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ENGLAND_EFL_CUP]={sport:A.SOCCER,id:T.ENGLAND_EFL_CUP,label:"England EFL Cup",opticOddsName:"England - EFL Cup",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.ENGLAND_LEGAUE_1]={sport:A.SOCCER,id:T.ENGLAND_LEGAUE_1,label:"England League 1",opticOddsName:"England - League 1",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.URUGUAY_PRIMERA_DIVISION]={sport:A.SOCCER,id:T.URUGUAY_PRIMERA_DIVISION,label:"Uruguay Primera Division",opticOddsName:"Uruguay - Primera Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.EUROCUP]={sport:A.BASKETBALL,id:T.EUROCUP,label:"Eurocup",opticOddsName:"Eurocup",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GOLF_H2H]={sport:A.GOLF,id:T.GOLF_H2H,label:"Golf head-to-head",provider:O.JSONODDS,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GOLF_WINNER]={sport:A.GOLF,id:T.GOLF_WINNER,label:"Golf Tournament Winner",provider:O.JSONODDS,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l),y=[T.CSGO,T.DOTA2,T.LOL,T.TENNIS_GS,T.TENNIS_MASTERS,T.SUMMER_OLYMPICS_TENNIS,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_1,T.TENNIS_MASTERS_LIVE_MAPPING_V2_2,T.TENNIS_MASTERS_LIVE_MAPPING_V2_3,T.TENNIS_MASTERS_LIVE_MAPPING_V2_4,T.TENNIS_MASTERS_LIVE_MAPPING_V2_5,T.TENNIS_MASTERS_LIVE_MAPPING_V2_6,T.TENNIS_MASTERS_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_8,T.TENNIS_MASTERS_LIVE_MAPPING_V2_9,T.TENNIS_MASTERS_LIVE_MAPPING_V2_10,T.TENNIS_MASTERS_LIVE_MAPPING_V2_11,T.TENNIS_MASTERS_LIVE_MAPPING_V2_12,T.TENNIS_MASTERS_LIVE_MAPPING_V2_13,T.TENNIS_MASTERS_LIVE_MAPPING_V2_14,T.TENNIS_MASTERS_LIVE_MAPPING_V2_15,T.TENNIS_MASTERS_LIVE_MAPPING_V2_16,T.TENNIS_MASTERS_LIVE_MAPPING_V2_17,T.TENNIS_MASTERS_LIVE_MAPPING_V2_18,T.TENNIS_MASTERS_LIVE_MAPPING_V2_19,T.TENNIS_MASTERS_LIVE_MAPPING_V2_20,T.TENNIS_MASTERS_LIVE_MAPPING_V2_21,T.TENNIS_MASTERS_LIVE_MAPPING_V2_22,T.TENNIS_WTA_LIVE_MAPPING_V2_1,T.TENNIS_WTA_LIVE_MAPPING_V2_2,T.TENNIS_WTA_LIVE_MAPPING_V2_3,T.TENNIS_WTA_LIVE_MAPPING_V2_4,T.TENNIS_WTA_LIVE_MAPPING_V2_5,T.TENNIS_WTA_LIVE_MAPPING_V2_6,T.TENNIS_WTA_LIVE_MAPPING_V2_7],c=[T.SUMMER_OLYMPICS_RUGBY,T.SUMMER_OLYMPICS_RUGBY_WOMEN],v=[T.NCAAF,T.NFL,T.MLB,T.NBA,T.NCAAB,T.NHL,T.WNBA,T.MLS,T.IPL,T.T20_BLAST],C=[701,702,703,704],U={1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21},G={320:18,6:24,33:33,16:42,44:44,45:45,11:47,50:50,12:53,13:54,15:55,57:57,61:61,65:65,66:66,17:73,76:76,14:87,152:152,153:153,156:156,158:158,132:132,134:134,138:138,141:141,209:209,230:230,268:268,288:288,296:296,310:310,319:319,322:322,327:327,380:380,381:381,399:399,406:406,407:407,409:409,445:445,453:453,454:454,497:497,536:536,8881:8881,8893:8893,8894:8894,8910:8910,9196:9196,9578:9578,9588:9588,9698:9698,9699:9699,9806:9806,9821:9821,9977:9977,9983:9983,10071:10071,10072:10072,10502:10502,10138:10138,10199:10199,10216:10216,10595:10595,10611:10611,10613:10613,10615:10615},b={1:"NCAAF",2:"NFL",3:"MLB",4:"NBA",6:"NHL",7:"UFC",8:"WNBA",10:"USA - Major League Soccer",11:"England - Premier League",12:"France - Ligue 1",13:"Germany - Bundesliga",14:"Spain - La Liga",15:"Italy - Serie A",16:"UEFA - Champions League",17:"UEFA - Europa League",18:"FIFA - World Cup Qualifiers",19:"Japan - J1 League",45:"CONMEBOL - Copa Libertadores",57:"Netherlands - Eredivisie",61:"Portugal - Primeira Liga",230:"Mexico - Liga MX",268:"Brazil - Serie A",399:"Euroleague",536:"Saudi Arabia - Saudi League",9806:"UEFA - Nations League",9977:"CS2",9983:"Dota 2",10138:"League of Legends",10216:"UEFA - Europa Conference League",20001:"UEFA - Super Cup",20002:"Brazil - Copa do Brasil",20011:"England - Championship",20101:"Scotland - Premiership",20102:"Belgium - Jupiler Pro League",20103:"Czech Republic - FNL",20104:"Chile - Primera Division",20105:"Finland - Veikkausliiga",20106:"Argentina - Primera Division",20107:"Russia - Premier League",20108:"Turkey - Super Lig",20109:"Serbia - Super Liga",20110:"Greece - Super League",20111:"India - Calcutta Premier Division",20112:"China - Super League",20113:"Australia - A-League",20114:"Switzerland - Super League",20115:"Germany - Bundesliga 2",20116:"Spain - La Liga 2",20117:"Italy - Serie B",20118:"India - Super League",20119:"France - Ligue 2",20120:"Austria - Bundesliga",20121:"Denmark - Superliga",20122:"Poland - Ekstraklasa",20123:"Sweden - Allsvenskan",20124:"Colombia - Primera A",20125:"England - EFL Cup",20126:"England - League 1",20127:"Uruguay - Primera Division",20200:"Eurocup"},u=function(e){var r=P[e];return r?r.sport:A.EMPTY},m=function(e){var r=P[e];return r?r.label:""},F=function(e){var r=P[e];return r?r.provider:""},D=function(e){var r=P[e];return!!r&&r.isDrawAvailable},g=function(e){return Object.values(P).filter((function(r){return e?r.betTypesForLiveTestnet.length>0:r.betTypesForLive.length>0})).map((function(e){return e.id}))},h=function(e,r){var E=P[e];return E?r?E.betTypesForLiveTestnet:E.betTypesForLive:[]},V=function(e,r){var E=P[e];return!!E&&(r?E.betTypesForLiveTestnet.length>0:E.betTypesForLive.length>0)},B=function(e){var r=P[e];return r?r.opticOddsName:void 0},Y=function(e){var r=P[e];return r?r.periodType:""},f=function(e,r){var E;return h(e,r).forEach((function(e){Object.values(_).find((function(r){return r==e}))&&(E=e)})),E},w=function(e,r){var E;return h(e,r).forEach((function(e){Object.values(p).find((function(r){return r==e}))&&(E=e)})),E},H=function(e,r,E,i,o,a){var L,t;if(y.includes(e)?(L=i.toLowerCase()==r.toLowerCase()||i.toLowerCase()==E.toLowerCase(),t=o.toLowerCase()==r.toLowerCase()||o.toLowerCase()==E.toLowerCase()):(L=i.toLowerCase()==r.toLowerCase(),t=o.toLowerCase()==E.toLowerCase()),!0!==L){var A=a.get(i.toLowerCase()),T=a.get(r.toLowerCase()),s=a.get(E.toLowerCase());if([A,T].some((function(e){return null==e})))return!1;L=y.includes(e)?A==T||A==s:A==T}if(!0!==t){var _=a.get(o.toLowerCase());if(T=a.get(r.toLowerCase()),[_,s=a.get(E.toLowerCase())].some((function(e){return null==e})))return!1;t=y.includes(e)&&_==T||_==s}return L&&t},W=function(e,r,E,i){var o;if(u(E)==A.TENNIS){var a=r.getTime(),L=e.getTime();o=Math.abs(L-a)<=Number(60*i*1e3)}else o=r.toUTCString()==e.toUTCString();return o},k=0,K="Draw",Q=1e5,X=.2,j=10001,z=10002,Z=100,x={OPEN:0,PAUSED:1,IN_PROGRESS:3,FINISHED:8,RESOLVED:10,CANCELED:255},J=function(e,r,E){if(e.some((function(e){return 0===e})))return e;var i=e.reduce((function(e,r){return e+r}),0);if(i<=1)return Array(e.length).fill(0);if(0===E){if(!(r>100*(i-1)))return e;E=r}var o=1+E/100,a=o/i,L=e.map((function(e){return e*a}));if(L.some((function(e){return e>=1})))return Array(e.length).fill(0);var t=L.reduce((function(e,r){return e+r}),0);if(t<1)return Array(e.length).fill(0);var A=o/t;return L.map((function(e){return e*A}))},q=function(e,r,E,i){var o=e.find((function(e){return Number(e.typeId)===Number(E)&&Number(e.sportId)===Number(r)}));return o?{minSpread:o.minSpread?Number(o.minSpread):i,targetSpread:o.targetSpread?Number(o.targetSpread):0}:{minSpread:i,targetSpread:0}},$=function(e){return e===k?0:ee("decimal","impliedProbability",e)},ee=function(e,r,E){try{return n(e,E).to(r)}catch(e){return 0}},re=function(e,r,E,i,o){var a=new Map;return E.forEach((function(E){var L=0,t=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===i.homeTeam.toLowerCase()}));0!==t.length&&(L=t[0].price);var A=0,T=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===i.awayTeam.toLowerCase()}));0!==T.length&&(A=T[0].price);var s=0;if(!o){var _=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===K.toLowerCase()}));0!==_.length&&(s=_[0].price)}a.set(E.toLowerCase(),{homeOdds:L,awayOdds:A,drawOdds:s})})),a},Ee=function(e,r,E,i,o,a,L){var t={homeTeam:i.home_team,awayTeam:i.away_team},A=re(i.odds,s.MONEYLINE,E,t,e),T=d(A,E,e,L,X);if(T.errorMessage)return{odds:e?[0,0]:[0,0,0],errorMessage:T.errorMessage};var _=(e?[T.homeOdds,T.awayOdds]:[T.homeOdds,T.awayOdds,T.drawOdds]).map((function(e){return $(e)})),p=q(r,o,Q,a);return{odds:_=null!==p?J(_,p.minSpread,p.targetSpread):J(_,a,0)}},ie=function(e,r,E){return e.filter((function(e){return e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()}))},oe=function(e,r,E,i,o,a){var L=[],t=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)}));return ae(t,r).forEach((function(e){var r=e.line,t=e.odds,A=$(t[0])||k,T=$(t[1])||k,s=A===k||T===k;if(!s){var _,p=q(i,E,o,a);null!==p?(_=J([A,T],p.minSpread,p.targetSpread)).some((function(e){return e===k}))?s=!0:(A=_[0],T=_[1]):(_=J([A,T],a,0)).some((function(e){return e===k}))?s=!0:(A=_[0],T=_[1])}var N=process.env.MIN_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,S=process.env.MAX_ODDS_FOR_CHILD_MARKETS_FOR_LIVE;N&&S&&(A>=N||A<=S||T>=N||T<=S)||L.push({leagueId:E,typeId:o,type:"spread",results:[],status:s?x.PAUSED:x.OPEN,line:r,odds:[A,T]})})),L},ae=function(e,r){var E=e.reduce((function(e,E){var i=E.selection_points,o=E.price,a=E.selection===r.homeTeam,L=a?i:-i;return e[L]||(e[L]={home:null,away:null}),a?e[L].home=o:e[L].away=o,e}),{}),i=Object.entries(E).reduce((function(e,r){var E=r[0],i=r[1],o=parseFloat(E);return null!==i.home&&null!==i.away&&e.push({line:o,odds:[i.home,i.away]}),e}),[]);return i},Le=function(e,r,E,i,o){var a=[],L=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)})),t=te(L);return Object.entries(t).forEach((function(e){var L=e[0],t=e[1],A=t.over,T=t.under,s=L.split("_"),_=(s[0],s[1]),p=$(A)||k,N=$(T)||k,S=p===k||N===k;if(!S){var I,O=q(E,r,i,o);null!==O?(I=J([p,N],O.minSpread,O.targetSpread)).some((function(e){return e===k}))?S=!0:(p=I[0],N=I[1]):(I=J([p,N],o,0)).some((function(e){return e===k}))?S=!0:(p=I[0],N=I[1])}var l=process.env.MIN_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,n=process.env.MAX_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,R={leagueId:r,typeId:i,type:"total",results:[],status:S?x.PAUSED:x.OPEN,line:parseFloat(_),odds:[p,N]};l&&n&&(p>=l||p<=n||N>=l||N<=n)||a.push(R)})),a},te=function(e){return e.reduce((function(e,r){if(r){var E="".concat(r.selection,"_").concat(r.selection_points);e[E]||(e[E]={over:null,under:null}),"over"===r.selection_line?e[E].over=r.price:"under"===r.selection_line&&(e[E].under=r.price)}return e}),{})},Ae=function(){return Ae=Object.assign||function(e){for(var r,E=1,i=arguments.length;E<i;E++)for(var o in r=arguments[E])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},Ae.apply(this,arguments)},Te=function(e,r,E,i,o,a,L,t){var A=i.filter((function(r){return r.sportId===String(e.leagueId)})),T=Ee(!o,A,E,r,e.leagueId,a,L);T.errorMessage?(e.odds=e.odds.map((function(){return{american:0,decimal:0,normalizedImplied:0}})),e.errorMessage=T.errorMessage):e.odds=T.odds.filter((function(e){return 0!=e})).map((function(e){return{american:n("impliedProbability",e).to("moneyline"),decimal:n("impliedProbability",e).to("decimal"),normalizedImplied:e}}));var s=se(e.leagueId,A,r,E,a,t).map((function(r){var E=Ae(Ae({},e),r);return E.odds.length>0&&(E.odds=E.odds.map((function(e){return 0==e?{american:0,decimal:0,normalizedImplied:0}:{american:n("impliedProbability",e).to("moneyline"),decimal:n("impliedProbability",e).to("decimal"),normalizedImplied:e}}))),E}));return e.childMarkets=s,e},se=function(e,r,E,i,o,a){var L=[];return(L=L.concat(_e(E,e,r,i,o,a))).concat(pe(E,e,r,i,o,a))},_e=function(e,r,E,i,o,a){var L=[],t=f(r,a),A={homeTeam:e.home_team,awayTeam:e.away_team};if(t){var T=ie(e.odds,t,i[0]);if(T.length>0){var s=oe(T,A,r,E,j,o);L.push.apply(L,s)}}else console.warn("Spread type for sport ID ".concat(r," not found."));return L},pe=function(e,r,E,i,o,a){var L=[],t=w(r,a);if(t){var A=ie(e.odds,t,i[0]);A.length>0&&L.push.apply(L,Le(A,r,E,z,o))}else console.warn("Configuration (totals) for sport ID ".concat(r," not found."));return L},Ne=function(e,r,E){var i=e.score_home_total,o=e.score_away_total,a=e.clock,L=e.period,t=e.status,T=e.home_team,s=e.away_team,_=parseInt(L),p=u(r);return"completed"==t.toLowerCase()?{allow:!1,message:"Blocking game ".concat(T," - ").concat(s," because it is no longer live.")}:p===A.BASKETBALL?Se(T,s,_,E.get(A.BASKETBALL)):p===A.HOCKEY?Se(T,s,_,E.get(A.HOCKEY)):p===A.BASEBALL?Se(T,s,_,E.get(A.BASEBALL)):p===A.SOCCER?Ie(T,s,a,L,E.get(A.SOCCER)):p===A.TENNIS?Oe(e,T,s,L,i,o,r,p):p===A.VOLLEYBALL?Oe(e,T,s,_,i,o,r,p):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},Se=function(e,r,E,i){return!Number.isNaN(E)&&E>=i?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(E,". period")}:{allow:!0,message:""}},Ie=function(e,r,E,i,o){var a=Number(E);return!Number.isNaN(a)&&a>=o||Number.isNaN(a)&&"HALF"!=i?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(E,"min")}:{allow:!0,message:""}},Oe=function(e,r,E,i,o,a,L,t){var s=Number(i),_=le(s,e),p="atp"==e.league.toLowerCase(),N={home:o,away:a};return t==A.VOLLEYBALL?ne(r,E,_,N,Re,5==s?Me:de):L.toString().startsWith(T.TENNIS_GS)&&p?ne(r,E,_,N,Pe,ce):L.toString().startsWith(T.TENNIS_GS)&&!p||L.toString().startsWith(T.TENNIS_MASTERS)||L.toString().startsWith(T.SUMMER_OLYMPICS_TENNIS)||L.toString().startsWith(T.TENNIS_WTA)?ne(r,E,_,N,ye,ce):{allow:!0,message:"The sport ".concat(L," does not have result constraint")}},le=function(e,r){var E=0,i=0;switch(e){case 1:E=Number(r.score_home_period_1),i=Number(r.score_away_period_1);break;case 2:E=Number(r.score_home_period_2),i=Number(r.score_away_period_2);break;case 3:E=Number(r.score_home_period_3),i=Number(r.score_away_period_3);break;case 4:E=Number(r.score_home_period_4),i=Number(r.score_away_period_4);break;case 5:E=Number(r.score_home_period_5),i=Number(r.score_away_period_5)}return{home:E,away:i}},ne=function(e,r,E,i,o,a){return Number(i.home)!=o&&Number(i.away)!=o||!(Number(i.home)==o&&E.home>=a||Number(i.away)==o&&E.away>=a)?{allow:!0,message:"",currentHomeGameScore:E.home,currentAwayGameScore:E.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(i.home," - ").concat(i.away," (").concat(E.home," - ").concat(E.away,")")}},Re=2,de=20,Me=10,Pe=2,ye=1,ce=5;return r})()));
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={d:(r,E)=>{for(var i in E)e.o(E,i)&&!e.o(r,i)&&Object.defineProperty(r,i,{enumerable:!0,get:E[i]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{AMERICAN_LEAGUES:()=>C,DRAW:()=>K,LEAGUES_NO_FORMAL_HOME_AWAY:()=>y,LEAGUES_NO_LIVE_CONSTRAINTS:()=>c,LIVE_TYPE_ID_BASE:()=>Q,League:()=>T,LeagueIdMapEnetpulse:()=>G,LeagueIdMapOpticOdds:()=>b,LeagueIdMapRundown:()=>U,LeagueMap:()=>P,MIN_ODDS_FOR_DIFF_CHECKING:()=>X,MULTIPLIER_100:()=>Z,MatchResolveType:()=>S,MoneylineTypes:()=>_,PeriodType:()=>I,Provider:()=>O,ScoringType:()=>p,Sport:()=>t,SpreadTypes:()=>s,TAG_CHILD_SPREAD:()=>j,TAG_CHILD_TOTALS:()=>z,TotalTypes:()=>N,UFC_LEAGUE_IDS:()=>v,ZERO:()=>k,adjustSpreadOnOdds:()=>J,allowGameSportWithPeriodConstraint:()=>Se,allowGameSportWithResultConstraint:()=>Oe,allowSoccerGame:()=>Ie,calculateImpliedOddsDifference:()=>M,checkGameContraints:()=>pe,checkOddsFromBookmakers:()=>d,createSpreadChildMarkets:()=>se,createTotalChildMarkets:()=>Ne,fetchResultInCurrentSet:()=>le,filterOddsByMarketNameBookmaker:()=>ie,filterOddsByMarketNameTeamNameBookmaker:()=>re,formatSpreadOdds:()=>oe,gamesDatesMatching:()=>W,getBetTypesForLeague:()=>h,getBookmakersArray:()=>R,getIsLiveSupported:()=>V,getLeagueIsDrawAvailable:()=>D,getLeagueLabel:()=>m,getLeagueOpticOddsName:()=>B,getLeaguePeriodType:()=>Y,getLeagueProvider:()=>F,getLeagueSport:()=>u,getLeagueSpreadType:()=>f,getLeagueTotalType:()=>w,getLiveSupportedLeagues:()=>g,getParentOdds:()=>Ee,getSpreadData:()=>q,groupAndFormatSpreadOdds:()=>ae,groupOddsBySelectionAndPoints:()=>Le,processMarket:()=>Te,processTotalOdds:()=>Ae,statusCodes:()=>x,teamNamesMatching:()=>H}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var E=Object(e),i=1;i<arguments.length;i++){var o=arguments[i];if(null!=o)for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(E[a]=o[a])}return E});var E=function(e){return parseFloat(e.toPrecision(12))};function i(e,r,E){return void 0===E||0==+E?Math[e](r):(r=+r,E=+E,isNaN(r)||"number"!=typeof E||E%1!=0?NaN:r<0?-i(e,-r,E):(r=r.toString().split("e"),+((r=(r=Math[e](+(r[0]+"e"+(r[1]?+r[1]-E:-E)))).toString().split("e"))[0]+"e"+(r[1]?+r[1]+E:E))))}var o,a,A={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?E(100*(this.decimalValue-1)):E(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return E(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(e){if(e.percentage){var r=E(100/this.decimalValue);return null!==e.precision&&(r=i("round",r,-e.precision)),r.toString()+"%"}return E(1/this.decimalValue)}},fractional:{from:function(e){var r,E=e.toString().split("/");if(e=parseFloat(E[0]),2===E.length)r=parseFloat(E[1]);else{if(1!==E.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var E,i=[0,1],o=[1,0],a=function(e){var r=null,E=e.toString().indexOf("E");-1==E&&(E=e.toString().indexOf("e"));var i=null,o=(r=-1==E?e.toString():e.toString().substring(0,E)).toString().indexOf(".");-1==o?i=r:0===o?i=r.substring(1,r.length):o<r.length&&(i=r.substring(0,o)+r.substring(o+1,r.length));var a=i,A=a.toString().length,L=e,t=L.toString().length;0===L&&(t=0);var T,_=A-t;for(T=_;T>0&&a%2==0;T--)a/=2;for(T=_;T>0&&a%5==0;T--)a/=5;return a}(e),A=e,L=Math.pow(10,-r)/2,t=2;t<1e3;t++){var T=Math.floor(A);if(i[t]=T*i[t-1]+i[t-2],Math.abs(i[t])>a)return;if(o[t]=T*o[t-1]+o[t-2],E=i[t]/o[t],Math.abs(E-e)<L||NaN==E)return i[t].toString()+"/"+o[t].toString();A=1/(A-T)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?E(this.decimalValue-1):E(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?E(-1/(this.decimalValue-1)):E(this.decimalValue-1)}}},L=((a=function(e){if("number"!=typeof e||isNaN(e))throw new Error("Invalid odds");this.decimalValue=E(e)}).prototype=(o=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,o.from=function(e,r){if(!A.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var E=A[e].from(r);return new a(E)},o);L.prototype.to=function(e,r){if(!A.hasOwnProperty(e))throw new Error("Unknown format "+e+".");r=Object.assign({precision:null,percentage:!1},r);var E=A[e].to.call(this,r);return"number"==typeof E&&null!==r.precision&&(E=i("round",E,-r.precision)),E};var t,T,_,s,N,p,S,I,O,l,n=L.from,R=function(e,r,E){var i=e.find((function(e){return Number(e.sportId)===Number(r)}));if(i){if(""==i.primaryBookmaker)return E;var o=[];return i.primaryBookmaker&&o.push(i.primaryBookmaker),i.secondaryBookmaker&&o.push(i.secondaryBookmaker),i.tertiaryBookmaker&&o.push(i.tertiaryBookmaker),o}return E},d=function(e,r,E,i,o){var a=e.get(r[0]);if(!a)return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause no matching bookmakers have been found"};var A=a.homeOdds,L=a.awayOdds,t=E?0:a.drawOdds;if(r.some((function(r){var i=e.get(r);return!!i&&(0===i.homeOdds||0===i.awayOdds||!E&&0===i.drawOdds||1===i.homeOdds||1===i.awayOdds||!E&&1===i.drawOdds)})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause bookmakers have 0 or 1 odds"};if(1==r.length)return{homeOdds:A,awayOdds:L,drawOdds:E?0:t};if(r.slice(1).some((function(r){var a=e[r];if(a){var T=a.homeOdds,_=a.awayOdds,s=a.drawOdds,N=n("decimal",A).to("impliedProbability"),p=n("decimal",L).to("impliedProbability"),S=E?0:n("decimal",t).to("impliedProbability"),I=n("decimal",T).to("impliedProbability"),O=n("decimal",_).to("impliedProbability"),l=E?0:n("decimal",s).to("impliedProbability"),R=M(N,I),d=M(p,O),P=E?0:M(S,l);if(R>i&&N>o&&I>o||d>i&&p>o&&O>o||!E&&P>i&&S>o&&l>o)return!0}return!1})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds due to percentage difference between bookmakers"};var T=[];return r.forEach((function(r){return T.push(e.get(r))})),{homeOdds:A,awayOdds:L,drawOdds:E?0:t}},M=function(e,r){var E=Math.abs(e-r)/e*100;return console.log("% diff: "+E),E};!function(e){e.SOCCER="Soccer",e.FOOTBALL="Football",e.BASKETBALL="Basketball",e.BASEBALL="Baseball",e.HOCKEY="Hockey",e.FIGHTING="Fighting",e.TENNIS="Tennis",e.ESPORTS="eSports",e.RUGBY="Rugby",e.VOLLEYBALL="Volleyball",e.HANDBALL="Handball",e.WATERPOLO="Waterpolo",e.CRICKET="Cricket",e.MOTOSPORT="Motosport",e.GOLF="Golf",e.TABLE_TENNIS="TableTennis",e.POLITICS="Politics",e.EMPTY=""}(t||(t={})),function(e){e[e.NCAAF=1]="NCAAF",e[e.NFL=2]="NFL",e[e.MLB=3]="MLB",e[e.NBA=4]="NBA",e[e.NCAAB=5]="NCAAB",e[e.NHL=6]="NHL",e[e.UFC=7]="UFC",e[e.WNBA=8]="WNBA",e[e.MLS=10]="MLS",e[e.EPL=11]="EPL",e[e.LIGUE_ONE=12]="LIGUE_ONE",e[e.BUNDESLIGA=13]="BUNDESLIGA",e[e.LA_LIGA=14]="LA_LIGA",e[e.SERIE_A=15]="SERIE_A",e[e.UEFA_CL=16]="UEFA_CL",e[e.UEFA_EL=17]="UEFA_EL",e[e.FIFA_WC=18]="FIFA_WC",e[e.J1_LEAGUE=19]="J1_LEAGUE",e[e.IPL=20]="IPL",e[e.T20_BLAST=21]="T20_BLAST",e[e.IIHF_WORLD_CHAMPIONSHIP=33]="IIHF_WORLD_CHAMPIONSHIP",e[e.COPA_AMERICA=44]="COPA_AMERICA",e[e.COPA_LIBERTADORES=45]="COPA_LIBERTADORES",e[e.UEFA_EURO=50]="UEFA_EURO",e[e.EREDIVISIE=57]="EREDIVISIE",e[e.PRIMEIRA_LIGA=61]="PRIMEIRA_LIGA",e[e.SUMMER_OLYMPICS_SOCCER_WOMEN=65]="SUMMER_OLYMPICS_SOCCER_WOMEN",e[e.SUMMER_OLYMPICS_SOCCER=66]="SUMMER_OLYMPICS_SOCCER",e[e.FIFA_WC_WOMEN=76]="FIFA_WC_WOMEN",e[e.ENGLAND_CUP=132]="ENGLAND_CUP",e[e.FRANCE_CUP=134]="FRANCE_CUP",e[e.SPAIN_CUP=138]="SPAIN_CUP",e[e.ITALY_CUP=141]="ITALY_CUP",e[e.TENNIS_WTA=152]="TENNIS_WTA",e[e.TENNIS_GS=153]="TENNIS_GS",e[e.TENNIS_MASTERS=156]="TENNIS_MASTERS",e[e.SUMMER_OLYMPICS_TENNIS=158]="SUMMER_OLYMPICS_TENNIS",e[e.GERMANY_CUP=209]="GERMANY_CUP",e[e.LIGA_MX=230]="LIGA_MX",e[e.BRAZIL_1=268]="BRAZIL_1",e[e.UEFA_EURO_U21=288]="UEFA_EURO_U21",e[e.FIFA_WORLD_CUP_U20=296]="FIFA_WORLD_CUP_U20",e[e.SUMMER_OLYMPICS_HANDBALL_WOMEN=380]="SUMMER_OLYMPICS_HANDBALL_WOMEN",e[e.SUMMER_OLYMPICS_HANDBALL=381]="SUMMER_OLYMPICS_HANDBALL",e[e.EUROLEAGUE=399]="EUROLEAGUE",e[e.SUMMER_OLYMPICS_BASKETBALL=406]="SUMMER_OLYMPICS_BASKETBALL",e[e.SUMMER_OLYMPICS_BASKETBALL_WOMEN=407]="SUMMER_OLYMPICS_BASKETBALL_WOMEN",e[e.FIBA_WORLD_CUP=409]="FIBA_WORLD_CUP",e[e.FORMULA1=445]="FORMULA1",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN=453]="SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL=454]="SUMMER_OLYMPICS_BEACH_VOLEYBALL",e[e.MOTOGP=497]="MOTOGP",e[e.SAUDI_PROFESSIONAL_LEAGUE=536]="SAUDI_PROFESSIONAL_LEAGUE",e[e.SUMMER_OLYMPICS_WATERPOLO=8881]="SUMMER_OLYMPICS_WATERPOLO",e[e.SUMMER_OLYMPICS_VOLEYBALL_WOMEN=8893]="SUMMER_OLYMPICS_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_VOLEYBALL=8894]="SUMMER_OLYMPICS_VOLEYBALL",e[e.SUMMER_OLYMPICS_TABLE_TENNIS=8910]="SUMMER_OLYMPICS_TABLE_TENNIS",e[e.BOXING=9196]="BOXING",e[e.SUMMER_OLYMPICS_RUGBY=9578]="SUMMER_OLYMPICS_RUGBY",e[e.SUMMER_OLYMPICS_RUGBY_WOMEN=9588]="SUMMER_OLYMPICS_RUGBY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY_WOMEN=9698]="SUMMER_OLYMPICS_HOCKEY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY=9699]="SUMMER_OLYMPICS_HOCKEY",e[e.UEFA_NATIONS_LEAGUE=9806]="UEFA_NATIONS_LEAGUE",e[e.CONCACAF_NATIONS_LEAGUE=9821]="CONCACAF_NATIONS_LEAGUE",e[e.CSGO=9977]="CSGO",e[e.DOTA2=9983]="DOTA2",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3=10071]="SUMMER_OLYMPICS_BASKETBALL_3X3",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN=10072]="SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN",e[e.SUMMER_OLYMPICS_QUALIFICATION=10502]="SUMMER_OLYMPICS_QUALIFICATION",e[e.LOL=10138]="LOL",e[e.CONMEBOL_WC_QUALIFICATIONS=10199]="CONMEBOL_WC_QUALIFICATIONS",e[e.UEFA_CONFERENCE_LEAGUE=10216]="UEFA_CONFERENCE_LEAGUE",e[e.NON_TITLE_BOXING=10595]="NON_TITLE_BOXING",e[e.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION=10611]="UEFA_CHAMPIONS_LEAGUE_QUALIFICATION",e[e.UEFA_EUROPA_LEAGUE_QUALIFICATION=10613]="UEFA_EUROPA_LEAGUE_QUALIFICATION",e[e.UEFA_CONFERENCE_LEAGUE_QUALIFICATION=10615]="UEFA_CONFERENCE_LEAGUE_QUALIFICATION",e[e.US_ELECTION=2e4]="US_ELECTION",e[e.UEFA_SUPER_CUP=20001]="UEFA_SUPER_CUP",e[e.BRAZIL_CUP=20002]="BRAZIL_CUP",e[e.ENGLAND_CHAMPIONSHIP=20011]="ENGLAND_CHAMPIONSHIP",e[e.SCOTLAND_PREMIERSHIP=20101]="SCOTLAND_PREMIERSHIP",e[e.BELGIUM_LEAGUE=20102]="BELGIUM_LEAGUE",e[e.CZECH_LEAGUE=20103]="CZECH_LEAGUE",e[e.CHILE_PRIMERA=20104]="CHILE_PRIMERA",e[e.FINLAND_LEAGUE=20105]="FINLAND_LEAGUE",e[e.ARGENTINA_PRIMERA=20106]="ARGENTINA_PRIMERA",e[e.RUSSIA_PREMIER=20107]="RUSSIA_PREMIER",e[e.TURKEY_SUPER_LEAGUE=20108]="TURKEY_SUPER_LEAGUE",e[e.SERBIA_SUPER_LEAGUE=20109]="SERBIA_SUPER_LEAGUE",e[e.GREECE_SUPER_LEAGUE=20110]="GREECE_SUPER_LEAGUE",e[e.INDIA_PREMIER=20111]="INDIA_PREMIER",e[e.CHINA_SUPER_LEAGUE=20112]="CHINA_SUPER_LEAGUE",e[e.AUSTRALIA_A_LEAGUE=20113]="AUSTRALIA_A_LEAGUE",e[e.SWITZERLAND_SUPER_LEAGUE=20114]="SWITZERLAND_SUPER_LEAGUE",e[e.BUNDESLIGA_2=20115]="BUNDESLIGA_2",e[e.LA_LIGA_2=20116]="LA_LIGA_2",e[e.SERIE_B=20117]="SERIE_B",e[e.INDIA_SUPER_LEAGUE=20118]="INDIA_SUPER_LEAGUE",e[e.LIGUE_2=20119]="LIGUE_2",e[e.AUSTRIA_BUNDESLIGA=20120]="AUSTRIA_BUNDESLIGA",e[e.DENMARK_SUPER_LEAGUE=20121]="DENMARK_SUPER_LEAGUE",e[e.POLAND_LEAGUE=20122]="POLAND_LEAGUE",e[e.SWEDEN_LEAGUE=20123]="SWEDEN_LEAGUE",e[e.COLOMBIA_PRIMERA_A=20124]="COLOMBIA_PRIMERA_A",e[e.ENGLAND_EFL_CUP=20125]="ENGLAND_EFL_CUP",e[e.ENGLAND_LEGAUE_1=20126]="ENGLAND_LEGAUE_1",e[e.URUGUAY_PRIMERA_DIVISION=20127]="URUGUAY_PRIMERA_DIVISION",e[e.EUROCUP=20200]="EUROCUP",e[e.GOLF_H2H=100021]="GOLF_H2H",e[e.GOLF_WINNER=100121]="GOLF_WINNER",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1=15312]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2=15313]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3=15314]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4=15315]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5=15316]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6=15317]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7=15318]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_1=15622]="TENNIS_MASTERS_LIVE_MAPPING_V2_1",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_2=15623]="TENNIS_MASTERS_LIVE_MAPPING_V2_2",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_3=15624]="TENNIS_MASTERS_LIVE_MAPPING_V2_3",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_4=15625]="TENNIS_MASTERS_LIVE_MAPPING_V2_4",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_5=15626]="TENNIS_MASTERS_LIVE_MAPPING_V2_5",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_6=15627]="TENNIS_MASTERS_LIVE_MAPPING_V2_6",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_7=15628]="TENNIS_MASTERS_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_8=15632]="TENNIS_MASTERS_LIVE_MAPPING_V2_8",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_9=15633]="TENNIS_MASTERS_LIVE_MAPPING_V2_9",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_10=15634]="TENNIS_MASTERS_LIVE_MAPPING_V2_10",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_11=15635]="TENNIS_MASTERS_LIVE_MAPPING_V2_11",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_12=15636]="TENNIS_MASTERS_LIVE_MAPPING_V2_12",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_13=15637]="TENNIS_MASTERS_LIVE_MAPPING_V2_13",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_14=15638]="TENNIS_MASTERS_LIVE_MAPPING_V2_14",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_15=15641]="TENNIS_MASTERS_LIVE_MAPPING_V2_15",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_16=15642]="TENNIS_MASTERS_LIVE_MAPPING_V2_16",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_17=15643]="TENNIS_MASTERS_LIVE_MAPPING_V2_17",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_18=15644]="TENNIS_MASTERS_LIVE_MAPPING_V2_18",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_19=15645]="TENNIS_MASTERS_LIVE_MAPPING_V2_19",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_20=15646]="TENNIS_MASTERS_LIVE_MAPPING_V2_20",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_21=15647]="TENNIS_MASTERS_LIVE_MAPPING_V2_21",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_22=15648]="TENNIS_MASTERS_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_1=15322]="TENNIS_WTA_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_LIVE_MAPPING_V2_2=15323]="TENNIS_WTA_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_LIVE_MAPPING_V2_3=15324]="TENNIS_WTA_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_LIVE_MAPPING_V2_4=15325]="TENNIS_WTA_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_LIVE_MAPPING_V2_5=15326]="TENNIS_WTA_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_LIVE_MAPPING_V2_6=15327]="TENNIS_WTA_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_LIVE_MAPPING_V2_7=15328]="TENNIS_WTA_LIVE_MAPPING_V2_7"}(T||(T={})),function(e){e.MONEYLINE="Moneyline"}(_||(_={})),function(e){e.ASIAN_HANDICAP="Asian Handicap",e.GAME_SPREAD="Game Spread",e.POINT_SPREAD="Point Spread",e.RUN_LINE="Run Line",e.PUCK_LINE="Puck Line"}(s||(s={})),function(e){e.TOTAL_GAMES="Total Games",e.TOTAL_GOALS="Total Goals",e.TOTAL_POINTS="Total Points",e.TOTAL_RUNS="Total Runs"}(N||(N={})),function(e){e.POINTS="points",e.GOALS="goals",e.ROUNDS="rounds",e.SETS="sets",e.EMPTY=""}(p||(p={})),function(e){e.OVERTIME="overtime",e.REGULAR="regular",e.EMPTY=""}(S||(S={})),function(e){e.QUARTER="quarter",e.HALF="half",e.PERIOD="period",e.ROUND="round",e.INNING="inning",e.SET="set",e.EMPTY=""}(I||(I={})),function(e){e.RUNDOWN="rundown",e.ENETPULSE="enetpulse",e.JSONODDS="jsonOdds",e.OPTICODDS="opticOdds",e.EMPTY=""}(O||(O={}));var P=((l={})[T.NCAAF]={sport:t.FOOTBALL,id:T.NCAAF,label:"NCAA Football",provider:O.OPTICODDS,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS],betTypesForLiveTestnet:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS]},l[T.NFL]={sport:t.FOOTBALL,id:T.NFL,label:"NFL",opticOddsName:"NFL",provider:O.OPTICODDS,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS],betTypesForLiveTestnet:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS]},l[T.MLB]={sport:t.BASEBALL,id:T.MLB,label:"MLB",opticOddsName:"MLB",provider:O.OPTICODDS,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.RUN_LINE,N.TOTAL_RUNS],betTypesForLiveTestnet:[_.MONEYLINE,s.RUN_LINE,N.TOTAL_RUNS]},l[T.NBA]={sport:t.BASKETBALL,id:T.NBA,label:"NBA",opticOddsName:"NBA",provider:O.OPTICODDS,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS],betTypesForLiveTestnet:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS]},l[T.NCAAB]={sport:t.BASKETBALL,id:T.NCAAB,label:"NCAA Basketball",provider:O.RUNDOWN,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.NHL]={sport:t.HOCKEY,id:T.NHL,label:"NHL",opticOddsName:"NHL",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.OVERTIME,periodType:I.PERIOD,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.PUCK_LINE,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.PUCK_LINE,N.TOTAL_GOALS]},l[T.UFC]={sport:t.FIGHTING,id:T.UFC,label:"UFC",provider:O.OPTICODDS,scoringType:p.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.WNBA]={sport:t.BASKETBALL,id:T.WNBA,label:"WNBA",opticOddsName:"WNBA",provider:O.OPTICODDS,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS],betTypesForLiveTestnet:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS]},l[T.MLS]={sport:t.SOCCER,id:T.MLS,label:"MLS",opticOddsName:"USA - Major League Soccer",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.EPL]={sport:t.SOCCER,id:T.EPL,label:"EPL",opticOddsName:"England - Premier League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.LIGUE_ONE]={sport:t.SOCCER,id:T.LIGUE_ONE,label:"Ligue 1",opticOddsName:"France - Ligue 1",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.BUNDESLIGA]={sport:t.SOCCER,id:T.BUNDESLIGA,label:"Bundesliga",opticOddsName:"Germany - Bundesliga",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.LA_LIGA]={sport:t.SOCCER,id:T.LA_LIGA,label:"La Liga",opticOddsName:"Spain - La Liga",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.SERIE_A]={sport:t.SOCCER,id:T.SERIE_A,label:"Serie A",opticOddsName:"Italy - Serie A",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.UEFA_CL]={sport:t.SOCCER,id:T.UEFA_CL,label:"UEFA Champions League",opticOddsName:"UEFA - Champions League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.UEFA_EL]={sport:t.SOCCER,id:T.UEFA_EL,label:"UEFA Europa League",opticOddsName:"UEFA - Europa League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.FIFA_WC]={sport:t.SOCCER,id:T.FIFA_WC,label:"FIFA World Cup Qualifiers",provider:O.OPTICODDS,opticOddsName:"FIFA - World Cup Qualifiers",scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.J1_LEAGUE]={sport:t.SOCCER,id:T.J1_LEAGUE,label:"J1 League",opticOddsName:"Japan - J1 League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.IPL]={sport:t.CRICKET,id:T.IPL,label:"Indian Premier League",provider:O.RUNDOWN,scoringType:p.POINTS,matchResolveType:S.EMPTY,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.T20_BLAST]={sport:t.CRICKET,id:T.T20_BLAST,label:"T20 Blast",provider:O.RUNDOWN,scoringType:p.POINTS,matchResolveType:S.EMPTY,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.IIHF_WORLD_CHAMPIONSHIP]={sport:t.HOCKEY,id:T.IIHF_WORLD_CHAMPIONSHIP,label:"IIHF World Championship",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.COPA_AMERICA]={sport:t.SOCCER,id:T.COPA_AMERICA,label:"Copa America",opticOddsName:"CONMEBOL - Copa America",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.COPA_LIBERTADORES]={sport:t.SOCCER,id:T.COPA_LIBERTADORES,label:"Copa Libertadores",opticOddsName:"CONMEBOL - Copa Libertadores",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.UEFA_EURO]={sport:t.SOCCER,id:T.UEFA_EURO,label:"UEFA EURO 2024",opticOddsName:"UEFA - European Championship",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.EREDIVISIE]={sport:t.SOCCER,id:T.EREDIVISIE,label:"Eredivisie",opticOddsName:"Netherlands - Eredivisie",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.PRIMEIRA_LIGA]={sport:t.SOCCER,id:T.PRIMEIRA_LIGA,label:"Primeira Liga",opticOddsName:"Portugal - Primeira Liga",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:t.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER_WOMEN,label:"Olympic Games Soccer Women",opticOddsName:"Olympics Soccer Women",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_SOCCER]={sport:t.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER,label:"Olympic Games Soccer",opticOddsName:"Olympics Soccer Men",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.FIFA_WC_WOMEN]={sport:t.SOCCER,id:T.FIFA_WC_WOMEN,label:"FIFA World Cup Women",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ENGLAND_CUP]={sport:t.SOCCER,id:T.ENGLAND_CUP,label:"FA Cup",opticOddsName:"England - FA Cup",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FRANCE_CUP]={sport:t.SOCCER,id:T.FRANCE_CUP,label:"Coupe de France",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SPAIN_CUP]={sport:t.SOCCER,id:T.SPAIN_CUP,label:"Copa del Rey",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ITALY_CUP]={sport:t.SOCCER,id:T.ITALY_CUP,label:"Coppa Italia",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.TENNIS_WTA]={sport:t.TENNIS,id:T.TENNIS_WTA,label:"WTA Events",opticOddsName:"WTA",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.GAME_SPREAD,N.TOTAL_GAMES],betTypesForLiveTestnet:[_.MONEYLINE,s.GAME_SPREAD,N.TOTAL_GAMES]},l[T.TENNIS_GS]={sport:t.TENNIS,id:T.TENNIS_GS,label:"Grand Slam",opticOddsName:"ATP,WTA",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.GAME_SPREAD,N.TOTAL_GAMES],betTypesForLiveTestnet:[_.MONEYLINE,s.GAME_SPREAD,N.TOTAL_GAMES]},l[T.TENNIS_MASTERS]={sport:t.TENNIS,id:T.TENNIS_MASTERS,label:"ATP Events",opticOddsName:"ATP",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.GAME_SPREAD,N.TOTAL_GAMES],betTypesForLiveTestnet:[_.MONEYLINE,s.GAME_SPREAD,N.TOTAL_GAMES]},l[T.SUMMER_OLYMPICS_TENNIS]={sport:t.TENNIS,id:T.SUMMER_OLYMPICS_TENNIS,label:"Olympic Games Tennis",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.GAME_SPREAD,N.TOTAL_GAMES]},l[T.GERMANY_CUP]={sport:t.SOCCER,id:T.GERMANY_CUP,label:"DFB Pokal",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LIGA_MX]={sport:t.SOCCER,id:T.LIGA_MX,label:"Liga MX",opticOddsName:"Mexico - Liga MX",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.BRAZIL_1]={sport:t.SOCCER,id:T.BRAZIL_1,label:"Serie A",opticOddsName:"Brazil - Serie A",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.UEFA_EURO_U21]={sport:t.SOCCER,id:T.UEFA_EURO_U21,label:"UEFA EURO U21",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.FIFA_WORLD_CUP_U20]={sport:t.SOCCER,id:T.FIFA_WORLD_CUP_U20,label:"FIFA World Cup U20",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:t.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL_WOMEN,label:"Olympic Games Handball Women",opticOddsName:"Olympics Handball Women",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE]},l[T.SUMMER_OLYMPICS_HANDBALL]={sport:t.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL,label:"Olympic Games Handball",opticOddsName:"Olympics Handball Men",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE]},l[T.EUROLEAGUE]={sport:t.BASKETBALL,id:T.EUROLEAGUE,label:"Euroleague",opticOddsName:"Euroleague",provider:O.OPTICODDS,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS],betTypesForLiveTestnet:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS]},l[T.SUMMER_OLYMPICS_BASKETBALL]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL,label:"Olympic Games Basketball",opticOddsName:"Olympics Basketball Men",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS]},l[T.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_WOMEN,label:"Olympic Games Basketball Women",opticOddsName:"Olympics Basketball Women",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.POINT_SPREAD,N.TOTAL_POINTS]},l[T.FIBA_WORLD_CUP]={sport:t.BASKETBALL,id:T.FIBA_WORLD_CUP,label:"FIBA World Cup",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FORMULA1]={sport:t.MOTOSPORT,id:T.FORMULA1,label:"Formula 1",provider:O.ENETPULSE,scoringType:p.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,label:"Olympic Games Beach Voleyball Women",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL,label:"Olympic Games Beach Voleyball",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:t.TABLE_TENNIS,id:T.SUMMER_OLYMPICS_TABLE_TENNIS,label:"Olympic Games Table Tennis",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.MOTOGP]={sport:t.MOTOSPORT,id:T.MOTOGP,label:"MotoGP",provider:O.ENETPULSE,scoringType:p.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SAUDI_PROFESSIONAL_LEAGUE]={sport:t.SOCCER,id:T.SAUDI_PROFESSIONAL_LEAGUE,label:"Saudi Professional League",opticOddsName:"Saudi Arabia - Saudi League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_WATERPOLO]={sport:t.WATERPOLO,id:T.SUMMER_OLYMPICS_WATERPOLO,label:"Olympic Games Water Polo",opticOddsName:"Olympics Water Polo",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.QUARTER,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE]},l[T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,label:"Olympic Games Volleyball Women",opticOddsName:"Olympics Volleyball Women",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE]},l[T.SUMMER_OLYMPICS_VOLEYBALL]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL,label:"Olympic Games Volleyball",opticOddsName:"Olympics Volleyball Men",provider:O.ENETPULSE,scoringType:p.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE]},l[T.BOXING]={sport:t.FIGHTING,id:T.BOXING,label:"Boxing",provider:O.ENETPULSE,scoringType:p.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_RUGBY]={sport:t.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY,label:"Olympic Games Rugby",opticOddsName:"Olympics Rugby 7s Men",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:t.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY_WOMEN,label:"Olympic Games Rugby Women",opticOddsName:"Olympics Rugby 7s Women",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:t.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY_WOMEN,label:"Olympic Games Hockey Women",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HOCKEY]={sport:t.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY,label:"Olympic Games Hockey",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_NATIONS_LEAGUE]={sport:t.SOCCER,id:T.UEFA_NATIONS_LEAGUE,label:"UEFA Nations League",provider:O.OPTICODDS,opticOddsName:"UEFA - Nations League",scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.CONCACAF_NATIONS_LEAGUE]={sport:t.SOCCER,id:T.CONCACAF_NATIONS_LEAGUE,label:"CONCACAF Nations League",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CSGO]={sport:t.ESPORTS,id:T.CSGO,label:"CS GO",opticOddsName:"CS2",provider:O.ENETPULSE,scoringType:p.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.DOTA2]={sport:t.ESPORTS,id:T.DOTA2,label:"DOTA 2",opticOddsName:"Dota 2",provider:O.ENETPULSE,scoringType:p.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3,label:"Olympic Games Basketball 3x3",opticOddsName:"Olympics Basketball 3x3 Men",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE]},l[T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,label:"Olympic Games Basketball 3x3 Women",opticOddsName:"Olympics Basketball 3x3 Women",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE]},l[T.SUMMER_OLYMPICS_QUALIFICATION]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_QUALIFICATION,label:"Summer Olympics Basketball Qualification",provider:O.ENETPULSE,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LOL]={sport:t.ESPORTS,id:T.LOL,label:"LOL",opticOddsName:"League of Legends",provider:O.ENETPULSE,scoringType:p.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CONMEBOL_WC_QUALIFICATIONS]={sport:t.SOCCER,id:T.CONMEBOL_WC_QUALIFICATIONS,label:"CONMEBOL WC Qualification",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_CONFERENCE_LEAGUE]={sport:t.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE,label:"UEFA Conference League",opticOddsName:"UEFA - Europa Conference League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.NON_TITLE_BOXING]={sport:t.FIGHTING,id:T.NON_TITLE_BOXING,label:"Boxing",provider:O.ENETPULSE,scoringType:p.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,label:"UEFA Champions League Qualification",opticOddsName:"UEFA - Champions League",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_EUROPA_LEAGUE_QUALIFICATION,label:"UEFA Europa League Qualification",opticOddsName:"UEFA - Europa League",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,label:"UEFA Conference League Qualification",opticOddsName:"UEFA - Europa Conference League",provider:O.ENETPULSE,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.US_ELECTION]={sport:t.POLITICS,id:T.US_ELECTION,label:"US Election 2024",provider:O.EMPTY,scoringType:p.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_SUPER_CUP]={sport:t.SOCCER,id:T.UEFA_SUPER_CUP,label:"UEFA Super Cup",opticOddsName:"UEFA - Super Cup",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.BRAZIL_CUP]={sport:t.SOCCER,id:T.BRAZIL_CUP,label:"Copa do Brasil",opticOddsName:"Brazil - Copa do Brasil",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.ENGLAND_CHAMPIONSHIP]={sport:t.SOCCER,id:T.ENGLAND_CHAMPIONSHIP,label:"EFL Championship",opticOddsName:"England - Championship",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.SCOTLAND_PREMIERSHIP]={sport:t.SOCCER,id:T.SCOTLAND_PREMIERSHIP,label:"Scotland Premiership",opticOddsName:"Scotland - Premiership",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.BELGIUM_LEAGUE]={sport:t.SOCCER,id:T.BELGIUM_LEAGUE,label:"Belgium Jupiler Pro League",opticOddsName:"Belgium - Jupiler Pro League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CZECH_LEAGUE]={sport:t.SOCCER,id:T.CZECH_LEAGUE,label:"Czech Republic FNL",opticOddsName:"Czech Republic - FNL",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CHILE_PRIMERA]={sport:t.SOCCER,id:T.CHILE_PRIMERA,label:"Chile Primera Division",opticOddsName:"Chile - Primera Division",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FINLAND_LEAGUE]={sport:t.SOCCER,id:T.FINLAND_LEAGUE,label:"Finland Veikkausliiga",opticOddsName:"Finland - Veikkausliiga",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ARGENTINA_PRIMERA]={sport:t.SOCCER,id:T.ARGENTINA_PRIMERA,label:"Argentina Primera Division",opticOddsName:"Argentina - Primera Division",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.RUSSIA_PREMIER]={sport:t.SOCCER,id:T.RUSSIA_PREMIER,label:"Russia Premier League",opticOddsName:"Russia - Premier League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.TURKEY_SUPER_LEAGUE]={sport:t.SOCCER,id:T.TURKEY_SUPER_LEAGUE,label:"Turkey Super Lig",opticOddsName:"Turkey - Super Lig",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SERBIA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.SERBIA_SUPER_LEAGUE,label:"Serbia Super Liga",opticOddsName:"Serbia - Super Liga",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GREECE_SUPER_LEAGUE]={sport:t.SOCCER,id:T.GREECE_SUPER_LEAGUE,label:"Greece Super League",opticOddsName:"Greece - Super League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.INDIA_PREMIER]={sport:t.SOCCER,id:T.INDIA_PREMIER,label:"India Calcutta Premier Division",opticOddsName:"India - Calcutta Premier Division",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CHINA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.CHINA_SUPER_LEAGUE,label:"China Super League",opticOddsName:"China - Super League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.AUSTRALIA_A_LEAGUE]={sport:t.SOCCER,id:T.AUSTRALIA_A_LEAGUE,label:"Australia A-League",opticOddsName:"Australia - A-League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SWITZERLAND_SUPER_LEAGUE]={sport:t.SOCCER,id:T.SWITZERLAND_SUPER_LEAGUE,label:"Switzerland Super League",opticOddsName:"Switzerland - Super League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.BUNDESLIGA_2]={sport:t.SOCCER,id:T.BUNDESLIGA_2,label:"Bundesliga 2",opticOddsName:"Germany - Bundesliga 2",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LA_LIGA_2]={sport:t.SOCCER,id:T.LA_LIGA_2,label:"La Liga 2",opticOddsName:"Spain - La Liga 2",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SERIE_B]={sport:t.SOCCER,id:T.SERIE_B,label:"Serie B",opticOddsName:"Italy - Serie B",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.INDIA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.INDIA_SUPER_LEAGUE,label:"India Super League",opticOddsName:"India - Super League",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LIGUE_2]={sport:t.SOCCER,id:T.LIGUE_2,label:"Ligue 2",opticOddsName:"France - Ligue 2",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.AUSTRIA_BUNDESLIGA]={sport:t.SOCCER,id:T.AUSTRIA_BUNDESLIGA,label:"Austria Bundesliga",opticOddsName:"Austria - Bundesliga",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.DENMARK_SUPER_LEAGUE]={sport:t.SOCCER,id:T.DENMARK_SUPER_LEAGUE,label:"Denmark Superliga",opticOddsName:"Denmark - Superliga",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.POLAND_LEAGUE]={sport:t.SOCCER,id:T.POLAND_LEAGUE,label:"Poland Ekstraklasa",opticOddsName:"Poland - Ekstraklasa",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SWEDEN_LEAGUE]={sport:t.SOCCER,id:T.SWEDEN_LEAGUE,label:"Sweden Allsvenskan",opticOddsName:"Sweden - Allsvenskan",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.COLOMBIA_PRIMERA_A]={sport:t.SOCCER,id:T.COLOMBIA_PRIMERA_A,label:"Colombia Primera A",opticOddsName:"Colombia - Primera A",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ENGLAND_EFL_CUP]={sport:t.SOCCER,id:T.ENGLAND_EFL_CUP,label:"England EFL Cup",opticOddsName:"England - EFL Cup",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[_.MONEYLINE],betTypesForLiveTestnet:[_.MONEYLINE,s.ASIAN_HANDICAP,N.TOTAL_GOALS]},l[T.ENGLAND_LEGAUE_1]={sport:t.SOCCER,id:T.ENGLAND_LEGAUE_1,label:"England League 1",opticOddsName:"England - League 1",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.URUGUAY_PRIMERA_DIVISION]={sport:t.SOCCER,id:T.URUGUAY_PRIMERA_DIVISION,label:"Uruguay Primera Division",opticOddsName:"Uruguay - Primera Division",provider:O.OPTICODDS,scoringType:p.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.EUROCUP]={sport:t.BASKETBALL,id:T.EUROCUP,label:"Eurocup",opticOddsName:"Eurocup",provider:O.OPTICODDS,scoringType:p.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GOLF_H2H]={sport:t.GOLF,id:T.GOLF_H2H,label:"Golf head-to-head",provider:O.JSONODDS,scoringType:p.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GOLF_WINNER]={sport:t.GOLF,id:T.GOLF_WINNER,label:"Golf Tournament Winner",provider:O.JSONODDS,scoringType:p.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l),y=[T.CSGO,T.DOTA2,T.LOL,T.TENNIS_GS,T.TENNIS_MASTERS,T.SUMMER_OLYMPICS_TENNIS,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_1,T.TENNIS_MASTERS_LIVE_MAPPING_V2_2,T.TENNIS_MASTERS_LIVE_MAPPING_V2_3,T.TENNIS_MASTERS_LIVE_MAPPING_V2_4,T.TENNIS_MASTERS_LIVE_MAPPING_V2_5,T.TENNIS_MASTERS_LIVE_MAPPING_V2_6,T.TENNIS_MASTERS_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_8,T.TENNIS_MASTERS_LIVE_MAPPING_V2_9,T.TENNIS_MASTERS_LIVE_MAPPING_V2_10,T.TENNIS_MASTERS_LIVE_MAPPING_V2_11,T.TENNIS_MASTERS_LIVE_MAPPING_V2_12,T.TENNIS_MASTERS_LIVE_MAPPING_V2_13,T.TENNIS_MASTERS_LIVE_MAPPING_V2_14,T.TENNIS_MASTERS_LIVE_MAPPING_V2_15,T.TENNIS_MASTERS_LIVE_MAPPING_V2_16,T.TENNIS_MASTERS_LIVE_MAPPING_V2_17,T.TENNIS_MASTERS_LIVE_MAPPING_V2_18,T.TENNIS_MASTERS_LIVE_MAPPING_V2_19,T.TENNIS_MASTERS_LIVE_MAPPING_V2_20,T.TENNIS_MASTERS_LIVE_MAPPING_V2_21,T.TENNIS_MASTERS_LIVE_MAPPING_V2_22,T.TENNIS_WTA_LIVE_MAPPING_V2_1,T.TENNIS_WTA_LIVE_MAPPING_V2_2,T.TENNIS_WTA_LIVE_MAPPING_V2_3,T.TENNIS_WTA_LIVE_MAPPING_V2_4,T.TENNIS_WTA_LIVE_MAPPING_V2_5,T.TENNIS_WTA_LIVE_MAPPING_V2_6,T.TENNIS_WTA_LIVE_MAPPING_V2_7],c=[T.SUMMER_OLYMPICS_RUGBY,T.SUMMER_OLYMPICS_RUGBY_WOMEN],C=[T.NCAAF,T.NFL,T.MLB,T.NBA,T.NCAAB,T.NHL,T.WNBA,T.MLS,T.IPL,T.T20_BLAST],v=[701,702,703,704],U={1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21},G={320:18,6:24,33:33,16:42,44:44,45:45,11:47,50:50,12:53,13:54,15:55,57:57,61:61,65:65,66:66,17:73,76:76,14:87,152:152,153:153,156:156,158:158,132:132,134:134,138:138,141:141,209:209,230:230,268:268,288:288,296:296,310:310,319:319,322:322,327:327,380:380,381:381,399:399,406:406,407:407,409:409,445:445,453:453,454:454,497:497,536:536,8881:8881,8893:8893,8894:8894,8910:8910,9196:9196,9578:9578,9588:9588,9698:9698,9699:9699,9806:9806,9821:9821,9977:9977,9983:9983,10071:10071,10072:10072,10502:10502,10138:10138,10199:10199,10216:10216,10595:10595,10611:10611,10613:10613,10615:10615},b={1:"NCAAF",2:"NFL",3:"MLB",4:"NBA",6:"NHL",7:"UFC",8:"WNBA",10:"USA - Major League Soccer",11:"England - Premier League",12:"France - Ligue 1",13:"Germany - Bundesliga",14:"Spain - La Liga",15:"Italy - Serie A",16:"UEFA - Champions League",17:"UEFA - Europa League",18:"FIFA - World Cup Qualifiers",19:"Japan - J1 League",45:"CONMEBOL - Copa Libertadores",57:"Netherlands - Eredivisie",61:"Portugal - Primeira Liga",230:"Mexico - Liga MX",268:"Brazil - Serie A",399:"Euroleague",536:"Saudi Arabia - Saudi League",9806:"UEFA - Nations League",9977:"CS2",9983:"Dota 2",10138:"League of Legends",10216:"UEFA - Europa Conference League",20001:"UEFA - Super Cup",20002:"Brazil - Copa do Brasil",20011:"England - Championship",20101:"Scotland - Premiership",20102:"Belgium - Jupiler Pro League",20103:"Czech Republic - FNL",20104:"Chile - Primera Division",20105:"Finland - Veikkausliiga",20106:"Argentina - Primera Division",20107:"Russia - Premier League",20108:"Turkey - Super Lig",20109:"Serbia - Super Liga",20110:"Greece - Super League",20111:"India - Calcutta Premier Division",20112:"China - Super League",20113:"Australia - A-League",20114:"Switzerland - Super League",20115:"Germany - Bundesliga 2",20116:"Spain - La Liga 2",20117:"Italy - Serie B",20118:"India - Super League",20119:"France - Ligue 2",20120:"Austria - Bundesliga",20121:"Denmark - Superliga",20122:"Poland - Ekstraklasa",20123:"Sweden - Allsvenskan",20124:"Colombia - Primera A",20125:"England - EFL Cup",20126:"England - League 1",20127:"Uruguay - Primera Division",20200:"Eurocup"},u=function(e){var r=P[e];return r?r.sport:t.EMPTY},m=function(e){var r=P[e];return r?r.label:""},F=function(e){var r=P[e];return r?r.provider:""},D=function(e){var r=P[e];return!!r&&r.isDrawAvailable},g=function(e){return Object.values(P).filter((function(r){return e?r.betTypesForLiveTestnet.length>0:r.betTypesForLive.length>0})).map((function(e){return e.id}))},h=function(e,r){var E=P[e];return E?r?E.betTypesForLiveTestnet:E.betTypesForLive:[]},V=function(e,r){var E=P[e];return!!E&&(r?E.betTypesForLiveTestnet.length>0:E.betTypesForLive.length>0)},B=function(e){var r=P[e];return r?r.opticOddsName:void 0},Y=function(e){var r=P[e];return r?r.periodType:""},f=function(e,r){var E;return h(e,r).forEach((function(e){Object.values(s).find((function(r){return r==e}))&&(E=e)})),E},w=function(e,r){var E;return h(e,r).forEach((function(e){Object.values(N).find((function(r){return r==e}))&&(E=e)})),E},H=function(e,r,E,i,o,a){var A,L;if(y.includes(e)?(A=i.toLowerCase()==r.toLowerCase()||i.toLowerCase()==E.toLowerCase(),L=o.toLowerCase()==r.toLowerCase()||o.toLowerCase()==E.toLowerCase()):(A=i.toLowerCase()==r.toLowerCase(),L=o.toLowerCase()==E.toLowerCase()),!0!==A){var t=a.get(i.toLowerCase()),T=a.get(r.toLowerCase()),_=a.get(E.toLowerCase());if([t,T].some((function(e){return null==e})))return!1;A=y.includes(e)?t==T||t==_:t==T}if(!0!==L){var s=a.get(o.toLowerCase());if(T=a.get(r.toLowerCase()),[s,_=a.get(E.toLowerCase())].some((function(e){return null==e})))return!1;L=y.includes(e)&&s==T||s==_}return A&&L},W=function(e,r,E,i){var o;if(u(E)==t.TENNIS){var a=r.getTime(),A=e.getTime();o=Math.abs(A-a)<=Number(60*i*1e3)}else o=r.toUTCString()==e.toUTCString();return o},k=0,K="Draw",Q=1e5,X=.2,j=10001,z=10002,Z=100,x={OPEN:0,PAUSED:1,IN_PROGRESS:3,FINISHED:8,RESOLVED:10,CANCELED:255},J=function(e,r,E){if(e.some((function(e){return 0===e})))return e;var i=e.reduce((function(e,r){return e+r}),0);if(i<=1)return Array(e.length).fill(0);if(0===E){if(!(r>100*(i-1)))return e;E=r}var o=1+E/100,a=o/i,A=e.map((function(e){return e*a}));if(A.some((function(e){return e>=1})))return Array(e.length).fill(0);var L=A.reduce((function(e,r){return e+r}),0);if(L<1)return Array(e.length).fill(0);var t=o/L;return A.map((function(e){return e*t}))},q=function(e,r,E,i){var o=e.find((function(e){return Number(e.typeId)===Number(E)&&Number(e.sportId)===Number(r)}));return o?{minSpread:o.minSpread?Number(o.minSpread):i,targetSpread:o.targetSpread?Number(o.targetSpread):0}:{minSpread:i,targetSpread:0}},$=function(e){return e===k?0:ee("decimal","impliedProbability",e)},ee=function(e,r,E){try{return n(e,E).to(r)}catch(e){return 0}},re=function(e,r,E,i,o){var a=new Map;return E.forEach((function(E){var A=0,L=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===i.homeTeam.toLowerCase()}));0!==L.length&&(A=L[0].price);var t=0,T=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===i.awayTeam.toLowerCase()}));0!==T.length&&(t=T[0].price);var _=0;if(!o){var s=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===K.toLowerCase()}));0!==s.length&&(_=s[0].price)}a.set(E.toLowerCase(),{homeOdds:A,awayOdds:t,drawOdds:_})})),a},Ee=function(e,r,E,i,o,a,A){var L={homeTeam:i.home_team,awayTeam:i.away_team},t=re(i.odds,_.MONEYLINE,E,L,e),T=d(t,E,e,A,X);if(T.errorMessage)return{odds:e?[0,0]:[0,0,0],errorMessage:T.errorMessage};var s=(e?[T.homeOdds,T.awayOdds]:[T.homeOdds,T.awayOdds,T.drawOdds]).map((function(e){return $(e)})),N=q(r,o,Q,a);return{odds:s=null!==N?J(s,N.minSpread,N.targetSpread):J(s,a,0)}},ie=function(e,r,E){return e.filter((function(e){return e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()}))},oe=function(e,r,E,i,o,a){var A=[],L=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)}));return ae(L,r).forEach((function(e){var r=e.line,L=e.odds,t=$(L[0])||k,T=$(L[1])||k,_=t===k||T===k;if(!_){var s,N=q(i,E,o,a);null!==N?(s=J([t,T],N.minSpread,N.targetSpread)).some((function(e){return e===k}))?_=!0:(t=s[0],T=s[1]):(s=J([t,T],a,0)).some((function(e){return e===k}))?_=!0:(t=s[0],T=s[1])}var p=process.env.MIN_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,S=process.env.MAX_ODDS_FOR_CHILD_MARKETS_FOR_LIVE;p&&S&&(t>=p||t<=S||T>=p||T<=S)||A.push({leagueId:E,typeId:o,type:"spread",results:[],status:_?x.PAUSED:x.OPEN,line:r,odds:[t,T]})})),A},ae=function(e,r){var E=e.reduce((function(e,E){var i=E.selection_points,o=E.price,a=E.selection===r.homeTeam,A=a?i:-i;return e[A]||(e[A]={home:null,away:null}),a?e[A].home=o:e[A].away=o,e}),{}),i=Object.entries(E).reduce((function(e,r){var E=r[0],i=r[1],o=parseFloat(E);return null!==i.home&&null!==i.away&&e.push({line:o,odds:[i.home,i.away]}),e}),[]);return i},Ae=function(e,r,E,i,o){var a=[],A=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)})),L=Le(A);return Object.entries(L).forEach((function(e){var A=e[0],L=e[1],t=L.over,T=L.under,_=A.split("_"),s=(_[0],_[1]),N=$(t)||k,p=$(T)||k,S=N===k||p===k;if(!S){var I,O=q(E,r,i,o);null!==O?(I=J([N,p],O.minSpread,O.targetSpread)).some((function(e){return e===k}))?S=!0:(N=I[0],p=I[1]):(I=J([N,p],o,0)).some((function(e){return e===k}))?S=!0:(N=I[0],p=I[1])}var l=process.env.MIN_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,n=process.env.MAX_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,R={leagueId:r,typeId:i,type:"total",results:[],status:S?x.PAUSED:x.OPEN,line:parseFloat(s),odds:[N,p]};l&&n&&(N>=l||N<=n||p>=l||p<=n)||a.push(R)})),a},Le=function(e){return e.reduce((function(e,r){if(r){var E="".concat(r.selection,"_").concat(r.selection_points);e[E]||(e[E]={over:null,under:null}),"over"===r.selection_line?e[E].over=r.price:"under"===r.selection_line&&(e[E].under=r.price)}return e}),{})},te=function(){return te=Object.assign||function(e){for(var r,E=1,i=arguments.length;E<i;E++)for(var o in r=arguments[E])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},te.apply(this,arguments)},Te=function(e,r,E,i,o,a,A,L){var t=i.filter((function(r){return r.sportId===String(e.leagueId)})),T=Ee(!o,t,E,r,e.leagueId,a,A);T.errorMessage?(e.odds=e.odds.map((function(){return{american:0,decimal:0,normalizedImplied:0}})),e.errorMessage=T.errorMessage):e.odds=T.odds.filter((function(e){return 0!=e})).map((function(e){return{american:n("impliedProbability",e).to("moneyline"),decimal:n("impliedProbability",e).to("decimal"),normalizedImplied:e}}));var _=_e(e.leagueId,t,r,E,a,L).map((function(r){var E=te(te({},e),r);return E.odds.length>0&&(E.odds=E.odds.map((function(e){return 0==e?{american:0,decimal:0,normalizedImplied:0}:{american:n("impliedProbability",e).to("moneyline"),decimal:n("impliedProbability",e).to("decimal"),normalizedImplied:e}}))),E}));return e.childMarkets=_,e},_e=function(e,r,E,i,o,a){var A=[];return(A=A.concat(se(E,e,r,i,o,a))).concat(Ne(E,e,r,i,o,a))},se=function(e,r,E,i,o,a){var A=[],L=f(r,a),t={homeTeam:e.home_team,awayTeam:e.away_team};if(L){var T=ie(e.odds,L,i[0]);if(T.length>0){var _=oe(T,t,r,E,j,o);A.push.apply(A,_)}}else console.warn("Spread type for sport ID ".concat(r," not found."));return A},Ne=function(e,r,E,i,o,a){var A=[],L=w(r,a);if(L){var t=ie(e.odds,L,i[0]);t.length>0&&A.push.apply(A,Ae(t,r,E,z,o))}else console.warn("Configuration (totals) for sport ID ".concat(r," not found."));return A},pe=function(e,r,E){var i=e.score_home_total,o=e.score_away_total,a=e.clock,A=e.period,L=e.status,T=e.home_team,_=e.away_team,s=parseInt(A),N=u(r);return"completed"==L.toLowerCase()?{allow:!1,message:"Blocking game ".concat(T," - ").concat(_," because it is no longer live.")}:N===t.BASKETBALL?Se(T,_,s,E.get(t.BASKETBALL)):N===t.HOCKEY?Se(T,_,s,E.get(t.HOCKEY)):N===t.BASEBALL?Se(T,_,s,E.get(t.BASEBALL)):N===t.SOCCER?Ie(T,_,a,A,E.get(t.SOCCER)):N===t.TENNIS?Oe(e,T,_,A,i,o,r,N):N===t.VOLLEYBALL?Oe(e,T,_,s,i,o,r,N):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},Se=function(e,r,E,i){return!Number.isNaN(E)&&E>=i?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(E,". period")}:{allow:!0,message:""}},Ie=function(e,r,E,i,o){var a=Number(E);return!Number.isNaN(a)&&a>=o||Number.isNaN(a)&&"HALF"!=i?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(E,"min")}:{allow:!0,message:""}},Oe=function(e,r,E,i,o,a,A,L){var _=Number(i),s=le(_,e),N="atp"==e.league.toLowerCase(),p={home:o,away:a};return L==t.VOLLEYBALL?ne(r,E,s,p,Re,5==_?Me:de):A.toString().startsWith(T.TENNIS_GS)&&N?ne(r,E,s,p,Pe,ce):A.toString().startsWith(T.TENNIS_GS)&&!N||A.toString().startsWith(T.TENNIS_MASTERS)||A.toString().startsWith(T.SUMMER_OLYMPICS_TENNIS)||A.toString().startsWith(T.TENNIS_WTA)?ne(r,E,s,p,ye,ce):{allow:!0,message:"The sport ".concat(A," does not have result constraint")}},le=function(e,r){var E=0,i=0;switch(e){case 1:E=Number(r.score_home_period_1),i=Number(r.score_away_period_1);break;case 2:E=Number(r.score_home_period_2),i=Number(r.score_away_period_2);break;case 3:E=Number(r.score_home_period_3),i=Number(r.score_away_period_3);break;case 4:E=Number(r.score_home_period_4),i=Number(r.score_away_period_4);break;case 5:E=Number(r.score_home_period_5),i=Number(r.score_away_period_5)}return{home:E,away:i}},ne=function(e,r,E,i,o,a){return Number(i.home)!=o&&Number(i.away)!=o||!(Number(i.home)==o&&E.home>=a||Number(i.away)==o&&E.away>=a)?{allow:!0,message:"",currentHomeGameScore:E.home,currentAwayGameScore:E.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(i.home," - ").concat(i.away," (").concat(E.home," - ").concat(E.away,")")}},Re=2,de=20,Me=10,Pe=2,ye=1,ce=5;return r})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overtime-live-trading-utils",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "",
5
5
  "main": "main.js",
6
6
  "scripts": {
@@ -20,8 +20,8 @@ export const LeagueMap = {
20
20
  matchResolveType: MatchResolveType.OVERTIME,
21
21
  periodType: PeriodType.QUARTER,
22
22
  isDrawAvailable: false,
23
- betTypesForLive: [],
24
- betTypesForLiveTestnet: [],
23
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.POINT_SPREAD, TotalTypes.TOTAL_POINTS],
24
+ betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.POINT_SPREAD, TotalTypes.TOTAL_POINTS],
25
25
  },
26
26
  [League.NFL]: {
27
27
  sport: Sport.FOOTBALL,
@@ -135,7 +135,7 @@ export const LeagueMap = {
135
135
  matchResolveType: MatchResolveType.REGULAR,
136
136
  periodType: PeriodType.HALF,
137
137
  isDrawAvailable: true,
138
- betTypesForLive: [MoneylineTypes.MONEYLINE],
138
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
139
139
  betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
140
140
  },
141
141
  [League.LIGUE_ONE]: {
@@ -148,7 +148,7 @@ export const LeagueMap = {
148
148
  matchResolveType: MatchResolveType.REGULAR,
149
149
  periodType: PeriodType.HALF,
150
150
  isDrawAvailable: true,
151
- betTypesForLive: [MoneylineTypes.MONEYLINE],
151
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
152
152
  betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
153
153
  },
154
154
  [League.BUNDESLIGA]: {
@@ -161,7 +161,7 @@ export const LeagueMap = {
161
161
  matchResolveType: MatchResolveType.REGULAR,
162
162
  periodType: PeriodType.HALF,
163
163
  isDrawAvailable: true,
164
- betTypesForLive: [MoneylineTypes.MONEYLINE],
164
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
165
165
  betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
166
166
  },
167
167
  [League.LA_LIGA]: {
@@ -174,7 +174,7 @@ export const LeagueMap = {
174
174
  matchResolveType: MatchResolveType.REGULAR,
175
175
  periodType: PeriodType.HALF,
176
176
  isDrawAvailable: true,
177
- betTypesForLive: [MoneylineTypes.MONEYLINE],
177
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
178
178
  betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
179
179
  },
180
180
  [League.SERIE_A]: {
@@ -187,7 +187,7 @@ export const LeagueMap = {
187
187
  matchResolveType: MatchResolveType.REGULAR,
188
188
  periodType: PeriodType.HALF,
189
189
  isDrawAvailable: true,
190
- betTypesForLive: [MoneylineTypes.MONEYLINE],
190
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
191
191
  betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
192
192
  },
193
193
 
@@ -201,7 +201,7 @@ export const LeagueMap = {
201
201
  matchResolveType: MatchResolveType.REGULAR,
202
202
  periodType: PeriodType.HALF,
203
203
  isDrawAvailable: true,
204
- betTypesForLive: [MoneylineTypes.MONEYLINE],
204
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
205
205
  betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
206
206
  },
207
207
  [League.UEFA_EL]: {
@@ -214,7 +214,7 @@ export const LeagueMap = {
214
214
  matchResolveType: MatchResolveType.REGULAR,
215
215
  periodType: PeriodType.HALF,
216
216
  isDrawAvailable: true,
217
- betTypesForLive: [MoneylineTypes.MONEYLINE],
217
+ betTypesForLive: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
218
218
  betTypesForLiveTestnet: [MoneylineTypes.MONEYLINE, SpreadTypes.ASIAN_HANDICAP, TotalTypes.TOTAL_GOALS],
219
219
  },
220
220
  [League.FIFA_WC]: {