package proxy

import "strings"

const (
	usWest2HistoryPremiumClusterList = `10509729798210003094,10420818321780698182,10215205142619548439,10852035879194677488,10866534124076140762,10257544196776406208,10060923728276290881,10962306161886776711,10601897049842337512,10246598301011160642,10601897049842337512,10246598301011160642,10003552655486372401,10489375162356240013,10534129561258223891,10587743747607337011,10057365041876535684,10631377380982314547,10766580517034923471,10261501936361056700,10117906361940639362,10358485302516786635,10072684044621680370,10162640760779281190,10852351625918682600,10867777942261458525,10968750684793859013,10867941386422366484,10449490649608964346,10724313195474552964,10620500488332099847,10751217366185074418,10944895333319380631,10717514896460803589,10314696951738443862,10950043747013606004,10978169806892404018,10311966100177771565,10399942040081820770,10456951015006426176,10846543780151208382,10662729050504459045,10149434665548275753,10775916552956377140,10884260955341157654,10525369160353371642,10029523128659853216,10576888495942883188,10435148204466062058,10089869707104226603,10898754776565880608,10011710694651075495,10862670212749984785,10447949159098637202,10920543351491827386,10312498145399299506,10354105600320737264,10024995122679111097,10370039341047252254,10301677334316797850,10898754776565880608,10011710694651075495,10862670212749984785,10447949159098637202,10920543351491827386,10312498145399299506,10354105600320737264,10024995122679111097,10370039341047252254,10301677334316797850,10429588198365464892,10153021459742211275,10503105286190330226,10238025077066196053,10296195231133931155,10065240987427787082,10051182300297055436,10613198654639133975,10842438127329614433,10284441281319270167,10380718713828647837,10514423636277442084,10792863073376923183,10352144611836160474,10486625664092312500,10160361225674148214,10208327880618018513,10046231477783369754,10137822770555055251,10397799443563235258,10258329495356944225,10782872644496715678,10371452722414560636,10177090821995562642,10147255356148202091,10352023710835579451,10050522275741547121,10007646618132143032,10820453789072255720,10076040954762645206,10752223641928021377,10406029793608402985,10085333962292311225,10193523732609379208,10095773704556970330,10150706917878650325,10249120517620775923,10142630843396159313,10310237457756529393,10978778928855957141,10926164344912278816,10161006680502701115,10179403928405541107,10114416162432698632,10507576919105822256,10591923047358875816,10725585515459448105,10646811079077951665,10275158735743832923,10198172521563619706,10499095702195537174,10382659415821593020,10729698587081632256,10725291284798264517,10011913809531711131,10976256871892911318,10108534924463091746,10812888505792843362,10005819650095364213,10608764174596298616,10901937255596907941,10213093032882176748,10407601124020038263,10232547080612746251,10274567082750377953,10051882678850616202,10811411925781013142,10232710064944184005,10461312159720295195,10832125859455116794,10105833708016149575,10953489337155329800,10275767681240352009,10356006179452954790,10108085754796336858,10845954378757557998,10495665977426404185,10584794929163807600,10515127129633832316,10383899342666891199,10174784284092872332,10193631751543395785,10541052963408307068,10392542041234338506,10629229253780175144,10003105953262529361,10205001037582856480,10286244752500270474,10237923980337809896,10003408496774665977,10026401635883109195,10573980975021086523,10868056183918288933,10575746530364665592,10826033299493506529,10724417567518763790,10137426061701255994,10823191409914611476,10389442424658076803,10895064195633410953,10116793808085251440,10657911113337147398,10351244711310369440,10893251887122867483,10633923496605746070,10378614603282837856,10579447559879113260,10019674236865352056,10171482086638417843,10070853392718431870,10440194139250818028,10201145531708430705,10578117168782834948,10445309123674389774,10303376410394225381,10847829074440938389,10256444475520061820,10967595917557629850,10458838668272093263,10538045195667666224,10740050088655941243,10675443742376621630,10161006874497742254,10071044664030804869,10605597156642240813,10152971608414114610,10897689220975998118,10702232213795411086,10439696421157601115,10461602909823708200,10477150837726214289,10517159005899221719,10931815209923743200,10415198953373964575,10950890505434503015,10784110350483267427,10947357660613969773,10011578269755509031,10858392140357283902,10656546885292708606,10575049163741432881,10962187221933985368,10759012740745365650,10173480553737090520,10572482560124556079,10223409579459943951,10639280491527532576,10691097126157015904,10142970329818168874,10994854079531047912,10425934332473382222,10358180514641149025,10299663866593663502,10787683686190054168,10166319038875623165,10490726078535777702,10229342064709828528,10335548669900068139,10047468798792240466,10869859605138306119,10344628100990603299,10230029936709268445,10067361031191613901,10394260234824870675,10726993193309100182,10750840983062778978,10620801814911573373,10536054293060837166,10691416346745616064,10724431539384402394,10808712399614443479,10874213591468071894,10907516165324892611,10418814998306158484,10363448704858506679,10830798576193373192,10102540955762434479,10376871000241755601,10201834994414268627,10758430319781036946,10675029499283409729,10131912252549500989,10655177631237757085,10720398708657953907,10030306825127603615,10523138890947329489,10063762388912940416,10274036689707254582,10199054941390660361,10319333894494863300,10998744613176978764,10210249240705712250,10367157368096635695,10286645268619416243,10786162108606306464,10563766368544188462,10586580602298806742,10947944065666844260,10274144887209641728,10067190207084192591,10854213935425425680,10537274037683502756,10595870103346621557,10028591883947035137,10930976895836467682,10120848649945943601,10028244274802343147,10638483514311813197,10767185315973925682,10962930667318998203,10183712248321877481,10904879808969914876,10280564848097167671,10131310401765357142,10159346471003696211,10493189710834304574,10964214420620496151,10152759874864323792,10189164893683145758,10758454413237080570,10450507039320873963,10075592008824403759,10799583288870405211,10531969196774406410,10438891370429995497,10257042813366427879,10428736199585591066,10120706369772433263,10738021284140954712,10556267618086751436,10191497346940216540,10651415174120383815,10885216734985810390,10267108983350193835,10826955201375119986,10509296150802748383,10461288731027931563,10449974406846441674,10813540675972939877,10434383826219431544,10134943994953617152,10696274054814108452,10657235789084962162,10972783569962893954,10557414940884032068,10085500457035012173,10641751066213789203,10961893264923081610,10739799500281924036,10508475342612199694,10162757480592561561,10353320621552630512,10531989586365554461,10159046774105885905,10798472935365823701,10538591979016754179,10624972709889964488,10097326954605506555,10292907676571763560,10344826284293437521,10771021405149913497,10224111624918763556,10800442055360901399,10397941545328148359,10408490535948207291,10401171995092563427,10364307947680487020,10281770774812477583,10846933410093847696,10045878394642531874,10897876353499518836,10239787382858378716,10915712792865637958,10317894066046363331,10138891137772870325,10139648710172024719,10210391554252187015,10251201207052350953,10156248267824446024,10297914826085297710,10959617243346954868,10906764485032241407,10650108422958341785,10595227535570605292,10480730145462758972,10525171932163908419,10348055415242272155,10537629479628777237,10879532441667317863,10745267403817992601`
	usWest2HistoryNGHostClusterList  = `1900012584357058,1984144879676030976,1738483010403163,1988589617594499072,1556629354916761,1402164645000114,1984112880332570624,1984093079367319552,1985512451357020160,1737019268743756,1214433354201383,1737019268743756,1204204090252187,1987753038244220928,1982734340143972352,1982738515384864768,1556629354916761,1985532688882208768,1538018612454395,1987700014243123200,1402164645000114,1985512451357020160,1127308668360189,1982738515384864768,1985532688882208768,1987700014243123200,1987753038244220928,1984144879676030976,1982792962425225216,1321197291338559,1985512451357020160,1538018612454395,1737019268743756,1983338829192364032,1982735985355526144,1158522776963552,1252026504366187,1738976480808573,1813904161753399,1127308668360189,1984144879676030976,1127308668360189,1738976480808573,1813904161753399,1988589617594499072,1985512451357020160,1984112880332570624,1143892858018447,1211249644146395,1982734340143972352,1987753038244220928,1978727860633862144,1985512451357020160,1211249644146395,1983448466298241024,1980566587282821120,1538018612454395,1349947921417867,1364352770899364,1985704311845294080,1982734672680980480,1915712347154213,1364352770899364,1987700014243123200,1730559406679845,1984093079367319552,1985630292269862912,1211249644146395,1982738515384864768,1982792962425225216,1947603442871351,1737019268743756,1983329326078099456,1915712347154213,1364352770899364,1992721720665041,1979022154515091456,1984451246177652736,1982606986597373,1211249644146395,1982973369720508416,1402164645000114,1214433354201383,1980825456223457280,1984144879676030976,1984451246177652736,1915712347154213,1364352770899364,1700154922248727,1982738515384864768,1982734340143972352,1982734672680980480,1980825456223457280,1700154922248727,1730559406679845,1816855720144821,1901346969551366,1947603442871351,1394360489599106,1310499935062070,1445428518469785,1639089934837608,1984182285821280256,1978669429000507392,1978727860633862144,1979022154515091456,1988059288764944384,1982734672680980480,1980566587282821120,1980825456223457280,1981200274223534080,1981202161450618880,1981239956693057536,1982734672680980480,1982734340143972352,1982735985355526144,1982738515384864768,1982792962425225216,1982973369720508416,1982992772411428864,1982996541496885248,1983081186813018112,1988589617594499072,1985901052272054272,1984159092016418816,1983338829192364032,1983329326078099456,1983444619966283776,1983448466298241024,1983486755206070272,1983486290032594944,1983677329062236160,1983702932599603200,1983706565139501056,1983732855120859136,1988181717877260288,1987700014243123200,1985905719899062272,1985901052272054272,1985704311845294080,1983486290032594944,1983677329062236160,1983702932599603200,1983706565139501056,1983732855120859136,1988181717877260288,1987700014243123200,1985905719899062272,1985901052272054272,1985704311845294080,1985158251888513024,1985166479007416320,1985185138392170496,1985183146697555968,1985211615376572416,1985240289878474752,1985265363545227264,1985512451357020160,1985532688882208768,1985630292269862912,1985704311845294080,1985901052272054272,1985905719899062272,1986012441099636736,1986367984599302144,1987700713790111744,1988589617594499072,1987753038244220928,1987700014243123200,1988040247635611648,1988059288764944384,1988181717877260288,1988416317740290048,1988589617594499072,1969057655018550`
)

var (
	usWest2HistoryPremiumClusterMap = make(map[string]struct{})
	usWest2HistoryNGHostClusterMap  = make(map[string]struct{})
)

func init() {
	arr := strings.Split(usWest2HistoryPremiumClusterList, ",")
	for _, v := range arr {
		usWest2HistoryPremiumClusterMap[v] = struct{}{}
	}
	arr = strings.Split(usWest2HistoryNGHostClusterList, ",")
	for _, v := range arr {
		usWest2HistoryNGHostClusterMap[v] = struct{}{}
	}
}

func IsUsWest2HistoryPremiumCluster(clusterID string) bool {
	if clusterID == "" {
		return false
	}
	_, exists := usWest2HistoryPremiumClusterMap[clusterID]
	return exists
}

func IsUsWest2HistoryNGHostCluster(clusterID string) bool {
	if clusterID == "" {
		return false
	}
	_, exists := usWest2HistoryNGHostClusterMap[clusterID]
	return exists
}
