game.min.js 343 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096
  1. function isArrayContains(e, t) {
  2. return -1 < e.indexOf(t)
  3. }
  4. function y185(e, t) {
  5. e.cacheCanvas = t.cacheCanvas;
  6. e.cacheID = t.cacheID;
  7. e._cacheWidth = t._cacheWidth;
  8. e._cacheHeight = t._cacheHeight;
  9. e._cacheOffsetX = t._cacheOffsetX;
  10. e._cacheOffsetY = t._cacheOffsetY;
  11. e._cacheScale = t._cacheScale
  12. }
  13. function y96(e) {
  14. isLevelEditor && console.log(e)
  15. }
  16. function y506(e) {
  17. e.scaleX = e.scaleY = 1.2 * y164 * (e.defaultScale ? e.defaultScale : 1)
  18. }
  19. function y380(e) {
  20. e.scaleX = e.scaleY = y164 * (e.defaultScale ? e.defaultScale : 1)
  21. }
  22. function y206(e) {
  23. e.parent && e.parent.removeChild(e)
  24. }
  25. function y110(e, t) {
  26. y206(e);
  27. t && t.addChild(e)
  28. }
  29. function y110WithIndex(e, t, n) {
  30. y206(e);
  31. t && t.addChildAt(e, n)
  32. }
  33. function setSpriteScale(e, t) {
  34. e.scaleX = e.scaleY = t
  35. }
  36. function y124(e, t, n, r) {
  37. r.text != n && (r.text = n, n = r.getBounds(), r.x = e - (n.width >> 1) * r.scaleX, t && (r.y = t - (40 >> 1) * r.scaleY))
  38. }
  39. function setAnimationSpeed(e, t) {
  40. e._animation.speed = t
  41. }
  42. function setNextAnimation(e, t) {
  43. e._animation.next = t
  44. }
  45. function randomizeAnimFrame(e) {
  46. e.currentAnimationFrame = Math.floor(30 * Math.random())
  47. }
  48. function createReverseAnim(e, t) {
  49. var n = REVERSE_y287 + t;
  50. if (!e.getAnimation(n)) {
  51. for (var r = e.getAnimation(t), i = {
  52. name: n,
  53. next: r.next,
  54. speed: r.speed,
  55. frames: []
  56. }, s = r.frames.length - 1; 0 <= s; s--) i.frames.push(r.frames[s]);
  57. e._animations.push(n);
  58. e._data[n] = i
  59. }
  60. }
  61. function playReverseAnim(e, t) {
  62. e.gotoAndPlay(REVERSE_y287 + t)
  63. }
  64. function y306() {
  65. y328 = y481(160, 322, .8, sponsorLogoFrame, y254, null, null)
  66. }
  67. function y379(e, t, n, r, i, s, o, u, a) {
  68. y328 || y306();
  69. y110(y328, r);
  70. n *= .7;
  71. y139 = t;
  72. y502 = e + 10;
  73. y83 = s;
  74. y108 = o;
  75. y328.scaleX = y328.scaleY = n;
  76. y328.alpha = i ? i : 1;
  77. y78 = u;
  78. y147();
  79. (e = y355.getAnimation(sponsorLogoFrame)) && e.frames && 0 < e.frames.length && (e = y355.getFrameBounds(e.frames[0]), y328.setBoundingBox(e.x * n, e.y * n, e.width * n, e.height * n))
  80. }
  81. function y147() {
  82. y328 && (y328.x = y502, y328.y = y139, y83 === y93 ? y328.x += y170() : y83 === y232 && (y328.x -= y170()), y108 === y280 ? y328.y += y199() / y78 : y108 === y73 && (y328.y -= y199() / y78))
  83. }
  84. function startSponsorAds() {
  85. sponsorApi && (isAdPauseSoundMuted = isMute, sponsorApi.GameBreak.request(onAdBeginPause, onAdEndUnpause))
  86. }
  87. function onAdBeginPause() {
  88. y96("ad pause, , sound is muted: " + isMute);
  89. isAdPauseSoundMuted = isMute;
  90. isMute = !0;
  91. stopBgMusic()
  92. }
  93. function onAdEndUnpause() {
  94. y96("ad unpause, sound was muted: " + isAdPauseSoundMuted);
  95. (isMute = isAdPauseSoundMuted) || y452()
  96. }
  97. function initParticleManager() {
  98. y497.addChild(y262)
  99. }
  100. function setParticlesToFront() {
  101. y110(y262, y497)
  102. }
  103. function y53Explode(e, t, n, r, i, s) {
  104. for (var o, u = 0; u < n; u++) {
  105. o = u * (2 * Math.PI / n);
  106. partSin = Math.cos(o);
  107. partCos = Math.sin(o);
  108. o = y53(r, e, t, 1, i ? i : y262);
  109. if (!o) break;
  110. setParticleParamsByIndex(o, s ? s : 0)
  111. }
  112. }
  113. function setParticleParamsByIndex(e, t) {
  114. var n = 1.3;
  115. e.y14 = 0;
  116. e.y11 = 20 * Math.random();
  117. 0 === t ? (e.maxScale = .7, e.y37 = .2 * FPS, partScale = .2 + .2 * Math.random()) : 1 === t ? (n = 4, e.maxScale = 1.3, e.y37 = .3 * FPS, e.y14 = 0, e.y11lpha = .05, e.y11 = 20 * Math.random(), partScale = .4 + .6 * Math.random()) : 2 === t && (n = 2, e.maxScale = 1.3, e.vis.alpha = 1, e.y37 = .3 * FPS, e.y11 = 20 * Math.random(), partScale = .4 + .6 * Math.random());
  118. e.vis.scaleX = e.vis.scaleY = partScale;
  119. e.y9 = (n + Math.random() * n) * partCos;
  120. e.y10 = (n + Math.random() * n) * partSin
  121. }
  122. function createDiePart(e, t) {
  123. var n = y53(y509, e, t, 1, y262);
  124. n && (n.y38(11), n.y39("deathanimv", !0), n.y11lpha = .05, n.y37 = 1.5 * FPS, n.y9 = 0, n.y10 = -1, n.y11 = 0)
  125. }
  126. function createGoodPlayExplode(e, t) {
  127. for (var n, r = 0 == t ? 90 : -120, i = 0; 8 > i; i++) {
  128. var s = i * (Math.PI / 2 / 8) - Math.PI / 4;
  129. 0 < t && (s += Math.PI);
  130. var o = Math.cos(s),
  131. s = Math.sin(s);
  132. n = .2 + .2 * Math.random();
  133. n = y53(y160, r, 0, n, monsterCont);
  134. if (!n) break;
  135. n.y39("particle1v");
  136. n.y11lpha = .1;
  137. n.y34 = .02;
  138. n.vis.visible = !1;
  139. n.y37 = .5 * FPS;
  140. n.maxScale = .6;
  141. n.y9 = (1.5 + 1.5 * Math.random()) * o;
  142. n.y10 = (1.5 + 1.5 * Math.random()) * s;
  143. n.y11 = 20 * Math.random()
  144. }
  145. }
  146. function y292(e, t, n) {
  147. if (e = y53(y509, e, t, .8, y262)) e.y38(n), e.y37 = .2 * FPS, e.y9 = 0, e.y10 = -.8, e.y11 = 0
  148. }
  149. function createGlassExplode(e, t) {
  150. for (var n, r = e, i = t, s = 0; 4 > s; s++) {
  151. switch (s) {
  152. case 0:
  153. r = e - 10;
  154. i = t - 30;
  155. break;
  156. case 1:
  157. r = e + 10;
  158. i = t - 30;
  159. break;
  160. case 2:
  161. r = e - 10;
  162. i = t - 10;
  163. break;
  164. case 3:
  165. r = e + 10, i = t - 10
  166. }
  167. n = y53(PART_GLASS_TYPE, r, i, 1, y262);
  168. if (!n) break;
  169. n.y14 = 0;
  170. n.maxScale = 0;
  171. n.y14 = 0;
  172. n.y11lpha = .08;
  173. n.y34 = -.08;
  174. n.isReverse = !0;
  175. partScale = 1;
  176. n.vis.scaleX = n.vis.scaleY = partScale;
  177. n.y11 = 30 * Math.random() - 15;
  178. n.y9 = 1.3 - 2.6 * Math.random();
  179. n.y10 = 1.3 - 2.6 * Math.random()
  180. }
  181. }
  182. function y456() {
  183. var e = y53(y509, 160, topVisionLine + y52 / 2, 1, y262);
  184. e && (e.y38(11), e.y11lpha = 1, e.y37 = 1.5 * FPS, e.y9 = 0, e.y10 = 0, e.y11 = 0, e.vis.rotation = -360, e.vis.scaleX = e.vis.scaleY = .1, createjs.Tween.get(e.vis, {
  185. override: !0
  186. }).to({
  187. rotation: 0,
  188. scaleX: 1,
  189. scaleY: 1
  190. }, 600).wait(600).to({
  191. alpha: 0
  192. }, 200))
  193. }
  194. function createAchievPart(e) {
  195. for (var t = 210, n = 10, r = 0, i, s = 0; s < y311.length; s++) i = y311[s], i.type === PART_ACHIEV_TYPE && (t = i.vis.y - 50, n += 200, r++);
  196. if (i = y53(PART_ACHIEV_TYPE, -130, t, .8, y497)) i.y39("achievdesc" + e), i.y11lpha = 1, i.y37 = 3.2 * FPS + .2 * r, i.y9 = 0, i.y10 = 0, i.y11 = 0, i.vis.rotation = 0, i.vis.scaleX = i.vis.scaleY = .7, i.vis.alpha = 1, createjs.Tween.get(i.vis, {
  197. override: !0
  198. }).wait(n).to({
  199. x: 5
  200. }, 600, y244).wait(2e3).to({
  201. x: -130
  202. }, 400, createjs.Ease.sineIn)
  203. }
  204. function y53(e, t, n, r, i) {
  205. var s;
  206. y311Lenght = y311.length;
  207. if (y311Lenght > y454) {
  208. for (var o = 0; o < y311Lenght; o++)
  209. if (y311[o].type === y160) {
  210. s = y311[o];
  211. break
  212. }
  213. s || (s = y311[0]);
  214. s.reset(e, i, r)
  215. } else s = y453(e, i, r);
  216. s.setPos(t, n);
  217. isArrayContains(y311, s) || y311.push(s);
  218. return s
  219. }
  220. function y134(e) {
  221. isArrayContains(disposedParts, e) || disposedParts.push(e)
  222. }
  223. function y453(e, t, n) {
  224. if (0 < disposedParts.length) {
  225. var r = disposedParts.pop();
  226. r.reset(e, t, n);
  227. return r
  228. }
  229. return new y513(e, t, n)
  230. }
  231. function y195() {
  232. y56 = y311.length;
  233. for (var e = 0; e < y56; e++) y342 = y311[e], y342.tick(), y342.isNeedDispose && disposeNeededParts.push(y342);
  234. for (; 0 < disposeNeededParts.length;) disposeNeededParts.pop().dispose()
  235. }
  236. function initField() {
  237. ROW_FIELD_END = FIELD_ROWS - ROWS_MARGIN - 1;
  238. CELL_FIELD_END = FIELD_CELLS - CELLS_MARGIN - 1;
  239. shadowContainer = new createjs.Container;
  240. y497.addChild(shadowContainer);
  241. y390 = new createjs.Container;
  242. y497.addChild(y390);
  243. for (var e = 0; e < FIELD_CELLS; e++) {
  244. for (var t = [], n = 0; n < FIELD_ROWS; n++) t.push(BLOCK_SPACE_TYPE);
  245. map.push(t)
  246. }
  247. }
  248. function createBlock(e, t, n, r) {
  249. disposeBlockAt(t, n);
  250. e == BLOCK_SPACE_TYPE ? map[t][n] = BLOCK_SPACE_TYPE : (r || (r = "defB" + t + "r" + n), e = getBlockFromPool(e, y390, r), e.setPos(getXByCell(t), getYByRow(n)), e.setIndex(t, n), e.rememberPos(), isArrayContains(allBlocks, e) || allBlocks.push(e), map[t][n] = e, isHero(e) && (findFriends(e), allHeroes.push(e)))
  251. }
  252. function getBlockFromPool(e, t, n) {
  253. if (0 < disposedBlocks.length) {
  254. var r = disposedBlocks.pop();
  255. r.reset(e, t, n);
  256. return r
  257. }
  258. return new BaseBlock(e, t, n)
  259. }
  260. function disposeBlockAt(e, t) {
  261. var n = getBlockAt(e, t);
  262. n && n != BLOCK_SPACE_TYPE && n.dispose()
  263. }
  264. function y201(e) {
  265. isArrayContains(disposedBlocks, e) || disposedBlocks.push(e)
  266. }
  267. function deleteBlockFromMap(e) {
  268. map[e.cell][e.row] == e && (map[e.cell][e.row] = BLOCK_SPACE_TYPE)
  269. }
  270. function getXByCell(e) {
  271. return (e + 1 - CELLS_MARGIN) * CELL_SIZE + MARGIN_LEFT - CELL_SIZE / 2
  272. }
  273. function getYByRow(e) {
  274. return (e + 1 - ROWS_MARGIN) * CELL_SIZE + MARGIN_TOP
  275. }
  276. function getLevelCode() {
  277. for (var e = [], t = 0; t < FIELD_CELLS; t++) {
  278. for (var n = [], r = 0; r < FIELD_ROWS; r++) {
  279. var i = map[t][r];
  280. i == BLOCK_SPACE_TYPE ? n.push(BLOCK_SPACE_TYPE) : n.push(i.type)
  281. }
  282. e.push(n)
  283. }
  284. e.push(getBonusCode());
  285. return e
  286. }
  287. function y192ByCode(e) {
  288. isLevelLoading = !0;
  289. disposeLevel();
  290. addInstructions();
  291. lightsV.visible = !0;
  292. isShadowDisabled || (shadowContainer.visible = !0);
  293. for (var t = 0; t < FIELD_CELLS; t++)
  294. for (var n = e[t], r = 0; r < FIELD_ROWS; r++) {
  295. var i = n[r]; - 1 < i && createBlock(i, t, r)
  296. }
  297. loadBonusesByCode(e[FIELD_CELLS]);
  298. y275();
  299. isLevelLoading = !1;
  300. setCloudsVisibility(!0)
  301. }
  302. function disposeLevel() {
  303. disposeMinigame();
  304. disposeInstructions();
  305. for (var e = allBlocks.length, t = 0; t < e; t++) allBlocks.pop().dispose();
  306. allHeroes = [];
  307. headHero = null;
  308. isDangerCollided = isLevelCompleted = isHeroMoving = !1;
  309. levelCollectedStarsNum = levelTotalStarsNum = 0;
  310. disposeBonuses();
  311. isOldButtonActivated = !1
  312. }
  313. function y192(e) {
  314. y50 = e;
  315. y50 >= y115.length && (y50 = y115.length - 1);
  316. setBgByLevel(y50, !1);
  317. IsMinigameLevel(y50) ? loadMinigame(y50) : y192ByCode(y115[y50]);
  318. setParticlesToFront();
  319. showIngameSponsorLogo();
  320. isGamePaused = !1
  321. }
  322. function y507() {
  323. isDisableWin ? rey192FromEditor() : y192(y50)
  324. }
  325. function y131() {
  326. y50++;
  327. y50 >= y115.length && (y50 = 0);
  328. y192(y50)
  329. }
  330. function y275() {
  331. y390.sortChildren(zOrderSortFunction)
  332. }
  333. function zOrderSortFunction(e, t) {
  334. if (e.isFullTop && !t.isFullTop) return 1;
  335. if (!e.isFullTop && t.isFullTop) return -1;
  336. if (e.isFullTop && t.isFullTop) {
  337. if (e.zIndex > t.zIndex) return 1;
  338. if (e.zIndex < t.zIndex) return -1
  339. }
  340. return e.baseBlock.row < t.baseBlock.row ? -1 : e.baseBlock.row > t.baseBlock.row ? 1 : e.isOnBottom && !t.isOnBottom ? -1 : !e.isOnBottom && t.isOnBottom ? 1 : !e.isOnTop && t.isOnTop ? -1 : e.isOnTop && !t.isOnTop ? 1 : 0
  341. }
  342. function SearchMovePath(e, t) {
  343. var n = 100,
  344. r, i;
  345. lastDir = t;
  346. e.oldFriendsNum = e.friends.length;
  347. if (t == DIR_LEFT || t == DIR_RIGHT) {
  348. for (var n = SearchMininumStepsHoriz(e, t, n), s = 0; s < e.friends.length; s++) r = e.friends[s], n = SearchMininumStepsHoriz(r, t, n);
  349. i = StepHorizByDir(e.cell, t, n);
  350. updateStarsCollectionStatus(n);
  351. if (0 > i || i > FIELD_CELLS - 1) {
  352. e.deadMove(t);
  353. return
  354. }
  355. if (i == e.cell) lastDir = -1, isHeroMoving = !1, e.restorePosWithFriends();
  356. else {
  357. for (s = 0; s < e.friends.length; s++) {
  358. r = e.friends[s];
  359. var o = StepHorizByDir(r.cell, t, n);
  360. relocate(r, o, r.row)
  361. }
  362. e.move(i, e.row, getXByCell(i), getYByRow(e.row));
  363. playLaunchSound()
  364. }
  365. } else if (t == DIR_UP || t == DIR_BOTTOM) {
  366. n = SearchMininumStepsVert(e, t, n);
  367. for (s = 0; s < e.friends.length; s++) r = e.friends[s], n = SearchMininumStepsVert(r, t, n);
  368. i = StepVertByDir(e.row, t, n);
  369. updateStarsCollectionStatus(n);
  370. if (0 > i || i > FIELD_ROWS - 1) {
  371. e.deadMove(t);
  372. return
  373. }
  374. if (i == e.row) lastDir = -1, isHeroMoving = !1, e.restorePosWithFriends();
  375. else {
  376. for (s = 0; s < e.friends.length; s++) r = e.friends[s], o = StepVertByDir(r.row, t, n), relocate(r, r.cell, o);
  377. e.move(e.cell, i, getXByCell(e.cell), getYByRow(i));
  378. playLaunchSound()
  379. }
  380. }
  381. resetStarsCollectionSteps()
  382. }
  383. function SearchMininumStepsVert(e, t, n) {
  384. if (!isNextVertAreFriend(e, t)) {
  385. t = SearchLastFreeRow(e, t);
  386. e = Math.abs(t - e.row);
  387. if (t < ROWS_MARGIN || t > ROW_FIELD_END) e = 100;
  388. if (e < n) return e
  389. }
  390. return n
  391. }
  392. function isNextVertAreFriend(e, t) {
  393. var n = StepVertByDir(e.row, t, 1);
  394. return (n = getBlockAt(e.cell, n)) ? isHero(n) : !1
  395. }
  396. function SearchLastFreeRow(e, t) {
  397. var n = StepVertByDir(e.row, t, 1),
  398. r = 1;
  399. for (checkStarCollide(r, e.cell, n); IsFreeOrFriend(e, e.cell, n);) n = StepVertByDir(n, t, 1), r += 1, checkStarCollide(r, e.cell, n); - 1 < n && n < FIELD_ROWS && (n = StepVertByDir(n, t, -1));
  400. return n
  401. }
  402. function SearchMininumStepsHoriz(e, t, n) {
  403. if (!isNextHorizAreFriend(e, t)) {
  404. t = SearchLastFreeCell(e, t);
  405. e = Math.abs(t - e.cell);
  406. if (t < CELLS_MARGIN || t > CELL_FIELD_END) e = 100;
  407. if (e < n) return e
  408. }
  409. return n
  410. }
  411. function isNextHorizAreFriend(e, t) {
  412. var n = StepHorizByDir(e.cell, t, 1);
  413. return (n = getBlockAt(n, e.row)) ? isHero(n) : !1
  414. }
  415. function isHero(e) {
  416. return e.type == BLOCK_HERO_TYPE || e.type == BLOCK_SLEEP_TYPE
  417. }
  418. function isBrick(e) {
  419. return e.type == BLOCK_BRICK_TYPE || e.type == BLOCK_HIDE_TYPE || e.type == BLOCK_ICE_TYPE
  420. }
  421. function SearchLastFreeCell(e, t) {
  422. var n = StepHorizByDir(e.cell, t, 1),
  423. r = 1;
  424. for (checkStarCollide(r, n, e.row); IsFreeOrFriend(e, n, e.row);) n = StepHorizByDir(n, t, 1), r += 1, checkStarCollide(r, n, e.row); - 1 < n && n < FIELD_CELLS && (n = StepHorizByDir(n, t, -1));
  425. return n
  426. }
  427. function StepHorizByDir(e, t, n) {
  428. return t == DIR_LEFT ? e - n : t == DIR_RIGHT ? e + n : e
  429. }
  430. function StepVertByDir(e, t, n) {
  431. return t == DIR_UP ? e - n : t == DIR_BOTTOM ? e + n : e
  432. }
  433. function IsFreeOrFriend(e, t, n) {
  434. return (t = getBlockAt(t, n)) ? t == BLOCK_SPACE_TYPE || t.type == BLOCK_HIDE_TYPE && t.isHided || isArrayContains(e.friends, t) ? !0 : !1 : !1
  435. }
  436. function getBlockAt(e, t) {
  437. return e > FIELD_CELLS - 1 || 0 > e || t > FIELD_ROWS - 1 || 0 > t ? null : map[e][t]
  438. }
  439. function relocate(e, t, n) {
  440. getBlockAt(e.cell, e.row) == e && (map[e.cell][e.row] = BLOCK_SPACE_TYPE);
  441. 0 < t && t < FIELD_CELLS && 0 < n && n < FIELD_ROWS && (map[t][n] = e);
  442. e.oldCell = e.cell;
  443. e.oldRow = e.row;
  444. e.setIndex(t, n)
  445. }
  446. function findFriends(e) {
  447. var t = [e],
  448. n, r, i;
  449. for (i = 0; i < e.friends.length; i++) n = e.friends[i], addFriendIfNew(1, 0, n, t), addFriendIfNew(-1, 0, n, t), addFriendIfNew(0, 1, n, t), addFriendIfNew(0, -1, n, t);
  450. addFriendIfNew(1, 0, e, t);
  451. addFriendIfNew(-1, 0, e, t);
  452. addFriendIfNew(0, 1, e, t);
  453. addFriendIfNew(0, -1, e, t);
  454. for (r = 0; r < t.length; r++)
  455. for (e = t[r], i = 0; i < t.length; i++)
  456. if (n = t[i], n != e) {
  457. e.addFriend(n);
  458. for (var s = 0; s < n.friends.length; s++) e.addFriend(n.friends[s])
  459. }
  460. for (r = 0; r < t.length; r++) e = t[r], e.updateVisionByFriendsPos();
  461. isLevelLoading || y275()
  462. }
  463. function addFriendIfNew(e, t, n, r) {
  464. if ((n = getBlockAt(n.cell + e, n.row + t)) && n.type)
  465. if (isHero(n)) {
  466. if (!isArrayContains(r, n))
  467. for (r.push(n), e = 0; e < n.friends.length; e++) t = n.friends[e], isArrayContains(r, t) || r.push(t)
  468. } else n.type == BLOCK_ICE_TYPE ? (lastDir == DIR_BOTTOM && 1 == t || lastDir == DIR_UP && -1 == t || lastDir == DIR_RIGHT && 1 == e || lastDir == DIR_LEFT && -1 == e) && n.iceBreak() : n.type == BLOCK_DANGER_TYPE && (isDangerCollided = !0, n.startShock())
  469. }
  470. function updateBlocksByActivator() {
  471. for (var e = 0; e < allBlocks.length; e++) allBlocks[e].setActivationStatus(isButtonActivated)
  472. }
  473. function y241() {
  474. y345 = 0;
  475. if (isStorageSupported = isSupportshtml5storage())
  476. if (localStorage[y287 + "y345"]) {
  477. y345 = parseInt(localStorage[y287 + "y345"]);
  478. for (e = 0; e < y208; e++) levely4s.push(parseInt(localStorage[y287 + "levely4" + e]));
  479. for (e = 0; e < y369; e++) y200.push(parseInt(localStorage[y287 + "achiev" + e]));
  480. isMute = "1" == localStorage[y287 + "ismute"];
  481. isLowQuality = "1" == localStorage[y287 + "islowq"];
  482. isShadowDisabled = "1" == localStorage[y287 + "isshadowsdisabled"]
  483. } else {
  484. y96("saves not found!");
  485. for (e = 0; e < y208; e++) levely4s.push(y70);
  486. for (e = 0; e < y369; e++) y200.push(y322);
  487. y283()
  488. } else {
  489. y96("storage not supported");
  490. for (var e = 0; e < y208; e++) levely4s.push(y70);
  491. for (e = 0; e < y369; e++) y200.push(y322)
  492. }
  493. }
  494. function y101(e) {
  495. y345 <= y50 && (y345 = y50 + 1);
  496. levely4s[y50] < e && (levely4s[y50] = e);
  497. y283()
  498. }
  499. function y283() {
  500. if (y345 > 0)
  501. updateShareScore(y345);
  502. //Play68.setRankingScoreDesc(y345,Play68.rankingShowType.RANKING_SHOW_NO);
  503. if (isStorageSupported) {
  504. localStorage[y287 + "y345"] = y345;
  505. for (var e = 0; e < y208; e++) localStorage[y287 + "levely4" + e] = levely4s[e];
  506. for (e = 0; e < y369; e++) localStorage[y287 + "achiev" + e] = y200[e];
  507. localStorage[y287 + "islowq"] = isLowQuality ? "1" : "0";
  508. localStorage[y287 + "isshadowsdisabled"] = isShadowDisabled ? "1" : "0";
  509. y301()
  510. }
  511. }
  512. function y301() {
  513. isStorageSupported && (localStorage[y287 + "ismute"] = isMute ? "1" : "0")
  514. }
  515. function isSupportshtml5storage() {
  516. try {
  517. var e = "localStorage" in window && null !== window.localStorage;
  518. e && (localStorage.setItem("storage", ""), localStorage.removeItem("storage"));
  519. return e
  520. } catch (t) {
  521. return !1
  522. }
  523. }
  524. function saveLevelToEditor() {
  525. savedLevel = getLevelCode();
  526. localStorage["savedLevel" + savesHistoryCount] = JSON.stringify(savedLevel)
  527. }
  528. function rey192FromEditor() {
  529. savedLevel ? y192ByCode(savedLevel) : y192(y50)
  530. }
  531. function y191(e) {
  532. return levely4s[e]
  533. }
  534. function y289(e, t, n, r, i, s) {
  535. e = y481(e, t, r ? r : .8, n, null, null, null);
  536. s ? y110(e, y262) : y497.addChildAt(e, 2);
  537. e.rotation = i ? i : 0;
  538. y375.push(e);
  539. return e
  540. }
  541. function addInstructions() {
  542. if (0 === y50) {
  543. y289(240, 124, "arrowhelpv", .9, 90);
  544. y289(70, 160, "levelinstruction1");
  545. var e = y289(230, 100, "tutorhandv1", .6, 30, !0);
  546. e.alpha = 0;
  547. var t = createjs.Ease.sineIn;
  548. createjs.Tween.get(e, {
  549. override: !0,
  550. loop: !0
  551. }).to({
  552. alpha: 1
  553. }, 500, t).wait(500).to({
  554. y: 200
  555. }, 1e3, t).to({
  556. alpha: 0
  557. }, 300, t).wait(1e3)
  558. } else 2 == y50 ? y289(80, 323, "levelinstruction3") : 4 == y50 ? y289(200, 80, "levelinstruction5") : 5 == y50 ? y289(160, 80, "levelinstruction6") : 8 == y50 ? (y289(45, 10, "levelinstruction9"), y289(96, 300, "levelinstruction91")) : 11 == y50 ? y289(0, 217, "levelinstruction11") : 14 == y50 && y289(90, 80, "levelinstruction13")
  559. }
  560. function disposeInstructions() {
  561. for (; 0 < y375.length;) {
  562. var e = y375.pop();
  563. createjs.Tween.removeTweens(e);
  564. y206(e)
  565. }
  566. }
  567. function loadMinigame(e) {
  568. disposeLevel();
  569. addInstructions();
  570. setCloudsVisibility(!1);
  571. isMinigame = !0;
  572. lightsV.visible = !0;
  573. isShadowDisabled || (shadowContainer.visible = !0);
  574. hitObj = getBlockFromPool(BLOCK_BRICK_TYPE, y390);
  575. hitObj.setPos(0, 0);
  576. y206(hitObj.y30);
  577. y206(hitObj.eye);
  578. y206(hitObj.shadowVis);
  579. hitObj.y30.scaleX = 4;
  580. hitObj.y30.scaleY = 3;
  581. launchWaitTimer = -1;
  582. createLauncher();
  583. showMinigameInterface();
  584. coinsCounter = 0;
  585. lastUpdate = 1e4;
  586. setMinigameParamsByLevel();
  587. updateTimerTxt();
  588. updateMinigameTxt();
  589. y96("minigame start");
  590. isMinigameFinished = !1;
  591. y303()
  592. }
  593. function setMinigameParamsByLevel() {
  594. var e = 1;
  595. BLACK_CHANCE = .1;
  596. switch (y50) {
  597. case 5:
  598. e = 30;
  599. BLACK_CHANCE = .1;
  600. break;
  601. case 10:
  602. e = 45;
  603. BLACK_CHANCE = .15;
  604. break;
  605. case 15:
  606. e = 40, BLACK_CHANCE = .25
  607. }
  608. minigameTimer = 1200;
  609. levelTotalStarsNum = e
  610. }
  611. function disposeMinigame() {
  612. isMinigameFinished = isMinigame = !1;
  613. launcher && launcher.dispose();
  614. launcher = null;
  615. hideMinigameInterface()
  616. }
  617. function createLauncher() {
  618. launcher = getBlockFromPool(BLOCK_HERO_TYPE, y390);
  619. launcher.setIndex(0, 0);
  620. allBlocks.push(launcher);
  621. launcher.y30.removeAllEventListeners();
  622. launcher.y30.addEventListener("mousedown", onLauncherMouseDown);
  623. launcher.y30.addEventListener("pressmove", onLauncherMouseMove);
  624. launcher.y30.addEventListener("pressup", onLauncherMouseUp);
  625. var e = oh - y199() / 3 - 10;
  626. launcher.setPos(ow / 2, e + 50);
  627. launcher.y30.alpha = 0;
  628. createjs.Tween.get(launcher.y30, {
  629. override: !0
  630. }).to({
  631. alpha: 1,
  632. y: e
  633. }, 200);
  634. launcher.y30.hitArea = hitObj.y30;
  635. isLaunched = !1
  636. }
  637. function IsMinigameLevel(e) {
  638. return 5 === e || 10 === e || 15 === e
  639. }
  640. function minigameUpdate() {
  641. if (isMinigame && !isMinigameFinished && !(0 > minigameTimer)) {
  642. if (14 < Math.abs(lastUpdate - y87)) {
  643. lastUpdate = y87;
  644. var e = Math.random(),
  645. t = !1;
  646. Math.random() < BLACK_CHANCE ? (t = !0, e = .5 < e ? DIR_RIGHT : DIR_LEFT) : e = .9 < e ? DIR_BOTTOM : .8 < e ? DIR_UP : .4 < e ? DIR_RIGHT : DIR_LEFT;
  647. e = createMiniGameCoin(e);
  648. t && e && (e.isBlackStar = !0, e.y30.gotoAndStop("starsblack"))
  649. }
  650. launchWaitTimer -= y327;
  651. 0 >= launchWaitTimer && isLaunched && (isHeroMoving = !1, createLauncher());
  652. var n, r;
  653. isCoinsChanged = !1;
  654. for (var i = 0; i < allBlocks.length; i++)
  655. for (var t = allBlocks[i], s = 0; s < allBonuses.length; s++) r = allBonuses[s], r.isStarCollected || (e = Math.abs(r.y30.x - t.y30.x), n = Math.abs(r.y30.y - t.y30.y), 45 > e && 45 > n && (r.isStarCollected = !0, r.isBlackStar ? (y246(!1, 10), coinsCounter -= 1, coinsCounter = Math.max(0, coinsCounter), y141("lose")) : (coinsCounter += 1, playCoinSound()), levelCollectedStarsNum = coinsCounter, isCoinsChanged = !0, createjs.Tween.removeTweens(r), createjs.Tween.get(r.y30, {
  656. override: !0
  657. }).to({
  658. alpha: 0,
  659. y: r.y30.y - 30
  660. }, 400).call(coinMoveEnd)));
  661. isCoinsChanged && updateMinigameTxt();
  662. isGamePaused || (isDisableWin || (minigameTimer -= y327), updateTimerTxt(), 0 > minigameTimer && (y487(), isMinigameFinished = !0))
  663. }
  664. }
  665. function updateMinigameFinishInterface() {
  666. isMinigameFinished && updateMinigameTxt("/" + levelTotalStarsNum)
  667. }
  668. function updateTimerTxt() {
  669. for (var e = Math.max(0, Math.floor(minigameTimer / 30)) + "", t = e.length, n = 0; n < 2 - t; n++) e = "0" + e;
  670. txtMinigameTimer.text = e
  671. }
  672. function updateMinigameTxt(e) {
  673. for (var t = coinsCounter + "", n = t.length, r = 0; r < 3 - n; r++) t = "0" + t;
  674. txtMinigameCoins.text = t + (e ? e : "")
  675. }
  676. function createMiniGameCoin(e) {
  677. var t = getBonusFromPool(STAR_TYPE, y390);
  678. allBonuses.push(t);
  679. t.y30.alpha = 0;
  680. var n, r, i, s, o = 40;
  681. e == DIR_LEFT && (n = ow + o, r = 40 + Math.random() * (oh - 100), i = 0, o = -o);
  682. e == DIR_RIGHT && (n = getMaxLeft() - 70 - o, r = 40 + Math.random() * (oh - 100), i = ow);
  683. e == DIR_UP && (r = oh - y199() / 2 + o, n = 20 + Math.random() * (ow - 40), s = y199() / 2, o = -o);
  684. e == DIR_BOTTOM && (r = y199() / 2 - o, n = 20 + Math.random() * (ow - 40), s = oh - y199() / 2);
  685. t.setPos(n, r);
  686. e == DIR_LEFT || e == DIR_RIGHT ? createjs.Tween.get(t.y30).to({
  687. x: n + o,
  688. alpha: 1
  689. }, 200).to({
  690. x: i
  691. }, 3e3).to({
  692. x: i + o,
  693. alpha: 0
  694. }, 200).call(coinMoveEnd) : createjs.Tween.get(t.y30).to({
  695. y: r + o,
  696. alpha: 1
  697. }, 200).to({
  698. y: s
  699. }, 3e3).to({
  700. y: s + o,
  701. alpha: 0
  702. }, 200).call(coinMoveEnd);
  703. return t
  704. }
  705. function coinMoveEnd(e) {
  706. e.target.baseBlock.dispose()
  707. }
  708. function onLauncherMouseDown(e) {
  709. if (!isHeroMoving && !isGamePaused) {
  710. var t = e.target.baseBlock;
  711. if (!t.isDrag) {
  712. t.isDrag = !0;
  713. var n = e.target,
  714. r = n.localToGlobal(0, -25);
  715. t.startStageX = r.x;
  716. t.startStageY = r.y;
  717. t.rememberPos();
  718. t.offsetX = n.x * scaleFactor - e.stageX + y497.x;
  719. t.offsetY = n.y * scaleFactor - e.stageY + y497.y;
  720. isHeroMoving = !0
  721. }
  722. }
  723. }
  724. function onLauncherMouseMove(e) {
  725. if (!isGamePaused) {
  726. var t = e.target.baseBlock;
  727. t.deltaMove(t.y12 + (y497.x - e.stageX) / scaleFactor, t.y13 + (y497.y - e.stageY) / scaleFactor)
  728. }
  729. }
  730. function onLauncherMouseUp(e) {
  731. if (!isGamePaused) {
  732. var t = e.target.baseBlock,
  733. n = e.target,
  734. t = Math.atan2(e.stageY - t.startStageY, e.stageX - t.startStageX);
  735. isLaunched = !0;
  736. launchWaitTimer = 15;
  737. e = n.x + 600 * Math.cos(t);
  738. t = n.y + 600 * Math.sin(t);
  739. createjs.Tween.get(n).to({
  740. x: e,
  741. y: t
  742. }, 1e3).to({
  743. alpha: 0
  744. }, 100).call(coinMoveEnd);
  745. playLaunchSound()
  746. }
  747. }
  748. function initSoundManager() {
  749. isDesktop() || createjs.Sound.registerPlugins([createjs.WebAudioPlugin]);
  750. (isAudioSupported = createjs.Sound.initializeDefaultPlugins()) && y286.push({
  751. src: "button-36.ogg|button-36.mp3",
  752. id: "clickSound",
  753. data: 1
  754. }, {
  755. src: "gamemusic.ogg|gamemusic.mp3",
  756. id: "y135",
  757. data: 1
  758. }, {
  759. src: "launch.ogg|launch.mp3",
  760. id: "launch0",
  761. data: 1
  762. }, {
  763. src: "launch2.ogg|launch2.mp3",
  764. id: "launch1",
  765. data: 1
  766. }, {
  767. src: "launch3.ogg|launch3.mp3",
  768. id: "launch2",
  769. data: 1
  770. }, {
  771. src: "launch4.ogg|launch4.mp3",
  772. id: "launch3",
  773. data: 1
  774. }, {
  775. src: "bonuspick.ogg|bonuspick.mp3",
  776. id: "bonuspick",
  777. data: 1
  778. }, {
  779. src: "icebreak.ogg|icebreak.mp3",
  780. id: "icebreak",
  781. data: 1
  782. }, {
  783. src: "lose.ogg|lose.mp3",
  784. id: "lose",
  785. data: 1
  786. }, {
  787. src: "electrodead.ogg|electrodead.mp3",
  788. id: "electrodead",
  789. data: 1
  790. }, {
  791. src: "coin5.ogg|coin5.mp3",
  792. id: "coin",
  793. data: 1
  794. }, {
  795. src: "buttonClick.ogg|buttonClick.mp3",
  796. id: "activator",
  797. data: 1
  798. }, {
  799. src: "levelcomplete.ogg|levelcomplete.mp3",
  800. id: "levelcomplete",
  801. data: 1
  802. }, {
  803. src: "star1sound.ogg|star1sound.mp3",
  804. id: "star1sound",
  805. data: 1
  806. }, {
  807. src: "star2sound.ogg|star2sound.mp3",
  808. id: "star2sound",
  809. data: 1
  810. }, {
  811. src: "star3sound.ogg|star3sound.mp3",
  812. id: "star3sound",
  813. data: 1
  814. })
  815. }
  816. function y141(e, t) {
  817. if (!isMute && isAudioSupported) return createjs.Sound.play(e, {
  818. interrupt: createjs.Sound.INTERRUPT_EARLY,
  819. loop: t ? -1 : 0
  820. })
  821. }
  822. function playInflateSound() {
  823. !isMute && isAudioSupported && (inflateSound ? inflateSound.play() : inflateSound = y141("inflateSound", !0))
  824. }
  825. function stopInflateSound() {
  826. isAudioSupported && inflateSound && inflateSound.stop()
  827. }
  828. function y91() {
  829. (isMute = !isMute) ? stopBgMusic(): y452();
  830. y301()
  831. }
  832. function y90() {
  833. y135 || y452()
  834. }
  835. function y452() {
  836. !isMute && isAudioSupported && (y135 ? y135.resume() : y135 = y141("y135", !0))
  837. }
  838. function stopBgMusic() {
  839. isAudioSupported && y135 && y135.pause()
  840. }
  841. function playLaunchSound() {
  842. y141("launch" + Math.floor(4 * Math.random()))
  843. }
  844. function playConnectSound() {
  845. y141("bonuspick")
  846. }
  847. function playCoinSound() {
  848. y141("coin")
  849. }
  850. function initBonusField() {
  851. for (var e = 0; e < FIELD_CELLS; e++) {
  852. for (var t = [], n = 0; n < FIELD_ROWS; n++) t.push(BLOCK_SPACE_TYPE);
  853. bonusMap.push(t)
  854. }
  855. }
  856. function createBonus(e, t, n, r) {
  857. r || (r = "bonus" + t + "r" + n);
  858. e = getBonusFromPool(e, y390, r);
  859. e.setPos(getXByCell(t), getYByRow(n));
  860. e.setIndex(t, n);
  861. isArrayContains(allBonuses, e) || (allBonuses.push(e), bonusMap[t][n] = e)
  862. }
  863. function updateActivators() {
  864. for (var e = 0; e < allBonuses.length; e++) allBonuses[e].checkActivating()
  865. }
  866. function getBonusCode() {
  867. for (var e = [], t = 0; t < allBonuses.length; t++) {
  868. var n = allBonuses[t],
  869. r = [];
  870. r.push(n.type);
  871. r.push(n.cell);
  872. r.push(n.row);
  873. e.push(r)
  874. }
  875. return e
  876. }
  877. function loadBonusesByCode(e) {
  878. if (e)
  879. for (var t = 0; t < e.length; t++) {
  880. var n = e[t];
  881. createBonus(n[0], n[1], n[2])
  882. }
  883. }
  884. function disposeBonuses() {
  885. var e = allBonuses.length,
  886. t;
  887. for (t = 0; t < e; t++) allBonuses.pop().dispose();
  888. for (t = 0; t < FIELD_CELLS; t++)
  889. for (e = 0; e < FIELD_ROWS; e++) bonusMap[t][e] = BLOCK_SPACE_TYPE
  890. }
  891. function disposeBonusAt(e, t) {
  892. for (var n, r = 0; r < allBonuses.length; r++) {
  893. var i = allBonuses[r];
  894. i.cell == e && i.row == t && (n = i)
  895. }
  896. n && n.dispose()
  897. }
  898. function y201Bonuses(e) {
  899. isArrayContains(disposedBonuses, e) || disposedBonuses.push(e)
  900. }
  901. function getBonusFromPool(e, t, n) {
  902. if (0 < disposedBonuses.length) {
  903. var r = disposedBonuses.pop();
  904. r.reset(e, t, n);
  905. return r
  906. }
  907. return new BlockBonus(e, t, n)
  908. }
  909. function checkStarCollide(e, t, n) {
  910. 0 > t || t > FIELD_CELLS - 1 || 0 > n || n > FIELD_ROWS - 1 || (currentBon = bonusMap[t][n], currentBon != BLOCK_SPACE_TYPE && currentBon.type == STAR_TYPE && currentBon.setCollectChance(e))
  911. }
  912. function updateStarsCollectionStatus(e) {
  913. for (var t = 0; t < allBonuses.length; t++) {
  914. var n = allBonuses[t];
  915. n.type == STAR_TYPE && n.checkCollect(e)
  916. }
  917. }
  918. function resetStarsCollectionSteps() {
  919. for (var e = 0; e < allBonuses.length; e++) {
  920. var t = allBonuses[e];
  921. t.type == STAR_TYPE && (t.collectSteps = 999, t.isNeedCollect = !1)
  922. }
  923. }
  924. function startStarCollection(e) {
  925. for (var t = 0; t < allBonuses.length; t++) {
  926. var n = allBonuses[t];
  927. n.type === STAR_TYPE && n.startCollectAnim(e)
  928. }
  929. }
  930. function updateBonusManager() {
  931. for (var e = 0; e < allBonuses.length; e++) allBonuses[e].tick()
  932. }
  933. function initInterface() {
  934. y213 = y481(25, 25, .6, "pausebtn", onPressStandartHandler, null, onPauseUp);
  935. y213.alpha = .7;
  936. y244 = createjs.Ease.getElasticOut(1, .35);
  937. y58();
  938. y81();
  939. y148();
  940. y270();
  941. createMinigameInterface();
  942. createBgForMenus();
  943. createSky();
  944. createBlinkWin();
  945. createComix();
  946. createSettingsWin();
  947. y167();
  948. y258();
  949. isGamePaused = !0;
  950. isSkipMenus ? y231() : y245(!1)
  951. }
  952. function createSky() {
  953. skyCont = new createjs.Container;
  954. allClouds = [];
  955. currCloud = y481(500, 40, 1, "tuchka1", null, skyCont, null);
  956. currCloud.speed = 1;
  957. currCloud.posIndex = 0;
  958. currCloud.animName = "tuchka2";
  959. allClouds.push(currCloud);
  960. currCloud = y481(500, 240, 1, "tuchka2", null, skyCont, null);
  961. currCloud.speed = 2;
  962. currCloud.posIndex = 1;
  963. currCloud.animName = "tuchka2";
  964. allClouds.push(currCloud);
  965. currCloud = y481(500, 170, .7, "tuchka2", null, skyCont, null);
  966. currCloud.speed = 2;
  967. currCloud.posIndex = 2;
  968. currCloud.animName = "tuchka2";
  969. allClouds.push(currCloud);
  970. lightsV = y481(getMaxLeft(), 0, 1.2, "lightsv", null, skyCont, null);
  971. lightsV.rotation = -90;
  972. y497.addChild(skyCont)
  973. }
  974. function updateCloudsSprite() {
  975. for (var e = 0; e < allClouds.length; e++) currCloud = allClouds[e], currCloud.gotoAndStop(currCloud.animName + BG_POSTFIX)
  976. }
  977. function updateSky() {
  978. lightsV.y = 20 * Math.cos(y87 / 100);
  979. for (var e = 0; e < allClouds.length; e++)
  980. if (currCloud = allClouds[e], currCloud.x += currCloud.speed * y327, 450 < currCloud.x) {
  981. currCloud.x = -200 - 100 * Math.random();
  982. currCloud.speed = .5 + 2 * Math.random();
  983. currCloud.y = y52 / 3 * currCloud.posIndex + y199() / 2 + 10 + 100 * Math.random();
  984. setSpriteScale(currCloud, .7 * Math.random() + .4);
  985. var t = .5 < Math.random() ? "tuchka1" : "tuchka2";
  986. currCloud.animName = t;
  987. currCloud.gotoAndStop(t + BG_POSTFIX)
  988. }
  989. }
  990. function setCloudsVisibility(e) {
  991. for (var t = 0; t < allClouds.length; t++) allClouds[t].visible = e
  992. }
  993. function createBgForMenus() {}
  994. function showBgForMenus(e) {}
  995. function hideBgForMenus(e) {}
  996. function showFPSMeter() {
  997. isNeedFpsMeter && y110(y356, y497)
  998. }
  999. function y231() {
  1000. y213.parent || y497.addChild(y213);
  1001. showFPSMeter();
  1002. showIngameSponsorLogo()
  1003. }
  1004. function y181() {
  1005. y213.parent && y497.removeChild(y213)
  1006. }
  1007. function onPauseUp(e) {
  1008. isGamePaused || isLevelCompleted || (y380(e.target), isCursorOutMoved(e) || (y141("clickSound"), y173()))
  1009. }
  1010. function y100() {
  1011. y348 = new createjs.Container;
  1012. y503 = y481(-1, 0, 10, "tintbg", null, y348, null);
  1013. y503.scaleY = 9.8;
  1014. y257 = y481(160, 172, 1, "playbtnup", y475, y348, y305);
  1015. y106 = y481(160, 250, 1, "notcollidegrow", null, y348, null);
  1016. y106.visible = !1;
  1017. y227 = new y514(y230, "level", 1, 5, 9, 160, 60, "#FAEE97", "#981623", 34, "center", y348, !1, !0)
  1018. }
  1019. function y475(e) {
  1020. isGamePaused && (e.target.gotoAndStop("downplaybtn"), e.target.scaleX = e.target.scaleY = 1.1)
  1021. }
  1022. function y305(e) {
  1023. isGamePaused && (e.target.gotoAndStop("playbtnup"), e.target.scaleX = e.target.scaleY = 1, isCursorOutMoved(e) || (y353(), isGamePaused = !1, y141("clickSound")))
  1024. }
  1025. function y489() {
  1026. isGamePaused = !0;
  1027. y503.mouseEnabled = !0;
  1028. y227.setText("level", (y50 + 1).toString());
  1029. createjs.Tween.removeTweens(y348);
  1030. y348.alpha = 1;
  1031. isInstructionExist ? (y257.y = 172, y227.setPos(160, 60)) : (y257.y = 222, y227.setPos(160, 110));
  1032. y348.parent || y497.addChild(y348)
  1033. }
  1034. function y353() {
  1035. y503.mouseEnabled = !1;
  1036. createjs.Tween.removeTweens(y348);
  1037. y348.alpha = 1;
  1038. createjs.Tween.get(y348, {
  1039. override: !0
  1040. }).to({
  1041. alpha: 0
  1042. }, 250).call(y411)
  1043. }
  1044. function y334() {
  1045. y367 = new createjs.Container;
  1046. y481(-1, 0, 10, "tint2", null, y367).scaleY = 9.8;
  1047. y68 = new y514(y230, "tryagain", 2, 6, 13, 160, 193, "#FAEE97", "#981623", 40, "center", y367, !1, !1);
  1048. y45 = new y514(y230, "lostallfish", 2, 6, y259, 160, 125, "#FAEE97", "#981623", 20, "center", y367, !1, !0);
  1049. y97 = y481(160, 283, 1, "restartbtn", y112, y367, y309);
  1050. y95 = y481(160, 49, 1, "moreeasybtn", onMoreEasyPress, y367, onMoreEasyUp)
  1051. }
  1052. function onMoreEasyPress(e) {
  1053. e.target.scaleX = e.target.scaleY = 1.1
  1054. }
  1055. function onMoreEasyUp(e) {
  1056. e.target.scaleX = e.target.scaleY = 1;
  1057. isCursorOutMoved(e) || (MORE_EASY_MULT += .5, y425(), y507(), y92(), y141("clickSound"))
  1058. }
  1059. function y112(e) {
  1060. e.target.scaleX = e.target.scaleY = 1.1
  1061. }
  1062. function y309(e) {
  1063. e.target.scaleX = e.target.scaleY = 1;
  1064. isCursorOutMoved(e) || (y425(), y507(), y92(), y141("clickSound"))
  1065. }
  1066. function y117() {
  1067. y367.parent || y497.addChild(y367);
  1068. isLevelRestarted = !0;
  1069. disposeInstructions();
  1070. y68.updateCache();
  1071. y45.updateCache();
  1072. y92();
  1073. createjs.Tween.removeTweens(y367);
  1074. y367.alpha = 0;
  1075. createjs.Tween.get(y367, {
  1076. override: !0
  1077. }).to({
  1078. alpha: 1
  1079. }, 300);
  1080. var e = createjs.Ease.bounceOut;
  1081. y97.scaleX = y97.scaleY = 1;
  1082. createjs.Tween.get(y97, {
  1083. override: !0,
  1084. loop: !0
  1085. }).to({
  1086. scaleX: 1.2,
  1087. scaleY: 1.2
  1088. }, 3e3, e).wait(1e3).to({
  1089. scaleX: 1,
  1090. scaleY: 1
  1091. }, 3e3, e);
  1092. y141("restartSound")
  1093. }
  1094. function y425() {
  1095. y206(y367);
  1096. createjs.Tween.removeTweens(y97)
  1097. }
  1098. function y58() {
  1099. y234 = new createjs.Container;
  1100. y347Btn = y481(160, 330, .5, "moregamesbtn", y254, y234, null);
  1101. y210 = y481(161, 300, 1, "playbtnup", null, y234, y365);
  1102. y428 = y481(240, 228, .8, "btnbaseup", onPressStandartHandler, y234, y71);
  1103. settingsBtn = y481(240, 228, .7, "settingsicon", onPressStandartHandler, y234, onSettingsUp);
  1104. y267 = y481(80, 228, .5, "musiconbtn", onPressStandartHandler, y234, y125);
  1105. isAudioSupported || (y267.visible = !1)
  1106. }
  1107. function onMainMenuPlayPress(e) {
  1108. y506(e.target)
  1109. }
  1110. function y125(e) {
  1111. y380(e.target);
  1112. isCursorOutMoved(e) || (y91(), y399(e.target), y141("clickSound"))
  1113. }
  1114. function y399(e) {
  1115. e.gotoAndStop(isMute ? y184 : UNy184)
  1116. }
  1117. function y245(e) {
  1118. setCloudsVisibility(!1);
  1119. setBgByLevel(0, !0, 2);
  1120. y497.addChild(y234);
  1121. y399(y267);
  1122. y210.scaleX = y210.scaleY = .7;
  1123. showFPSMeter();
  1124. y379(160, 378, 1, y234, 1, y496, y73, 2, 0);
  1125. e ? (y234.x = -400, y234.alpha = 0, createjs.Tween.removeTweens(y234), createjs.Tween.get(y234, {
  1126. override: !0
  1127. }).to({
  1128. alpha: 1,
  1129. x: 0
  1130. }, 1300, y244).call(y245TweenComplete)) : y58Tweens()
  1131. }
  1132. function y245TweenComplete(e) {
  1133. y58Tweens()
  1134. }
  1135. function y203() {
  1136. disposeMainMenuTweens();
  1137. createjs.Tween.get(y234, {
  1138. override: !0
  1139. }).to({
  1140. alpha: 0,
  1141. x: -400
  1142. }, 200).call(y203TweenComplete)
  1143. }
  1144. function y203TweenComplete(e) {
  1145. e = e.target;
  1146. e.alpha = 1;
  1147. y210.scaleX = y210.scaleY = 1;
  1148. e.parent && y497.removeChild(e)
  1149. }
  1150. function y443(e, t) {
  1151. return y481(e + ow / 2, t + oh / 2, 1, "bigbgwindow", null, null, null)
  1152. }
  1153. function y58Tweens() {
  1154. y210.scaleX = y210.scaleY = .7;
  1155. createjs.Tween.get(y210, {
  1156. override: !0,
  1157. loop: !0
  1158. }).to({
  1159. scaleX: .8,
  1160. scaleY: .8
  1161. }, 1500, createjs.Ease.sineIn).to({
  1162. scaleX: .7,
  1163. scaleY: .7
  1164. }, 1500, createjs.Ease.sineIn)
  1165. }
  1166. function disposeMainMenuTweens() {
  1167. createjs.Tween.removeTweens(y210)
  1168. }
  1169. function y88(e) {}
  1170. function y365(e) {
  1171. isCursorOutMoved(e) || (y141("clickSound"), y203(), y337(), y90())
  1172. }
  1173. function onAchievGalleryPress(e) {
  1174. y506(e.target)
  1175. }
  1176. function onAchievGalleryUp(e) {
  1177. y380(e.target);
  1178. isCursorOutMoved(e) || y141("clickSound")
  1179. }
  1180. function y417(e) {
  1181. y506(e.target);
  1182. y96("play credits!")
  1183. }
  1184. function onSettingsUp(e) {
  1185. y380(e.target);
  1186. isCursorOutMoved(e) || (y141("clickSound"), y203(), showSettingsWin())
  1187. }
  1188. function y71(e) {
  1189. y380(e.target);
  1190. isCursorOutMoved(e) || (y141("clickSound"), y203(), y247())
  1191. }
  1192. function y481(e, t, n, r, i, s, o) {
  1193. var u = new createjs.Sprite(y355);
  1194. u.x = e;
  1195. u.y = t;
  1196. u.scaleX = u.scaleY = n;
  1197. u.gotoAndStop(r);
  1198. u.defaultScale = n;
  1199. o && u.addEventListener("pressup", o, !1);
  1200. i && u.addEventListener("mousedown", i, !1);
  1201. i || o ? (u.cursor = "pointer", (e = y355.getAnimation(r)) && e.frames && 0 < e.frames.length && (e = y355.getFrameBounds(e.frames[0]), u.setBoundingBox(e.x * n, e.y * n, e.width * n, e.height * n))) : u.mouseEnabled = !1;
  1202. s && s.addChild(u);
  1203. return u
  1204. }
  1205. function y81() {
  1206. y284 = new createjs.Container;
  1207. y284.name = "levelselcont";
  1208. y343 = new createjs.Container;
  1209. y343.name = "y343";
  1210. y253 = new createjs.Container;
  1211. y316 = y481(30, 270, .6, "backbtn", onPressStandartHandler, y343, y217);
  1212. y421();
  1213. y284.addChild(y343);
  1214. y284.y = 30;
  1215. y481(240, 335, .5, "moregamesbtn", y254, y343, null)
  1216. }
  1217. function y427(e, t, n, r) {
  1218. return new createjs.Shadow(n, e, t, r)
  1219. }
  1220. function y196(e) {
  1221. y85.push(e)
  1222. }
  1223. function y377(e) {
  1224. e.cache(-10, -10, ow + 20, oh + 20)
  1225. }
  1226. function uny196(e) {
  1227. e.uncache()
  1228. }
  1229. function onPressStandartHandler(e) {
  1230. y506(e.target)
  1231. }
  1232. function y421() {
  1233. for (var e = 0; e < y208; e++) {
  1234. var t = Math.floor(e / 4),
  1235. t = y481(60 + 10 * t + 60 * (e % 4), 33 + 60 * t, .8, "lvlLabelStar0", onPressStandartHandler, y343, y294);
  1236. t.levelNum = e;
  1237. y113.push(t);
  1238. var n = new createjs.BitmapText("", y355);
  1239. n.scaleX = n.scaleY = .6;
  1240. n.letterSpacing = 0;
  1241. n.x = t.x;
  1242. n.postfix = "i";
  1243. y124(t.x, t.y - 18, (e + 1).toString(), n);
  1244. n.y = t.y - 18;
  1245. n.mouseEnabled = !1;
  1246. t.txtNum = n
  1247. }
  1248. }
  1249. function y504() {
  1250. for (var e = 0; e < y208; e++) {
  1251. var t = e <= y345;
  1252. isOpenAllLevels && (t = !0);
  1253. var n;
  1254. n = t ? "lvlLabelStar" + y191(e) : "levelbuttonlocked";
  1255. var r = y113[e];
  1256. r.gotoAndStop(n);
  1257. (r.isOpened = t) ? r.txtNum.parent || r.parent.addChild(r.txtNum): r.txtNum.parent && r.parent.removeChild(r.txtNum)
  1258. }
  1259. }
  1260. function y294(e) {
  1261. var t = e.target;
  1262. y380(e.target);
  1263. isCursorOutMoved(e) || (t.isOpened ? (y389 = 0, y291(), 1 > t.levelNum ? showComix() : (y192(t.levelNum), y187(), y231(), hideBgForMenus(!0))) : y141("clickSound"))
  1264. }
  1265. function y265(e) {}
  1266. function y217(e) {
  1267. y380(e.target);
  1268. isCursorOutMoved(e) || (y291(), y245(!0), startBlink(700, "tint2"), y141("clickSound"))
  1269. }
  1270. function y493(e) {
  1271. isTweened(y343) || (e = e.target, e.scaleX = e.scaleY = 1.2, y343.updateCache())
  1272. }
  1273. function y224(e) {
  1274. var t = e.target;
  1275. t.scaleX = t.scaleY = 1;
  1276. isCursorOutMoved(e) ? y343.updateCache() : (y343.x = 0, y343.alpha = 1, createjs.Tween.get(y343, {
  1277. override: !0
  1278. }).to({
  1279. alpha: 0,
  1280. x: -400
  1281. }, 300).call(y411), y284.addChild(y253), y253.x = 200, y253.updateCache(), y253.alpha = 0, createjs.Tween.get(y253, {
  1282. override: !0
  1283. }).to({
  1284. alpha: 1,
  1285. x: 0
  1286. }, 700, createjs.Ease.bounceOut), y141("clickSound"))
  1287. }
  1288. function y239(e) {
  1289. isTweened(y253) || (e = e.target, e.scaleX = e.scaleY = 1.2, y253.updateCache())
  1290. }
  1291. function y426(e) {
  1292. var t = e.target;
  1293. t.scaleX = t.scaleY = 1;
  1294. isCursorOutMoved(e) ? y253.updateCache() : (y253.x = 0, y253.alpha = 1, createjs.Tween.get(y253, {
  1295. override: !0
  1296. }).to({
  1297. alpha: 0,
  1298. x: 400
  1299. }, 300).call(y411), y343.x = -200, y284.addChild(y343), y343.updateCache(), y343.alpha = 0, createjs.Tween.get(y343, {
  1300. override: !0
  1301. }).to({
  1302. alpha: 1,
  1303. x: 0
  1304. }, 700, createjs.Ease.bounceOut), y141("clickSound"))
  1305. }
  1306. function y337() {
  1307. y497.addChild(y284);
  1308. setBgByLevel(0, !0, 0);
  1309. y504();
  1310. y343.parent || y284.addChild(y343);
  1311. y343.x = 0;
  1312. y343.alpha = 1;
  1313. y284.x = 400;
  1314. y284.alpha = 0;
  1315. createjs.Tween.get(y284, {
  1316. override: !0
  1317. }).to({
  1318. alpha: 1,
  1319. x: 0
  1320. }, 1300, y244);
  1321. startBlink(400, "tint2");
  1322. y379(120, 338, .8, y284, 1, y496, y444, 2, 0)
  1323. }
  1324. function y291() {
  1325. createjs.Tween.removeTweens(y284);
  1326. createjs.Tween.get(y284, {
  1327. override: !0
  1328. }).to({
  1329. alpha: 0,
  1330. x: 400
  1331. }, 200).call(y411)
  1332. }
  1333. function y187() {
  1334. createjs.Tween.removeTweens(y390);
  1335. y390.parent || y497.addChild(y390);
  1336. y390.alpha = 0;
  1337. y390.visible = !0;
  1338. createjs.Tween.get(y390, {
  1339. override: !0
  1340. }).to({
  1341. alpha: 1
  1342. }, 400);
  1343. showIngameSponsorLogo()
  1344. }
  1345. function y438(e, t) {
  1346. isGamePaused = !0;
  1347. createjs.Tween.removeTweens(y390);
  1348. createjs.Tween.get(y390, {
  1349. override: !0
  1350. }).to({
  1351. alpha: 0,
  1352. visible: !1
  1353. }, t ? t : 50).call(y206)
  1354. }
  1355. function y148() {
  1356. y136 = new createjs.Container;
  1357. y136.x = 160;
  1358. y136.y = 192;
  1359. levelCompleteBg = y481(0, 0, 1, "lvlcompletebgnew", null, y136);
  1360. y121 = y481(65, 60, .8, "backbtn", onPressStandartHandler, y136, y197);
  1361. y121.rotation = -180;
  1362. y481(-65, 60, .6, "restartbtn", onPressStandartHandler, y136, y248);
  1363. star1 = y481(-71, -29, 1, "completestar");
  1364. star2 = y481(0, -60, 1, "completestar");
  1365. star3 = y481(71, -29, 1, "completestar");
  1366. y256 = new y514(y230, "nothing", 1, 5, 10, 140, 65, "#DAFFEE", "#FB69FF", 70, "center", y136, !1, !1);
  1367. y256 = new createjs.BitmapText("0", y355);
  1368. y256.scaleX = y256.scaleY = .8;
  1369. y256.y = -5;
  1370. y256.mouseEnabled = !1;
  1371. y136.addChild(y256);
  1372. moreGamesLvlCompleteBtn = y481(-95, 145, .6, "moregamesbtn", y254, y136, null)
  1373. }
  1374. function y248(e) {
  1375. y380(e.target);
  1376. isCursorOutMoved(e) || (y141("clickSound"), MORE_EASY_MULT = 1, y507(), y389 = 0, y187(), y384())
  1377. }
  1378. function y197(e) {
  1379. y380(e.target);
  1380. isCursorOutMoved(e) || (y141("clickSound"), y384(), e = y240(), -1 < e ? y467(e) : y50 >= y208 - 1 ? (y181(), disposeLevel(), y174()) : (y131(), y390.alpha = 1, y390.visible = !0, startBlink(700, "tint2")))
  1381. }
  1382. function y487() {
  1383. isLevelCompleted || (y181(), y124(0, null, (y50 + 1).toString(), y256), createjs.Tween.get(y390, {
  1384. override: !0
  1385. }).wait(600).call(startLevelCompleteScreen), y50StarsNum = y126, levelCollectedStarsNum >= levelTotalStarsNum ? y50StarsNum = y94 : 0 < levelCollectedStarsNum && (y50StarsNum = y138), y101(y50StarsNum), y141("winSound"))
  1386. }
  1387. function startLevelCompleteScreen(e) {
  1388. disposeInstructions();
  1389. createjs.Tween.removeTweens(y136);
  1390. y206(star1);
  1391. y206(star2);
  1392. y206(star3);
  1393. setBgByLevel(0, !0, 3);
  1394. setCloudsVisibility(!1);
  1395. lightsV.visible = !1;
  1396. y390.visible = !1;
  1397. shadowContainer.visible = !1;
  1398. y110(y136, y497);
  1399. setParticlesToFront();
  1400. y136.scaleX = y136.scaleY = .6;
  1401. y136.alpha = 0;
  1402. createjs.Tween.get(y136, {
  1403. override: !0
  1404. }).wait(500).to({
  1405. alpha: 1,
  1406. scaleX: 1,
  1407. scaleY: 1
  1408. }, 1e3, y244).call(y166);
  1409. startBlink(700, "tint2");
  1410. y141("levelcomplete");
  1411. isMinigame ? (y379(160, 378, .8, y497, 1, y496, y73, 2), timerIcon.visible = txtMinigameTimer.visible = !1) : y379(160, 378, .8, y497, 1, y496, y73, 2);
  1412. updateMinigameFinishInterface();
  1413. y303();
  1414. startSponsorAds()
  1415. }
  1416. function y166(e) {
  1417. y205(star1, 20, 1, "star1sound");
  1418. y50StarsNum >= y138 && y205(star2, 600, 1, "star2sound");
  1419. y50StarsNum >= y94 && y205(star3, 1200, 1, "star3sound")
  1420. }
  1421. function y205(e, t, n, r) {
  1422. y136.addChild(e);
  1423. e.alpha = 0;
  1424. e.scaleX = e.scaleY = .2;
  1425. e.rotation = 0;
  1426. createjs.Tween.get(e, {
  1427. override: !0
  1428. }).wait(t).call(function() {
  1429. y141(r)
  1430. }).to({
  1431. alpha: 1,
  1432. rotation: 360,
  1433. scaleX: n,
  1434. scaleY: n
  1435. }, 400).call(function() {
  1436. y53Explode(e.x + 160, e.y + 190, 8, y160, null, 1)
  1437. })
  1438. }
  1439. function y384() {
  1440. createjs.Tween.removeTweens(star1);
  1441. createjs.Tween.removeTweens(star2);
  1442. createjs.Tween.removeTweens(star3);
  1443. createjs.Tween.removeTweens(y136);
  1444. y206(y136);
  1445. y231()
  1446. }
  1447. function y270() {
  1448. y162 = new createjs.Container;
  1449. y481(78, 210, .8, "quitbtn", onPressStandartHandler, y162, y372);
  1450. y288 = y481(160, 210, .8, "musiconbtn", onPressStandartHandler, y162, y80);
  1451. isAudioSupported || (y288.visible = !1);
  1452. y481(243, 210, .8, "restartbtn", onPressStandartHandler, y162, y490);
  1453. y448 = y481(162, 122, 1, "playbtnup", onPressStandartHandler, y162, y158);
  1454. y481(160, 300, .7, "moregamesbtn", y254, y162, null)
  1455. }
  1456. function y80(e) {
  1457. y380(e.target);
  1458. isCursorOutMoved(e) || (y91(), y399(e.target), isMute || y141("clickSound"))
  1459. }
  1460. function y490(e) {
  1461. y380(e.target);
  1462. isCursorOutMoved(e) || (y141("clickSound"), y119(!1, !1), y187(), y507(), hideBgForMenus())
  1463. }
  1464. function y372(e) {
  1465. y380(e.target);
  1466. isCursorOutMoved(e) || (y141("clickSound"), isGamePaused = !0, disposeLevel(), y438(!0, 1), y119(!1, !0), y245(!0), startBlink(700, "tint2"))
  1467. }
  1468. function y158(e) {
  1469. y380(e.target);
  1470. isCursorOutMoved(e) || (y141("clickSound"), y119(!1, !1), showIngameSponsorLogo())
  1471. }
  1472. function showIngameSponsorLogo() {
  1473. if (isMinigame) y379(160, 23, .8, y497, 1, y496, y280, 2);
  1474. else switch (y115LogoPos[y50]) {
  1475. default: y379(160, 378, .8, y497, 1, y496, y73, 2)
  1476. }
  1477. }
  1478. function y173() {
  1479. isGamePaused || isLevelCompleted || (isGamePaused = !0, stopInflateSound(), y181(), y399(y288), showBgForMenus(), y497.addChild(y162), y162.x = -400, y162.y = -250, y162.alpha = 0, createjs.Tween.get(y162).to({
  1480. alpha: 1,
  1481. x: 0,
  1482. y: 0
  1483. }, 1300, y244), y379(160, 30, .9, y162, 1, y496, y280, 2, 0))
  1484. }
  1485. function y119(e, t) {
  1486. isGamePaused = !1;
  1487. createjs.Tween.removeTweens(y162);
  1488. createjs.Tween.get(y162).to({
  1489. alpha: 0,
  1490. x: 400,
  1491. y: 700
  1492. }, 300).call(y411);
  1493. t || y231()
  1494. }
  1495. function y430() {
  1496. y212 = new createjs.Container;
  1497. y481(-1, 0, 10, "tintbg", null, y212).scaleY = 9.8;
  1498. y508 = new y514(y230, "newachiev", 3, 6, 16, 160, 30, "#E44959", "#981422", 34, "center", y212, !1, !1);
  1499. y481(160, 313, 1, "nextlevelwin", y480, y212);
  1500. y66 = y481(160, 162, 1.34, "y66v", null, y212);
  1501. y481(160, 172, 1, "achievbtn", null, y212).rotation = 10;
  1502. y469 = new y514(y230, "nothing", 1, 4, 30, 160, 253, "#FAEE97", "#981623", 20, "center", y212, !1, !1)
  1503. }
  1504. function y480(e) {
  1505. y447();
  1506. y50 >= y208 - 1 ? (y181(), disposeLevel(), y174()) : (y231(), y131(), y187())
  1507. }
  1508. function y467(e) {
  1509. y212.parent || y497.addChild(y212);
  1510. disposeLevel();
  1511. y92();
  1512. y181();
  1513. y508.updateCache();
  1514. y66.rotation = 0;
  1515. createjs.Tween.get(y66, {
  1516. override: !0,
  1517. loop: !0
  1518. }).to({
  1519. rotation: 180
  1520. }, 4e3);
  1521. y96("achiev" + Math.round(e));
  1522. y469.setText("achiev" + Math.round(e));
  1523. y200[e] = y371;
  1524. y283();
  1525. createjs.Tween.removeTweens(y212);
  1526. y212.alpha = 0;
  1527. createjs.Tween.get(y212, {
  1528. override: !0
  1529. }).to({
  1530. alpha: 1
  1531. }, 300).call(function() {
  1532. y141("achievSound")
  1533. })
  1534. }
  1535. function y447() {
  1536. createjs.Tween.removeTweens(y66);
  1537. y206(y212)
  1538. }
  1539. function y240() {
  1540. return -1
  1541. }
  1542. function isAlreadyAchieved(e) {
  1543. return y200[e] == y371
  1544. }
  1545. function y398() {
  1546. y176 = new createjs.Container;
  1547. y176.addChild(y443(0, 0));
  1548. y481(32, 41, .45, "achievbtn", null, y176).rotation = -14;
  1549. y481(290, 41, .45, "achievbtn", null, y176).rotation = 12;
  1550. y424 = new y514(y230, "achievements", 3, 6, 12, 160, 22, "#E44959", "#981422", 32, "center", y176, !0, !1);
  1551. y61();
  1552. y120 = y481(32, 322, 1, "backbtn", y129, y176, y242)
  1553. }
  1554. function y61() {
  1555. for (var e = 0; e < y369; e++) {
  1556. var t = 30 * e;
  1557. if (0 != e % 2) {
  1558. var n = y481(5, 53 + t, 1, "tintbg", null, y176, null);
  1559. n.scaleX = 9.8;
  1560. n.scaleY = .75
  1561. }
  1562. n = y481(160, 66 + t, 1, "achievclosed", null, y176, null);
  1563. t = new y514(y230, "achiev" + e.toString(), 1, 4, 30, 160, 66 + t, "#FAEE97", "#981623", 20, "center", y176, !1, !1);
  1564. n.txt = t;
  1565. y378.push(n)
  1566. }
  1567. }
  1568. function y260() {
  1569. for (var e = 0; e < y369; e++) {
  1570. var t, n = y378[e];
  1571. y200[e] == y371 ? (n.visible = !1, n.txt.setVisibility(!0), n.txt.updateCache()) : (n.txt.setVisibility(!1), n.visible = !0, t = "achievclosed");
  1572. n.gotoAndStop(t)
  1573. }
  1574. }
  1575. function y129(e) {
  1576. e = e.target;
  1577. e.scaleX = e.scaleY = 1.2;
  1578. y176.updateCache()
  1579. }
  1580. function y242(e) {
  1581. var t = e.target;
  1582. t.scaleX = t.scaleY = 1;
  1583. isCursorOutMoved(e) ? y176.updateCache() : (y141("clickSound"), y432(), y245(!0))
  1584. }
  1585. function y219() {
  1586. y497.addChild(y176);
  1587. y260();
  1588. y424.updateCache();
  1589. y196(y176);
  1590. y176.x = 400;
  1591. y176.alpha = 0;
  1592. createjs.Tween.get(y176, {
  1593. override: !0
  1594. }).to({
  1595. alpha: 1,
  1596. x: 0
  1597. }, 1300, y244)
  1598. }
  1599. function y432() {
  1600. createjs.Tween.removeTweens(y176);
  1601. createjs.Tween.get(y176, {
  1602. override: !0
  1603. }).to({
  1604. alpha: 0,
  1605. x: 400
  1606. }, 200).call(y285)
  1607. }
  1608. function y167() {
  1609. y67 = new createjs.Container;
  1610. y481(160, 311, .7, "backbtn", onPressStandartHandler, y67, y154);
  1611. y481(160, 150, 1, "biglimetxt", null, y67)
  1612. }
  1613. function y363(e) {
  1614. window.open("http://porubov.com", "_blank")
  1615. }
  1616. function y161(e) {
  1617. window.location = "mailto:seddas@gmail.com?subject=BattleFish"
  1618. }
  1619. function y154(e) {
  1620. y380(e.target);
  1621. isCursorOutMoved(e) || (y141("clickSound"), y435(), y245(!0))
  1622. }
  1623. function y247() {
  1624. setBgByLevel(0, !0, 1);
  1625. y497.addChild(y67);
  1626. y67.x = 400;
  1627. y67.alpha = 0;
  1628. createjs.Tween.get(y67, {
  1629. override: !0
  1630. }).to({
  1631. alpha: 1,
  1632. x: 0
  1633. }, 1300, y244);
  1634. startBlink(700, "tint2");
  1635. y379(160, 378, 1, y67, 1, y496, y73, 2, 0)
  1636. }
  1637. function y435() {
  1638. y206(y67);
  1639. startBlink(500, "tint2")
  1640. }
  1641. function y258() {
  1642. y341 = new createjs.Container;
  1643. y481(160, 260, .7, "quitbtn", onPressStandartHandler, y341, y243);
  1644. y481(160, 130, 1, "thanksv", null, y341);
  1645. y341.addChild(y405);
  1646. y481(160, 325, .5, "moregamesbtn", y254, y341, null)
  1647. }
  1648. function y243(e) {
  1649. y380(e.target);
  1650. isCursorOutMoved(e) || (y393(), y245(!0), startBlink(700, "tint2"), y141("clickSound"))
  1651. }
  1652. function y174() {
  1653. isGameCompleteScreenShow = !0;
  1654. y110(y341, y497);
  1655. y341.x = 400;
  1656. y341.alpha = 0;
  1657. createjs.Tween.get(y341, {
  1658. override: !0
  1659. }).to({
  1660. alpha: 1,
  1661. x: 0
  1662. }, 1300, createjs.Ease.elasticOut);
  1663. y379(160, 378, .8, y341, 1, y496, y73, 2)
  1664. }
  1665. function y393() {
  1666. isGameCompleteScreenShow = !1;
  1667. y415();
  1668. createjs.Tween.removeTweens(y341);
  1669. y206(y341)
  1670. }
  1671. function y285(e) {
  1672. e = e.target;
  1673. uny196(e);
  1674. e.parent && e.parent.removeChild(e)
  1675. }
  1676. function y411(e) {
  1677. e = e.target;
  1678. e.parent && e.parent.removeChild(e)
  1679. }
  1680. function isTweened(e) {
  1681. return createjs.Tween.hasActiveTweens(e)
  1682. }
  1683. function isCursorOutMoved(e) {
  1684. if (!isDesktop()) return !1;
  1685. y150 = e.target.globalToLocal(e.stageX, e.stageY);
  1686. return !e.target.hitTest(y150.x, y150.y)
  1687. }
  1688. function createMinigameInterface() {
  1689. minigameContainer = new createjs.Container;
  1690. minigameContainer.winscope = this;
  1691. timerIcon = y481(23, 335, .8, "timerv", null, minigameContainer);
  1692. coinsIcon = y481(232, 335, .8, "coininterface", null, minigameContainer);
  1693. txtMinigameTimer = new createjs.BitmapText("0", y355);
  1694. txtMinigameTimer.scaleX = txtMinigameTimer.scaleY = .5;
  1695. txtMinigameTimer.mouseEnabled = !1;
  1696. minigameContainer.addChild(txtMinigameTimer);
  1697. txtMinigameCoins = new createjs.BitmapText("0", y355);
  1698. txtMinigameCoins.scaleX = txtMinigameCoins.scaleY = .4;
  1699. txtMinigameCoins.mouseEnabled = !1;
  1700. minigameContainer.addChild(txtMinigameCoins)
  1701. }
  1702. function showMinigameInterface() {
  1703. minigameContainer.parent || y497.addChild(minigameContainer);
  1704. timerIcon.visible = txtMinigameTimer.visible = !0;
  1705. showIngameSponsorLogo()
  1706. }
  1707. function hideMinigameInterface() {
  1708. minigameContainer.parent && y497.removeChild(minigameContainer)
  1709. }
  1710. function y303() {
  1711. y213.x = 24 + y170();
  1712. y213.y = 25 + y199() / 2;
  1713. timerIcon.x = 23 + y170();
  1714. timerIcon.y = 379 - y199() / 2;
  1715. coinsIcon.x = 242 - y170();
  1716. coinsIcon.y = 379 - y199() / 2;
  1717. moreGamesLvlCompleteBtn.x = 0;
  1718. isMinigameFinished && (coinsIcon.x = 200 - y170(), coinsIcon.y = 335 - y199() / 2, moreGamesLvlCompleteBtn.x = -102 + y170());
  1719. txtMinigameTimer.y = timerIcon.y - 14;
  1720. txtMinigameTimer.x = timerIcon.x + 24;
  1721. txtMinigameCoins.y = coinsIcon.y - 11;
  1722. txtMinigameCoins.x = coinsIcon.x + 22;
  1723. moreGamesLvlCompleteBtn.y = 135 - y199() / 2;
  1724. y428.x = 293 - y170();
  1725. y428.y = 316 - y199() / 2;
  1726. settingsBtn.x = 293 - y170();
  1727. settingsBtn.y = 369 - y199() / 2;
  1728. y347Btn.x = 50 + y170();
  1729. y347Btn.y = 371 - y199() / 2;
  1730. y267.x = 30 + y170();
  1731. y267.y = 324 - y199() / 2;
  1732. isNeedFpsMeter && (y356.x = ow - 27 - y170(), y356.y = y199() / 2);
  1733. y147()
  1734. }
  1735. function createBlinkWin() {
  1736. blinkWin = y481(-18, -122, 7, "tint2");
  1737. blinkWin.scaleX = 4
  1738. }
  1739. function startBlink(e, t) {
  1740. y110(blinkWin, y497);
  1741. blinkWin.alpha = 1;
  1742. blinkWin.gotoAndStop(t);
  1743. createjs.Tween.get(blinkWin, {
  1744. override: !0
  1745. }).to({
  1746. alpha: 0
  1747. }, e).call(y411)
  1748. }
  1749. function createComix() {
  1750. comixCont = new createjs.Container;
  1751. comixFrame1 = y481(0, 0, 1, "comixv1", null, comixCont);
  1752. comixFrame2 = y481(0, 0, 1, "comixv2", null, comixCont);
  1753. comixFrame3 = y481(0, 0, 1, "comixv3", null, comixCont);
  1754. comixFrame3.rotation = -90;
  1755. comixNextBtn = y481(0, 0, .6, "backbtn", onPressStandartHandler, comixCont, onNextComixPress);
  1756. comixNextBtn.rotation = 180
  1757. }
  1758. function showComix() {
  1759. setBgByLevel(0, !0, 3);
  1760. startBlink(700, "tint2");
  1761. comixIndex = 0;
  1762. lightsV.visible = !1;
  1763. y497.addChild(comixCont);
  1764. comixNextBtn.x = 160;
  1765. comixNextBtn.y = 240;
  1766. comixNextBtn.alpha = 0;
  1767. comixFrame2.visible = comixFrame3.visible = !1;
  1768. comixFrame1.visible = !0;
  1769. comixFrame1.alpha = 0;
  1770. createjs.Tween.get(comixFrame1, {
  1771. override: !0
  1772. }).wait(800).to({
  1773. alpha: 1
  1774. }, 1e3);
  1775. createjs.Tween.get(comixNextBtn, {
  1776. override: !0
  1777. }).wait(1800).to({
  1778. alpha: 1
  1779. }, 1e3);
  1780. y379(160, 378, .9, comixCont, 1, y496, y73, 2)
  1781. }
  1782. function onNextComixPress(e) {
  1783. y380(e.target);
  1784. isCursorOutMoved(e) || (0 === comixIndex ? (comixIndex++, comixFrame2.y = 178, comixFrame2.visible = !0, comixFrame2.alpha = 0, createjs.Tween.get(comixFrame2, {
  1785. override: !0
  1786. }).to({
  1787. alpha: 1
  1788. }, 1e3), comixNextBtn.alpha = 0, comixNextBtn.x = 270, comixNextBtn.y = 310, createjs.Tween.get(comixNextBtn, {
  1789. override: !0
  1790. }).wait(1e3).to({
  1791. alpha: 1
  1792. }, 1e3)) : 1 === comixIndex ? (comixIndex++, comixFrame1.visible = !1, comixFrame2.visible = !1, comixFrame3.visible = !0, comixFrame3.alpha = 0, createjs.Tween.get(comixFrame3, {
  1793. override: !0
  1794. }).to({
  1795. alpha: 1
  1796. }, 1e3), comixNextBtn.alpha = 0, comixNextBtn.x = 270, comixNextBtn.y = 310, createjs.Tween.get(comixNextBtn, {
  1797. override: !0
  1798. }).wait(1e3).to({
  1799. alpha: 1
  1800. }, 1e3)) : 2 === comixIndex && (y206(comixCont), y192(0), y187(), y231(), startBlink(400, "tint2")), y141("clickSound"))
  1801. }
  1802. function createSettingsWin() {
  1803. settingsContainer = new createjs.Container;
  1804. y481(160, 311, .7, "backbtn", onPressStandartHandler, settingsContainer, onSettingsQuitUp);
  1805. settingsQualityBtn = y481(160, 140, 1, "qualityhigh", onPressStandartHandler, settingsContainer, onQualityUp);
  1806. settingsShadowsBtn = y481(160, 230, 1, "shadowson", onPressStandartHandler, settingsContainer, onShadowsUp)
  1807. }
  1808. function onQualityUp(e) {
  1809. y380(e.target);
  1810. isCursorOutMoved(e) || (isLowQuality = !isLowQuality, updateQualityState(!0), y141("clickSound"))
  1811. }
  1812. function updateQualityState(e) {
  1813. settingsQualityBtn.gotoAndStop(isLowQuality ? "qualitylow" : "qualityhigh");
  1814. e && (y69(), y283())
  1815. }
  1816. function onShadowsUp(e) {
  1817. y380(e.target);
  1818. isCursorOutMoved(e) || (isShadowDisabled = !isShadowDisabled, y209sState(!0), y141("clickSound"))
  1819. }
  1820. function y209sState(e) {
  1821. settingsShadowsBtn.gotoAndStop(isShadowDisabled ? "shadowsoff" : "shadowson");
  1822. isShadowDisabled && (shadowContainer.visible = !1);
  1823. e && y283()
  1824. }
  1825. function onSettingsQuitUp(e) {
  1826. y380(e.target);
  1827. isCursorOutMoved(e) || (hideSettingsWin(), y245(!0), y141("clickSound"))
  1828. }
  1829. function showSettingsWin() {
  1830. y209sState(!1);
  1831. updateQualityState(!1);
  1832. y110(settingsContainer, y497);
  1833. settingsContainer.x = 400;
  1834. settingsContainer.alpha = 0;
  1835. createjs.Tween.get(settingsContainer, {
  1836. override: !0
  1837. }).to({
  1838. alpha: 1,
  1839. x: 0
  1840. }, 1300, y244);
  1841. startBlink(700, "tint2");
  1842. y379(160, 378, 1, settingsContainer, 1, y496, y73, 2, 0)
  1843. }
  1844. function hideSettingsWin() {
  1845. y206(settingsContainer);
  1846. startBlink(500, "tint2")
  1847. }
  1848. function y254(e) {
  1849. window.open(y431, "_blank")
  1850. }
  1851. function initResizeManager() {
  1852. window.addEventListener("resize", y510);
  1853. canvas.addEventListener("touchstart", y211);
  1854. window.onorientationchange = y364;
  1855. y69()
  1856. }
  1857. function y69() {
  1858. try {
  1859. var e = window.innerWidth,
  1860. t = window.innerHeight;
  1861. zoomFactor = 1;
  1862. if (isLowQuality) {
  1863. var n = Math.min(e / minW, t / minH);
  1864. zoomFactor = Math.max(1, Math.min(2, n * n));
  1865. e /= zoomFactor;
  1866. t /= zoomFactor
  1867. }
  1868. n = "scale(" + zoomFactor + "," + zoomFactor + ")";
  1869. canvas.style.transform = n;
  1870. canvas.style.msTransform = n;
  1871. canvas.style.MozTransform = n;
  1872. canvas.style.WebkitTransform = n;
  1873. canvas.style.OTransform = n;
  1874. scaleFactor = Math.min(e / minW, t / minH);
  1875. stage.scaleX = 1;
  1876. stage.scaleY = 1;
  1877. stage.canvas.width = Math.min(e, maxW * scaleFactor);
  1878. stage.canvas.height = Math.min(t, maxH * scaleFactor);
  1879. if (isDesktop() && !isMobileResizeOnly) {
  1880. var n = 10,
  1881. r = y373("scale");
  1882. r && (n = parseFloat(r));
  1883. scaleFactor = Math.min(e / y308, t / y463);
  1884. scaleFactor = Math.min(scaleFactor, n / zoomFactor);
  1885. stage.canvas.width = Math.min(e, y308 * scaleFactor);
  1886. stage.canvas.height = Math.min(t, y463 * scaleFactor)
  1887. }
  1888. stage.canvas.style.marginTop = "0px";
  1889. stage.canvas.style.marginLeft = "0px";
  1890. stage.canvas.style.left = Math.floor((e * zoomFactor - stage.canvas.width) / 2) + "px";
  1891. stage.canvas.style.top = Math.floor((t * zoomFactor - stage.canvas.height) / 2) + "px";
  1892. y52 = stage.canvas.height / scaleFactor;
  1893. y332 = stage.canvas.width / scaleFactor;
  1894. topVisionLine = -(y52 - oh);
  1895. stage.autoClear = !1;
  1896. y497.scaleX = scaleFactor;
  1897. y497.scaleY = scaleFactor;
  1898. y497.x = Math.round((stage.canvas.width - ow * scaleFactor) / 2);
  1899. y497.y = Math.round((stage.canvas.height - oh * scaleFactor) / 2);
  1900. y464 && (y464.scaleX = y497.scaleX, y464.scaleY = y497.scaleY, y464.x = y497.x, y464.y = y497.y);
  1901. y494 = e;
  1902. y366 = t;
  1903. timer = null;
  1904. isAllFilesLoaded && isGameInited && (y303(), mainBg.y = 2 === mainBgIndex || 3 === mainBgIndex ? y199() / 2 : -150);
  1905. y420 && (y420.y = Math.floor((y497.height - y163) / 2));
  1906. stage.update()
  1907. } catch (i) {
  1908. window.alert(i.name + ":" + i.message)
  1909. }
  1910. }
  1911. function isNeedCanvasZoom(e, t) {
  1912. return 1.2 <= Math.min(e / minW, t / minH)
  1913. }
  1914. function y470() {
  1915. return -(y52 - oh) / 2
  1916. }
  1917. function y199() {
  1918. return -(y52 - oh)
  1919. }
  1920. function y170() {
  1921. return -(y332 - ow) / 2
  1922. }
  1923. function getMaxLeft() {
  1924. return -(maxW - ow) / 2
  1925. }
  1926. function getMaxRight() {
  1927. return maxW + getMaxLeft()
  1928. }
  1929. function getMaxTop() {
  1930. return -(maxH - oh)
  1931. }
  1932. function y364(e) {
  1933. setTimeout(y140, 50);
  1934. y510(null)
  1935. }
  1936. function y140() {
  1937. window.scrollTo(0, 1)
  1938. }
  1939. function y211(e) {
  1940. window.innerHeight != y366 && y510(null);
  1941. e.preventDefault();
  1942. e.stopPropagation();
  1943. e.cancelBubble = !0;
  1944. return e.returnValue = !1
  1945. }
  1946. function y510(e) {
  1947. clearTimeout(timer);
  1948. setTimeout(y69, 100);
  1949. y96("on Win Resize")
  1950. }
  1951. function y319() {
  1952. if (isHiDPI()) {
  1953. var e = document.createElement("meta");
  1954. e.name = "viewport";
  1955. e.content = "target-densitydpi=device-dpi, user-scalable=0, initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5";
  1956. document.getElementsByTagName("head")[0].appendChild(e)
  1957. }
  1958. }
  1959. function isHiDPI() {
  1960. return !window.hasOwnProperty("devicePixelRatio") || -1 == navigator.userAgent.indexOf("iPhone") && -1 == navigator.userAgent.indexOf("iPad") || 2 != window.devicePixelRatio ? !1 : !0
  1961. }
  1962. function y373(e) {
  1963. return decodeURIComponent((RegExp("[?|&]" + e + "=([^&;]+?)(&|#|;|$)").exec(location.search) || [, ""])[1].replace(/\+/g, "%20")) || null
  1964. }
  1965. function isMobileDetected(e) {
  1966. return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|android|ipad|playbook|silk|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(e) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0, 4))
  1967. }
  1968. function initSpilApi() {
  1969. try {
  1970. GameAPI.loadAPI(function(e) {
  1971. sponsorApi = e
  1972. })
  1973. } catch (e) {
  1974. isSponsorLogoError = !0, y96("error init!"), isAllFilesLoaded && startGame()
  1975. }
  1976. }
  1977. function y339Error(e) {
  1978. y96("Logo loading error!");
  1979. isSponsorLogoError = !0
  1980. }
  1981. function handleSponsorLogoComplete(e) {
  1982. if (!isSponsorLogoError) try {
  1983. y328 || y306();
  1984. y96("logo loaded!");
  1985. var t = y388.sponsorLogoImg,
  1986. n = sponsorLogoDefWidth = t.width,
  1987. r = sponsorLogoDefHeight = t.height,
  1988. i = sponsorLogoBitmap = (new createjs.Bitmap(t)).set({
  1989. scaleX: 1,
  1990. scaleY: 1,
  1991. regX: 0,
  1992. regY: 0,
  1993. cursor: "pointer",
  1994. x: 0,
  1995. y: 0
  1996. });
  1997. i.isOnlyBoundsCheck = !0;
  1998. i.setBoundingBox(0, 0, 1 * n, 1 * r);
  1999. i.addEventListener("mousedown", y254);
  2000. y328.addChild(i);
  2001. y420 && y379(160, 80, 1, y420, 1, y496, y444, 2);
  2002. isLogoReady = !0
  2003. } catch (s) {
  2004. isSponsorLogoError = !0, y96("logo error!")
  2005. }
  2006. isAllFilesLoaded && startGame()
  2007. }
  2008. function isDesktop() {
  2009. return isDesktopBrowser
  2010. }
  2011. function y415() {
  2012. y454 = isDesktopBrowser ? 50 : 30
  2013. }
  2014. function y318() {
  2015. isDesktopBrowser = !isMobileDetected(navigator.userAgent || navigator.vendor || window.opera);
  2016. var e = y373("mobile");
  2017. e && 1 == parseInt(e) && (isDesktopBrowser = !1);
  2018. y415()
  2019. }
  2020. function initLoaders() {
  2021. loaderColor = createjs.Graphics.getRGB(247, 247, 247);
  2022. y420 = new createjs.Container;
  2023. bar = new createjs.Shape;
  2024. bar.graphics.beginFill(loaderColor).drawRect(0, 0, 1, y163).endFill();
  2025. y152 = 300;
  2026. var e = new createjs.Shape;
  2027. e.graphics.setStrokeStyle(2).beginStroke(loaderColor).drawRect(-3, -3, y152 + 6, y163 + 6);
  2028. y420.x = y497.width - y152 >> 1;
  2029. y420.y = y497.height - y163 >> 1;
  2030. y420.addChild(bar, e);
  2031. y497.addChild(y420);
  2032. initSoundManager();
  2033. y252 = new createjs.LoadQueue(!0, "assets/");
  2034. y252.installPlugin(createjs.Sound);
  2035. y252.addEventListener("progress", handleProgress);
  2036. y252.addEventListener("complete", y346);
  2037. y252.addEventListener("fileload", y339);
  2038. y252.loadManifest(y286);
  2039. createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED;
  2040. isDefaultAndroid() && (createjs.Ticker.timingMode = createjs.Ticker.TIMEOUT);
  2041. createjs.Ticker.setFPS(FPS)
  2042. }
  2043. function isDefaultAndroid() {
  2044. var e = navigator.userAgent;
  2045. return -1 < e.indexOf("Mozilla/5.0") && -1 < e.indexOf("Android ") && -1 < e.indexOf("AppleWebKit") && !(-1 < e.indexOf("Chrome"))
  2046. }
  2047. function handleProgress(e) {
  2048. 0 != e.total && (bar.scaleX = e.loaded / e.total * y152, stage.update())
  2049. }
  2050. function y339(e) {
  2051. "image" == e.item.type && (images[e.item.id] = e.result);
  2052. y388[e.item.id] = e.result;
  2053. if (!isPreloaderLogoReady && "y252erlogo" == e.item.id) {
  2054. isPreloaderLogoReady = !0;
  2055. var t = e.result;
  2056. e = t.width;
  2057. var n = t.height,
  2058. t = (new createjs.Bitmap(t)).set({
  2059. scaleX: .75,
  2060. scaleY: .75,
  2061. regX: e / 2,
  2062. regY: n / 2,
  2063. cursor: "pointer",
  2064. x: ow / 2,
  2065. y: 20 + .75 * n
  2066. });
  2067. t.setBoundingBox(-e / 2, -n / 2, e, n);
  2068. t.addEventListener("mousedown", y254);
  2069. y420.addChild(t)
  2070. }
  2071. }
  2072. function startGame() {
  2073. y96("game start!");
  2074. isGameInited || (isGameInited = !0, y206(y420), y420 = null, configureCoinsSpritesheet(), y457(), y230 = new y515, isDefaultAndroid() && (isShadowDisabled = isLowQuality = !0), y241(), initField(), initBonusField(), initParticleManager(), y58(), createFrontBg(), isNeedFpsMeter && (y356 = new createjs.BitmapText("0", y355), setSpriteScale(y356, .3), y356.x = ow - 30, y497.addChild(y356)), initInterface(), isLogoReady && (y352(), y222()), stage.addEventListener("stagemousedown", y178), isSkipMenus && y192(y255), y128(), stage.update(), createjs.Ticker.addEventListener("tick", tick), initEditorHandlers(), y209sState(!0), y69())
  2075. }
  2076. function y346(e) {
  2077. isAllFilesLoaded || (isLogoReady = isAllFilesLoaded = !0) && startGame();
  2078. }
  2079. function y128() {
  2080. var e = y481(ow / 2, oh / 2 - 30, 1, "rotatedevv", null, rotationContainer);
  2081. rotationContainer.addChild(e)
  2082. }
  2083. function y352() {
  2084. var e = new createjs.Sprite(y355);
  2085. e.gotoAndStop("splashlogo");
  2086. e.x = ow / 2;
  2087. e.y = oh / 2;
  2088. e.scaleX = e.scaleY = .8;
  2089. e.mouseEnabled = !0;
  2090. y464.addChild(e)
  2091. }
  2092. function y222() {
  2093. !y464 || y464.parent || rotationContainer.parent || (y206(y497), stage.addChild(y464), createjs.Tween.get(y464).wait(isSkipSplash ? 1 : 1e3).call(y118).to({
  2094. alpha: 0
  2095. }, isSkipSplash ? 2 : 500).call(disposeSplash), y96("splash"), stage.autoClear = !0)
  2096. }
  2097. function y118(e) {
  2098. stage.addChildAt(y497, 0);
  2099. y399(y267)
  2100. }
  2101. function disposeSplash(e) {
  2102. y206(y464);
  2103. y464 = null;
  2104. stage.autoClear = !1;
  2105. canvas.style.backgroundColor = "#111111"
  2106. }
  2107. function initEditorHandlers() {
  2108. isLevelEditor && (y512.on("l", null, onSaveLevelPress), y512.on("r", null, onRey192Press), y512.on("o", null, onClearLevelPress), stage.addEventListener("stagemousedown", y401, !1))
  2109. }
  2110. function y178(e) {
  2111. y464 && y464.parent && y254(e)
  2112. }
  2113. function onSaveLevelPress() {
  2114. saveLevelToEditor();
  2115. y96("save level press!")
  2116. }
  2117. function onRey192Press() {
  2118. rey192FromEditor();
  2119. y96("reload from saved press!")
  2120. }
  2121. function onClearLevelPress() {
  2122. disposeLevel()
  2123. }
  2124. function y457() {
  2125. mainBg = new createjs.Sprite(y355);
  2126. mainBg.gotoAndStop("mainbgv");
  2127. setSpriteScale(mainBg, .9);
  2128. mainBg.rotation = -90;
  2129. y497.addChild(mainBg)
  2130. }
  2131. function createFrontBg() {}
  2132. function y401(e) {
  2133. if (isLevelEditor) {
  2134. var t = -1,
  2135. n = !1,
  2136. r = !1;
  2137. y512.isPressed("a") && (t = BLOCK_HERO_TYPE);
  2138. y512.isPressed("f") && (t = BLOCK_BRICK_TYPE);
  2139. y512.isPressed("s") && (t = BLOCK_SLEEP_TYPE);
  2140. y512.isPressed("i") && (t = BLOCK_ICE_TYPE);
  2141. y512.isPressed("h") && (t = BLOCK_HIDE_TYPE);
  2142. y512.isPressed("z") && (t = BLOCK_DANGER_TYPE);
  2143. y512.isPressed("j") && (t = HIDE_ACTIVATOR_TYPE, r = !0);
  2144. y512.isPressed("k") && (t = STAR_TYPE, r = !0);
  2145. y512.isPressed("l") && y487();
  2146. y512.isPressed("n") && y131();
  2147. y512.isPressed("d") && (t = 99, n = !0);
  2148. y512.isPressed("w") && (t = -1, startBlink(700, "tint2"));
  2149. if (-1 < t) {
  2150. var i = Math.floor(((e.stageX - y497.x) / scaleFactor - MARGIN_LEFT) / CELL_SIZE),
  2151. i = i + CELLS_MARGIN;
  2152. 0 > i || i > FIELD_CELLS - 1 || (e = Math.floor(((e.stageY - y497.y) / scaleFactor - MARGIN_TOP) / CELL_SIZE), e += ROWS_MARGIN, 0 > e || e > FIELD_ROWS - 1 || (r ? createBonus(t, i, e, "a" + nameCounter) : n ? (disposeBlockAt(i, e), disposeBonusAt(i, e)) : createBlock(t, i, e, "b" + nameCounter), nameCounter++))
  2153. }
  2154. }
  2155. }
  2156. function configureCoinsSpritesheet() {
  2157. isLoadAnimFromJSON && (y402 = eval(y388.anim_json));
  2158. y75(y402, "zoespritesheet", !0, 2);
  2159. y355 = new createjs.SpriteSheet(y402)
  2160. }
  2161. function y75(e, t, n, r) {
  2162. var i = images[t].width;
  2163. t = images[t].height;
  2164. e = e.frames;
  2165. for (var s = e.length, o, u = 0; u < s; u++) o = e[u], n && (o[2] -= 2 * r, o[3] -= 2 * r), o[0] + o[2] > i && (o[2] = i - o[0]), o[1] + o[3] > t && (o[3] = t - o[1]), 0 > o[0] && (o[0] = 0), 0 > o[1] && (o[1] = 0)
  2166. }
  2167. function tick(e) {
  2168. y327 = e.delta / defaultDelta;
  2169. if (!y327 || 0 >= y327) y327 = 1;
  2170. y501++;
  2171. y87 += y327;
  2172. updateSky();
  2173. for (e = 0; e < allBlocks.length; e++) allBlocks[e].tick();
  2174. updateBonusManager();
  2175. minigameUpdate();
  2176. for (y230.update(); 0 < y85.length;) y377(y85.pop());
  2177. isNeedFpsMeter && (y356.text = Math.floor(createjs.Ticker.getMeasuredFPS()) + "");
  2178. 0 < y249 && y331();
  2179. y512.isPressed("g") && y96(JSON.stringify(getLevelCode()));
  2180. y195();
  2181. shadowContainer.alpha = y390.alpha;
  2182. isGameCompleteScreenShow && 1 > y87 % 5 && y53Explode(Math.random() * ow, Math.random() * oh, 6, y160, y341);
  2183. stage.update()
  2184. }
  2185. function y246(e, t) {
  2186. y249 = t;
  2187. y300 = (isGrowningShake = e) ? 2 * scaleFactor : y445 * scaleFactor
  2188. }
  2189. function y331() {
  2190. y249 -= y327;
  2191. y300 *= isGrowningShake ? 1.1 : .9;
  2192. 0 < y249 ? (y497.x = 2 * Math.random() * y300 - y300 + Math.round((stage.canvas.width - ow * scaleFactor) / 2), y497.y = 2 * Math.random() * y300 - y300 + Math.round((stage.canvas.height - oh * scaleFactor) / 2)) : (y497.x = Math.round((stage.canvas.width - ow * scaleFactor) / 2), y497.y = Math.round((stage.canvas.height - oh * scaleFactor) / 2), isMinigame || (y507(), y187()))
  2193. }
  2194. function setBgByLevel(e, t, n) {
  2195. var r = isLowQuality ? "mainbgvsmall" : "mainbgv";
  2196. e = y304[e];
  2197. e = t ? n : e;
  2198. BG_POSTFIX = "";
  2199. setSpriteScale(mainBg, isLowQuality ? 2 : .9);
  2200. mainBg.x = -53;
  2201. mainBg.y = -150;
  2202. mainBgIndex = e;
  2203. 1 == e ? (r = isLowQuality ? "mainbgv2small" : "mainbgv2", BG_POSTFIX = "_bg2") : 2 == e ? (r = "mainmenubg", setSpriteScale(mainBg, 1), mainBg.x = getMaxLeft(), mainBg.y = y199() / 2) : 3 == e && (r = "comixbg", setSpriteScale(mainBg, 1.25), mainBg.x = getMaxLeft(), mainBg.y = getMaxTop() / 2);
  2204. updateCloudsSprite();
  2205. mainBg.gotoAndStop(r)
  2206. }
  2207. var isNeedFpsMeter = !1,
  2208. isLevelEditor = !1,
  2209. isMobileResizeOnly = !1,
  2210. isSkipMenus = !1,
  2211. y255 = 19,
  2212. isBlockLabels = !1,
  2213. isDisableWin = !1,
  2214. isOpenAllLevels = !1,
  2215. isGetAllProperties = !1,
  2216. isLoadAnimFromJSON = !1,
  2217. isShadowDisabled = !1,
  2218. isLowQuality = !1,
  2219. y431 = "http://play68.com",
  2220. y233 = "logo_spele.png",
  2221. isSkipSplash = !1,
  2222. isHD = !1,
  2223. y164 = isHD ? .5 : 1,
  2224. isDesktopBrowser = !1,
  2225. y115 = [
  2226. [
  2227. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2228. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2229. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2230. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2231. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2232. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2233. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2234. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2235. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2236. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2237. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2238. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2239. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2240. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2241. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2242. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2243. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2244. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2245. []
  2246. ],
  2247. [
  2248. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2249. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2250. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2251. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2252. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2253. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2254. [1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2255. [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2256. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2257. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2258. [1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2259. [1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2260. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2261. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2262. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2263. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2264. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2265. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2266. []
  2267. ],
  2268. [
  2269. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2270. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2271. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2272. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2273. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2274. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2275. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2276. [1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2277. [1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1],
  2278. [1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2279. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2280. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2281. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2282. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2283. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2284. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2285. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2286. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2287. [
  2288. [2, 6, 10],
  2289. [2, 10, 11],
  2290. [2, 8, 8]
  2291. ]
  2292. ],
  2293. [
  2294. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2295. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2296. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2297. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2298. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2299. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2300. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2301. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2302. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2303. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2304. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2305. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2306. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2307. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2308. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2309. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2310. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2311. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2312. [
  2313. [2, 8, 9],
  2314. [2, 9, 11],
  2315. [2, 7, 11]
  2316. ]
  2317. ],
  2318. [
  2319. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2320. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2321. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2322. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2323. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2324. [1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1],
  2325. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2326. [1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2327. [1, 1, 1, 1, 1, 1, 1, 2, 1, 5, 5, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1],
  2328. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1],
  2329. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2330. [1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2331. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1],
  2332. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2333. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2334. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2335. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2336. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2337. [
  2338. [2, 7, 10],
  2339. [2, 7, 9],
  2340. [2, 9, 10]
  2341. ]
  2342. ],
  2343. [
  2344. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2345. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2346. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2347. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2348. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2349. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2350. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2351. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2352. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2353. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2354. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2355. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2356. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2357. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2358. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2359. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2360. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2361. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2362. []
  2363. ],
  2364. [
  2365. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2366. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2367. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2368. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2369. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2370. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2371. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2372. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2373. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2374. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2375. [1, 1, 1, 1, 1, 1, 1, 5, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2376. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1],
  2377. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2378. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2379. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2380. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2381. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2382. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2383. [
  2384. [2, 9, 12],
  2385. [2, 7, 10],
  2386. [2, 9, 8]
  2387. ]
  2388. ],
  2389. [
  2390. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2391. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2392. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2393. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2394. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2395. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2396. [1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1],
  2397. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2398. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2399. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2400. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1],
  2401. [1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1],
  2402. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2403. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2404. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2405. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2406. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2407. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2408. [
  2409. [2, 8, 11],
  2410. [2, 9, 8],
  2411. [2, 6, 11]
  2412. ]
  2413. ],
  2414. [
  2415. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2416. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2417. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2418. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2419. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2420. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2421. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2422. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2423. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2424. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 4, 1, 1, 1, 1, 1, 1, 1],
  2425. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2426. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2427. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2428. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2429. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2430. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2431. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2432. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2433. [
  2434. [2, 7, 11],
  2435. [2, 10, 10],
  2436. [2, 8, 9]
  2437. ]
  2438. ],
  2439. [
  2440. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2441. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2442. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2443. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2444. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2445. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2446. [1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2447. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2448. [1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1],
  2449. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2450. [1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2451. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2452. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2453. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2454. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2455. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2456. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2457. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2458. [
  2459. [2, 7, 9],
  2460. [2, 9, 9],
  2461. [2, 7, 12]
  2462. ]
  2463. ],
  2464. [
  2465. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2466. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2467. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2468. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2469. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2470. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2471. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2472. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2473. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2474. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2475. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2476. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2477. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2478. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2479. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2480. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2481. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2482. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2483. []
  2484. ],
  2485. [
  2486. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2487. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2488. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2489. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2490. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2491. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2492. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 6, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1],
  2493. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2494. [1, 1, 1, 1, 1, 1, 1, 1, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1],
  2495. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2496. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2497. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2498. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2499. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2500. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2501. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2502. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2503. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2504. [
  2505. [1, 9, 13],
  2506. [2, 7, 9],
  2507. [2, 9, 11],
  2508. [2, 6, 9]
  2509. ]
  2510. ],
  2511. [
  2512. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2513. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2514. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2515. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2516. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2517. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2518. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2519. [1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1],
  2520. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2521. [1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2522. [1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2523. [1, 1, 1, 1, 1, 1, 1, 3, 6, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1],
  2524. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2525. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2526. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2527. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2528. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2529. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2530. [
  2531. [2, 8, 10],
  2532. [1, 6, 12],
  2533. [2, 10, 11],
  2534. [2, 9, 12]
  2535. ]
  2536. ],
  2537. [
  2538. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2539. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2540. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2541. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2542. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2543. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2544. [1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2545. [1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 5, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1],
  2546. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, 1, 1, 1, 1, 1, 1, 1],
  2547. [1, 1, 1, 1, 1, 1, 1, 4, 1, 5, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1],
  2548. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2549. [1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1],
  2550. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2551. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2552. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2553. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2554. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2555. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2556. [
  2557. [2, 9, 10],
  2558. [2, 11, 8],
  2559. [2, 8, 8]
  2560. ]
  2561. ],
  2562. [
  2563. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2564. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2565. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2566. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2567. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2568. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2569. [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2570. [1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2571. [1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2572. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1],
  2573. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2574. [1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1],
  2575. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2576. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2577. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2578. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2579. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2580. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2581. [
  2582. [2, 7, 10],
  2583. [2, 8, 11],
  2584. [2, 9, 12]
  2585. ]
  2586. ],
  2587. [
  2588. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2589. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2590. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2591. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2592. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2593. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2594. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2595. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2596. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2597. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2598. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2599. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2600. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2601. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2602. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2603. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2604. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2605. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2606. []
  2607. ],
  2608. [
  2609. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2610. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2611. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2612. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2613. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2614. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2615. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1],
  2616. [1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2617. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2618. [1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 3, 7, 1, 2, 1, 1, 1, 1, 1, 1, 1],
  2619. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2620. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1],
  2621. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2622. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2623. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2624. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2625. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2626. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2627. [
  2628. [2, 9, 9],
  2629. [2, 7, 12],
  2630. [2, 11, 9]
  2631. ]
  2632. ],
  2633. [
  2634. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2635. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2636. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2637. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2638. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2639. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2640. [1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2641. [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2642. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1],
  2643. [1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2644. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2645. [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2646. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2647. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2648. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2649. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2650. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2651. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2652. [
  2653. [2, 8, 11],
  2654. [2, 9, 8],
  2655. [2, 9, 13]
  2656. ]
  2657. ],
  2658. [
  2659. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2660. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2661. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2662. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2663. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2664. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2665. [1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1],
  2666. [1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 6, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1],
  2667. [1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2668. [1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2669. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 7, 5, 1, 1, 1, 1, 1, 1, 1],
  2670. [1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 6, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1],
  2671. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2672. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2673. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2674. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2675. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2676. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2677. [
  2678. [1, 11, 13],
  2679. [1, 9, 13],
  2680. [2, 7, 11],
  2681. [2, 10, 9],
  2682. [2, 8, 8]
  2683. ]
  2684. ],
  2685. [
  2686. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2687. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2688. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2689. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2690. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2691. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2692. [1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1],
  2693. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1],
  2694. [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2695. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2696. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1],
  2697. [1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2698. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2699. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2700. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2701. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2702. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2703. [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
  2704. [
  2705. [2, 6, 12],
  2706. [2, 6, 11],
  2707. [2, 6, 10],
  2708. [2, 6, 9],
  2709. [2, 6, 8],
  2710. [2, 7, 8],
  2711. [2, 8, 8],
  2712. [2, 9, 8],
  2713. [2, 10, 8],
  2714. [2, 10, 9],
  2715. [2, 10, 10],
  2716. [2, 10, 11],
  2717. [2, 10, 12],
  2718. [2, 9, 12],
  2719. [2, 8, 12],
  2720. [2, 8, 11],
  2721. [2, 8, 10]
  2722. ]
  2723. ]
  2724. ];
  2725. this.createjs = this.createjs || {};
  2726. (function() {
  2727. var e = function(e, t, n) {
  2728. this.initialize(e, t, n)
  2729. },
  2730. t = e.prototype;
  2731. t.type = null;
  2732. t.target = null;
  2733. t.currentTarget = null;
  2734. t.eventPhase = 0;
  2735. t.bubbles = !1;
  2736. t.cancelable = !1;
  2737. t.timeStamp = 0;
  2738. t.defaultPrevented = !1;
  2739. t.propagationStopped = !1;
  2740. t.immediatePropagationStopped = !1;
  2741. t.removed = !1;
  2742. t.initialize = function(e, t, n) {
  2743. this.type = e;
  2744. this.bubbles = t;
  2745. this.cancelable = n;
  2746. this.timeStamp = (new Date).getTime()
  2747. };
  2748. t.preventDefault = function() {
  2749. this.defaultPrevented = !0
  2750. };
  2751. t.stopPropagation = function() {
  2752. this.propagationStopped = !0
  2753. };
  2754. t.stopImmediatePropagation = function() {
  2755. this.immediatePropagationStopped = this.propagationStopped = !0
  2756. };
  2757. t.remove = function() {
  2758. this.removed = !0
  2759. };
  2760. t.clone = function() {
  2761. return new e(this.type, this.bubbles, this.cancelable)
  2762. };
  2763. t.toString = function() {
  2764. return "[Event (type=" + this.type + ")]"
  2765. };
  2766. createjs.Event = e
  2767. })();
  2768. this.createjs = this.createjs || {};
  2769. (function() {
  2770. var e = function() {},
  2771. t = e.prototype;
  2772. e.initialize = function(e) {
  2773. e.addEventListener = t.addEventListener;
  2774. e.on = t.on;
  2775. e.removeEventListener = e.off = t.removeEventListener;
  2776. e.removeAllEventListeners = t.removeAllEventListeners;
  2777. e.hasEventListener = t.hasEventListener;
  2778. e.dispatchEvent = t.dispatchEvent;
  2779. e._dispatchEvent = t._dispatchEvent
  2780. };
  2781. t._listeners = null;
  2782. t._captureListeners = null;
  2783. t.initialize = function() {};
  2784. t.addEventListener = function(e, t, n) {
  2785. var r;
  2786. r = n ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {};
  2787. var i = r[e];
  2788. i && this.removeEventListener(e, t, n);
  2789. (i = r[e]) ? i.push(t): r[e] = [t];
  2790. return t
  2791. };
  2792. t.on = function(e, t, n, r, i, s) {
  2793. t.handleEvent && (n = n || t, t = t.handleEvent);
  2794. n = n || this;
  2795. return this.addEventListener(e, function(e) {
  2796. t.call(n, e, i);
  2797. r && e.remove()
  2798. }, s)
  2799. };
  2800. t.removeEventListener = function(e, t, n) {
  2801. if (n = n ? this._captureListeners : this._listeners) {
  2802. var r = n[e];
  2803. if (r)
  2804. for (var i = 0, s = r.length; i < s; i++)
  2805. if (r[i] == t) {
  2806. 1 == s ? delete n[e] : r.splice(i, 1);
  2807. break
  2808. }
  2809. }
  2810. };
  2811. t.off = t.removeEventListener;
  2812. t.removeAllEventListeners = function(e) {
  2813. e ? (this._listeners && delete this._listeners[e], this._captureListeners && delete this._captureListeners[e]) : this._listeners = this._captureListeners = null
  2814. };
  2815. t.dispatchEvent = function(e, t) {
  2816. if ("string" == typeof e) {
  2817. var n = this._listeners;
  2818. if (!n || !n[e]) return !1;
  2819. e = new createjs.Event(e)
  2820. }
  2821. e.target = t || this;
  2822. if (e.bubbles && this.parent) {
  2823. for (var r = this, n = [r]; r.parent;) n.push(r = r.parent);
  2824. for (var i = n.length, r = i - 1; 0 <= r && !e.propagationStopped; r--) n[r]._dispatchEvent(e, 1 + (0 == r));
  2825. for (r = 1; r < i && !e.propagationStopped; r++) n[r]._dispatchEvent(e, 3)
  2826. } else this._dispatchEvent(e, 2);
  2827. return e.defaultPrevented
  2828. };
  2829. t.hasEventListener = function(e) {
  2830. var t = this._listeners,
  2831. n = this._captureListeners;
  2832. return !!(t && t[e] || n && n[e])
  2833. };
  2834. t.toString = function() {
  2835. return "[EventDispatcher]"
  2836. };
  2837. t._dispatchEvent = function(e, t) {
  2838. var n, r = 1 == t ? this._captureListeners : this._listeners;
  2839. if (e && r && (r = r[e.type]) && (n = r.length)) {
  2840. e.currentTarget = this;
  2841. e.eventPhase = t;
  2842. e.removed = !1;
  2843. for (var r = r.slice(), i = 0; i < n && !e.immediatePropagationStopped; i++) {
  2844. var s = r[i];
  2845. s.handleEvent ? s.handleEvent(e) : s(e);
  2846. e.removed && (this.off(e.type, s, 1 == t), e.removed = !1)
  2847. }
  2848. }
  2849. };
  2850. createjs.EventDispatcher = e
  2851. })();
  2852. this.createjs = this.createjs || {};
  2853. (function() {
  2854. createjs.indexOf = function(e, t) {
  2855. for (var n = 0, r = e.length; n < r; n++)
  2856. if (t === e[n]) return n;
  2857. return -1
  2858. }
  2859. })();
  2860. this.createjs = this.createjs || {};
  2861. (function() {
  2862. var e = function() {
  2863. throw "UID cannot be instantiated"
  2864. };
  2865. e._nextID = 0;
  2866. e.get = function() {
  2867. return e._nextID++
  2868. };
  2869. createjs.UID = e
  2870. })();
  2871. this.createjs = this.createjs || {};
  2872. (function() {
  2873. var e = function() {
  2874. throw "Ticker cannot be instantiated."
  2875. };
  2876. e.RAF_SYNCHED = "synched";
  2877. e.RAF = "raf";
  2878. e.TIMEOUT = "timeout";
  2879. e.useRAF = !1;
  2880. e.timingMode = null;
  2881. e.maxDelta = 60;
  2882. e.removeEventListener = null;
  2883. e.removeAllEventListeners = null;
  2884. e.dispatchEvent = null;
  2885. e.hasEventListener = null;
  2886. e._listeners = null;
  2887. createjs.EventDispatcher.initialize(e);
  2888. e._addEventListener = e.addEventListener;
  2889. e.addEventListener = function() {
  2890. !e._inited && e.init();
  2891. return e._addEventListener.apply(e, arguments)
  2892. };
  2893. e._paused = !1;
  2894. e._inited = !1;
  2895. e._startTime = 0;
  2896. e._pausedTime = 0;
  2897. e._ticks = 0;
  2898. e._pausedTicks = 0;
  2899. e._interval = 50;
  2900. e._lastTime = 0;
  2901. e._times = [];
  2902. e._tickTimes = [];
  2903. e._timerId = null;
  2904. e._raf = !0;
  2905. e._isFirstInit = !0;
  2906. e.init = function() {
  2907. e._inited || (e._timerId = null, e._inited = !0, e._isFirstInit = !1, e._times = [], e._tickTimes = [], e._startTime = e._getTime(), e._times.push(e._lastTime = 0), e.setInterval(e._interval))
  2908. };
  2909. e.reset = function() {
  2910. e._inited = !1;
  2911. if (e._raf) {
  2912. var t = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;
  2913. t && t(e._timerId)
  2914. } else clearTimeout(e._timerId)
  2915. };
  2916. e.setInterval = function(t) {
  2917. e._interval = t;
  2918. e._inited && e._setupTick()
  2919. };
  2920. e.getInterval = function() {
  2921. return e._interval
  2922. };
  2923. e.setFPS = function(t) {
  2924. e.setInterval(1e3 / t)
  2925. };
  2926. e.getFPS = function() {
  2927. return 1e3 / e._interval
  2928. };
  2929. e.getMeasuredTickTime = function(t) {
  2930. var n = 0,
  2931. r = e._tickTimes;
  2932. if (1 > r.length) return -1;
  2933. t = Math.min(r.length, t || e.getFPS() | 0);
  2934. for (var i = 0; i < t; i++) n += r[i];
  2935. return n / t
  2936. };
  2937. e.getMeasuredFPS = function(t) {
  2938. var n = e._times;
  2939. if (2 > n.length) return -1;
  2940. t = Math.min(n.length - 1, t || e.getFPS() | 0);
  2941. return 1e3 / ((n[0] - n[t]) / t)
  2942. };
  2943. e.setPaused = function(t) {
  2944. e._paused = t
  2945. };
  2946. e.getPaused = function() {
  2947. return e._paused
  2948. };
  2949. e.getTime = function(t) {
  2950. return e._getTime() - e._startTime - (t ? e._pausedTime : 0)
  2951. };
  2952. e.getEventTime = function(t) {
  2953. return (e._lastTime || e._startTime) - (t ? e._pausedTime : 0)
  2954. };
  2955. e.getTicks = function(t) {
  2956. return e._ticks - (t ? e._pausedTicks : 0)
  2957. };
  2958. e._handleSynch = function() {
  2959. var t = e._getTime() - e._startTime;
  2960. e._timerId = null;
  2961. e._setupTick();
  2962. t - e._lastTime >= .97 * (e._interval - 1) && e._tick()
  2963. };
  2964. e._handleRAF = function() {
  2965. e._timerId = null;
  2966. e._setupTick();
  2967. e._tick()
  2968. };
  2969. e._handleTimeout = function() {
  2970. e._timerId = null;
  2971. e._setupTick();
  2972. e._tick()
  2973. };
  2974. e._setupTick = function() {
  2975. if (null != e._timerId) y96("duplicate");
  2976. else {
  2977. var t = e.timingMode || e.useRAF && e.RAF_SYNCHED;
  2978. if (t == e.RAF_SYNCHED || t == e.RAF) {
  2979. var n = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;
  2980. if (n) {
  2981. e._timerId = n(t == e.RAF ? e._handleRAF : e._handleSynch);
  2982. e._raf = !0;
  2983. return
  2984. }
  2985. }
  2986. e._raf = !1;
  2987. e._timerId = setTimeout(e._handleTimeout, e._interval)
  2988. }
  2989. };
  2990. e._tick = function() {
  2991. var t = e._getTime() - e._startTime,
  2992. n = t - e._lastTime,
  2993. r = e._paused;
  2994. e._ticks++;
  2995. r && (e._pausedTicks++, e._pausedTime += n);
  2996. e._lastTime = t;
  2997. if (e.hasEventListener("tick")) {
  2998. var i = new createjs.Event("tick"),
  2999. s = e.maxDelta;
  3000. i.delta = s && n > s ? s : n;
  3001. i.paused = r;
  3002. i.time = t;
  3003. i.runTime = t - e._pausedTime;
  3004. e.dispatchEvent(i)
  3005. }
  3006. for (e._tickTimes.unshift(e._getTime() - t); 100 < e._tickTimes.length;) e._tickTimes.pop();
  3007. for (e._times.unshift(t); 100 < e._times.length;) e._times.pop()
  3008. };
  3009. var t = window.performance && (performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow);
  3010. e._getTime = function() {
  3011. return t && t.call(performance) || (new Date).getTime()
  3012. };
  3013. createjs.Ticker = e
  3014. })();
  3015. this.createjs = this.createjs || {};
  3016. (function() {
  3017. var e = function(e, t, n, r, i, s, o, u, a, f) {
  3018. this.initialize(e, t, n, r, i, s, o, u, a, f)
  3019. },
  3020. t = e.prototype = new createjs.Event;
  3021. t.stageX = 0;
  3022. t.stageY = 0;
  3023. t.rawX = 0;
  3024. t.rawY = 0;
  3025. t.nativeEvent = null;
  3026. t.pointerID = 0;
  3027. t.primary = !1;
  3028. t.addEventListener = null;
  3029. t.removeEventListener = null;
  3030. t.removeAllEventListeners = null;
  3031. t.dispatchEvent = null;
  3032. t.hasEventListener = null;
  3033. t._listeners = null;
  3034. createjs.EventDispatcher.initialize(t);
  3035. t.Event_initialize = t.initialize;
  3036. t.initialize = function(e, t, n, r, i, s, o, u, a, f) {
  3037. this.Event_initialize(e, t, n);
  3038. this.stageX = r;
  3039. this.stageY = i;
  3040. this.nativeEvent = s;
  3041. this.pointerID = o;
  3042. this.primary = u;
  3043. this.rawX = null == a ? r : a;
  3044. this.rawY = null == f ? i : f
  3045. };
  3046. t.clone = function() {
  3047. return new e(this.type, this.bubbles, this.cancelable, this.stageX, this.stageY, this.target, this.nativeEvent, this.pointerID, this.primary, this.rawX, this.rawY)
  3048. };
  3049. t.toString = function() {
  3050. return "[MouseEvent (type=" + this.type + " stageX=" + this.stageX + " stageY=" + this.stageY + ")]"
  3051. };
  3052. createjs.MouseEvent = e
  3053. })();
  3054. this.createjs = this.createjs || {};
  3055. (function() {
  3056. var e = function(e, t, n, r, i, s) {
  3057. this.initialize(e, t, n, r, i, s)
  3058. },
  3059. t = e.prototype;
  3060. e.identity = null;
  3061. e.DEG_TO_RAD = Math.PI / 180;
  3062. t.a = 1;
  3063. t.b = 0;
  3064. t.c = 0;
  3065. t.d = 1;
  3066. t.tx = 0;
  3067. t.ty = 0;
  3068. t.alpha = 1;
  3069. t.shadow = null;
  3070. t.compositeOperation = null;
  3071. t.initialize = function(e, t, n, r, i, s) {
  3072. this.a = null == e ? 1 : e;
  3073. this.b = t || 0;
  3074. this.c = n || 0;
  3075. this.d = null == r ? 1 : r;
  3076. this.tx = i || 0;
  3077. this.ty = s || 0;
  3078. return this
  3079. };
  3080. t.prepend = function(e, t, n, r, i, s) {
  3081. var o = this.tx;
  3082. if (1 != e || 0 != t || 0 != n || 1 != r) {
  3083. var u = this.a,
  3084. a = this.c;
  3085. this.a = u * e + this.b * n;
  3086. this.b = u * t + this.b * r;
  3087. this.c = a * e + this.d * n;
  3088. this.d = a * t + this.d * r
  3089. }
  3090. this.tx = o * e + this.ty * n + i;
  3091. this.ty = o * t + this.ty * r + s;
  3092. return this
  3093. };
  3094. t.append = function(e, t, n, r, i, s) {
  3095. var o = this.a,
  3096. u = this.b,
  3097. a = this.c,
  3098. f = this.d;
  3099. this.a = e * o + t * a;
  3100. this.b = e * u + t * f;
  3101. this.c = n * o + r * a;
  3102. this.d = n * u + r * f;
  3103. this.tx = i * o + s * a + this.tx;
  3104. this.ty = i * u + s * f + this.ty;
  3105. return this
  3106. };
  3107. t.prependMatrix = function(e) {
  3108. this.prepend(e.a, e.b, e.c, e.d, e.tx, e.ty);
  3109. this.prependProperties(e.alpha, e.shadow, e.compositeOperation);
  3110. return this
  3111. };
  3112. t.appendMatrix = function(e) {
  3113. this.append(e.a, e.b, e.c, e.d, e.tx, e.ty);
  3114. this.appendProperties(e.alpha, e.shadow, e.compositeOperation);
  3115. return this
  3116. };
  3117. t.prependTransform = function(t, n, r, i, s, o, u, a, f) {
  3118. if (s % 360) {
  3119. var l = s * e.DEG_TO_RAD;
  3120. s = Math.cos(l);
  3121. l = Math.sin(l)
  3122. } else s = 1, l = 0;
  3123. if (a || f) this.tx -= a, this.ty -= f;
  3124. o || u ? (o *= e.DEG_TO_RAD, u *= e.DEG_TO_RAD, this.prepend(s * r, l * r, -l * i, s * i, 0, 0), this.prepend(Math.cos(u), Math.sin(u), -Math.sin(o), Math.cos(o), t, n)) : this.prepend(s * r, l * r, -l * i, s * i, t, n);
  3125. return this
  3126. };
  3127. t.appendTransform = function(t, n, r, i, s, o, u, a, f) {
  3128. if (s % 360) {
  3129. var l = s * e.DEG_TO_RAD;
  3130. s = Math.cos(l);
  3131. l = Math.sin(l)
  3132. } else s = 1, l = 0;
  3133. o || u ? (o *= e.DEG_TO_RAD, u *= e.DEG_TO_RAD, this.append(Math.cos(u), Math.sin(u), -Math.sin(o), Math.cos(o), t, n), this.append(s * r, l * r, -l * i, s * i, 0, 0)) : this.append(s * r, l * r, -l * i, s * i, t, n);
  3134. if (a || f) this.tx -= a * this.a + f * this.c, this.ty -= a * this.b + f * this.d;
  3135. return this
  3136. };
  3137. t.rotate = function(e) {
  3138. var t = Math.cos(e);
  3139. e = Math.sin(e);
  3140. var n = this.a,
  3141. r = this.c,
  3142. i = this.tx;
  3143. this.a = n * t - this.b * e;
  3144. this.b = n * e + this.b * t;
  3145. this.c = r * t - this.d * e;
  3146. this.d = r * e + this.d * t;
  3147. this.tx = i * t - this.ty * e;
  3148. this.ty = i * e + this.ty * t;
  3149. return this
  3150. };
  3151. t.skew = function(t, n) {
  3152. t *= e.DEG_TO_RAD;
  3153. n *= e.DEG_TO_RAD;
  3154. this.append(Math.cos(n), Math.sin(n), -Math.sin(t), Math.cos(t), 0, 0);
  3155. return this
  3156. };
  3157. t.scale = function(e, t) {
  3158. this.a *= e;
  3159. this.d *= t;
  3160. this.c *= e;
  3161. this.b *= t;
  3162. this.tx *= e;
  3163. this.ty *= t;
  3164. return this
  3165. };
  3166. t.translate = function(e, t) {
  3167. this.tx += e;
  3168. this.ty += t;
  3169. return this
  3170. };
  3171. t.identity = function() {
  3172. this.alpha = this.a = this.d = 1;
  3173. this.b = this.c = this.tx = this.ty = 0;
  3174. this.shadow = this.compositeOperation = null;
  3175. return this
  3176. };
  3177. t.invert = function() {
  3178. var e = this.a,
  3179. t = this.b,
  3180. n = this.c,
  3181. r = this.d,
  3182. i = this.tx,
  3183. s = e * r - t * n;
  3184. this.a = r / s;
  3185. this.b = -t / s;
  3186. this.c = -n / s;
  3187. this.d = e / s;
  3188. this.tx = (n * this.ty - r * i) / s;
  3189. this.ty = -(e * this.ty - t * i) / s;
  3190. return this
  3191. };
  3192. t.isIdentity = function() {
  3193. return 0 == this.tx && 0 == this.ty && 1 == this.a && 0 == this.b && 0 == this.c && 1 == this.d
  3194. };
  3195. t.transformPoint = function(e, t, n) {
  3196. n = n || {};
  3197. n.x = e * this.a + t * this.c + this.tx;
  3198. n.y = e * this.b + t * this.d + this.ty;
  3199. return n
  3200. };
  3201. t.decompose = function(t) {
  3202. null == t && (t = {});
  3203. t.x = this.tx;
  3204. t.y = this.ty;
  3205. t.scaleX = Math.sqrt(this.a * this.a + this.b * this.b);
  3206. t.scaleY = Math.sqrt(this.c * this.c + this.d * this.d);
  3207. var n = Math.atan2(-this.c, this.d),
  3208. r = Math.atan2(this.b, this.a);
  3209. n == r ? (t.rotation = r / e.DEG_TO_RAD, 0 > this.a && 0 <= this.d && (t.rotation += 0 >= t.rotation ? 180 : -180), t.skewX = t.skewY = 0) : (t.skewX = n / e.DEG_TO_RAD, t.skewY = r / e.DEG_TO_RAD);
  3210. return t
  3211. };
  3212. t.reinitialize = function(e, t, n, r, i, s, o, u, a) {
  3213. this.initialize(e, t, n, r, i, s);
  3214. this.alpha = null == o ? 1 : o;
  3215. this.shadow = u;
  3216. this.compositeOperation = a;
  3217. return this
  3218. };
  3219. t.copy = function(e) {
  3220. return this.reinitialize(e.a, e.b, e.c, e.d, e.tx, e.ty, e.alpha, e.shadow, e.compositeOperation)
  3221. };
  3222. t.appendProperties = function(e, t, n) {
  3223. this.alpha *= e;
  3224. this.shadow = t || this.shadow;
  3225. this.compositeOperation = n || this.compositeOperation;
  3226. return this
  3227. };
  3228. t.prependProperties = function(e, t, n) {
  3229. this.alpha *= e;
  3230. this.shadow = this.shadow || t;
  3231. this.compositeOperation = this.compositeOperation || n;
  3232. return this
  3233. };
  3234. t.clone = function() {
  3235. return (new e).copy(this)
  3236. };
  3237. t.toString = function() {
  3238. return "[Matrix2D (a=" + this.a + " b=" + this.b + " c=" + this.c + " d=" + this.d + " tx=" + this.tx + " ty=" + this.ty + ")]"
  3239. };
  3240. e.identity = new e;
  3241. createjs.Matrix2D = e
  3242. })();
  3243. this.createjs = this.createjs || {};
  3244. (function() {
  3245. var e = function(e, t) {
  3246. this.initialize(e, t)
  3247. },
  3248. t = e.prototype;
  3249. t.x = 0;
  3250. t.y = 0;
  3251. t.initialize = function(e, t) {
  3252. this.x = null == e ? 0 : e;
  3253. this.y = null == t ? 0 : t;
  3254. return this
  3255. };
  3256. t.copy = function(e) {
  3257. return this.initialize(e.x, e.y)
  3258. };
  3259. t.clone = function() {
  3260. return new e(this.x, this.y)
  3261. };
  3262. t.toString = function() {
  3263. return "[Point (x=" + this.x + " y=" + this.y + ")]"
  3264. };
  3265. createjs.Point = e
  3266. })();
  3267. this.createjs = this.createjs || {};
  3268. (function() {
  3269. var e = function(e, t, n, r) {
  3270. this.initialize(e, t, n, r)
  3271. },
  3272. t = e.prototype;
  3273. t.x = 0;
  3274. t.y = 0;
  3275. t.width = 0;
  3276. t.height = 0;
  3277. t.initialize = function(e, t, n, r) {
  3278. this.x = e || 0;
  3279. this.y = t || 0;
  3280. this.width = n || 0;
  3281. this.height = r || 0;
  3282. return this
  3283. };
  3284. t.copy = function(e) {
  3285. return this.initialize(e.x, e.y, e.width, e.height)
  3286. };
  3287. t.clone = function() {
  3288. return new e(this.x, this.y, this.width, this.height)
  3289. };
  3290. t.toString = function() {
  3291. return "[Rectangle (x=" + this.x + " y=" + this.y + " width=" + this.width + " height=" + this.height + ")]"
  3292. };
  3293. createjs.Rectangle = e
  3294. })();
  3295. this.createjs = this.createjs || {};
  3296. (function() {
  3297. var e = function(e, t, n, r, i, s, o) {
  3298. this.initialize(e, t, n, r, i, s, o)
  3299. },
  3300. t = e.prototype;
  3301. t.target = null;
  3302. t.overLabel = null;
  3303. t.outLabel = null;
  3304. t.downLabel = null;
  3305. t.play = !1;
  3306. t._isPressed = !1;
  3307. t._isOver = !1;
  3308. t.initialize = function(e, t, n, r, i, s, o) {
  3309. e.addEventListener && (this.target = e, e.cursor = "pointer", this.overLabel = null == n ? "over" : n, this.outLabel = null == t ? "out" : t, this.downLabel = null == r ? "down" : r, this.play = i, this.setEnabled(!0), this.handleEvent({}), s && (o && (s.actionsEnabled = !1, s.gotoAndStop && s.gotoAndStop(o)), e.hitArea = s))
  3310. };
  3311. t.setEnabled = function(e) {
  3312. var t = this.target;
  3313. e ? (t.addEventListener("rollover", this), t.addEventListener("rollout", this), t.addEventListener("mousedown", this), t.addEventListener("pressup", this)) : (t.removeEventListener("rollover", this), t.removeEventListener("rollout", this), t.removeEventListener("mousedown", this), t.removeEventListener("pressup", this))
  3314. };
  3315. t.toString = function() {
  3316. return "[ButtonHelper]"
  3317. };
  3318. t.handleEvent = function(e) {
  3319. var t = this.target;
  3320. e = e.type;
  3321. "mousedown" == e ? (this._isPressed = !0, e = this.downLabel) : "pressup" == e ? (this._isPressed = !1, e = this._isOver ? this.overLabel : this.outLabel) : "rollover" == e ? (this._isOver = !0, e = this._isPressed ? this.downLabel : this.overLabel) : (this._isOver = !1, e = this._isPressed ? this.overLabel : this.outLabel);
  3322. this.play ? t.gotoAndPlay && t.gotoAndPlay(e) : t.gotoAndStop && t.gotoAndStop(e)
  3323. };
  3324. createjs.ButtonHelper = e
  3325. })();
  3326. this.createjs = this.createjs || {};
  3327. (function() {
  3328. var e = function(e, t, n, r) {
  3329. this.initialize(e, t, n, r)
  3330. },
  3331. t = e.prototype;
  3332. e.identity = null;
  3333. t.color = null;
  3334. t.offsetX = 0;
  3335. t.offsetY = 0;
  3336. t.blur = 0;
  3337. t.initialize = function(e, t, n, r) {
  3338. this.color = e;
  3339. this.offsetX = t;
  3340. this.offsetY = n;
  3341. this.blur = r
  3342. };
  3343. t.toString = function() {
  3344. return "[Shadow]"
  3345. };
  3346. t.clone = function() {
  3347. return new e(this.color, this.offsetX, this.offsetY, this.blur)
  3348. };
  3349. e.identity = new e("transparent", 0, 0, 0);
  3350. createjs.Shadow = e
  3351. })();
  3352. this.createjs = this.createjs || {};
  3353. (function() {
  3354. var e = function(e) {
  3355. this.initialize(e)
  3356. },
  3357. t = e.prototype = new createjs.EventDispatcher;
  3358. t.complete = !0;
  3359. t.framerate = 0;
  3360. t._animations = null;
  3361. t._frames = null;
  3362. t._images = null;
  3363. t._data = null;
  3364. t._loadCount = 0;
  3365. t._frameHeight = 0;
  3366. t._frameWidth = 0;
  3367. t._numFrames = 0;
  3368. t._regX = 0;
  3369. t._regY = 0;
  3370. t.initialize = function(e) {
  3371. var t, n, r;
  3372. if (null != e) {
  3373. this.framerate = e.framerate || 0;
  3374. if (e.images && 0 < (n = e.images.length))
  3375. for (r = this._images = [], t = 0; t < n; t++) {
  3376. var i = e.images[t];
  3377. if ("string" == typeof i) {
  3378. var s = i,
  3379. i = document.createElement("img");
  3380. i.src = s
  3381. }
  3382. r.push(i);
  3383. i.getContext || i.complete || (this._loadCount++, this.complete = !1, function(e) {
  3384. i.onload = function() {
  3385. e._handleImageLoad()
  3386. }
  3387. }(this))
  3388. }
  3389. if (null != e.frames)
  3390. if (e.frames instanceof Array)
  3391. for (this._frames = [], r = e.frames, t = 0, n = r.length; t < n; t++) s = r[t], this._frames.push({
  3392. image: this._images[s[4] ? s[4] : 0],
  3393. rect: new createjs.Rectangle(s[0], s[1], s[2], s[3]),
  3394. regX: s[5] || 0,
  3395. regY: s[6] || 0
  3396. });
  3397. else n = e.frames, this._frameWidth = n.width, this._frameHeight = n.height, this._regX = n.regX || 0, this._regY = n.regY || 0, this._numFrames = n.count, 0 == this._loadCount && this._calculateFrames();
  3398. this._animations = [];
  3399. if (null != (n = e.animations)) {
  3400. this._data = {};
  3401. for (var o in n) {
  3402. e = {
  3403. name: o
  3404. };
  3405. s = n[o];
  3406. if ("number" == typeof s) r = e.frames = [s];
  3407. else if (s instanceof Array)
  3408. if (1 == s.length) e.frames = [s[0]];
  3409. else
  3410. for (e.speed = s[3], e.next = s[2], r = e.frames = [], t = s[0]; t <= s[1]; t++) r.push(t);
  3411. else e.speed = s.speed, e.next = s.next, t = s.frames, r = e.frames = "number" == typeof t ? [t] : t.slice(0);
  3412. if (!0 === e.next || void 0 === e.next) e.next = o;
  3413. if (!1 === e.next || 2 > r.length && e.next == o) e.next = null;
  3414. e.speed || (e.speed = 1);
  3415. this._animations.push(o);
  3416. this._data[o] = e
  3417. }
  3418. }
  3419. }
  3420. };
  3421. t.getNumFrames = function(e) {
  3422. if (null == e) return this._frames ? this._frames.length : this._numFrames;
  3423. e = this._data[e];
  3424. return null == e ? 0 : e.frames.length
  3425. };
  3426. t.getAnimations = function() {
  3427. return this._animations.slice(0)
  3428. };
  3429. t.getAnimation = function(e) {
  3430. return this._data[e]
  3431. };
  3432. t.getFrame = function(e) {
  3433. var t;
  3434. return this._frames && (t = this._frames[e]) ? t : null
  3435. };
  3436. t.getFrameBounds = function(e, t) {
  3437. var n = this.getFrame(e);
  3438. return n ? (t || new createjs.Rectangle).initialize(-n.regX, -n.regY, n.rect.width, n.rect.height) : null
  3439. };
  3440. t.toString = function() {
  3441. return "[SpriteSheet]"
  3442. };
  3443. t.clone = function() {
  3444. var t = new e;
  3445. t.complete = this.complete;
  3446. t._animations = this._animations;
  3447. t._frames = this._frames;
  3448. t._images = this._images;
  3449. t._data = this._data;
  3450. t._frameHeight = this._frameHeight;
  3451. t._frameWidth = this._frameWidth;
  3452. t._numFrames = this._numFrames;
  3453. t._loadCount = this._loadCount;
  3454. return t
  3455. };
  3456. t._handleImageLoad = function() {
  3457. 0 == --this._loadCount && (this._calculateFrames(), this.complete = !0, this.dispatchEvent("complete"))
  3458. };
  3459. t._calculateFrames = function() {
  3460. if (!this._frames && 0 != this._frameWidth) {
  3461. this._frames = [];
  3462. for (var e = 0, t = this._frameWidth, n = this._frameHeight, r = 0, i = this._images; r < i.length; r++) {
  3463. for (var s = i[r], o = (s.width + 1) / t | 0, u = (s.height + 1) / n | 0, u = 0 < this._numFrames ? Math.min(this._numFrames - e, o * u) : o * u, a = 0; a < u; a++) this._frames.push({
  3464. image: s,
  3465. rect: new createjs.Rectangle(a % o * t, (a / o | 0) * n, t, n),
  3466. regX: this._regX,
  3467. regY: this._regY
  3468. });
  3469. e += u
  3470. }
  3471. this._numFrames = e
  3472. }
  3473. };
  3474. createjs.SpriteSheet = e
  3475. })();
  3476. this.createjs = this.createjs || {};
  3477. (function() {
  3478. function e(e, t, n) {
  3479. this.f = e;
  3480. this.params = t;
  3481. this.path = null == n ? !0 : n
  3482. }
  3483. e.prototype.exec = function(e) {
  3484. this.f.apply(e, this.params)
  3485. };
  3486. var t = function() {
  3487. this.initialize()
  3488. },
  3489. n = t.prototype;
  3490. t.getRGB = function(e, t, n, r) {
  3491. null != e && null == n && (r = t, n = e & 255, t = e >> 8 & 255, e = e >> 16 & 255);
  3492. return null == r ? "rgb(" + e + "," + t + "," + n + ")" : "rgba(" + e + "," + t + "," + n + "," + r + ")"
  3493. };
  3494. t.getHSL = function(e, t, n, r) {
  3495. return null == r ? "hsl(" + e % 360 + "," + t + "%," + n + "%)" : "hsla(" + e % 360 + "," + t + "%," + n + "%," + r + ")"
  3496. };
  3497. t.Command = e;
  3498. t.BASE_64 = {
  3499. A: 0,
  3500. B: 1,
  3501. C: 2,
  3502. D: 3,
  3503. E: 4,
  3504. F: 5,
  3505. G: 6,
  3506. H: 7,
  3507. I: 8,
  3508. J: 9,
  3509. K: 10,
  3510. L: 11,
  3511. M: 12,
  3512. N: 13,
  3513. O: 14,
  3514. P: 15,
  3515. Q: 16,
  3516. R: 17,
  3517. S: 18,
  3518. T: 19,
  3519. U: 20,
  3520. V: 21,
  3521. W: 22,
  3522. X: 23,
  3523. Y: 24,
  3524. Z: 25,
  3525. a: 26,
  3526. b: 27,
  3527. c: 28,
  3528. d: 29,
  3529. e: 30,
  3530. f: 31,
  3531. g: 32,
  3532. h: 33,
  3533. i: 34,
  3534. j: 35,
  3535. k: 36,
  3536. l: 37,
  3537. m: 38,
  3538. n: 39,
  3539. o: 40,
  3540. p: 41,
  3541. q: 42,
  3542. r: 43,
  3543. s: 44,
  3544. t: 45,
  3545. u: 46,
  3546. v: 47,
  3547. w: 48,
  3548. x: 49,
  3549. y: 50,
  3550. z: 51,
  3551. 0: 52,
  3552. 1: 53,
  3553. 2: 54,
  3554. 3: 55,
  3555. 4: 56,
  3556. 5: 57,
  3557. 6: 58,
  3558. 7: 59,
  3559. 8: 60,
  3560. 9: 61,
  3561. "+": 62,
  3562. "/": 63
  3563. };
  3564. t.STROKE_CAPS_MAP = ["butt", "round", "square"];
  3565. t.STROKE_JOINTS_MAP = ["miter", "round", "bevel"];
  3566. var r = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas");
  3567. if (r.getContext) {
  3568. var i = t._ctx = r.getContext("2d");
  3569. t.beginCmd = new e(i.beginPath, [], !1);
  3570. t.fillCmd = new e(i.fill, [], !1);
  3571. t.strokeCmd = new e(i.stroke, [], !1);
  3572. r.width = r.height = 1
  3573. }
  3574. n._strokeInstructions = null;
  3575. n._strokeStyleInstructions = null;
  3576. n._strokeIgnoreScale = !1;
  3577. n._fillInstructions = null;
  3578. n._fillMatrix = null;
  3579. n._instructions = null;
  3580. n._oldInstructions = null;
  3581. n._activeInstructions = null;
  3582. n._active = !1;
  3583. n._dirty = !1;
  3584. n.initialize = function() {
  3585. this.clear();
  3586. this._ctx = t._ctx
  3587. };
  3588. n.isEmpty = function() {
  3589. return !(this._instructions.length || this._oldInstructions.length || this._activeInstructions.length)
  3590. };
  3591. n.draw = function(e) {
  3592. this._dirty && this._updateInstructions();
  3593. for (var t = this._instructions, n = 0, r = t.length; n < r; n++) t[n].exec(e)
  3594. };
  3595. n.drawAsPath = function(e) {
  3596. this._dirty && this._updateInstructions();
  3597. for (var t, n = this._instructions, r = 0, i = n.length; r < i; r++)((t = n[r]).path || 0 == r) && t.exec(e)
  3598. };
  3599. n.moveTo = function(t, n) {
  3600. this._activeInstructions.push(new e(this._ctx.moveTo, [t, n]));
  3601. return this
  3602. };
  3603. n.lineTo = function(t, n) {
  3604. this._dirty = this._active = !0;
  3605. this._activeInstructions.push(new e(this._ctx.lineTo, [t, n]));
  3606. return this
  3607. };
  3608. n.arcTo = function(t, n, r, i, s) {
  3609. this._dirty = this._active = !0;
  3610. this._activeInstructions.push(new e(this._ctx.arcTo, [t, n, r, i, s]));
  3611. return this
  3612. };
  3613. n.arc = function(t, n, r, i, s, o) {
  3614. this._dirty = this._active = !0;
  3615. null == o && (o = !1);
  3616. this._activeInstructions.push(new e(this._ctx.arc, [t, n, r, i, s, o]));
  3617. return this
  3618. };
  3619. n.quadraticCurveTo = function(t, n, r, i) {
  3620. this._dirty = this._active = !0;
  3621. this._activeInstructions.push(new e(this._ctx.quadraticCurveTo, [t, n, r, i]));
  3622. return this
  3623. };
  3624. n.bezierCurveTo = function(t, n, r, i, s, o) {
  3625. this._dirty = this._active = !0;
  3626. this._activeInstructions.push(new e(this._ctx.bezierCurveTo, [t, n, r, i, s, o]));
  3627. return this
  3628. };
  3629. n.rect = function(t, n, r, i) {
  3630. this._dirty = this._active = !0;
  3631. this._activeInstructions.push(new e(this._ctx.rect, [t, n, r, i]));
  3632. return this
  3633. };
  3634. n.closePath = function() {
  3635. this._active && (this._dirty = !0, this._activeInstructions.push(new e(this._ctx.closePath, [])));
  3636. return this
  3637. };
  3638. n.clear = function() {
  3639. this._instructions = [];
  3640. this._oldInstructions = [];
  3641. this._activeInstructions = [];
  3642. this._strokeStyleInstructions = this._strokeInstructions = this._fillInstructions = this._fillMatrix = null;
  3643. this._active = this._dirty = this._strokeIgnoreScale = !1;
  3644. return this
  3645. };
  3646. n.beginFill = function(t) {
  3647. this._active && this._newPath();
  3648. this._fillInstructions = t ? [new e(this._setProp, ["fillStyle", t], !1)] : null;
  3649. this._fillMatrix = null;
  3650. return this
  3651. };
  3652. n.beginLinearGradientFill = function(t, n, r, i, s, o) {
  3653. this._active && this._newPath();
  3654. r = this._ctx.createLinearGradient(r, i, s, o);
  3655. i = 0;
  3656. for (s = t.length; i < s; i++) r.addColorStop(n[i], t[i]);
  3657. this._fillInstructions = [new e(this._setProp, ["fillStyle", r], !1)];
  3658. this._fillMatrix = null;
  3659. return this
  3660. };
  3661. n.beginRadialGradientFill = function(t, n, r, i, s, o, u, a) {
  3662. this._active && this._newPath();
  3663. r = this._ctx.createRadialGradient(r, i, s, o, u, a);
  3664. i = 0;
  3665. for (s = t.length; i < s; i++) r.addColorStop(n[i], t[i]);
  3666. this._fillInstructions = [new e(this._setProp, ["fillStyle", r], !1)];
  3667. this._fillMatrix = null;
  3668. return this
  3669. };
  3670. n.beginBitmapFill = function(t, n, r) {
  3671. this._active && this._newPath();
  3672. t = this._ctx.createPattern(t, n || "");
  3673. this._fillInstructions = [new e(this._setProp, ["fillStyle", t], !1)];
  3674. this._fillMatrix = r ? [r.a, r.b, r.c, r.d, r.tx, r.ty] : null;
  3675. return this
  3676. };
  3677. n.endFill = function() {
  3678. return this.beginFill()
  3679. };
  3680. n.setStrokeStyle = function(n, r, i, s, o) {
  3681. this._active && this._newPath();
  3682. this._strokeStyleInstructions = [new e(this._setProp, ["lineWidth", null == n ? "1" : n], !1), new e(this._setProp, ["lineCap", null == r ? "butt" : isNaN(r) ? r : t.STROKE_CAPS_MAP[r]], !1), new e(this._setProp, ["lineJoin", null == i ? "miter" : isNaN(i) ? i : t.STROKE_JOINTS_MAP[i]], !1), new e(this._setProp, ["miterLimit", null == s ? "10" : s], !1)];
  3683. this._strokeIgnoreScale = o;
  3684. return this
  3685. };
  3686. n.beginStroke = function(t) {
  3687. this._active && this._newPath();
  3688. this._strokeInstructions = t ? [new e(this._setProp, ["strokeStyle", t], !1)] : null;
  3689. return this
  3690. };
  3691. n.beginLinearGradientStroke = function(t, n, r, i, s, o) {
  3692. this._active && this._newPath();
  3693. r = this._ctx.createLinearGradient(r, i, s, o);
  3694. i = 0;
  3695. for (s = t.length; i < s; i++) r.addColorStop(n[i], t[i]);
  3696. this._strokeInstructions = [new e(this._setProp, ["strokeStyle", r], !1)];
  3697. return this
  3698. };
  3699. n.beginRadialGradientStroke = function(t, n, r, i, s, o, u, a) {
  3700. this._active && this._newPath();
  3701. r = this._ctx.createRadialGradient(r, i, s, o, u, a);
  3702. i = 0;
  3703. for (s = t.length; i < s; i++) r.addColorStop(n[i], t[i]);
  3704. this._strokeInstructions = [new e(this._setProp, ["strokeStyle", r], !1)];
  3705. return this
  3706. };
  3707. n.beginBitmapStroke = function(t, n) {
  3708. this._active && this._newPath();
  3709. var r = this._ctx.createPattern(t, n || "");
  3710. this._strokeInstructions = [new e(this._setProp, ["strokeStyle", r], !1)];
  3711. return this
  3712. };
  3713. n.endStroke = function() {
  3714. this.beginStroke();
  3715. return this
  3716. };
  3717. n.curveTo = n.quadraticCurveTo;
  3718. n.drawRect = n.rect;
  3719. n.drawRoundRect = function(e, t, n, r, i) {
  3720. this.drawRoundRectComplex(e, t, n, r, i, i, i, i);
  3721. return this
  3722. };
  3723. n.drawRoundRectComplex = function(t, n, r, i, s, o, u, a) {
  3724. var f = (r < i ? r : i) / 2,
  3725. l = 0,
  3726. h = 0,
  3727. p = 0,
  3728. d = 0;
  3729. 0 > s && (s *= l = -1);
  3730. s > f && (s = f);
  3731. 0 > o && (o *= h = -1);
  3732. o > f && (o = f);
  3733. 0 > u && (u *= p = -1);
  3734. u > f && (u = f);
  3735. 0 > a && (a *= d = -1);
  3736. a > f && (a = f);
  3737. this._dirty = this._active = !0;
  3738. var f = this._ctx.arcTo,
  3739. v = this._ctx.lineTo;
  3740. this._activeInstructions.push(new e(this._ctx.moveTo, [t + r - o, n]), new e(f, [t + r + o * h, n - o * h, t + r, n + o, o]), new e(v, [t + r, n + i - u]), new e(f, [t + r + u * p, n + i + u * p, t + r - u, n + i, u]), new e(v, [t + a, n + i]), new e(f, [t - a * d, n + i + a * d, t, n + i - a, a]), new e(v, [t, n + s]), new e(f, [t - s * l, n - s * l, t + s, n, s]), new e(this._ctx.closePath));
  3741. return this
  3742. };
  3743. n.drawCircle = function(e, t, n) {
  3744. this.arc(e, t, n, 0, 2 * Math.PI);
  3745. return this
  3746. };
  3747. n.drawEllipse = function(t, n, r, i) {
  3748. this._dirty = this._active = !0;
  3749. var s = .5522848 * (r / 2),
  3750. o = .5522848 * (i / 2),
  3751. u = t + r,
  3752. a = n + i;
  3753. r = t + r / 2;
  3754. i = n + i / 2;
  3755. this._activeInstructions.push(new e(this._ctx.moveTo, [t, i]), new e(this._ctx.bezierCurveTo, [t, i - o, r - s, n, r, n]), new e(this._ctx.bezierCurveTo, [r + s, n, u, i - o, u, i]), new e(this._ctx.bezierCurveTo, [u, i + o, r + s, a, r, a]), new e(this._ctx.bezierCurveTo, [r - s, a, t, i + o, t, i]));
  3756. return this
  3757. };
  3758. n.inject = function(t, n) {
  3759. this._dirty = this._active = !0;
  3760. this._activeInstructions.push(new e(t, [n]));
  3761. return this
  3762. };
  3763. n.drawPolyStar = function(t, n, r, i, s, o) {
  3764. this._dirty = this._active = !0;
  3765. null == s && (s = 0);
  3766. s = 1 - s;
  3767. o = null == o ? 0 : o / (180 / Math.PI);
  3768. var u = Math.PI / i;
  3769. this._activeInstructions.push(new e(this._ctx.moveTo, [t + Math.cos(o) * r, n + Math.sin(o) * r]));
  3770. for (var a = 0; a < i; a++) o += u, 1 != s && this._activeInstructions.push(new e(this._ctx.lineTo, [t + Math.cos(o) * r * s, n + Math.sin(o) * r * s])), o += u, this._activeInstructions.push(new e(this._ctx.lineTo, [t + Math.cos(o) * r, n + Math.sin(o) * r]));
  3771. return this
  3772. };
  3773. n.decodePath = function(e) {
  3774. for (var n = [this.moveTo, this.lineTo, this.quadraticCurveTo, this.bezierCurveTo, this.closePath], r = [2, 2, 4, 6, 0], i = 0, s = e.length, o = [], u = 0, f = 0, l = t.BASE_64; i < s;) {
  3775. var c = e.charAt(i),
  3776. h = l[c],
  3777. p = h >> 3,
  3778. d = n[p];
  3779. if (!d || h & 3) throw "bad path data (@" + i + "): " + c;
  3780. c = r[p];
  3781. p || (u = f = 0);
  3782. o.length = 0;
  3783. i++;
  3784. h = (h >> 2 & 1) + 2;
  3785. for (p = 0; p < c; p++) {
  3786. var v = l[e.charAt(i)],
  3787. m = v >> 5 ? -1 : 1,
  3788. v = (v & 31) << 6 | l[e.charAt(i + 1)];
  3789. 3 == h && (v = v << 6 | l[e.charAt(i + 2)]);
  3790. v = m * v / 10;
  3791. p % 2 ? u = v += u : f = v += f;
  3792. o[p] = v;
  3793. i += h
  3794. }
  3795. d.apply(this, o)
  3796. }
  3797. return this
  3798. };
  3799. n.clone = function() {
  3800. var e = new t;
  3801. e._instructions = this._instructions.slice();
  3802. e._activeInstructions = this._activeInstructions.slice();
  3803. e._oldInstructions = this._oldInstructions.slice();
  3804. this._fillInstructions && (e._fillInstructions = this._fillInstructions.slice());
  3805. this._strokeInstructions && (e._strokeInstructions = this._strokeInstructions.slice());
  3806. this._strokeStyleInstructions && (e._strokeStyleInstructions = this._strokeStyleInstructions.slice());
  3807. e._active = this._active;
  3808. e._dirty = this._dirty;
  3809. e._fillMatrix = this._fillMatrix;
  3810. e._strokeIgnoreScale = this._strokeIgnoreScale;
  3811. return e
  3812. };
  3813. n.toString = function() {
  3814. return "[Graphics]"
  3815. };
  3816. n.mt = n.moveTo;
  3817. n.lt = n.lineTo;
  3818. n.at = n.arcTo;
  3819. n.bt = n.bezierCurveTo;
  3820. n.qt = n.quadraticCurveTo;
  3821. n.a = n.arc;
  3822. n.r = n.rect;
  3823. n.cp = n.closePath;
  3824. n.c = n.clear;
  3825. n.f = n.beginFill;
  3826. n.lf = n.beginLinearGradientFill;
  3827. n.rf = n.beginRadialGradientFill;
  3828. n.bf = n.beginBitmapFill;
  3829. n.ef = n.endFill;
  3830. n.ss = n.setStrokeStyle;
  3831. n.s = n.beginStroke;
  3832. n.ls = n.beginLinearGradientStroke;
  3833. n.rs = n.beginRadialGradientStroke;
  3834. n.bs = n.beginBitmapStroke;
  3835. n.es = n.endStroke;
  3836. n.dr = n.drawRect;
  3837. n.rr = n.drawRoundRect;
  3838. n.rc = n.drawRoundRectComplex;
  3839. n.dc = n.drawCircle;
  3840. n.de = n.drawEllipse;
  3841. n.dp = n.drawPolyStar;
  3842. n.p = n.decodePath;
  3843. n._updateInstructions = function() {
  3844. this._instructions = this._oldInstructions.slice();
  3845. this._instructions.push(t.beginCmd);
  3846. this._appendInstructions(this._fillInstructions);
  3847. this._appendInstructions(this._strokeInstructions);
  3848. this._appendInstructions(this._strokeInstructions && this._strokeStyleInstructions);
  3849. this._appendInstructions(this._activeInstructions);
  3850. this._fillInstructions && this._appendDraw(t.fillCmd, this._fillMatrix);
  3851. this._strokeInstructions && this._appendDraw(t.strokeCmd, this._strokeIgnoreScale && [1, 0, 0, 1, 0, 0])
  3852. };
  3853. n._appendInstructions = function(e) {
  3854. e && this._instructions.push.apply(this._instructions, e)
  3855. };
  3856. n._appendDraw = function(t, n) {
  3857. n ? this._instructions.push(new e(this._ctx.save, [], !1), new e(this._ctx.transform, n, !1), t, new e(this._ctx.restore, [], !1)) : this._instructions.push(t)
  3858. };
  3859. n._newPath = function() {
  3860. this._dirty && this._updateInstructions();
  3861. this._oldInstructions = this._instructions;
  3862. this._activeInstructions = [];
  3863. this._active = this._dirty = !1
  3864. };
  3865. n._setProp = function(e, t) {
  3866. this[e] = t
  3867. };
  3868. createjs.Graphics = t
  3869. })();
  3870. this.createjs = this.createjs || {};
  3871. (function() {
  3872. var e = function() {
  3873. this.initialize()
  3874. },
  3875. t = e.prototype = new createjs.EventDispatcher;
  3876. e.suppressCrossDomainErrors = !1;
  3877. var n = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas");
  3878. n.getContext && (e._hitTestCanvas = n, e._hitTestContext = n.getContext("2d"), n.width = n.height = 1);
  3879. e._nextCacheID = 1;
  3880. t.alpha = 1;
  3881. t.cacheCanvas = null;
  3882. t.id = -1;
  3883. t.mouseEnabled = !0;
  3884. t.name = null;
  3885. t.parent = null;
  3886. t.regX = 0;
  3887. t.regY = 0;
  3888. t.rotation = 0;
  3889. t.scaleX = 1;
  3890. t.scaleY = 1;
  3891. t.skewX = 0;
  3892. t.skewY = 0;
  3893. t.shadow = null;
  3894. t.visible = !0;
  3895. t.x = 0;
  3896. t.y = 0;
  3897. t.compositeOperation = null;
  3898. t.snapToPixel = !1;
  3899. t.filters = null;
  3900. t.cacheID = 0;
  3901. t.mask = null;
  3902. t.hitArea = null;
  3903. t.cursor = null;
  3904. t._cacheOffsetX = 0;
  3905. t._cacheOffsetY = 0;
  3906. t._cacheScale = 1;
  3907. t._cacheDataURLID = 0;
  3908. t._cacheDataURL = null;
  3909. t._matrix = null;
  3910. t._rectangle = null;
  3911. t._y15 = null;
  3912. t.initialize = function() {
  3913. this.id = createjs.UID.get();
  3914. this._matrix = new createjs.Matrix2D;
  3915. this._rectangle = new createjs.Rectangle
  3916. };
  3917. t.isVisible = function() {
  3918. return !!(this.visible && 0 < this.alpha && 0 != this.scaleX && 0 != this.scaleY)
  3919. };
  3920. t.draw = function(e, t) {
  3921. var n = this.cacheCanvas;
  3922. if (t || !n) return !1;
  3923. var r = this._cacheScale,
  3924. i = this._cacheOffsetX,
  3925. s = this._cacheOffsetY,
  3926. o;
  3927. if (o = this._applyFilterBounds(i, s, 0, 0)) i = o.x, s = o.y;
  3928. e.drawImage(n, i, s, n.width / r, n.height / r);
  3929. return !0
  3930. };
  3931. t.updateContext = function(e) {
  3932. var t, n = this.mask;
  3933. n && n.graphics && !n.graphics.isEmpty() && (t = n.getMatrix(n._matrix), e.transform(t.a, t.b, t.c, t.d, t.tx, t.ty), n.graphics.drawAsPath(e), e.clip(), t.invert(), e.transform(t.a, t.b, t.c, t.d, t.tx, t.ty));
  3934. t = this._matrix.identity().appendTransform(this.x, this.y, this.scaleX, this.scaleY, this.rotation, this.skewX, this.skewY, this.regX, this.regY);
  3935. createjs.Stage._snapToPixelEnabled && this.snapToPixel ? e.transform(t.a, t.b, t.c, t.d, t.tx + .5 | 0, t.ty + .5 | 0) : e.transform(t.a, t.b, t.c, t.d, t.tx, t.ty);
  3936. e.globalAlpha *= this.alpha;
  3937. this.compositeOperation && (e.globalCompositeOperation = this.compositeOperation);
  3938. this.shadow && this._applyShadow(e, this.shadow)
  3939. };
  3940. t.cache = function(e, t, n, r, i) {
  3941. i = i || 1;
  3942. this.cacheCanvas || (this.cacheCanvas = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas"));
  3943. this._cacheWidth = n;
  3944. this._cacheHeight = r;
  3945. this._cacheOffsetX = e;
  3946. this._cacheOffsetY = t;
  3947. this._cacheScale = i;
  3948. this.updateCache()
  3949. };
  3950. t.updateCache = function(t) {
  3951. var n = this.cacheCanvas,
  3952. r = this._cacheScale,
  3953. i = this._cacheOffsetX * r,
  3954. s = this._cacheOffsetY * r,
  3955. o = this._cacheWidth,
  3956. u = this._cacheHeight,
  3957. a;
  3958. if (!n) throw "cache() must be called before updateCache()";
  3959. var f = n.getContext("2d");
  3960. if (a = this._applyFilterBounds(i, s, o, u)) i = a.x, s = a.y, o = a.width, u = a.height;
  3961. o = Math.ceil(o * r);
  3962. u = Math.ceil(u * r);
  3963. o != n.width || u != n.height ? (n.width = o, n.height = u) : t || f.clearRect(0, 0, o + 1, u + 1);
  3964. f.save();
  3965. f.globalCompositeOperation = t;
  3966. f.setTransform(r, 0, 0, r, -i, -s);
  3967. this.draw(f, !0);
  3968. this._applyFilters();
  3969. f.restore();
  3970. this.cacheID = e._nextCacheID++
  3971. };
  3972. t.uncache = function() {
  3973. this._cacheDataURL = this.cacheCanvas = null;
  3974. this.cacheID = this._cacheOffsetX = this._cacheOffsetY = 0;
  3975. this._cacheScale = 1
  3976. };
  3977. t.getCacheDataURL = function() {
  3978. if (!this.cacheCanvas) return null;
  3979. this.cacheID != this._cacheDataURLID && (this._cacheDataURL = this.cacheCanvas.toDataURL());
  3980. return this._cacheDataURL
  3981. };
  3982. t.getStage = function() {
  3983. for (var e = this; e.parent;) e = e.parent;
  3984. return e instanceof createjs.Stage ? e : null
  3985. };
  3986. t.localToGlobal = function(e, t) {
  3987. var n = this.getConcatenatedMatrix(this._matrix);
  3988. if (null == n) return null;
  3989. n.append(1, 0, 0, 1, e, t);
  3990. return new createjs.Point(n.tx, n.ty)
  3991. };
  3992. t.globalToLocal = function(e, t) {
  3993. var n = this.getConcatenatedMatrix(this._matrix);
  3994. if (null == n) return null;
  3995. n.invert();
  3996. n.append(1, 0, 0, 1, e, t);
  3997. return new createjs.Point(n.tx, n.ty)
  3998. };
  3999. t.localToLocal = function(e, t, n) {
  4000. e = this.localToGlobal(e, t);
  4001. return n.globalToLocal(e.x, e.y)
  4002. };
  4003. t.setTransform = function(e, t, n, r, i, s, o, u, a) {
  4004. this.x = e || 0;
  4005. this.y = t || 0;
  4006. this.scaleX = null == n ? 1 : n;
  4007. this.scaleY = null == r ? 1 : r;
  4008. this.rotation = i || 0;
  4009. this.skewX = s || 0;
  4010. this.skewY = o || 0;
  4011. this.regX = u || 0;
  4012. this.regY = a || 0;
  4013. return this
  4014. };
  4015. t.getMatrix = function(e) {
  4016. return (e ? e.identity() : new createjs.Matrix2D).appendTransform(this.x, this.y, this.scaleX, this.scaleY, this.rotation, this.skewX, this.skewY, this.regX, this.regY).appendProperties(this.alpha, this.shadow, this.compositeOperation)
  4017. };
  4018. t.getConcatenatedMatrix = function(e) {
  4019. e ? e.identity() : e = new createjs.Matrix2D;
  4020. for (var t = this; null != t;) e.prependTransform(t.x, t.y, t.scaleX, t.scaleY, t.rotation, t.skewX, t.skewY, t.regX, t.regY).prependProperties(t.alpha, t.shadow, t.compositeOperation), t = t.parent;
  4021. return e
  4022. };
  4023. t.hitTest = function(t, n) {
  4024. var r = e._hitTestContext;
  4025. r.setTransform(1, 0, 0, 1, -t, -n);
  4026. this.draw(r);
  4027. var i = this._testHit(r);
  4028. r.setTransform(1, 0, 0, 1, 0, 0);
  4029. r.clearRect(0, 0, 2, 2);
  4030. return i
  4031. };
  4032. t.set = function(e) {
  4033. for (var t in e) this[t] = e[t];
  4034. return this
  4035. };
  4036. t.getBounds = function() {
  4037. if (this._y15) return this._rectangle.copy(this._y15);
  4038. var e = this.cacheCanvas;
  4039. if (e) {
  4040. var t = this._cacheScale;
  4041. return this._rectangle.initialize(this._cacheOffsetX, this._cacheOffsetY, e.width / t, e.height / t)
  4042. }
  4043. return null
  4044. };
  4045. t.getTransformedBounds = function() {
  4046. return this._getBounds()
  4047. };
  4048. t.setBounds = function(e, t, n, r) {
  4049. null == e && (this._y15 = e);
  4050. this._y15 = (this._y15 || new createjs.Rectangle).initialize(e, t, n, r)
  4051. };
  4052. t.clone = function() {
  4053. var t = new e;
  4054. this.cloneProps(t);
  4055. return t
  4056. };
  4057. t.toString = function() {
  4058. return "[DisplayObject (name=" + this.name + ")]"
  4059. };
  4060. t.cloneProps = function(e) {
  4061. e.alpha = this.alpha;
  4062. e.name = this.name;
  4063. e.regX = this.regX;
  4064. e.regY = this.regY;
  4065. e.rotation = this.rotation;
  4066. e.scaleX = this.scaleX;
  4067. e.scaleY = this.scaleY;
  4068. e.shadow = this.shadow;
  4069. e.skewX = this.skewX;
  4070. e.skewY = this.skewY;
  4071. e.visible = this.visible;
  4072. e.x = this.x;
  4073. e.y = this.y;
  4074. e._y15 = this._y15;
  4075. e.mouseEnabled = this.mouseEnabled;
  4076. e.compositeOperation = this.compositeOperation
  4077. };
  4078. t._applyShadow = function(e, t) {
  4079. t = t || Shadow.identity;
  4080. e.shadowColor = t.color;
  4081. e.shadowOffsetX = t.offsetX;
  4082. e.shadowOffsetY = t.offsetY;
  4083. e.shadowBlur = t.blur
  4084. };
  4085. t._tick = function(e) {
  4086. var t = this._listeners;
  4087. t && t.tick && (t = new createjs.Event("tick"), t.params = e, this._dispatchEvent(t, this, 2))
  4088. };
  4089. t._testHit = function(t) {
  4090. try {
  4091. var n = 1 < t.getImageData(0, 0, 1, 1).data[3]
  4092. } catch (r) {
  4093. if (!e.suppressCrossDomainErrors) throw "An error has occurred. This is most likely due to security restrictions on reading canvas pixel data with local or cross-domain images."
  4094. }
  4095. return n
  4096. };
  4097. t._applyFilters = function() {
  4098. if (this.filters && 0 != this.filters.length && this.cacheCanvas)
  4099. for (var e = this.filters.length, t = this.cacheCanvas.getContext("2d"), n = this.cacheCanvas.width, r = this.cacheCanvas.height, i = 0; i < e; i++) this.filters[i].applyFilter(t, 0, 0, n, r)
  4100. };
  4101. t._applyFilterBounds = function(e, t, n, r) {
  4102. var i, s, o = this.filters;
  4103. if (o && (s = o.length)) {
  4104. for (o = 0; o < s; o++) {
  4105. var u = this.filters[o];
  4106. if (u = u.getBounds && u.getBounds()) i || (i = this._rectangle.initialize(e, t, n, r)), i.x += u.x, i.y += u.y, i.width += u.width, i.height += u.height
  4107. }
  4108. return i
  4109. }
  4110. };
  4111. t._getBounds = function(e, t) {
  4112. return this._transformBounds(this.getBounds(), e, t)
  4113. };
  4114. t._transformBounds = function(e, t, n) {
  4115. if (!e) return e;
  4116. var r = e.x,
  4117. i = e.y,
  4118. s = e.width,
  4119. o = e.height,
  4120. u = n ? this._matrix.identity() : this.getMatrix(this._matrix);
  4121. (r || i) && u.appendTransform(0, 0, 1, 1, 0, 0, 0, -r, -i);
  4122. t && u.prependMatrix(t);
  4123. t = s * u.a;
  4124. s *= u.b;
  4125. n = o * u.c;
  4126. var o = o * u.d,
  4127. a = u.tx,
  4128. u = u.ty,
  4129. f = a,
  4130. l = a,
  4131. c = u,
  4132. h = u;
  4133. (r = t + a) < f ? f = r : r > l && (l = r);
  4134. (r = t + n + a) < f ? f = r : r > l && (l = r);
  4135. (r = n + a) < f ? f = r : r > l && (l = r);
  4136. (i = s + u) < c ? c = i : i > h && (h = i);
  4137. (i = s + o + u) < c ? c = i : i > h && (h = i);
  4138. (i = o + u) < c ? c = i : i > h && (h = i);
  4139. return e.initialize(f, c, l - f, h - c)
  4140. };
  4141. t.isRoot = !1;
  4142. t.bounding_box = null;
  4143. t.isCheckMouseWithDraw = !1;
  4144. t.isOnlyBoundsCheck = !1;
  4145. t.setBoundingBox = function(e, t, n, r) {
  4146. return this.bounding_box = new createjs.Rectangle(e, t, n, r)
  4147. };
  4148. createjs.DisplayObject = e
  4149. })();
  4150. this.createjs = this.createjs || {};
  4151. (function() {
  4152. var e = function() {
  4153. this.initialize()
  4154. },
  4155. t = e.prototype = new createjs.DisplayObject;
  4156. t.children = null;
  4157. t.mouseChildren = !0;
  4158. t.DisplayObject_initialize = t.initialize;
  4159. t.initialize = function() {
  4160. this.DisplayObject_initialize();
  4161. this.children = []
  4162. };
  4163. t.isVisible = function() {
  4164. var e = this.cacheCanvas || this.children.length;
  4165. return !!(this.visible && 0 < this.alpha && 0 != this.scaleX && 0 != this.scaleY && e)
  4166. };
  4167. t.DisplayObject_draw = t.draw;
  4168. t.draw = function(e, t) {
  4169. if (this.DisplayObject_draw(e, t)) return !0;
  4170. for (var n = this.children.slice(0), r = 0, i = n.length; r < i; r++) {
  4171. var s = n[r];
  4172. s.isVisible() && (e.save(), s.updateContext(e), s.draw(e), e.restore())
  4173. }
  4174. return !0
  4175. };
  4176. t.addChild = function(e) {
  4177. if (null == e) return e;
  4178. var t = arguments.length;
  4179. if (1 < t) {
  4180. for (var n = 0; n < t; n++) this.addChild(arguments[n]);
  4181. return arguments[t - 1]
  4182. }
  4183. e.parent && e.parent.removeChild(e);
  4184. e.parent = this;
  4185. this.children.push(e);
  4186. return e
  4187. };
  4188. t.addChildAt = function(e, t) {
  4189. var n = arguments.length,
  4190. r = arguments[n - 1];
  4191. if (0 > r || r > this.children.length) return arguments[n - 2];
  4192. if (2 < n) {
  4193. for (var i = 0; i < n - 1; i++) this.addChildAt(arguments[i], r + i);
  4194. return arguments[n - 2]
  4195. }
  4196. e.parent && e.parent.removeChild(e);
  4197. e.parent = this;
  4198. this.children.splice(t, 0, e);
  4199. return e
  4200. };
  4201. t.removeChild = function(e) {
  4202. var t = arguments.length;
  4203. if (1 < t) {
  4204. for (var n = !0, r = 0; r < t; r++) n = n && this.removeChild(arguments[r]);
  4205. return n
  4206. }
  4207. return this.removeChildAt(createjs.indexOf(this.children, e))
  4208. };
  4209. t.removeChildAt = function(e) {
  4210. var t = arguments.length;
  4211. if (1 < t) {
  4212. for (var n = [], r = 0; r < t; r++) n[r] = arguments[r];
  4213. n.sort(function(e, t) {
  4214. return t - e
  4215. });
  4216. for (var i = !0, r = 0; r < t; r++) i = i && this.removeChildAt(n[r]);
  4217. return i
  4218. }
  4219. if (0 > e || e > this.children.length - 1) return !1;
  4220. if (t = this.children[e]) t.parent = null;
  4221. this.children.splice(e, 1);
  4222. return !0
  4223. };
  4224. t.removeAllChildren = function() {
  4225. for (var e = this.children; e.length;) e.pop().parent = null
  4226. };
  4227. t.getChildAt = function(e) {
  4228. return this.children[e]
  4229. };
  4230. t.getChildByName = function(e) {
  4231. for (var t = this.children, n = 0, r = t.length; n < r; n++)
  4232. if (t[n].name == e) return t[n];
  4233. return null
  4234. };
  4235. t.sortChildren = function(e) {
  4236. this.children.sort(e)
  4237. };
  4238. t.getChildIndex = function(e) {
  4239. return createjs.indexOf(this.children, e)
  4240. };
  4241. t.getNumChildren = function() {
  4242. return this.children.length
  4243. };
  4244. t.swapChildrenAt = function(e, t) {
  4245. var n = this.children,
  4246. r = n[e],
  4247. i = n[t];
  4248. r && i && (n[e] = i, n[t] = r)
  4249. };
  4250. t.swapChildren = function(e, t) {
  4251. for (var n = this.children, r, i, s = 0, o = n.length; s < o && (n[s] == e && (r = s), n[s] == t && (i = s), null == r || null == i); s++);
  4252. s != o && (n[r] = t, n[i] = e)
  4253. };
  4254. t.setChildIndex = function(e, t) {
  4255. var n = this.children,
  4256. r = n.length;
  4257. if (!(e.parent != this || 0 > t || t >= r)) {
  4258. for (var i = 0; i < r && n[i] != e; i++);
  4259. i != r && i != t && (n.splice(i, 1), n.splice(t, 0, e))
  4260. }
  4261. };
  4262. t.contains = function(e) {
  4263. for (; e;) {
  4264. if (e == this) return !0;
  4265. e = e.parent
  4266. }
  4267. return !1
  4268. };
  4269. t.hitTest = function(e, t) {
  4270. return null != this.getObjectUnderPoint(e, t)
  4271. };
  4272. t.getObjectsUnderPoint = function(e, t) {
  4273. var n = [],
  4274. r = this.localToGlobal(e, t);
  4275. this._getObjectsUnderPoint(r.x, r.y, n);
  4276. return n
  4277. };
  4278. t.getObjectUnderPoint = function(e, t) {
  4279. var n = this.localToGlobal(e, t);
  4280. return this._getObjectsUnderPoint(n.x, n.y)
  4281. };
  4282. t.DisplayObject_getBounds = t.getBounds;
  4283. t.getBounds = function() {
  4284. return this._getBounds(null, !0)
  4285. };
  4286. t.getTransformedBounds = function() {
  4287. return this._getBounds()
  4288. };
  4289. t.clone = function(t) {
  4290. var n = new e;
  4291. this.cloneProps(n);
  4292. if (t)
  4293. for (var r = n.children = [], i = 0, s = this.children.length; i < s; i++) {
  4294. var o = this.children[i].clone(t);
  4295. o.parent = n;
  4296. r.push(o)
  4297. }
  4298. return n
  4299. };
  4300. t.toString = function() {
  4301. return "[Container (name=" + this.name + ")]"
  4302. };
  4303. t.DisplayObject__tick = t._tick;
  4304. t._tick = function(e) {
  4305. for (var t = this.children.length - 1; 0 <= t; t--) {
  4306. var n = this.children[t];
  4307. n._tick && n._tick(e)
  4308. }
  4309. this.DisplayObject__tick(e)
  4310. };
  4311. t._getObjectsUnderPoint = function(t, n, r, i) {
  4312. var s, o;
  4313. s = this.children.length;
  4314. if (!isDesktopBrowser) {
  4315. var u, a;
  4316. for (s -= 1; 0 <= s; s--)
  4317. if (o = this.children[s], o.visible && o.mouseEnabled && !(0 >= o.alpha)) {
  4318. if (u = o.bounding_box) {
  4319. if (a = o.isRoot ? o.x + u.x <= t && t < o.x + u.x + u.width && o.y + u.y <= n && n < o.y + u.y + u.height : (o.x + u.x) * scaleFactor <= t && t < scaleFactor * (o.x + u.x + u.width) && (o.y + u.y) * scaleFactor <= n && n < scaleFactor * (o.y + u.y + u.height))
  4320. if (r) {
  4321. r.push(o);
  4322. continue
  4323. } else return o
  4324. } else if (o.isCheckMouseWithDraw) {
  4325. a = createjs.DisplayObject._hitTestContext;
  4326. var f = this._matrix;
  4327. u = i && o.hitArea;
  4328. o.getConcatenatedMatrix(f);
  4329. u && (f.appendTransform(u.x, u.y, u.scaleX, u.scaleY, u.rotation, u.skewX, u.skewY, u.regX, u.regY), f.alpha = u.alpha);
  4330. a.globalAlpha = f.alpha;
  4331. a.setTransform(f.a, f.b, f.c, f.d, f.tx - t, f.ty - n);
  4332. (u || o).draw(a);
  4333. if (!this._testHit(a)) continue;
  4334. a.setTransform(1, 0, 0, 1, 0, 0);
  4335. a.clearRect(0, 0, 2, 2);
  4336. if (r) r.push(o);
  4337. else return i && !this.mouseChildren ? this : o
  4338. }
  4339. if (o instanceof e && (o = o.isRoot ? o._getObjectsUnderPoint(t - (o.x + o.regX), n - (o.y + o.regY), r, i) : o._getObjectsUnderPoint(t - (o.x + o.regX) * scaleFactor, n - (o.y + o.regY) * scaleFactor, r, i)))
  4340. if (r) r.push(o);
  4341. else return o
  4342. }
  4343. return null
  4344. }
  4345. a = createjs.DisplayObject._hitTestContext;
  4346. f = this._matrix;
  4347. for (s -= 1; 0 <= s; s--)
  4348. if (o = this.children[s], u = i && o.hitArea, o.visible && (u || o.isVisible()) && (!i || o.mouseEnabled))
  4349. if (!u && o instanceof e) {
  4350. if (o = o._getObjectsUnderPoint(t, n, r, i), !r && o) return i && !this.mouseChildren ? this : o
  4351. } else {
  4352. o.getConcatenatedMatrix(f);
  4353. u && (f.appendTransform(u.x, u.y, u.scaleX, u.scaleY, u.rotation, u.skewX, u.skewY, u.regX, u.regY), f.alpha = u.alpha);
  4354. if (o.isOnlyBoundsCheck) {
  4355. if ((u = o.bounding_box) && !((t - f.tx) / scaleFactor >= u.x && (t - f.tx) / scaleFactor <= u.x + u.width && (n - f.ty) / scaleFactor >= u.y && (n - f.ty) / scaleFactor <= u.y + u.height)) continue
  4356. } else {
  4357. a.globalAlpha = f.alpha;
  4358. a.setTransform(f.a, f.b, f.c, f.d, f.tx - t, f.ty - n);
  4359. (u || o).draw(a);
  4360. if (!this._testHit(a)) continue;
  4361. a.setTransform(1, 0, 0, 1, 0, 0);
  4362. a.clearRect(0, 0, 2, 2)
  4363. }
  4364. if (r) r.push(o);
  4365. else return i && !this.mouseChildren ? this : o
  4366. }
  4367. return null
  4368. };
  4369. t._getBounds = function(e, t) {
  4370. var n = this.DisplayObject_getBounds();
  4371. if (n) return this._transformBounds(n, e, t);
  4372. var r, i, s, o, u = t ? this._matrix.identity() : this.getMatrix(this._matrix);
  4373. e && u.prependMatrix(e);
  4374. for (var a = this.children.length, f = 0; f < a; f++) {
  4375. var l = this.children[f];
  4376. if (l.visible && (n = l._getBounds(u))) {
  4377. var l = n.x,
  4378. c = n.y,
  4379. h = l + n.width,
  4380. p = c + n.height;
  4381. if (l < r || null == r) r = l;
  4382. if (h > i || null == i) i = h;
  4383. if (c < s || null == s) s = c;
  4384. if (p > o || null == o) o = p
  4385. }
  4386. }
  4387. return null == i ? null : this._rectangle.initialize(r, s, i - r, o - s)
  4388. };
  4389. createjs.Container = e
  4390. })();
  4391. this.createjs = this.createjs || {};
  4392. (function() {
  4393. var e = function(e) {
  4394. this.initialize(e)
  4395. },
  4396. t = e.prototype = new createjs.Container;
  4397. e._snapToPixelEnabled = !1;
  4398. t.autoClear = !0;
  4399. t.canvas = null;
  4400. t.mouseX = 0;
  4401. t.mouseY = 0;
  4402. t.snapToPixelEnabled = !1;
  4403. t.mouseInBounds = !1;
  4404. t.tickOnUpdate = !0;
  4405. t.mouseMoveOutside = !1;
  4406. t.nextStage = null;
  4407. t._pointerData = null;
  4408. t._pointerCount = 0;
  4409. t._primaryPointerID = null;
  4410. t._mouseOverIntervalID = null;
  4411. t.Container_initialize = t.initialize;
  4412. t.initialize = function(e) {
  4413. this.Container_initialize();
  4414. this.canvas = "string" == typeof e ? document.getElementById(e) : e;
  4415. this._pointerData = {};
  4416. this.enableDOMEvents(!0)
  4417. };
  4418. t.update = function(t) {
  4419. if (this.canvas) {
  4420. this.tickOnUpdate && (this.dispatchEvent("tickstart"), this._tick(arguments.length ? arguments : null), this.dispatchEvent("tickend"));
  4421. this.dispatchEvent("drawstart");
  4422. e._snapToPixelEnabled = this.snapToPixelEnabled;
  4423. this.autoClear && this.clear();
  4424. var n = this.canvas.getContext("2d");
  4425. n.save();
  4426. this.updateContext(n);
  4427. this.draw(n, !1);
  4428. n.restore();
  4429. this.dispatchEvent("drawend")
  4430. }
  4431. };
  4432. t.handleEvent = function(e) {
  4433. "tick" == e.type && this.update(e)
  4434. };
  4435. t.clear = function() {
  4436. if (this.canvas) {
  4437. var e = this.canvas.getContext("2d");
  4438. e.setTransform(1, 0, 0, 1, 0, 0);
  4439. e.clearRect(0, 0, this.canvas.width + 1, this.canvas.height + 1)
  4440. }
  4441. };
  4442. t.toDataURL = function(e, t) {
  4443. t || (t = "image/png");
  4444. var n = this.canvas.getContext("2d"),
  4445. r = this.canvas.width,
  4446. i = this.canvas.height,
  4447. s;
  4448. if (e) {
  4449. s = n.getImageData(0, 0, r, i);
  4450. var o = n.globalCompositeOperation;
  4451. n.globalCompositeOperation = "destination-over";
  4452. n.fillStyle = e;
  4453. n.fillRect(0, 0, r, i)
  4454. }
  4455. var u = this.canvas.toDataURL(t);
  4456. e && (n.clearRect(0, 0, r + 1, i + 1), n.putImageData(s, 0, 0), n.globalCompositeOperation = o);
  4457. return u
  4458. };
  4459. t.enableMouseOver = function(e) {
  4460. this._mouseOverIntervalID && (clearInterval(this._mouseOverIntervalID), this._mouseOverIntervalID = null, 0 == e && this._testMouseOver(!0));
  4461. if (null == e) e = 20;
  4462. else if (0 >= e) return;
  4463. var t = this;
  4464. this._mouseOverIntervalID = setInterval(function() {
  4465. t._testMouseOver()
  4466. }, 1e3 / Math.min(50, e))
  4467. };
  4468. t.enableDOMEvents = function(e) {
  4469. null == e && (e = !0);
  4470. var t, n = this._eventListeners;
  4471. if (!e && n) {
  4472. for (t in n) e = n[t], e.t.removeEventListener(t, e.f, !1);
  4473. this._eventListeners = null
  4474. } else if (e && !n && this.canvas) {
  4475. e = window.addEventListener ? window : document;
  4476. var r = this,
  4477. n = this._eventListeners = {};
  4478. n.mouseup = {
  4479. t: e,
  4480. f: function(e) {
  4481. r._handleMouseUp(e)
  4482. }
  4483. };
  4484. n.mousemove = {
  4485. t: e,
  4486. f: function(e) {
  4487. r._handleMouseMove(e)
  4488. }
  4489. };
  4490. n.dblclick = {
  4491. t: e,
  4492. f: function(e) {
  4493. r._handleDoubleClick(e)
  4494. }
  4495. };
  4496. n.mousedown = {
  4497. t: this.canvas,
  4498. f: function(e) {
  4499. r._handleMouseDown(e)
  4500. }
  4501. };
  4502. for (t in n) e = n[t], e.t.addEventListener(t, e.f, !1)
  4503. }
  4504. };
  4505. t.clone = function() {
  4506. var t = new e(null);
  4507. this.cloneProps(t);
  4508. return t
  4509. };
  4510. t.toString = function() {
  4511. return "[Stage (name=" + this.name + ")]"
  4512. };
  4513. t._getElementRect = function(e) {
  4514. var t;
  4515. try {
  4516. t = e.getBoundingClientRect()
  4517. } catch (n) {
  4518. t = {
  4519. top: e.offsetTop,
  4520. left: e.offsetLeft,
  4521. width: e.offsetWidth,
  4522. height: e.offsetHeight
  4523. }
  4524. }
  4525. var r = (window.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || document.body.clientLeft || 0),
  4526. i = (window.pageYOffset || document.scrollTop || 0) - (document.clientTop || document.body.clientTop || 0),
  4527. s = window.getComputedStyle ? getComputedStyle(e) : e.currentStyle;
  4528. e = parseInt(s.paddingLeft) + parseInt(s.borderLeftWidth);
  4529. var o = parseInt(s.paddingTop) + parseInt(s.borderTopWidth),
  4530. u = parseInt(s.paddingRight) + parseInt(s.borderRightWidth),
  4531. s = parseInt(s.paddingBottom) + parseInt(s.borderBottomWidth);
  4532. return {
  4533. left: t.left + r + e,
  4534. right: t.right + r - u,
  4535. top: t.top + i + o,
  4536. bottom: t.bottom + i - s
  4537. }
  4538. };
  4539. t._getPointerData = function(e) {
  4540. var t = this._pointerData[e];
  4541. t || (t = this._pointerData[e] = {
  4542. x: 0,
  4543. y: 0
  4544. }, null == this._primaryPointerID && (this._primaryPointerID = e));
  4545. return t
  4546. };
  4547. t._handleMouseMove = function(e) {
  4548. e || (e = window.event);
  4549. this._handlePointerMove(-1, e, e.pageX, e.pageY)
  4550. };
  4551. t._handlePointerMove = function(e, t, n, r) {
  4552. if (this.canvas) {
  4553. var i = this._getPointerData(e),
  4554. s = i.inBounds;
  4555. this._updatePointerPosition(e, t, n, r);
  4556. if (s || i.inBounds || this.mouseMoveOutside) - 1 == e && i.inBounds == !s && this._dispatchMouseEvent(this, s ? "mouseleave" : "mouseenter", !1, e, i, t), this._dispatchMouseEvent(this, "stagemousemove", !1, e, i, t), this._dispatchMouseEvent(i.target, "pressmove", !0, e, i, t), (s = i.event) && s.hasEventListener("mousemove") && s.dispatchEvent(new createjs.MouseEvent("mousemove", !1, !1, i.x, i.y, t, e, e == this._primaryPointerID, i.rawX, i.rawY), oTarget), this.nextStage && this.nextStage._handlePointerMove(e, t, n, r)
  4557. }
  4558. };
  4559. t._updatePointerPosition = function(e, t, n, r) {
  4560. var i = this._getElementRect(this.canvas);
  4561. n -= i.left;
  4562. r -= i.top;
  4563. var s = this.canvas.width,
  4564. o = this.canvas.height;
  4565. n /= (i.right - i.left) / s;
  4566. r /= (i.bottom - i.top) / o;
  4567. i = this._getPointerData(e);
  4568. (i.inBounds = 0 <= n && 0 <= r && n <= s - 1 && r <= o - 1) ? (i.x = n, i.y = r) : this.mouseMoveOutside && (i.x = 0 > n ? 0 : n > s - 1 ? s - 1 : n, i.y = 0 > r ? 0 : r > o - 1 ? o - 1 : r);
  4569. i.posEvtObj = t;
  4570. i.rawX = n;
  4571. i.rawY = r;
  4572. e == this._primaryPointerID && (this.mouseX = i.x, this.mouseY = i.y, this.mouseInBounds = i.inBounds)
  4573. };
  4574. t._handleMouseUp = function(e) {
  4575. this._handlePointerUp(-1, e, !1)
  4576. };
  4577. t._handlePointerUp = function(e, t, n) {
  4578. var r = this._getPointerData(e),
  4579. i = r.target;
  4580. i && (i.hasEventListener("pressup") || i.hasEventListener("click")) ? (i.hasEventListener("click") && this._getObjectsUnderPoint(r.x, r.y, null, !0) == i && this._dispatchMouseEvent(i, "click", !0, e, r, t), this._dispatchMouseEvent(i, "pressup", !0, e, r, t)) : this._dispatchMouseEvent(this, "stagemouseup", !1, e, r, t);
  4581. n ? (e == this._primaryPointerID && (this._primaryPointerID = null), delete this._pointerData[e]) : r.event = r.target = null;
  4582. this.nextStage && this.nextStage._handlePointerUp(e, t, n)
  4583. };
  4584. t._handleMouseDown = function(e) {
  4585. this._handlePointerDown(-1, e, e.pageX, e.pageY)
  4586. };
  4587. t._handlePointerDown = function(e, t, n, r) {
  4588. null != r && this._updatePointerPosition(e, t, n, r);
  4589. var i = this._getPointerData(e);
  4590. i.target = this._getObjectsUnderPoint(i.x, i.y, null, !0);
  4591. this._dispatchMouseEvent(i.target, "mousedown", !0, e, i, t);
  4592. i.target && i.target.hasEventListener("mousedown") || this._dispatchMouseEvent(this, "stagemousedown", !1, e, i, t);
  4593. this.nextStage && this.nextStage._handlePointerDown(e, t, n, r)
  4594. };
  4595. t._testMouseOver = function(e) {
  4596. if (-1 == this._primaryPointerID && (e || this.mouseX != this._mouseOverX || this.mouseY != this._mouseOverY || !this.mouseInBounds)) {
  4597. var t = this._getPointerData(-1),
  4598. n = t.posEvtObj,
  4599. r, i = -1,
  4600. s = "",
  4601. o;
  4602. if (e || this.mouseInBounds && n && n.target == this.canvas) r = this._getObjectsUnderPoint(this.mouseX, this.mouseY, null, !0), this._mouseOverX = this.mouseX, this._mouseOverY = this.mouseY;
  4603. e = this._mouseOverTarget || [];
  4604. var u = e[e.length - 1],
  4605. a = this._mouseOverTarget = [];
  4606. for (o = r; o;) a.unshift(o), null != o.cursor && (s = o.cursor), o = o.parent;
  4607. this.canvas.style.cursor = s;
  4608. s = 0;
  4609. for (o = a.length; s < o && a[s] == e[s]; s++) i = s;
  4610. u != r && this._dispatchMouseEvent(u, "mouseout", !0, -1, t, n);
  4611. for (s = e.length - 1; s > i; s--) this._dispatchMouseEvent(e[s], "rollout", !1, -1, t, n);
  4612. for (s = a.length - 1; s > i; s--) this._dispatchMouseEvent(a[s], "rollover", !1, -1, t, n);
  4613. u != r && this._dispatchMouseEvent(r, "mouseover", !0, -1, t, n)
  4614. }
  4615. };
  4616. t._handleDoubleClick = function(e) {
  4617. var t = this._getPointerData(-1),
  4618. n = this._getObjectsUnderPoint(t.x, t.y, null, !0);
  4619. this._dispatchMouseEvent(n, "dblclick", !0, -1, t, e);
  4620. this.nextStage && this.nextStage._handleDoubleClick(e)
  4621. };
  4622. t._dispatchMouseEvent = function(e, t, n, r, i, s) {
  4623. e && (n || e.hasEventListener(t)) && (t = new createjs.MouseEvent(t, n, !1, i.x, i.y, s, r, r == this._primaryPointerID, i.rawX, i.rawY), e.dispatchEvent(t))
  4624. };
  4625. createjs.Stage = e
  4626. })();
  4627. this.createjs = this.createjs || {};
  4628. (function() {
  4629. var e = function(e) {
  4630. this.initialize(e)
  4631. },
  4632. t = e.prototype = new createjs.DisplayObject;
  4633. t.image = null;
  4634. t.snapToPixel = !0;
  4635. t.sourceRect = null;
  4636. t.DisplayObject_initialize = t.initialize;
  4637. t.initialize = function(e) {
  4638. this.DisplayObject_initialize();
  4639. "string" == typeof e ? (this.image = document.createElement("img"), this.image.src = e) : this.image = e
  4640. };
  4641. t.isVisible = function() {
  4642. var e = this.cacheCanvas || this.image && (this.image.complete || this.image.getContext || 2 <= this.image.readyState);
  4643. return !!(this.visible && 0 < this.alpha && 0 != this.scaleX && 0 != this.scaleY && e)
  4644. };
  4645. t.DisplayObject_draw = t.draw;
  4646. t.draw = function(e, t) {
  4647. if (this.DisplayObject_draw(e, t)) return !0;
  4648. var n = this.sourceRect;
  4649. n ? e.drawImage(this.image, n.x, n.y, n.width, n.height, 0, 0, n.width, n.height) : e.drawImage(this.image, 0, 0);
  4650. return !0
  4651. };
  4652. t.DisplayObject_getBounds = t.getBounds;
  4653. t.getBounds = function() {
  4654. var e = this.DisplayObject_getBounds();
  4655. if (e) return e;
  4656. e = this.sourceRect || this.image;
  4657. return this.image && (this.image.complete || this.image.getContext || 2 <= this.image.readyState) ? this._rectangle.initialize(0, 0, e.width, e.height) : null
  4658. };
  4659. t.clone = function() {
  4660. var t = new e(this.image);
  4661. this.sourceRect && (t.sourceRect = this.sourceRect.clone());
  4662. this.cloneProps(t);
  4663. return t
  4664. };
  4665. t.toString = function() {
  4666. return "[Bitmap (name=" + this.name + ")]"
  4667. };
  4668. createjs.Bitmap = e
  4669. })();
  4670. this.createjs = this.createjs || {};
  4671. (function() {
  4672. var e = function(e, t) {
  4673. this.initialize(e, t)
  4674. },
  4675. t = e.prototype = new createjs.DisplayObject;
  4676. t.currentFrame = 0;
  4677. t.currentAnimation = null;
  4678. t.paused = !0;
  4679. t.spriteSheet = null;
  4680. t.snapToPixel = !0;
  4681. t.isLoop = !0;
  4682. t.offset = 0;
  4683. t.currentAnimationFrame = 0;
  4684. t.framerate = 0;
  4685. t._advanceCount = 0;
  4686. t._animation = null;
  4687. t._currentFrame = null;
  4688. t.rectMask = null;
  4689. t.DisplayObject_initialize = t.initialize;
  4690. t.initialize = function(e, t) {
  4691. this.DisplayObject_initialize();
  4692. this.spriteSheet = e;
  4693. t && this.gotoAndPlay(t)
  4694. };
  4695. t.isVisible = function() {
  4696. var e = this.cacheCanvas || this.spriteSheet.complete;
  4697. return !!(this.visible && 0 < this.alpha && 0 != this.scaleX && 0 != this.scaleY && e)
  4698. };
  4699. t.DisplayObject_draw = t.draw;
  4700. t.draw = function(e, t) {
  4701. if (this.DisplayObject_draw(e, t)) return !0;
  4702. this._normalizeFrame();
  4703. var n = this.spriteSheet.getFrame(this._currentFrame | 0);
  4704. if (!n) return !1;
  4705. var r = n.rect;
  4706. this.rectMask ? e.drawImage(n.image, r.x + this.rectMask.x, r.y + this.rectMask.y, r.width + this.rectMask.width, r.height + this.rectMask.height, -n.regX + this.rectMask.x, -n.regY + this.rectMask.y, r.width + this.rectMask.width, r.height + this.rectMask.height) : e.drawImage(n.image, r.x, r.y, r.width, r.height, -n.regX, -n.regY, r.width, r.height);
  4707. return !0
  4708. };
  4709. t.play = function() {
  4710. this.paused = !1
  4711. };
  4712. t.stop = function() {
  4713. this.paused = !0
  4714. };
  4715. t.gotoAndPlay = function(e) {
  4716. this.paused = !1;
  4717. this._goto(e)
  4718. };
  4719. t.gotoAndStop = function(e) {
  4720. this.paused = !0;
  4721. this._goto(e)
  4722. };
  4723. t.advance = function(e) {
  4724. var t = this._animation && this._animation.speed || 1,
  4725. n = this.framerate || this.spriteSheet.framerate;
  4726. e = n && null != e ? e / (1e3 / n) : 1;
  4727. this._animation ? this.currentAnimationFrame += e * t : this._currentFrame += e * t;
  4728. this._normalizeFrame()
  4729. };
  4730. t.DisplayObject_getBounds = t.getBounds;
  4731. t.getBounds = function() {
  4732. return this.DisplayObject_getBounds() || this.spriteSheet.getFrameBounds(this.currentFrame, this._rectangle)
  4733. };
  4734. t.clone = function() {
  4735. var t = new e(this.spriteSheet);
  4736. this.cloneProps(t);
  4737. return t
  4738. };
  4739. t.toString = function() {
  4740. return "[Sprite (name=" + this.name + ")]"
  4741. };
  4742. t.DisplayObject__tick = t._tick;
  4743. t._tick = function(e) {
  4744. this.paused || this.advance(e && e[0] && e[0].delta);
  4745. this.DisplayObject__tick(e)
  4746. };
  4747. t._normalizeFrame = function() {
  4748. var e = this._animation,
  4749. t = this.paused,
  4750. n = this._currentFrame,
  4751. r = this.currentAnimationFrame,
  4752. i;
  4753. if (e)
  4754. if (i = e.frames.length, (r | 0) >= i) {
  4755. var s = e.next;
  4756. if (!this._dispatchAnimationEnd(e, n, t, s, i - 1)) {
  4757. if (s && this.isLoop) return this._goto(s, r - i);
  4758. this.paused = !0;
  4759. r = this.currentAnimationFrame = e.frames.length - 1;
  4760. this._currentFrame = e.frames[r]
  4761. }
  4762. } else this._currentFrame = e.frames[r | 0];
  4763. else if (i = this.spriteSheet.getNumFrames(), n >= i && !this._dispatchAnimationEnd(e, n, t, i - 1) && (this._currentFrame -= i) >= i) return this._normalizeFrame();
  4764. this.currentFrame = this._currentFrame | 0
  4765. };
  4766. t._dispatchAnimationEnd = function(e, t, n, r, i) {
  4767. var s = e ? e.name : null;
  4768. if (this.hasEventListener("animationend")) {
  4769. var o = new createjs.Event("animationend");
  4770. o.name = s;
  4771. o.next = r;
  4772. this.dispatchEvent(o)
  4773. }
  4774. e = this._animation != e || this._currentFrame != t;
  4775. e || n || !this.paused || (this.currentAnimationFrame = i, e = !0);
  4776. return e
  4777. };
  4778. t.DisplayObject_cloneProps = t.cloneProps;
  4779. t.cloneProps = function(e) {
  4780. this.DisplayObject_cloneProps(e);
  4781. e.currentFrame = this.currentFrame;
  4782. e._currentFrame = this._currentFrame;
  4783. e.currentAnimation = this.currentAnimation;
  4784. e.paused = this.paused;
  4785. e._animation = this._animation;
  4786. e.currentAnimationFrame = this.currentAnimationFrame;
  4787. e.framerate = this.framerate
  4788. };
  4789. t._goto = function(e, t) {
  4790. if (isNaN(e)) {
  4791. var n = this.spriteSheet.getAnimation(e);
  4792. n && (this.currentAnimationFrame = t || 0, this._animation = n, this.currentAnimation = e, this._normalizeFrame())
  4793. } else this.currentAnimationFrame = 0, this.currentAnimation = this._animation = null, this._currentFrame = e, this._normalizeFrame()
  4794. };
  4795. createjs.Sprite = e
  4796. })();
  4797. this.createjs = this.createjs || {};
  4798. (function() {
  4799. if (!createjs.Sprite) throw "BitmapAnimation is deprecated in favour of Sprite. See VERSIONS file for info on changes.";
  4800. (createjs.BitmapAnimation = function(e) {
  4801. console.log("BitmapAnimation is deprecated in favour of Sprite. See VERSIONS file for info on changes.");
  4802. this.initialize(e)
  4803. }).prototype = new createjs.Sprite
  4804. })();
  4805. this.createjs = this.createjs || {};
  4806. (function() {
  4807. var e = function(e) {
  4808. this.initialize(e)
  4809. },
  4810. t = e.prototype = new createjs.DisplayObject;
  4811. t.graphics = null;
  4812. t.DisplayObject_initialize = t.initialize;
  4813. t.initialize = function(e) {
  4814. this.DisplayObject_initialize();
  4815. this.graphics = e ? e : new createjs.Graphics
  4816. };
  4817. t.isVisible = function() {
  4818. var e = this.cacheCanvas || this.graphics && !this.graphics.isEmpty();
  4819. return !!(this.visible && 0 < this.alpha && 0 != this.scaleX && 0 != this.scaleY && e)
  4820. };
  4821. t.DisplayObject_draw = t.draw;
  4822. t.draw = function(e, t) {
  4823. if (this.DisplayObject_draw(e, t)) return !0;
  4824. this.graphics.draw(e);
  4825. return !0
  4826. };
  4827. t.clone = function(t) {
  4828. t = new e(t && this.graphics ? this.graphics.clone() : this.graphics);
  4829. this.cloneProps(t);
  4830. return t
  4831. };
  4832. t.toString = function() {
  4833. return "[Shape (name=" + this.name + ")]"
  4834. };
  4835. createjs.Shape = e
  4836. })();
  4837. this.createjs = this.createjs || {};
  4838. (function() {
  4839. var e = function(e, t, n) {
  4840. this.initialize(e, t, n)
  4841. },
  4842. t = e.prototype = new createjs.DisplayObject,
  4843. n = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas");
  4844. n.getContext && (e._workingContext = n.getContext("2d"), n.width = n.height = 1);
  4845. e.H_OFFSETS = {
  4846. start: 0,
  4847. left: 0,
  4848. center: -.5,
  4849. end: -1,
  4850. right: -1
  4851. };
  4852. e.V_OFFSETS = {
  4853. top: 0,
  4854. hanging: -.01,
  4855. middle: -.4,
  4856. alphabetic: -.8,
  4857. ideographic: -.85,
  4858. bottom: -1
  4859. };
  4860. t.text = "";
  4861. t.font = null;
  4862. t.color = null;
  4863. t.textAlign = "left";
  4864. t.textBaseline = "top";
  4865. t.maxWidth = null;
  4866. t.outline = 0;
  4867. t.lineHeight = 0;
  4868. t.lineWidth = null;
  4869. t.DisplayObject_initialize = t.initialize;
  4870. t.initialize = function(e, t, n) {
  4871. this.DisplayObject_initialize();
  4872. this.text = e;
  4873. this.font = t;
  4874. this.color = n
  4875. };
  4876. t.isVisible = function() {
  4877. var e = this.cacheCanvas || null != this.text && "" !== this.text;
  4878. return !!(this.visible && 0 < this.alpha && 0 != this.scaleX && 0 != this.scaleY && e)
  4879. };
  4880. t.DisplayObject_draw = t.draw;
  4881. t.draw = function(e, t) {
  4882. if (this.DisplayObject_draw(e, t)) return !0;
  4883. var n = this.color || "#000";
  4884. this.outline ? (e.strokeStyle = n, e.lineWidth = 1 * this.outline) : e.fillStyle = n;
  4885. this._drawText(this._prepContext(e));
  4886. return !0
  4887. };
  4888. t.getMeasuredWidth = function() {
  4889. return this._prepContext(e._workingContext).measureText(this.text).width
  4890. };
  4891. t.getMeasuredLineHeight = function() {
  4892. return 1.2 * this._prepContext(e._workingContext).measureText("M").width
  4893. };
  4894. t.getMeasuredHeight = function() {
  4895. return this._drawText(null, {}).height
  4896. };
  4897. t.DisplayObject_getBounds = t.getBounds;
  4898. t.getBounds = function() {
  4899. var t = this.DisplayObject_getBounds();
  4900. if (t) return t;
  4901. if (null == this.text || "" == this.text) return null;
  4902. var t = this._drawText(null, {}),
  4903. n = this.maxWidth && this.maxWidth < t.width ? this.maxWidth : t.width,
  4904. r = n * e.H_OFFSETS[this.textAlign || "left"],
  4905. i = (this.lineHeight || this.getMeasuredLineHeight()) * e.V_OFFSETS[this.textBaseline || "top"];
  4906. return this._rectangle.initialize(r, i, n, t.height)
  4907. };
  4908. t.clone = function() {
  4909. var t = new e(this.text, this.font, this.color);
  4910. this.cloneProps(t);
  4911. return t
  4912. };
  4913. t.toString = function() {
  4914. return "[Text (text=" + (20 < this.text.length ? this.text.substr(0, 17) + "..." : this.text) + ")]"
  4915. };
  4916. t.DisplayObject_cloneProps = t.cloneProps;
  4917. t.cloneProps = function(e) {
  4918. this.DisplayObject_cloneProps(e);
  4919. e.textAlign = this.textAlign;
  4920. e.textBaseline = this.textBaseline;
  4921. e.maxWidth = this.maxWidth;
  4922. e.outline = this.outline;
  4923. e.lineHeight = this.lineHeight;
  4924. e.lineWidth = this.lineWidth
  4925. };
  4926. t._prepContext = function(e) {
  4927. e.font = this.font;
  4928. e.textAlign = this.textAlign || "left";
  4929. e.textBaseline = this.textBaseline || "top";
  4930. return e
  4931. };
  4932. t._drawText = function(t, n) {
  4933. var r = !!t;
  4934. r || (t = this._prepContext(e._workingContext));
  4935. for (var i = this.lineHeight || this.getMeasuredLineHeight(), s = 0, o = 0, u = String(this.text).split(/(?:\r\n|\r|\n)/), a = 0, f = u.length; a < f; a++) {
  4936. var l = u[a],
  4937. h = null;
  4938. if (null != this.lineWidth && (h = t.measureText(l).width) > this.lineWidth)
  4939. for (var p = l.split(/(\s)/), l = p[0], h = t.measureText(l).width, d = 1, v = p.length; d < v; d += 2) {
  4940. var m = t.measureText(p[d] + p[d + 1]).width;
  4941. h + m > this.lineWidth ? (r && this._drawTextLine(t, l, o * i), h > s && (s = h), l = p[d + 1], h = t.measureText(l).width, o++) : (l += p[d] + p[d + 1], h += m)
  4942. }
  4943. r && this._drawTextLine(t, l, o * i);
  4944. n && null == h && (h = t.measureText(l).width);
  4945. h > s && (s = h);
  4946. o++
  4947. }
  4948. n && (n.count = o, n.width = s, n.height = o * i);
  4949. return n
  4950. };
  4951. t._drawTextLine = function(e, t, n) {
  4952. this.outline ? e.strokeText(t, 0, n, this.maxWidth || 65535) : e.fillText(t, 0, n, this.maxWidth || 65535)
  4953. };
  4954. createjs.Text = e
  4955. })();
  4956. this.createjs = this.createjs || {};
  4957. (function() {
  4958. function e(e, t) {
  4959. this.initialize(e, t)
  4960. }
  4961. var t = e.prototype = new createjs.DisplayObject;
  4962. t.text = "";
  4963. t.spriteSheet = null;
  4964. t.lineHeight = 0;
  4965. t.letterSpacing = 0;
  4966. t.isNeedCenter = !1;
  4967. t.centerX = 0;
  4968. t.centerY = 0;
  4969. t.textBounds;
  4970. t.spaceWidth = 0;
  4971. t.postfix = "";
  4972. t.DisplayObject_initialize = t.initialize;
  4973. t.initialize = function(e, n) {
  4974. this.DisplayObject_initialize();
  4975. this.text = e;
  4976. this.spriteSheet = n;
  4977. t.textBounds = new createjs.Rectangle
  4978. };
  4979. t.DisplayObject_draw = t.draw;
  4980. t.draw = function(e, t) {
  4981. if (this.DisplayObject_draw(e, t)) return !0;
  4982. this._drawText(e)
  4983. };
  4984. t.isVisible = function() {
  4985. var e = this.cacheCanvas || this.spriteSheet && this.spriteSheet.complete && this.text;
  4986. return !!(this.visible && 0 < this.alpha && 0 != this.scaleX && 0 != this.scaleY && e)
  4987. };
  4988. t.getBounds = function() {
  4989. var e = this._rectangle;
  4990. this._drawText(null, e);
  4991. return e.width ? e : null
  4992. };
  4993. t._getFrame = function(e, t) {
  4994. var n, r = t.getAnimation(e + this.postfix);
  4995. r || (e != (n = e.toUpperCase()) || e != (n = e.toLowerCase()) || (n = null), n && (r = t.getAnimation(n + this.postfix)));
  4996. return r && t.getFrame(r.frames[0])
  4997. };
  4998. t._getLineHeight = function(e) {
  4999. return (e = this._getFrame("1", e) || this._getFrame("T", e) || this._getFrame("L", e) || e.getFrame(0)) ? e.rect.height : 1
  5000. };
  5001. t._getSpaceWidth = function(e) {
  5002. return (e = this._getFrame("1", e) || this._getFrame("l", e) || this._getFrame("e", e) || this._getFrame("a", e) || e.getFrame(0)) ? e.rect.width : 1
  5003. };
  5004. t._drawText = function(e, t) {
  5005. var n, r, i, s = 0,
  5006. o = 0,
  5007. u = this.spaceWidth,
  5008. a = this.lineHeight,
  5009. f = this.spriteSheet;
  5010. 0 == u && (u = this._getSpaceWidth(f));
  5011. 0 == a && (a = this._getLineHeight(f));
  5012. for (var l = 0, c = 0, h = this.text.length; c < h; c++)
  5013. if (n = this.text.charAt(c), " " == n) s += u;
  5014. else if ("\n" == n || "\r" == n) "\r" == n && "\n" == this.text.charAt(c + 1) && c++, s - i > l && (l = s - i), s = 0, o += a;
  5015. else {
  5016. var p = this._getFrame(n, f);
  5017. if (p) {
  5018. var d = p.rect;
  5019. i = p.regX;
  5020. n = d.width;
  5021. e && e.drawImage(p.image, d.x, d.y, n, r = d.height, s - i, o - p.regY, n, r);
  5022. s += n + this.letterSpacing
  5023. }
  5024. }
  5025. s - i > l && (l = s - i);
  5026. t && (t.width = l - this.letterSpacing, t.height = o + a);
  5027. this.textBounds.width = l - this.letterSpacing;
  5028. this.textBounds.height = o + a
  5029. };
  5030. createjs.BitmapText = e
  5031. })();
  5032. this.createjs = this.createjs || {};
  5033. (function() {
  5034. var e = function() {
  5035. throw "SpriteSheetUtils cannot be instantiated"
  5036. },
  5037. t = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas");
  5038. t.getContext && (e._workingCanvas = t, e._workingContext = t.getContext("2d"), t.width = t.height = 1);
  5039. e.addFlippedFrames = function(t, n, r, i) {
  5040. if (n || r || i) {
  5041. var s = 0;
  5042. n && e._flip(t, ++s, !0, !1);
  5043. r && e._flip(t, ++s, !1, !0);
  5044. i && e._flip(t, ++s, !0, !0)
  5045. }
  5046. };
  5047. e.extractFrame = function(t, n) {
  5048. isNaN(n) && (n = t.getAnimation(n).frames[0]);
  5049. var r = t.getFrame(n);
  5050. if (!r) return null;
  5051. var i = r.rect,
  5052. s = e._workingCanvas;
  5053. s.width = i.width;
  5054. s.height = i.height;
  5055. e._workingContext.drawImage(r.image, i.x, i.y, i.width, i.height, 0, 0, i.width, i.height);
  5056. r = document.createElement("img");
  5057. r.src = s.toDataURL("image/png");
  5058. return r
  5059. };
  5060. e.mergeAlpha = function(e, t, n) {
  5061. n || (n = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas"));
  5062. n.width = Math.max(t.width, e.width);
  5063. n.height = Math.max(t.height, e.height);
  5064. var r = n.getContext("2d");
  5065. r.save();
  5066. r.drawImage(e, 0, 0);
  5067. r.globalCompositeOperation = "destination-in";
  5068. r.drawImage(t, 0, 0);
  5069. r.restore();
  5070. return n
  5071. };
  5072. e._flip = function(t, n, r, i) {
  5073. for (var s = t._images, o = e._workingCanvas, u = e._workingContext, a = s.length / n, f = 0; f < a; f++) {
  5074. var l = s[f];
  5075. l.__tmp = f;
  5076. u.setTransform(1, 0, 0, 1, 0, 0);
  5077. u.clearRect(0, 0, o.width + 1, o.height + 1);
  5078. o.width = l.width;
  5079. o.height = l.height;
  5080. u.setTransform(r ? -1 : 1, 0, 0, i ? -1 : 1, r ? l.width : 0, i ? l.height : 0);
  5081. u.drawImage(l, 0, 0);
  5082. var h = document.createElement("img");
  5083. h.src = o.toDataURL("image/png");
  5084. h.width = l.width;
  5085. h.height = l.height;
  5086. s.push(h)
  5087. }
  5088. u = t._frames;
  5089. o = u.length / n;
  5090. for (f = 0; f < o; f++) {
  5091. var l = u[f],
  5092. p = l.rect.clone(),
  5093. h = s[l.image.__tmp + a * n],
  5094. d = {
  5095. image: h,
  5096. rect: p,
  5097. regX: l.regX,
  5098. regY: l.regY
  5099. };
  5100. r && (p.x = h.width - p.x - p.width, d.regX = p.width - l.regX);
  5101. i && (p.y = h.height - p.y - p.height, d.regY = p.height - l.regY);
  5102. u.push(d)
  5103. }
  5104. r = "_" + (r ? "h" : "") + (i ? "v" : "");
  5105. i = t._animations;
  5106. t = t._data;
  5107. s = i.length / n;
  5108. for (f = 0; f < s; f++) {
  5109. u = i[f];
  5110. l = t[u];
  5111. a = {
  5112. name: u + r,
  5113. frequency: l.frequency,
  5114. next: l.next,
  5115. frames: []
  5116. };
  5117. l.next && (a.next += r);
  5118. u = l.frames;
  5119. l = 0;
  5120. for (h = u.length; l < h; l++) a.frames.push(u[l] + o * n);
  5121. t[a.name] = a;
  5122. i.push(a.name)
  5123. }
  5124. };
  5125. createjs.SpriteSheetUtils = e
  5126. })();
  5127. this.createjs = this.createjs || {};
  5128. (function() {
  5129. var e = function() {
  5130. this.initialize()
  5131. },
  5132. t = e.prototype = new createjs.EventDispatcher;
  5133. e.ERR_DIMENSIONS = "frame dimensions exceed max spritesheet dimensions";
  5134. e.ERR_RUNNING = "a build is already running";
  5135. t.maxWidth = 2048;
  5136. t.maxHeight = 2048;
  5137. t.spriteSheet = null;
  5138. t.scale = 1;
  5139. t.padding = 1;
  5140. t.timeSlice = .3;
  5141. t.progress = -1;
  5142. t._frames = null;
  5143. t._animations = null;
  5144. t._data = null;
  5145. t._nextFrameIndex = 0;
  5146. t._index = 0;
  5147. t._timerID = null;
  5148. t._scale = 1;
  5149. t.initialize = function() {
  5150. this._frames = [];
  5151. this._animations = {}
  5152. };
  5153. t.addFrame = function(t, n, r, i, s, o) {
  5154. if (this._data) throw e.ERR_RUNNING;
  5155. n = n || t.y15 || t.nominalBounds;
  5156. !n && t.getBounds && (n = t.getBounds());
  5157. if (!n) return null;
  5158. r = r || 1;
  5159. return this._frames.push({
  5160. source: t,
  5161. sourceRect: n,
  5162. scale: r,
  5163. funct: i,
  5164. params: s,
  5165. scope: o,
  5166. index: this._frames.length,
  5167. height: n.height * r
  5168. }) - 1
  5169. };
  5170. t.addAnimation = function(t, n, r, i) {
  5171. if (this._data) throw e.ERR_RUNNING;
  5172. this._animations[t] = {
  5173. frames: n,
  5174. next: r,
  5175. frequency: i
  5176. }
  5177. };
  5178. t.addMovieClip = function(t, n, r) {
  5179. if (this._data) throw e.ERR_RUNNING;
  5180. var i = t.frameBounds,
  5181. s = n || t.y15 || t.nominalBounds;
  5182. !s && t.getBounds && (s = t.getBounds());
  5183. if (!s && !i) return null;
  5184. n = this._frames.length;
  5185. for (var o = t.timeline.duration, u = 0; u < o; u++) this.addFrame(t, i && i[u] ? i[u] : s, r, function(e) {
  5186. var t = this.actionsEnabled;
  5187. this.actionsEnabled = !1;
  5188. this.gotoAndStop(e);
  5189. this.actionsEnabled = t
  5190. }, [u], t);
  5191. u = t.timeline._labels;
  5192. t = [];
  5193. for (var a in u) t.push({
  5194. index: u[a],
  5195. label: a
  5196. });
  5197. if (t.length)
  5198. for (t.sort(function(e, t) {
  5199. return e.index - t.index
  5200. }), u = 0, a = t.length; u < a; u++) {
  5201. r = t[u].label;
  5202. for (var i = n + (u == a - 1 ? o : t[u + 1].index), s = [], f = n + t[u].index; f < i; f++) s.push(f);
  5203. this.addAnimation(r, s, !0)
  5204. }
  5205. };
  5206. t.build = function() {
  5207. if (this._data) throw e.ERR_RUNNING;
  5208. for (this._startBuild(); this._drawNext(););
  5209. this._endBuild();
  5210. return this.spriteSheet
  5211. };
  5212. t.buildAsync = function(t) {
  5213. if (this._data) throw e.ERR_RUNNING;
  5214. this.timeSlice = t;
  5215. this._startBuild();
  5216. var n = this;
  5217. this._timerID = setTimeout(function() {
  5218. n._run()
  5219. }, 50 - 50 * Math.max(.01, Math.min(.99, this.timeSlice || .3)))
  5220. };
  5221. t.stopAsync = function() {
  5222. clearTimeout(this._timerID);
  5223. this._data = null
  5224. };
  5225. t.clone = function() {
  5226. throw "SpriteSheetBuilder cannot be cloned."
  5227. };
  5228. t.toString = function() {
  5229. return "[SpriteSheetBuilder]"
  5230. };
  5231. t._startBuild = function() {
  5232. var t = this.padding || 0;
  5233. this.progress = 0;
  5234. this.spriteSheet = null;
  5235. this._index = 0;
  5236. this._scale = this.scale;
  5237. var n = [];
  5238. this._data = {
  5239. images: [],
  5240. frames: n,
  5241. animations: this._animations
  5242. };
  5243. var r = this._frames.slice();
  5244. r.sort(function(e, t) {
  5245. return e.height <= t.height ? -1 : 1
  5246. });
  5247. if (r[r.length - 1].height + 2 * t > this.maxHeight) throw e.ERR_DIMENSIONS;
  5248. for (var i = 0, s = 0, o = 0; r.length;) {
  5249. var u = this._fillRow(r, i, o, n, t);
  5250. u.w > s && (s = u.w);
  5251. i += u.h;
  5252. if (!u.h || !r.length) {
  5253. var a = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas");
  5254. a.width = this._getSize(s, this.maxWidth);
  5255. a.height = this._getSize(i, this.maxHeight);
  5256. this._data.images[o] = a;
  5257. u.h || (s = i = 0, o++)
  5258. }
  5259. }
  5260. };
  5261. t._getSize = function(e, t) {
  5262. for (var n = 4; Math.pow(2, ++n) < e;);
  5263. return Math.min(t, Math.pow(2, n))
  5264. };
  5265. t._fillRow = function(t, n, r, i, s) {
  5266. var o = this.maxWidth,
  5267. u = this.maxHeight;
  5268. n += s;
  5269. for (var u = u - n, a = s, f = 0, l = t.length - 1; 0 <= l; l--) {
  5270. var h = t[l],
  5271. p = this._scale * h.scale,
  5272. d = h.sourceRect,
  5273. v = h.source,
  5274. m = Math.floor(p * d.x - s),
  5275. g = Math.floor(p * d.y - s),
  5276. y = Math.ceil(p * d.height + 2 * s),
  5277. d = Math.ceil(p * d.width + 2 * s);
  5278. if (d > o) throw e.ERR_DIMENSIONS;
  5279. y > u || a + d > o || (h.img = r, h.rect = new createjs.Rectangle(a, n, d, y), f = f || y, t.splice(l, 1), i[h.index] = [a, n, d, y, r, Math.round(-m + p * v.regX - s), Math.round(-g + p * v.regY - s)], a += d)
  5280. }
  5281. return {
  5282. w: a,
  5283. h: f
  5284. }
  5285. };
  5286. t._endBuild = function() {
  5287. this.spriteSheet = new createjs.SpriteSheet(this._data);
  5288. this._data = null;
  5289. this.progress = 1;
  5290. this.dispatchEvent("complete")
  5291. };
  5292. t._run = function() {
  5293. for (var e = 50 * Math.max(.01, Math.min(.99, this.timeSlice || .3)), t = (new Date).getTime() + e, n = !1; t > (new Date).getTime();)
  5294. if (!this._drawNext()) {
  5295. n = !0;
  5296. break
  5297. }
  5298. if (n) this._endBuild();
  5299. else {
  5300. var r = this;
  5301. this._timerID = setTimeout(function() {
  5302. r._run()
  5303. }, 50 - e)
  5304. }
  5305. e = this.progress = this._index / this._frames.length;
  5306. this.hasEventListener("progress") && (t = new createjs.Event("progress"), t.progress = e, this.dispatchEvent(t))
  5307. };
  5308. t._drawNext = function() {
  5309. var e = this._frames[this._index],
  5310. t = e.scale * this._scale,
  5311. n = e.rect,
  5312. r = e.sourceRect,
  5313. i = this._data.images[e.img].getContext("2d");
  5314. e.funct && e.funct.apply(e.scope, e.params);
  5315. i.save();
  5316. i.beginPath();
  5317. i.rect(n.x, n.y, n.width, n.height);
  5318. i.clip();
  5319. i.translate(Math.ceil(n.x - r.x * t), Math.ceil(n.y - r.y * t));
  5320. i.scale(t, t);
  5321. e.source.draw(i);
  5322. i.restore();
  5323. return ++this._index < this._frames.length
  5324. };
  5325. createjs.SpriteSheetBuilder = e
  5326. })();
  5327. this.createjs = this.createjs || {};
  5328. (function() {
  5329. var e = function(e) {
  5330. this.initialize(e)
  5331. },
  5332. t = e.prototype = new createjs.DisplayObject;
  5333. t.htmlElement = null;
  5334. t._oldMtx = null;
  5335. t._visible = !1;
  5336. t.DisplayObject_initialize = t.initialize;
  5337. t.initialize = function(e) {
  5338. "string" == typeof e && (e = document.getElementById(e));
  5339. this.DisplayObject_initialize();
  5340. this.mouseEnabled = !1;
  5341. this.htmlElement = e;
  5342. e = e.style;
  5343. e.position = "absolute";
  5344. e.transformOrigin = e.WebkitTransformOrigin = e.msTransformOrigin = e.MozTransformOrigin = e.OTransformOrigin = "0% 0%"
  5345. };
  5346. t.isVisible = function() {
  5347. return null != this.htmlElement
  5348. };
  5349. t.draw = function(e, t) {
  5350. this.visible && (this._visible = !0);
  5351. return !0
  5352. };
  5353. t.cache = function() {};
  5354. t.uncache = function() {};
  5355. t.updateCache = function() {};
  5356. t.hitTest = function() {};
  5357. t.localToGlobal = function() {};
  5358. t.globalToLocal = function() {};
  5359. t.localToLocal = function() {};
  5360. t.clone = function() {
  5361. throw "DOMElement cannot be cloned."
  5362. };
  5363. t.toString = function() {
  5364. return "[DOMElement (name=" + this.name + ")]"
  5365. };
  5366. t.DisplayObject__tick = t._tick;
  5367. t._tick = function(e) {
  5368. var t = this.getStage();
  5369. this._visible = !1;
  5370. t && t.on("drawend", this._handleDrawEnd, this, !0);
  5371. this.DisplayObject__tick(e)
  5372. };
  5373. t._handleDrawEnd = function(e) {
  5374. if (e = this.htmlElement) {
  5375. e = e.style;
  5376. var t = this._visible ? "visible" : "hidden";
  5377. t != e.visibility && (e.visibility = t);
  5378. if (this._visible) {
  5379. var t = this.getConcatenatedMatrix(this._matrix),
  5380. n = this._oldMtx;
  5381. n && n.alpha == t.alpha || (e.opacity = "" + (1e4 * t.alpha | 0) / 1e4, n && (n.alpha = t.alpha));
  5382. if (!n || n.tx != t.tx || n.ty != t.ty || n.a != t.a || n.b != t.b || n.c != t.c || n.d != t.d) {
  5383. var r = "matrix(" + (1e4 * t.a | 0) / 1e4 + "," + (1e4 * t.b | 0) / 1e4 + "," + (1e4 * t.c | 0) / 1e4 + "," + (1e4 * t.d | 0) / 1e4 + "," + (t.tx + .5 | 0);
  5384. e.transform = e.WebkitTransform = e.OTransform = e.msTransform = r + "," + (t.ty + .5 | 0) + ")";
  5385. e.MozTransform = r + "px," + (t.ty + .5 | 0) + "px)";
  5386. this._oldMtx = n ? n.copy(t) : t.clone()
  5387. }
  5388. }
  5389. }
  5390. };
  5391. createjs.DOMElement = e
  5392. })();
  5393. this.createjs = this.createjs || {};
  5394. (function() {
  5395. var e = function() {
  5396. this.initialize()
  5397. },
  5398. t = e.prototype;
  5399. t.initialize = function() {};
  5400. t.getBounds = function() {
  5401. return null
  5402. };
  5403. t.applyFilter = function(e, t, n, r, i, s, o, u) {};
  5404. t.toString = function() {
  5405. return "[Filter]"
  5406. };
  5407. t.clone = function() {
  5408. return new e
  5409. };
  5410. createjs.Filter = e
  5411. })();
  5412. this.createjs = this.createjs || {};
  5413. (function() {
  5414. var e = function(e, t, n) {
  5415. this.initialize(e, t, n)
  5416. },
  5417. t = e.prototype = new createjs.Filter;
  5418. t.initialize = function(e, t, n) {
  5419. if (isNaN(e) || 0 > e) e = 0;
  5420. this.blurX = e | 0;
  5421. if (isNaN(t) || 0 > t) t = 0;
  5422. this.blurY = t | 0;
  5423. if (isNaN(n) || 1 > n) n = 1;
  5424. this.quality = n | 0
  5425. };
  5426. t.blurX = 0;
  5427. t.blurY = 0;
  5428. t.quality = 1;
  5429. t.mul_table = [1, 171, 205, 293, 57, 373, 79, 137, 241, 27, 391, 357, 41, 19, 283, 265, 497, 469, 443, 421, 25, 191, 365, 349, 335, 161, 155, 149, 9, 278, 269, 261, 505, 245, 475, 231, 449, 437, 213, 415, 405, 395, 193, 377, 369, 361, 353, 345, 169, 331, 325, 319, 313, 307, 301, 37, 145, 285, 281, 69, 271, 267, 263, 259, 509, 501, 493, 243, 479, 118, 465, 459, 113, 446, 55, 435, 429, 423, 209, 413, 51, 403, 199, 393, 97, 3, 379, 375, 371, 367, 363, 359, 355, 351, 347, 43, 85, 337, 333, 165, 327, 323, 5, 317, 157, 311, 77, 305, 303, 75, 297, 294, 73, 289, 287, 71, 141, 279, 277, 275, 68, 135, 67, 133, 33, 262, 260, 129, 511, 507, 503, 499, 495, 491, 61, 121, 481, 477, 237, 235, 467, 232, 115, 457, 227, 451, 7, 445, 221, 439, 218, 433, 215, 427, 425, 211, 419, 417, 207, 411, 409, 203, 202, 401, 399, 396, 197, 49, 389, 387, 385, 383, 95, 189, 47, 187, 93, 185, 23, 183, 91, 181, 45, 179, 89, 177, 11, 175, 87, 173, 345, 343, 341, 339, 337, 21, 167, 83, 331, 329, 327, 163, 81, 323, 321, 319, 159, 79, 315, 313, 39, 155, 309, 307, 153, 305, 303, 151, 75, 299, 149, 37, 295, 147, 73, 291, 145, 289, 287, 143, 285, 71, 141, 281, 35, 279, 139, 69, 275, 137, 273, 17, 271, 135, 269, 267, 133, 265, 33, 263, 131, 261, 130, 259, 129, 257, 1];
  5430. t.shg_table = [0, 9, 10, 11, 9, 12, 10, 11, 12, 9, 13, 13, 10, 9, 13, 13, 14, 14, 14, 14, 10, 13, 14, 14, 14, 13, 13, 13, 9, 14, 14, 14, 15, 14, 15, 14, 15, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 12, 14, 15, 15, 13, 15, 15, 15, 15, 16, 16, 16, 15, 16, 14, 16, 16, 14, 16, 13, 16, 16, 16, 15, 16, 13, 16, 15, 16, 14, 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 13, 14, 16, 16, 15, 16, 16, 10, 16, 15, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 14, 15, 16, 16, 16, 14, 15, 14, 15, 13, 16, 16, 15, 17, 17, 17, 17, 17, 17, 14, 15, 17, 17, 16, 16, 17, 16, 15, 17, 16, 17, 11, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 16, 17, 17, 17, 16, 14, 17, 17, 17, 17, 15, 16, 14, 16, 15, 16, 13, 16, 15, 16, 14, 16, 15, 16, 12, 16, 15, 16, 17, 17, 17, 17, 17, 13, 16, 15, 17, 17, 17, 16, 15, 17, 17, 17, 16, 15, 17, 17, 14, 16, 17, 17, 16, 17, 17, 16, 15, 17, 16, 14, 17, 16, 15, 17, 16, 17, 17, 16, 17, 15, 16, 17, 14, 17, 16, 15, 17, 16, 17, 13, 17, 16, 17, 17, 16, 17, 14, 17, 16, 17, 16, 17, 16, 17, 9];
  5431. t.getBounds = function() {
  5432. var e = .5 * Math.pow(this.quality, .6);
  5433. return new createjs.Rectangle(-this.blurX * e, -this.blurY * e, 2 * this.blurX * e, 2 * this.blurY * e)
  5434. };
  5435. t.applyFilter = function(e, t, n, r, i, s, o, u) {
  5436. s = s || e;
  5437. null == o && (o = t);
  5438. null == u && (u = n);
  5439. try {
  5440. var a = e.getImageData(t, n, r, i)
  5441. } catch (f) {
  5442. return !1
  5443. }
  5444. e = this.blurX / 2;
  5445. if (isNaN(e) || 0 > e) return !1;
  5446. e |= 0;
  5447. var l = this.blurY / 2;
  5448. if (isNaN(l) || 0 > l) return !1;
  5449. l |= 0;
  5450. if (0 == e && 0 == l) return !1;
  5451. var c = this.quality;
  5452. if (isNaN(c) || 1 > c) c = 1;
  5453. c |= 0;
  5454. 3 < c && (c = 3);
  5455. 1 > c && (c = 1);
  5456. var h = a.data,
  5457. p, d, v, m, g, y, b, w, E, S, x, T, N = e + e + 1;
  5458. m = l + l + 1;
  5459. var C = r - 1,
  5460. k = i - 1,
  5461. L = e + 1,
  5462. A = l + 1,
  5463. O = {
  5464. r: 0,
  5465. b: 0,
  5466. g: 0,
  5467. a: 0,
  5468. next: null
  5469. };
  5470. t = O;
  5471. for (p = 1; p < N; p++) t = t.next = {
  5472. r: 0,
  5473. b: 0,
  5474. g: 0,
  5475. a: 0,
  5476. next: null
  5477. };
  5478. t.next = O;
  5479. n = N = {
  5480. r: 0,
  5481. b: 0,
  5482. g: 0,
  5483. a: 0,
  5484. next: null
  5485. };
  5486. for (p = 1; p < m; p++) n = n.next = {
  5487. r: 0,
  5488. b: 0,
  5489. g: 0,
  5490. a: 0,
  5491. next: null
  5492. };
  5493. n.next = N;
  5494. for (p = null; 0 < c--;) {
  5495. g = m = 0;
  5496. var M = this.mul_table[e],
  5497. _ = this.shg_table[e];
  5498. for (n = i; - 1 < --n;) {
  5499. y = L * (S = h[m]);
  5500. b = L * (x = h[m + 1]);
  5501. w = L * (T = h[m + 2]);
  5502. E = L * (v = h[m + 3]);
  5503. t = O;
  5504. for (p = L; - 1 < --p;) t.r = S, t.g = x, t.b = T, t.a = v, t = t.next;
  5505. for (p = 1; p < L; p++) d = m + ((C < p ? C : p) << 2), y += t.r = h[d], b += t.g = h[d + 1], w += t.b = h[d + 2], E += t.a = h[d + 3], t = t.next;
  5506. p = O;
  5507. for (t = 0; t < r; t++) h[m++] = y * M >>> _, h[m++] = b * M >>> _, h[m++] = w * M >>> _, h[m++] = E * M >>> _, d = g + ((d = t + e + 1) < C ? d : C) << 2, y -= p.r - (p.r = h[d]), b -= p.g - (p.g = h[d + 1]), w -= p.b - (p.b = h[d + 2]), E -= p.a - (p.a = h[d + 3]), p = p.next;
  5508. g += r
  5509. }
  5510. M = this.mul_table[l];
  5511. _ = this.shg_table[l];
  5512. for (t = 0; t < r; t++) {
  5513. m = t << 2;
  5514. y = A * (S = h[m]);
  5515. b = A * (x = h[m + 1]);
  5516. w = A * (T = h[m + 2]);
  5517. E = A * (v = h[m + 3]);
  5518. n = N;
  5519. for (p = 0; p < A; p++) n.r = S, n.g = x, n.b = T, n.a = v, n = n.next;
  5520. v = r;
  5521. for (p = 1; p <= l; p++) m = v + t << 2, y += n.r = h[m], b += n.g = h[m + 1], w += n.b = h[m + 2], E += n.a = h[m + 3], n = n.next, p < k && (v += r);
  5522. m = t;
  5523. p = N;
  5524. if (0 < c)
  5525. for (n = 0; n < i; n++) d = m << 2, h[d + 3] = v = E * M >>> _, 0 < v ? (h[d] = y * M >>> _, h[d + 1] = b * M >>> _, h[d + 2] = w * M >>> _) : h[d] = h[d + 1] = h[d + 2] = 0, d = t + ((d = n + A) < k ? d : k) * r << 2, y -= p.r - (p.r = h[d]), b -= p.g - (p.g = h[d + 1]), w -= p.b - (p.b = h[d + 2]), E -= p.a - (p.a = h[d + 3]), p = p.next, m += r;
  5526. else
  5527. for (n = 0; n < i; n++) d = m << 2, h[d + 3] = v = E * M >>> _, 0 < v ? (v = 255 / v, h[d] = (y * M >>> _) * v, h[d + 1] = (b * M >>> _) * v, h[d + 2] = (w * M >>> _) * v) : h[d] = h[d + 1] = h[d + 2] = 0, d = t + ((d = n + A) < k ? d : k) * r << 2, y -= p.r - (p.r = h[d]), b -= p.g - (p.g = h[d + 1]), w -= p.b - (p.b = h[d + 2]), E -= p.a - (p.a = h[d + 3]), p = p.next, m += r
  5528. }
  5529. }
  5530. s.putImageData(a, o, u);
  5531. return !0
  5532. };
  5533. t.clone = function() {
  5534. return new e(this.blurX, this.blurY, this.quality)
  5535. };
  5536. t.toString = function() {
  5537. return "[BlurFilter]"
  5538. };
  5539. createjs.BlurFilter = e
  5540. })();
  5541. this.createjs = this.createjs || {};
  5542. (function() {
  5543. var e = function(e) {
  5544. this.initialize(e)
  5545. },
  5546. t = e.prototype = new createjs.Filter;
  5547. t.initialize = function(e) {
  5548. this.alphaMap = e
  5549. };
  5550. t.alphaMap = null;
  5551. t._alphaMap = null;
  5552. t._mapData = null;
  5553. t.applyFilter = function(e, t, n, r, i, s, o, u) {
  5554. if (!this.alphaMap) return !0;
  5555. if (!this._prepAlphaMap()) return !1;
  5556. s = s || e;
  5557. null == o && (o = t);
  5558. null == u && (u = n);
  5559. try {
  5560. var a = e.getImageData(t, n, r, i)
  5561. } catch (f) {
  5562. return !1
  5563. }
  5564. e = a.data;
  5565. t = this._mapData;
  5566. n = e.length;
  5567. for (r = 0; r < n; r += 4) e[r + 3] = t[r] || 0;
  5568. a.data = e;
  5569. s.putImageData(a, o, u);
  5570. return !0
  5571. };
  5572. t.clone = function() {
  5573. return new e(this.alphaMap)
  5574. };
  5575. t.toString = function() {
  5576. return "[AlphaMapFilter]"
  5577. };
  5578. t._prepAlphaMap = function() {
  5579. if (!this.alphaMap) return !1;
  5580. if (this.alphaMap == this._alphaMap && this._mapData) return !0;
  5581. this._mapData = null;
  5582. var e = this._alphaMap = this.alphaMap,
  5583. t = e;
  5584. e instanceof HTMLCanvasElement ? t = t.getContext("2d") : (t = createjs.createCanvas ? createjs.createCanvas() : document.createElement("canvas"), t.width = e.width, t.height = e.height, t = t.getContext("2d"), t.drawImage(e, 0, 0));
  5585. try {
  5586. var n = t.getImageData(0, 0, e.width, e.height)
  5587. } catch (r) {
  5588. return !1
  5589. }
  5590. this._mapData = n.data;
  5591. return !0
  5592. };
  5593. createjs.AlphaMapFilter = e
  5594. })();
  5595. this.createjs = this.createjs || {};
  5596. (function() {
  5597. var e = function(e) {
  5598. this.initialize(e)
  5599. },
  5600. t = e.prototype = new createjs.Filter;
  5601. t.initialize = function(e) {
  5602. this.mask = e
  5603. };
  5604. t.mask = null;
  5605. t.applyFilter = function(e, t, n, r, i, s, o, u) {
  5606. if (!this.mask) return !0;
  5607. s = s || e;
  5608. null == o && (o = t);
  5609. null == u && (u = n);
  5610. s.save();
  5611. s.globalCompositeOperation = "destination-in";
  5612. s.drawImage(this.mask, o, u);
  5613. s.restore();
  5614. return !0
  5615. };
  5616. t.clone = function() {
  5617. return new e(this.mask)
  5618. };
  5619. t.toString = function() {
  5620. return "[AlphaMaskFilter]"
  5621. };
  5622. createjs.AlphaMaskFilter = e
  5623. })();
  5624. this.createjs = this.createjs || {};
  5625. (function() {
  5626. var e = function(e, t, n, r, i, s, o, u) {
  5627. this.initialize(e, t, n, r, i, s, o, u)
  5628. },
  5629. t = e.prototype = new createjs.Filter;
  5630. t.redMultiplier = 1;
  5631. t.greenMultiplier = 1;
  5632. t.blueMultiplier = 1;
  5633. t.alphaMultiplier = 1;
  5634. t.redOffset = 0;
  5635. t.greenOffset = 0;
  5636. t.blueOffset = 0;
  5637. t.alphaOffset = 0;
  5638. t.initialize = function(e, t, n, r, i, s, o, u) {
  5639. this.redMultiplier = null != e ? e : 1;
  5640. this.greenMultiplier = null != t ? t : 1;
  5641. this.blueMultiplier = null != n ? n : 1;
  5642. this.alphaMultiplier = null != r ? r : 1;
  5643. this.redOffset = i || 0;
  5644. this.greenOffset = s || 0;
  5645. this.blueOffset = o || 0;
  5646. this.alphaOffset = u || 0
  5647. };
  5648. t.applyFilter = function(e, t, n, r, i, s, o, u) {
  5649. s = s || e;
  5650. null == o && (o = t);
  5651. null == u && (u = n);
  5652. try {
  5653. var a = e.getImageData(t, n, r, i)
  5654. } catch (f) {
  5655. return !1
  5656. }
  5657. e = a.data;
  5658. t = e.length;
  5659. for (n = 0; n < t; n += 4) e[n] = e[n] * this.redMultiplier + this.redOffset, e[n + 1] = e[n + 1] * this.greenMultiplier + this.greenOffset, e[n + 2] = e[n + 2] * this.blueMultiplier + this.blueOffset, e[n + 3] = e[n + 3] * this.alphaMultiplier + this.alphaOffset;
  5660. s.putImageData(a, o, u);
  5661. return !0
  5662. };
  5663. t.toString = function() {
  5664. return "[ColorFilter]"
  5665. };
  5666. t.clone = function() {
  5667. return new e(this.redMultiplier, this.greenMultiplier, this.blueMultiplier, this.alphaMultiplier, this.redOffset, this.greenOffset, this.blueOffset, this.alphaOffset)
  5668. };
  5669. createjs.ColorFilter = e
  5670. })();
  5671. this.createjs = this.createjs || {};
  5672. (function() {
  5673. var e = function(e, t, n, r) {
  5674. this.initialize(e, t, n, r)
  5675. },
  5676. t = e.prototype = [];
  5677. e.DELTA_INDEX = [0, .01, .02, .04, .05, .06, .07, .08, .1, .11, .12, .14, .15, .16, .17, .18, .2, .21, .22, .24, .25, .27, .28, .3, .32, .34, .36, .38, .4, .42, .44, .46, .48, .5, .53, .56, .59, .62, .65, .68, .71, .74, .77, .8, .83, .86, .89, .92, .95, .98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10];
  5678. e.IDENTITY_MATRIX = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
  5679. e.LENGTH = e.IDENTITY_MATRIX.length;
  5680. t.initialize = function(e, t, n, r) {
  5681. this.reset();
  5682. this.adjustColor(e, t, n, r);
  5683. return this
  5684. };
  5685. t.reset = function() {
  5686. return this.copyMatrix(e.IDENTITY_MATRIX)
  5687. };
  5688. t.adjustColor = function(e, t, n, r) {
  5689. this.adjustHue(r);
  5690. this.adjustContrast(t);
  5691. this.adjustBrightness(e);
  5692. return this.adjustSaturation(n)
  5693. };
  5694. t.adjustBrightness = function(e) {
  5695. if (0 == e || isNaN(e)) return this;
  5696. e = this._cleanValue(e, 255);
  5697. this._multiplyMatrix([1, 0, 0, 0, e, 0, 1, 0, 0, e, 0, 0, 1, 0, e, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
  5698. return this
  5699. };
  5700. t.adjustContrast = function(t) {
  5701. if (0 == t || isNaN(t)) return this;
  5702. t = this._cleanValue(t, 100);
  5703. var n;
  5704. 0 > t ? n = 127 + 127 * (t / 100) : (n = t % 1, n = 0 == n ? e.DELTA_INDEX[t] : e.DELTA_INDEX[t << 0] * (1 - n) + e.DELTA_INDEX[(t << 0) + 1] * n, n = 127 * n + 127);
  5705. this._multiplyMatrix([n / 127, 0, 0, 0, .5 * (127 - n), 0, n / 127, 0, 0, .5 * (127 - n), 0, 0, n / 127, 0, .5 * (127 - n), 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
  5706. return this
  5707. };
  5708. t.adjustSaturation = function(e) {
  5709. if (0 == e || isNaN(e)) return this;
  5710. e = this._cleanValue(e, 100);
  5711. e = 1 + (0 < e ? 3 * e / 100 : e / 100);
  5712. this._multiplyMatrix([.3086 * (1 - e) + e, .6094 * (1 - e), .082 * (1 - e), 0, 0, .3086 * (1 - e), .6094 * (1 - e) + e, .082 * (1 - e), 0, 0, .3086 * (1 - e), .6094 * (1 - e), .082 * (1 - e) + e, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
  5713. return this
  5714. };
  5715. t.adjustHue = function(e) {
  5716. if (0 == e || isNaN(e)) return this;
  5717. e = this._cleanValue(e, 180) / 180 * Math.PI;
  5718. var t = Math.cos(e);
  5719. e = Math.sin(e);
  5720. this._multiplyMatrix([.213 + .787 * t + -.213 * e, .715 + -.715 * t + -.715 * e, .072 + -.072 * t + .928 * e, 0, 0, .213 + -.213 * t + .143 * e, .715 + t * (1 - .715) + .14 * e, .072 + -.072 * t + -.283 * e, 0, 0, .213 + -.213 * t + -.787 * e, .715 + -.715 * t + .715 * e, .072 + .928 * t + .072 * e, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
  5721. return this
  5722. };
  5723. t.concat = function(t) {
  5724. t = this._fixMatrix(t);
  5725. if (t.length != e.LENGTH) return this;
  5726. this._multiplyMatrix(t);
  5727. return this
  5728. };
  5729. t.clone = function() {
  5730. return new e(this)
  5731. };
  5732. t.toArray = function() {
  5733. return this.slice(0, e.LENGTH)
  5734. };
  5735. t.copyMatrix = function(t) {
  5736. for (var n = e.LENGTH, r = 0; r < n; r++) this[r] = t[r];
  5737. return this
  5738. };
  5739. t._multiplyMatrix = function(e) {
  5740. for (var t = [], n = 0; 5 > n; n++) {
  5741. for (var r = 0; 5 > r; r++) t[r] = this[r + 5 * n];
  5742. for (r = 0; 5 > r; r++) {
  5743. for (var i = 0, s = 0; 5 > s; s++) i += e[r + 5 * s] * t[s];
  5744. this[r + 5 * n] = i
  5745. }
  5746. }
  5747. };
  5748. t._cleanValue = function(e, t) {
  5749. return Math.min(t, Math.max(-t, e))
  5750. };
  5751. t._fixMatrix = function(t) {
  5752. t instanceof e && (t = t.slice(0));
  5753. t.length < e.LENGTH ? t = t.slice(0, t.length).concat(e.IDENTITY_MATRIX.slice(t.length, e.LENGTH)) : t.length > e.LENGTH && (t = t.slice(0, e.LENGTH));
  5754. return t
  5755. };
  5756. createjs.ColorMatrix = e
  5757. })();
  5758. this.createjs = this.createjs || {};
  5759. (function() {
  5760. var e = function(e) {
  5761. this.initialize(e)
  5762. },
  5763. t = e.prototype = new createjs.Filter;
  5764. t.matrix = null;
  5765. t.initialize = function(e) {
  5766. this.matrix = e
  5767. };
  5768. t.applyFilter = function(e, t, n, r, i, s, o, u) {
  5769. s = s || e;
  5770. null == o && (o = t);
  5771. null == u && (u = n);
  5772. try {
  5773. var a = e.getImageData(t, n, r, i)
  5774. } catch (f) {
  5775. return !1
  5776. }
  5777. e = a.data;
  5778. t = e.length;
  5779. var l, c, h, p;
  5780. l = this.matrix;
  5781. n = l[0];
  5782. r = l[1];
  5783. i = l[2];
  5784. for (var d = l[3], v = l[4], m = l[5], g = l[6], y = l[7], b = l[8], w = l[9], E = l[10], S = l[11], x = l[12], T = l[13], N = l[14], C = l[15], k = l[16], L = l[17], A = l[18], O = l[19], M = 0; M < t; M += 4) l = e[M], c = e[M + 1], h = e[M + 2], p = e[M + 3], e[M] = l * n + c * r + h * i + p * d + v, e[M + 1] = l * m + c * g + h * y + p * b + w, e[M + 2] = l * E + c * S + h * x + p * T + N, e[M + 3] = l * C + c * k + h * L + p * A + O;
  5785. s.putImageData(a, o, u);
  5786. return !0
  5787. };
  5788. t.toString = function() {
  5789. return "[ColorMatrixFilter]"
  5790. };
  5791. t.clone = function() {
  5792. return new e(this.matrix)
  5793. };
  5794. createjs.ColorMatrixFilter = e
  5795. })();
  5796. this.createjs = this.createjs || {};
  5797. (function() {
  5798. var e = function() {
  5799. throw "Touch cannot be instantiated"
  5800. };
  5801. e.isSupported = function() {
  5802. return "ontouchstart" in window || window.navigator.msPointerEnabled && 0 < window.navigator.msMaxTouchPoints
  5803. };
  5804. e.enable = function(t, n, r) {
  5805. if (!t || !t.canvas || !e.isSupported()) return !1;
  5806. t.__touch = {
  5807. pointers: {},
  5808. multitouch: !n,
  5809. preventDefault: !r,
  5810. count: 0
  5811. };
  5812. "ontouchstart" in window ? e._IOS_enable(t) : window.navigator.msPointerEnabled && e._IE_enable(t);
  5813. return !0
  5814. };
  5815. e.disable = function(t) {
  5816. t && ("ontouchstart" in window ? e._IOS_disable(t) : window.navigator.msPointerEnabled && e._IE_disable(t))
  5817. };
  5818. e._IOS_enable = function(t) {
  5819. var n = t.canvas,
  5820. r = t.__touch.f = function(n) {
  5821. e._IOS_handleEvent(t, n)
  5822. };
  5823. n.addEventListener("touchstart", r, !1);
  5824. n.addEventListener("touchmove", r, !1);
  5825. n.addEventListener("touchend", r, !1);
  5826. n.addEventListener("touchcancel", r, !1)
  5827. };
  5828. e._IOS_disable = function(e) {
  5829. var t = e.canvas;
  5830. t && (e = e.__touch.f, t.removeEventListener("touchstart", e, !1), t.removeEventListener("touchmove", e, !1), t.removeEventListener("touchend", e, !1), t.removeEventListener("touchcancel", e, !1))
  5831. };
  5832. e._IOS_handleEvent = function(e, t) {
  5833. if (e) {
  5834. e.__touch.preventDefault && t.preventDefault && t.preventDefault();
  5835. for (var n = t.changedTouches, r = t.type, i = 0, s = n.length; i < s; i++) {
  5836. var o = n[i],
  5837. u = o.identifier;
  5838. o.target == e.canvas && ("touchstart" == r ? this._handleStart(e, u, t, o.pageX, o.pageY) : "touchmove" == r ? this._handleMove(e, u, t, o.pageX, o.pageY) : "touchend" != r && "touchcancel" != r || this._handleEnd(e, u, t))
  5839. }
  5840. }
  5841. };
  5842. e._IE_enable = function(t) {
  5843. var n = t.canvas,
  5844. r = t.__touch.f = function(n) {
  5845. e._IE_handleEvent(t, n)
  5846. };
  5847. n.addEventListener("MSPointerDown", r, !1);
  5848. window.addEventListener("MSPointerMove", r, !1);
  5849. window.addEventListener("MSPointerUp", r, !1);
  5850. window.addEventListener("MSPointerCancel", r, !1);
  5851. t.__touch.preventDefault && (n.style.msTouchAction = "none");
  5852. t.__touch.activeIDs = {}
  5853. };
  5854. e._IE_disable = function(e) {
  5855. var t = e.__touch.f;
  5856. window.removeEventListener("MSPointerMove", t, !1);
  5857. window.removeEventListener("MSPointerUp", t, !1);
  5858. window.removeEventListener("MSPointerCancel", t, !1);
  5859. e.canvas && e.canvas.removeEventListener("MSPointerDown", t, !1)
  5860. };
  5861. e._IE_handleEvent = function(e, t) {
  5862. if (e) {
  5863. e.__touch.preventDefault && t.preventDefault && t.preventDefault();
  5864. var n = t.type,
  5865. r = t.pointerId,
  5866. i = e.__touch.activeIDs;
  5867. if ("MSPointerDown" == n) t.srcElement == e.canvas && (i[r] = !0, this._handleStart(e, r, t, t.pageX, t.pageY));
  5868. else if (i[r])
  5869. if ("MSPointerMove" == n) this._handleMove(e, r, t, t.pageX, t.pageY);
  5870. else if ("MSPointerUp" == n || "MSPointerCancel" == n) delete i[r], this._handleEnd(e, r, t)
  5871. }
  5872. };
  5873. e._handleStart = function(e, t, n, r, i) {
  5874. var s = e.__touch;
  5875. if (s.multitouch || !s.count) {
  5876. var o = s.pointers;
  5877. o[t] || (o[t] = !0, s.count++, e._handlePointerDown(t, n, r, i))
  5878. }
  5879. };
  5880. e._handleMove = function(e, t, n, r, i) {
  5881. e.__touch.pointers[t] && e._handlePointerMove(t, n, r, i)
  5882. };
  5883. e._handleEnd = function(e, t, n) {
  5884. var r = e.__touch,
  5885. i = r.pointers;
  5886. i[t] && (r.count--, e._handlePointerUp(t, n, !0), delete i[t])
  5887. };
  5888. createjs.Touch = e
  5889. })();
  5890. this.createjs = this.createjs || {};
  5891. (function() {
  5892. var e = createjs.EaselJS = createjs.EaselJS || {};
  5893. e.version = "NEXT";
  5894. e.buildDate = "Sun, 06 Oct 2013 10:56:52 GMT"
  5895. })();
  5896. (function() {
  5897. var e = createjs.Stage.prototype._handlePointerDown,
  5898. t = createjs.Stage.prototype._handlePointerUp,
  5899. n = !1; - 1 < navigator.userAgent.indexOf("Android") && (createjs.Stage.prototype._handlePointerDown = function(t, r, i, s) {
  5900. r.touches && (n = !0, this.enableDOMEvents(!1));
  5901. n ? r.touches && "undefined" != typeof r.touches[0].pageX && (r.screenX = r.touches[0].pageX, r.screenY = r.touches[0].pageY, e.call(this, t, r, i, s)) : (r.screenX = r.x, r.screenY = r.y, e.call(this, t, r, i, s))
  5902. }, createjs.Stage.prototype._handlePointerUp = function(e, r, i) {
  5903. r.changedTouches && (n = !0);
  5904. n ? r.changedTouches && "undefined" != typeof r.changedTouches[0].pageX && (r.screenX = r.changedTouches[0].pageX, r.screenY = r.changedTouches[0].pageY, t.call(this, e, r, i)) : (r.screenX = r.x, r.screenY = r.y, t.call(this, e, r, i))
  5905. })
  5906. })();
  5907. this.createjs = this.createjs || {};
  5908. (function() {
  5909. var e = createjs.PreloadJS = createjs.PreloadJS || {};
  5910. e.version = "0.4.0";
  5911. e.buildDate = "Wed, 25 Sep 2013 17:09:35 GMT"
  5912. })();
  5913. this.createjs = this.createjs || {};
  5914. (function() {
  5915. var e = function(e, t, n) {
  5916. this.initialize(e, t, n)
  5917. },
  5918. t = e.prototype;
  5919. t.type = null;
  5920. t.target = null;
  5921. t.currentTarget = null;
  5922. t.eventPhase = 0;
  5923. t.bubbles = !1;
  5924. t.cancelable = !1;
  5925. t.timeStamp = 0;
  5926. t.defaultPrevented = !1;
  5927. t.propagationStopped = !1;
  5928. t.immediatePropagationStopped = !1;
  5929. t.removed = !1;
  5930. t.initialize = function(e, t, n) {
  5931. this.type = e;
  5932. this.bubbles = t;
  5933. this.cancelable = n;
  5934. this.timeStamp = (new Date).getTime()
  5935. };
  5936. t.preventDefault = function() {
  5937. this.defaultPrevented = !0
  5938. };
  5939. t.stopPropagation = function() {
  5940. this.propagationStopped = !0
  5941. };
  5942. t.stopImmediatePropagation = function() {
  5943. this.immediatePropagationStopped = this.propagationStopped = !0
  5944. };
  5945. t.remove = function() {
  5946. this.removed = !0
  5947. };
  5948. t.clone = function() {
  5949. return new e(this.type, this.bubbles, this.cancelable)
  5950. };
  5951. t.toString = function() {
  5952. return "[Event (type=" + this.type + ")]"
  5953. };
  5954. createjs.Event = e
  5955. })();
  5956. this.createjs = this.createjs || {};
  5957. (function() {
  5958. var e = function() {},
  5959. t = e.prototype;
  5960. e.initialize = function(e) {
  5961. e.addEventListener = t.addEventListener;
  5962. e.on = t.on;
  5963. e.removeEventListener = e.off = t.removeEventListener;
  5964. e.removeAllEventListeners = t.removeAllEventListeners;
  5965. e.hasEventListener = t.hasEventListener;
  5966. e.dispatchEvent = t.dispatchEvent;
  5967. e._dispatchEvent = t._dispatchEvent
  5968. };
  5969. t._listeners = null;
  5970. t._captureListeners = null;
  5971. t.initialize = function() {};
  5972. t.addEventListener = function(e, t, n) {
  5973. var r;
  5974. r = n ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {};
  5975. var i = r[e];
  5976. return i && this.removeEventListener(e, t, n), i = r[e], i ? i.push(t) : r[e] = [t], t
  5977. };
  5978. t.on = function(e, t, n, r, i, s) {
  5979. return t.handleEvent && (n = n || t, t = t.handleEvent), n = n || this, this.addEventListener(e, function(e) {
  5980. t.call(n, e, i);
  5981. r && e.remove()
  5982. }, s)
  5983. };
  5984. t.removeEventListener = function(e, t, n) {
  5985. if (n = n ? this._captureListeners : this._listeners) {
  5986. var r = n[e];
  5987. if (r)
  5988. for (var i = 0, s = r.length; s > i; i++)
  5989. if (r[i] == t) {
  5990. 1 == s ? delete n[e] : r.splice(i, 1);
  5991. break
  5992. }
  5993. }
  5994. };
  5995. t.off = t.removeEventListener;
  5996. t.removeAllEventListeners = function(e) {
  5997. e ? (this._listeners && delete this._listeners[e], this._captureListeners && delete this._captureListeners[e]) : this._listeners = this._captureListeners = null
  5998. };
  5999. t.dispatchEvent = function(e, t) {
  6000. if ("string" == typeof e) {
  6001. var n = this._listeners;
  6002. if (!n || !n[e]) return !1;
  6003. e = new createjs.Event(e)
  6004. }
  6005. if (e.target = t || this, e.bubbles && this.parent) {
  6006. for (var r = this, n = [r]; r.parent;) n.push(r = r.parent);
  6007. for (var i = n.length, r = i - 1; 0 <= r && !e.propagationStopped; r--) n[r]._dispatchEvent(e, 1 + (0 == r));
  6008. for (r = 1; i > r && !e.propagationStopped; r++) n[r]._dispatchEvent(e, 3)
  6009. } else this._dispatchEvent(e, 2);
  6010. return e.defaultPrevented
  6011. };
  6012. t.hasEventListener = function(e) {
  6013. var t = this._listeners,
  6014. n = this._captureListeners;
  6015. return !!(t && t[e] || n && n[e])
  6016. };
  6017. t.toString = function() {
  6018. return "[EventDispatcher]"
  6019. };
  6020. t._dispatchEvent = function(e, t) {
  6021. var n, r = 1 == t ? this._captureListeners : this._listeners;
  6022. if (e && r && (r = r[e.type]) && (n = r.length)) {
  6023. e.currentTarget = this;
  6024. e.eventPhase = t;
  6025. e.removed = !1;
  6026. for (var r = r.slice(), i = 0; n > i && !e.immediatePropagationStopped; i++) {
  6027. var s = r[i];
  6028. s.handleEvent ? s.handleEvent(e) : s(e);
  6029. e.removed && (this.off(e.type, s, 1 == t), e.removed = !1)
  6030. }
  6031. }
  6032. };
  6033. createjs.EventDispatcher = e
  6034. })();
  6035. this.createjs = this.createjs || {};
  6036. (function() {
  6037. createjs.indexOf = function(e, t) {
  6038. for (var n = 0, r = e.length; r > n; n++)
  6039. if (t === e[n]) return n;
  6040. return -1
  6041. }
  6042. })();
  6043. this.createjs = this.createjs || {};
  6044. (function() {
  6045. createjs.proxy = function(e, t) {
  6046. var n = Array.prototype.slice.call(arguments, 2);
  6047. return function() {
  6048. return e.apply(t, Array.prototype.slice.call(arguments, 0).concat(n))
  6049. }
  6050. }
  6051. })();
  6052. this.createjs = this.createjs || {};
  6053. (function() {
  6054. var e = function() {
  6055. this.init()
  6056. };
  6057. e.prototype = {};
  6058. var t = e.prototype;
  6059. e.FILE_PATTERN = /^(?:(\w+:)\/{2}(\w+(?:\.\w+)*\/?))?([/.]*?(?:[^?]+)?\/)?((?:[^/?]+)\.(\w+))(?:\?(\S+)?)?$/;
  6060. t.loaded = !1;
  6061. t.canceled = !1;
  6062. t.progress = 0;
  6063. t._item = null;
  6064. t._basePath = null;
  6065. t.addEventListener = null;
  6066. t.removeEventListener = null;
  6067. t.removeAllEventListeners = null;
  6068. t.dispatchEvent = null;
  6069. t.hasEventListener = null;
  6070. t._listeners = null;
  6071. createjs.EventDispatcher.initialize(t);
  6072. t.getItem = function() {
  6073. return this._item
  6074. };
  6075. t.init = function() {};
  6076. t.load = function() {};
  6077. t.close = function() {};
  6078. t._sendLoadStart = function() {
  6079. this._isCanceled() || this.dispatchEvent("loadstart")
  6080. };
  6081. t._sendProgress = function(e) {
  6082. if (!this._isCanceled()) {
  6083. var t = null;
  6084. "number" == typeof e ? (this.progress = e, t = new createjs.Event("progress"), t.loaded = this.progress, t.total = 1) : (t = e, this.progress = e.loaded / e.total, (isNaN(this.progress) || 1 / 0 == this.progress) && (this.progress = 0));
  6085. t.progress = this.progress;
  6086. this.hasEventListener("progress") && this.dispatchEvent(t)
  6087. }
  6088. };
  6089. t._sendComplete = function() {
  6090. this._isCanceled() || this.dispatchEvent("complete")
  6091. };
  6092. t._sendError = function(e) {
  6093. !this._isCanceled() && this.hasEventListener("error") && (null == e && (e = new createjs.Event("error")), this.dispatchEvent(e))
  6094. };
  6095. t._isCanceled = function() {
  6096. return null == window.createjs || this.canceled ? !0 : !1
  6097. };
  6098. t._parseURI = function(t) {
  6099. return t ? t.match(e.FILE_PATTERN) : null
  6100. };
  6101. t._formatQueryString = function(e, t) {
  6102. if (null == e) throw Error("You must specify data.");
  6103. var n = [],
  6104. r;
  6105. for (r in e) n.push(r + "=" + escape(e[r]));
  6106. return t && (n = n.concat(t)), n.join("&")
  6107. };
  6108. t.buildPath = function(e, t, n) {
  6109. if (null != t) {
  6110. var r = this._parseURI(e);
  6111. null != r && null != r[1] && "" != r[1] || (e = t + e)
  6112. }
  6113. if (null == n) return e;
  6114. t = [];
  6115. r = e.indexOf("?");
  6116. if (-1 != r) {
  6117. var i = e.slice(r + 1);
  6118. t = t.concat(i.split("&"))
  6119. }
  6120. return -1 != r ? e.slice(0, r) + "?" + this._formatQueryString(n, t) : e + "?" + this._formatQueryString(n, t)
  6121. };
  6122. t.toString = function() {
  6123. return "[PreloadJS AbstractLoader]"
  6124. };
  6125. createjs.AbstractLoader = e
  6126. })();
  6127. this.createjs = this.createjs || {};
  6128. (function() {
  6129. var e = function(e, t) {
  6130. this.init(e, t)
  6131. },
  6132. t = e.prototype = new createjs.AbstractLoader;
  6133. e.LOAD_TIMEOUT = 8e3;
  6134. e.BINARY = "binary";
  6135. e.CSS = "css";
  6136. e.IMAGE = "image";
  6137. e.JAVASCRIPT = "javascript";
  6138. e.JSON = "json";
  6139. e.JSONP = "jsonp";
  6140. e.SOUND = "sound";
  6141. e.SVG = "svg";
  6142. e.TEXT = "text";
  6143. e.XML = "xml";
  6144. e.POST = "POST";
  6145. e.GET = "GET";
  6146. t.useXHR = !0;
  6147. t.stopOnError = !1;
  6148. t.maintainScriptOrder = !0;
  6149. t.next = null;
  6150. t._typeCallbacks = null;
  6151. t._extensionCallbacks = null;
  6152. t._loadStartWasDispatched = !1;
  6153. t._maxConnections = 1;
  6154. t._currentlyLoadingScript = null;
  6155. t._currentLoads = null;
  6156. t._loadQueue = null;
  6157. t._loadQueueBackup = null;
  6158. t._loadItemsById = null;
  6159. t._loadItemsBySrc = null;
  6160. t._loadedResults = null;
  6161. t._loadedRawResults = null;
  6162. t._numItems = 0;
  6163. t._numItemsLoaded = 0;
  6164. t._scriptOrder = null;
  6165. t._loadedScripts = null;
  6166. t.init = function(e, t) {
  6167. this._numItems = this._numItemsLoaded = 0;
  6168. this._loadStartWasDispatched = this._paused = !1;
  6169. this._currentLoads = [];
  6170. this._loadQueue = [];
  6171. this._loadQueueBackup = [];
  6172. this._scriptOrder = [];
  6173. this._loadedScripts = [];
  6174. this._loadItemsById = {};
  6175. this._loadItemsBySrc = {};
  6176. this._loadedResults = {};
  6177. this._loadedRawResults = {};
  6178. this._typeCallbacks = {};
  6179. this._extensionCallbacks = {};
  6180. this._basePath = t;
  6181. this.setUseXHR(e)
  6182. };
  6183. t.setUseXHR = function(e) {
  6184. return this.useXHR = 0 != e && null != window.XMLHttpRequest, this.useXHR
  6185. };
  6186. t.removeAll = function() {
  6187. this.remove()
  6188. };
  6189. t.remove = function(e) {
  6190. var t = null;
  6191. if (!e || e instanceof Array)
  6192. if (e) t = e;
  6193. else {
  6194. if (0 < arguments.length) return
  6195. } else t = [e];
  6196. var n = !1;
  6197. if (t) {
  6198. for (; t.length;) {
  6199. for (var r = t.pop(), i = this.getResult(r), s = this._loadQueue.length - 1; 0 <= s; s--)
  6200. if (o = this._loadQueue[s].getItem(), o.id == r || o.src == r) {
  6201. this._loadQueue.splice(s, 1)[0].cancel();
  6202. break
  6203. }
  6204. for (s = this._loadQueueBackup.length - 1; 0 <= s; s--)
  6205. if (o = this._loadQueueBackup[s].getItem(), o.id == r || o.src == r) {
  6206. this._loadQueueBackup.splice(s, 1)[0].cancel();
  6207. break
  6208. }
  6209. if (i) delete this._loadItemsById[i.id], delete this._loadItemsBySrc[i.src], this._disposeItem(i);
  6210. else
  6211. for (var s = this._currentLoads.length - 1; 0 <= s; s--) {
  6212. var o = this._currentLoads[s].getItem();
  6213. if (o.id == r || o.src == r) {
  6214. this._currentLoads.splice(s, 1)[0].cancel();
  6215. n = !0;
  6216. break
  6217. }
  6218. }
  6219. }
  6220. n && this._loadNext()
  6221. } else {
  6222. this.close();
  6223. for (r in this._loadItemsById) this._disposeItem(this._loadItemsById[r]);
  6224. this.init(this.useXHR)
  6225. }
  6226. };
  6227. t.reset = function() {
  6228. this.close();
  6229. for (var e in this._loadItemsById) this._disposeItem(this._loadItemsById[e]);
  6230. e = [];
  6231. i = 0;
  6232. for (l = this._loadQueueBackup.length; l > i; i++) e.push(this._loadQueueBackup[i].getItem());
  6233. this.loadManifest(e, !1)
  6234. };
  6235. e.isBinary = function(e) {
  6236. switch (e) {
  6237. case createjs.LoadQueue.IMAGE:
  6238. case createjs.LoadQueue.BINARY:
  6239. return !0;
  6240. default:
  6241. return !1
  6242. }
  6243. };
  6244. t.installPlugin = function(e) {
  6245. if (null != e && null != e.getPreloadHandlers) {
  6246. e = e.getPreloadHandlers();
  6247. if (null != e.types)
  6248. for (var t = 0, n = e.types.length; n > t; t++) this._typeCallbacks[e.types[t]] = e.callback;
  6249. if (null != e.extensions)
  6250. for (t = 0, n = e.extensions.length; n > t; t++) this._extensionCallbacks[e.extensions[t]] = e.callback
  6251. }
  6252. };
  6253. t.setMaxConnections = function(e) {
  6254. this._maxConnections = e;
  6255. !this._paused && 0 < this._loadQueue.length && this._loadNext()
  6256. };
  6257. t.loadFile = function(e, t, n) {
  6258. if (null == e) return e = new createjs.Event("error"), e.text = "PRELOAD_NO_FILE", this._sendError(e), void 0;
  6259. this._addItem(e, n);
  6260. !1 !== t ? this.setPaused(!1) : this.setPaused(!0)
  6261. };
  6262. t.loadManifest = function(e, t, n) {
  6263. var r = null;
  6264. if (e instanceof Array) {
  6265. if (0 == e.length) return t = new createjs.Event("error"), t.text = "PRELOAD_MANIFEST_EMPTY", this._sendError(t), void 0;
  6266. r = e
  6267. } else {
  6268. if (null == e) return t = new createjs.Event("error"), t.text = "PRELOAD_MANIFEST_NULL", this._sendError(t), void 0;
  6269. r = [e]
  6270. }
  6271. e = 0;
  6272. for (var i = r.length; i > e; e++) this._addItem(r[e], n);
  6273. !1 !== t ? this.setPaused(!1) : this.setPaused(!0)
  6274. };
  6275. t.load = function() {
  6276. this.setPaused(!1)
  6277. };
  6278. t.getItem = function(e) {
  6279. return this._loadItemsById[e] || this._loadItemsBySrc[e]
  6280. };
  6281. t.getResult = function(e, t) {
  6282. var n = this._loadItemsById[e] || this._loadItemsBySrc[e];
  6283. if (null == n) return null;
  6284. n = n.id;
  6285. return t && this._loadedRawResults[n] ? this._loadedRawResults[n] : this._loadedResults[n]
  6286. };
  6287. t.setPaused = function(e) {
  6288. (this._paused = e) || this._loadNext()
  6289. };
  6290. t.close = function() {
  6291. for (; this._currentLoads.length;) this._currentLoads.pop().cancel();
  6292. this._scriptOrder.length = 0;
  6293. this._loadedScripts.length = 0;
  6294. this.loadStartWasDispatched = !1
  6295. };
  6296. t._addItem = function(e, t) {
  6297. var n = this._createLoadItem(e);
  6298. if (null != n) {
  6299. var r = this._createLoader(n, t);
  6300. null != r && (this._loadQueue.push(r), this._loadQueueBackup.push(r), this._numItems++, this._updateProgress(), this.maintainScriptOrder && n.type == createjs.LoadQueue.JAVASCRIPT && r instanceof createjs.XHRLoader && (this._scriptOrder.push(n), this._loadedScripts.push(null)))
  6301. }
  6302. };
  6303. t._createLoadItem = function(e) {
  6304. var t = null;
  6305. switch (typeof e) {
  6306. case "string":
  6307. t = {
  6308. src: e
  6309. };
  6310. break;
  6311. case "object":
  6312. t = window.HTMLAudioElement && e instanceof HTMLAudioElement ? {
  6313. tag: e,
  6314. src: t.tag.src,
  6315. type: createjs.LoadQueue.SOUND
  6316. } : e;
  6317. break;
  6318. default:
  6319. return null
  6320. }
  6321. e = this._parseURI(t.src);
  6322. if (null != e && (t.ext = e[5]), null == t.type && (t.type = this._getTypeByExtension(t.ext)), t.type == createjs.LoadQueue.JSON && null != t.callback && (t.type = createjs.LoadQueue.JSONP), t.type == createjs.LoadQueue.JSONP && null == t.callback) throw Error("callback is required for loading JSONP requests.");
  6323. null == t.tag && (t.tag = this._createTag(t.type));
  6324. null != t.id && "" != t.id || (t.id = t.src);
  6325. if (e = this._typeCallbacks[t.type] || this._extensionCallbacks[t.ext]) {
  6326. e = e(t.src, t.type, t.id, t.data);
  6327. if (!1 === e) return null;
  6328. !0 === e || (null != e.src && (t.src = e.src), null != e.id && (t.id = e.id), null != e.tag && e.tag.load instanceof Function && (t.tag = e.tag), null != e.completeHandler && (t.completeHandler = e.completeHandler));
  6329. e.type && (t.type = e.type);
  6330. e = this._parseURI(t.src);
  6331. null != e && null != e[5] && (t.ext = e[5].toLowerCase())
  6332. }
  6333. return this._loadItemsById[t.id] = t, this._loadItemsBySrc[t.src] = t, t
  6334. };
  6335. t._createLoader = function(e, t) {
  6336. var n = this.useXHR;
  6337. switch (e.type) {
  6338. case createjs.LoadQueue.JSON:
  6339. case createjs.LoadQueue.XML:
  6340. case createjs.LoadQueue.TEXT:
  6341. n = !0;
  6342. break;
  6343. case createjs.LoadQueue.SOUND:
  6344. case createjs.LoadQueue.JSONP:
  6345. n = !1;
  6346. break;
  6347. case null:
  6348. return null
  6349. }
  6350. return null == t && (t = this._basePath), n ? new createjs.XHRLoader(e, t) : new createjs.TagLoader(e, t)
  6351. };
  6352. t._loadNext = function() {
  6353. if (!this._paused) {
  6354. this._loadStartWasDispatched || (this._sendLoadStart(), this._loadStartWasDispatched = !0);
  6355. this._numItems == this._numItemsLoaded ? (this.loaded = !0, this._sendComplete(), this.next && this.next.load && this.next.load()) : this.loaded = !1;
  6356. for (var e = 0; e < this._loadQueue.length && !(this._currentLoads.length >= this._maxConnections); e++) {
  6357. var t = this._loadQueue[e];
  6358. if (this.maintainScriptOrder && t instanceof createjs.TagLoader && t.getItem().type == createjs.LoadQueue.JAVASCRIPT) {
  6359. if (this._currentlyLoadingScript) continue;
  6360. this._currentlyLoadingScript = !0
  6361. }
  6362. this._loadQueue.splice(e, 1);
  6363. e--;
  6364. this._loadItem(t)
  6365. }
  6366. }
  6367. };
  6368. t._loadItem = function(e) {
  6369. e.addEventListener("progress", createjs.proxy(this._handleProgress, this));
  6370. e.addEventListener("complete", createjs.proxy(this._handleFileComplete, this));
  6371. e.addEventListener("error", createjs.proxy(this._handleFileError, this));
  6372. this._currentLoads.push(e);
  6373. this._sendFileStart(e.getItem());
  6374. e.load()
  6375. };
  6376. t._handleFileError = function(e) {
  6377. var t = e.target;
  6378. this._numItemsLoaded++;
  6379. this._updateProgress();
  6380. e = new createjs.Event("error");
  6381. e.text = "FILE_LOAD_ERROR";
  6382. e.item = t.getItem();
  6383. this._sendError(e);
  6384. this.stopOnError || (this._removeLoadItem(t), this._loadNext())
  6385. };
  6386. t._handleFileComplete = function(e) {
  6387. e = e.target;
  6388. var t = e.getItem();
  6389. if (this._loadedResults[t.id] = e.getResult(), e instanceof createjs.XHRLoader && (this._loadedRawResults[t.id] = e.getResult(!0)), this._removeLoadItem(e), this.maintainScriptOrder && t.type == createjs.LoadQueue.JAVASCRIPT) {
  6390. if (!(e instanceof createjs.TagLoader)) return this._loadedScripts[createjs.indexOf(this._scriptOrder, t)] = t, this._checkScriptLoadOrder(e), void 0;
  6391. this._currentlyLoadingScript = !1
  6392. }
  6393. this._processFinishedLoad(t, e)
  6394. };
  6395. t._processFinishedLoad = function(e, t) {
  6396. this._numItemsLoaded++;
  6397. this._updateProgress();
  6398. this._sendFileComplete(e, t);
  6399. this._loadNext()
  6400. };
  6401. t._checkScriptLoadOrder = function() {
  6402. for (var e = this._loadedScripts.length, t = 0; e > t; t++) {
  6403. var n = this._loadedScripts[t];
  6404. if (null === n) break;
  6405. !0 !== n && (this._processFinishedLoad(n), this._loadedScripts[t] = !0, t--, e--)
  6406. }
  6407. };
  6408. t._removeLoadItem = function(e) {
  6409. for (var t = this._currentLoads.length, n = 0; t > n; n++)
  6410. if (this._currentLoads[n] == e) {
  6411. this._currentLoads.splice(n, 1);
  6412. break
  6413. }
  6414. };
  6415. t._handleProgress = function(e) {
  6416. e = e.target;
  6417. this._sendFileProgress(e.getItem(), e.progress);
  6418. this._updateProgress()
  6419. };
  6420. t._updateProgress = function() {
  6421. var e = this._numItemsLoaded / this._numItems,
  6422. t = this._numItems - this._numItemsLoaded;
  6423. if (0 < t) {
  6424. for (var n = 0, r = 0, i = this._currentLoads.length; i > r; r++) n += this._currentLoads[r].progress;
  6425. e += n / t * (t / this._numItems)
  6426. }
  6427. this._sendProgress(e)
  6428. };
  6429. t._disposeItem = function(e) {
  6430. delete this._loadedResults[e.id];
  6431. delete this._loadedRawResults[e.id];
  6432. delete this._loadItemsById[e.id];
  6433. delete this._loadItemsBySrc[e.src]
  6434. };
  6435. t._createTag = function(e) {
  6436. var t = null;
  6437. switch (e) {
  6438. case createjs.LoadQueue.IMAGE:
  6439. return document.createElement("img");
  6440. case createjs.LoadQueue.SOUND:
  6441. return t = document.createElement("audio"), t.autoplay = !1, t;
  6442. case createjs.LoadQueue.JSONP:
  6443. case createjs.LoadQueue.JAVASCRIPT:
  6444. return t = document.createElement("script"), t.type = "text/javascript", t;
  6445. case createjs.LoadQueue.CSS:
  6446. return t = this.useXHR ? document.createElement("style") : document.createElement("link"), t.rel = "stylesheet", t.type = "text/css", t;
  6447. case createjs.LoadQueue.SVG:
  6448. return this.useXHR ? t = document.createElement("svg") : (t = document.createElement("object"), t.type = "image/svg+xml"), t
  6449. }
  6450. return null
  6451. };
  6452. t._getTypeByExtension = function(e) {
  6453. if (null == e) return createjs.LoadQueue.TEXT;
  6454. switch (e.toLowerCase()) {
  6455. case "jpeg":
  6456. case "jpg":
  6457. case "gif":
  6458. case "png":
  6459. case "webp":
  6460. case "bmp":
  6461. return createjs.LoadQueue.IMAGE;
  6462. case "ogg":
  6463. case "mp3":
  6464. case "wav":
  6465. return createjs.LoadQueue.SOUND;
  6466. case "json":
  6467. return createjs.LoadQueue.JSON;
  6468. case "xml":
  6469. return createjs.LoadQueue.XML;
  6470. case "css":
  6471. return createjs.LoadQueue.CSS;
  6472. case "js":
  6473. return createjs.LoadQueue.JAVASCRIPT;
  6474. case "svg":
  6475. return createjs.LoadQueue.SVG;
  6476. default:
  6477. return createjs.LoadQueue.TEXT
  6478. }
  6479. };
  6480. t._sendFileProgress = function(e, t) {
  6481. if (this._isCanceled()) return this._cleanUp(), void 0;
  6482. if (this.hasEventListener("fileprogress")) {
  6483. var n = new createjs.Event("fileprogress");
  6484. n.progress = t;
  6485. n.loaded = t;
  6486. n.total = 1;
  6487. n.item = e;
  6488. this.dispatchEvent(n)
  6489. }
  6490. };
  6491. t._sendFileComplete = function(e, t) {
  6492. if (!this._isCanceled()) {
  6493. var n = new createjs.Event("fileload");
  6494. n.loader = t;
  6495. n.item = e;
  6496. n.result = this._loadedResults[e.id];
  6497. n.rawResult = this._loadedRawResults[e.id];
  6498. e.completeHandler && e.completeHandler(n);
  6499. this.hasEventListener("fileload") && this.dispatchEvent(n)
  6500. }
  6501. };
  6502. t._sendFileStart = function(e) {
  6503. var t = new createjs.Event("y388tart");
  6504. t.item = e;
  6505. this.hasEventListener("y388tart") && this.dispatchEvent(t)
  6506. };
  6507. t.toString = function() {
  6508. return "[PreloadJS LoadQueue]"
  6509. };
  6510. createjs.LoadQueue = e;
  6511. var n = function() {};
  6512. n.init = function() {
  6513. var e = navigator.userAgent;
  6514. n.isFirefox = -1 < e.indexOf("Firefox");
  6515. n.isOpera = null != window.opera;
  6516. n.isChrome = -1 < e.indexOf("Chrome");
  6517. n.isIOS = -1 < e.indexOf("iPod") || -1 < e.indexOf("iPhone") || -1 < e.indexOf("iPad")
  6518. };
  6519. n.init();
  6520. createjs.LoadQueue.BrowserDetect = n
  6521. })();
  6522. this.createjs = this.createjs || {};
  6523. (function() {
  6524. var e = function(e, t) {
  6525. this.init(e, t)
  6526. },
  6527. t = e.prototype = new createjs.AbstractLoader;
  6528. t._loadTimeout = null;
  6529. t._tagCompleteProxy = null;
  6530. t._isAudio = !1;
  6531. t._tag = null;
  6532. t._jsonResult = null;
  6533. t.init = function(e, t) {
  6534. this._item = e;
  6535. this._basePath = t;
  6536. this._tag = e.tag;
  6537. this._isAudio = window.HTMLAudioElement && e.tag instanceof HTMLAudioElement;
  6538. this._tagCompleteProxy = createjs.proxy(this._handleLoad, this)
  6539. };
  6540. t.getResult = function() {
  6541. return this._item.type == createjs.LoadQueue.JSONP ? this._jsonResult : this._tag
  6542. };
  6543. t.cancel = function() {
  6544. this.canceled = !0;
  6545. this._clean();
  6546. this.getItem()
  6547. };
  6548. t.load = function() {
  6549. var e = this._item,
  6550. t = this._tag;
  6551. clearTimeout(this._loadTimeout);
  6552. this._loadTimeout = setTimeout(createjs.proxy(this._handleTimeout, this), createjs.LoadQueue.LOAD_TIMEOUT);
  6553. this._isAudio && (t.src = null, t.y252 = "auto");
  6554. t.onerror = createjs.proxy(this._handleError, this);
  6555. this._isAudio ? (t.onstalled = createjs.proxy(this._handleStalled, this), t.addEventListener("canplaythrough", this._tagCompleteProxy, !1)) : (t.onload = createjs.proxy(this._handleLoad, this), t.onreadyy4change = createjs.proxy(this._handleReadyStateChange, this));
  6556. var n = this.buildPath(e.src, this._basePath, e.values);
  6557. switch (e.type) {
  6558. case createjs.LoadQueue.CSS:
  6559. t.href = n;
  6560. break;
  6561. case createjs.LoadQueue.SVG:
  6562. t.data = n;
  6563. break;
  6564. default:
  6565. t.src = n
  6566. }
  6567. if (e.type == createjs.LoadQueue.JSONP) {
  6568. if (null == e.callback) throw Error("callback is required for loading JSONP requests.");
  6569. if (null != window[e.callback]) throw Error('JSONP callback "' + e.callback + '" already exists on window. You need to specify a different callback. Or re-name the current one.');
  6570. window[e.callback] = createjs.proxy(this._handleJSONPLoad, this)
  6571. }
  6572. e.type != createjs.LoadQueue.SVG && e.type != createjs.LoadQueue.JSONP && e.type != createjs.LoadQueue.JSON && e.type != createjs.LoadQueue.JAVASCRIPT && e.type != createjs.LoadQueue.CSS || (this._startTagVisibility = t.style.visibility, t.style.visibility = "hidden", (document.body || document.getElementsByTagName("body")[0]).appendChild(t));
  6573. null != t.load && t.load()
  6574. };
  6575. t._handleJSONPLoad = function(e) {
  6576. this._jsonResult = e
  6577. };
  6578. t._handleTimeout = function() {
  6579. this._clean();
  6580. var e = new createjs.Event("error");
  6581. e.text = "PRELOAD_TIMEOUT";
  6582. this._sendError(e)
  6583. };
  6584. t._handleStalled = function() {};
  6585. t._handleError = function() {
  6586. this._clean();
  6587. var e = new createjs.Event("error");
  6588. this._sendError(e)
  6589. };
  6590. t._handleReadyStateChange = function() {
  6591. clearTimeout(this._loadTimeout);
  6592. var e = this.getItem().tag;
  6593. "loaded" != e.readyState && "complete" != e.readyState || this._handleLoad()
  6594. };
  6595. t._handleLoad = function() {
  6596. if (!this._isCanceled()) {
  6597. var e = this.getItem(),
  6598. t = e.tag;
  6599. if (!(this.loaded || this.isAudio && 4 !== t.readyState)) {
  6600. switch (this.loaded = !0, e.type) {
  6601. case createjs.LoadQueue.SVG:
  6602. case createjs.LoadQueue.JSONP:
  6603. t.style.visibility = this._startTagVisibility, (document.body || document.getElementsByTagName("body")[0]).removeChild(t)
  6604. }
  6605. this._clean();
  6606. this._sendComplete()
  6607. }
  6608. }
  6609. };
  6610. t._clean = function() {
  6611. clearTimeout(this._loadTimeout);
  6612. var e = this.getItem().tag;
  6613. e.onload = null;
  6614. e.removeEventListener && e.removeEventListener("canplaythrough", this._tagCompleteProxy, !1);
  6615. e.onstalled = null;
  6616. e.onprogress = null;
  6617. e.onerror = null;
  6618. e.parentNode && e.parentNode.removeChild(e);
  6619. e = this.getItem();
  6620. e.type == createjs.LoadQueue.JSONP && (window[e.callback] = null)
  6621. };
  6622. t.toString = function() {
  6623. return "[PreloadJS TagLoader]"
  6624. };
  6625. createjs.TagLoader = e
  6626. })();
  6627. this.createjs = this.createjs || {};
  6628. (function() {
  6629. var e = function(e, t) {
  6630. this.init(e, t)
  6631. },
  6632. t = e.prototype = new createjs.AbstractLoader;
  6633. t._request = null;
  6634. t._loadTimeout = null;
  6635. t._xhrLevel = 1;
  6636. t._response = null;
  6637. t._rawResponse = null;
  6638. t.init = function(e, t) {
  6639. this._item = e;
  6640. this._basePath = t;
  6641. !this._createXHR(e)
  6642. };
  6643. t.getResult = function(e) {
  6644. return e && this._rawResponse ? this._rawResponse : this._response
  6645. };
  6646. t.cancel = function() {
  6647. this.canceled = !0;
  6648. this._clean();
  6649. this._request.abort()
  6650. };
  6651. t.load = function() {
  6652. if (null == this._request) return this._handleError(), void 0;
  6653. this._request.onloadstart = createjs.proxy(this._handleLoadStart, this);
  6654. this._request.onprogress = createjs.proxy(this._handleProgress, this);
  6655. this._request.onabort = createjs.proxy(this._handleAbort, this);
  6656. this._request.onerror = createjs.proxy(this._handleError, this);
  6657. this._request.ontimeout = createjs.proxy(this._handleTimeout, this);
  6658. 1 == this._xhrLevel && (this._loadTimeout = setTimeout(createjs.proxy(this._handleTimeout, this), createjs.LoadQueue.LOAD_TIMEOUT));
  6659. this._request.onload = createjs.proxy(this._handleLoad, this);
  6660. this._request.onreadyy4change = createjs.proxy(this._handleReadyStateChange, this);
  6661. try {
  6662. this._item.values && this._item.method != createjs.LoadQueue.GET ? this._item.method == createjs.LoadQueue.POST && this._request.send(this._formatQueryString(this._item.values)) : this._request.send()
  6663. } catch (e) {
  6664. var t = new createjs.Event("error");
  6665. t.error = e;
  6666. this._sendError(t)
  6667. }
  6668. };
  6669. t.getAllResponseHeaders = function() {
  6670. return this._request.getAllResponseHeaders instanceof Function ? this._request.getAllResponseHeaders() : null
  6671. };
  6672. t.getResponseHeader = function(e) {
  6673. return this._request.getResponseHeader instanceof Function ? this._request.getResponseHeader(e) : null
  6674. };
  6675. t._handleProgress = function(e) {
  6676. if (e && !(0 < e.loaded && 0 == e.total)) {
  6677. var t = new createjs.Event("progress");
  6678. t.loaded = e.loaded;
  6679. t.total = e.total;
  6680. this._sendProgress(t)
  6681. }
  6682. };
  6683. t._handleLoadStart = function() {
  6684. clearTimeout(this._loadTimeout);
  6685. this._sendLoadStart()
  6686. };
  6687. t._handleAbort = function(e) {
  6688. this._clean();
  6689. e = new createjs.Event("error");
  6690. e.text = "XHR_ABORTED";
  6691. this._sendError(e)
  6692. };
  6693. t._handleError = function() {
  6694. this._clean();
  6695. var e = new createjs.Event("error");
  6696. this._sendError(e)
  6697. };
  6698. t._handleReadyStateChange = function() {
  6699. 4 == this._request.readyState && this._handleLoad()
  6700. };
  6701. t._handleLoad = function() {
  6702. if (!this.loaded) {
  6703. if (this.loaded = !0, !this._checkError()) return this._handleError(), void 0;
  6704. this._response = this._getResponse();
  6705. this._clean();
  6706. this._generateTag() && this._sendComplete()
  6707. }
  6708. };
  6709. t._handleTimeout = function(e) {
  6710. this._clean();
  6711. (new createjs.Event("error")).text = "PRELOAD_TIMEOUT";
  6712. this._sendError(e)
  6713. };
  6714. t._checkError = function() {
  6715. switch (parseInt(this._request.status)) {
  6716. case 404:
  6717. case 0:
  6718. return !1
  6719. }
  6720. return !0
  6721. };
  6722. t._getResponse = function() {
  6723. if (null != this._response) return this._response;
  6724. if (null != this._request.response) return this._request.response;
  6725. try {
  6726. if (null != this._request.responseText) return this._request.responseText
  6727. } catch (e) {}
  6728. try {
  6729. if (null != this._request.responseXML) return this._request.responseXML
  6730. } catch (t) {}
  6731. return null
  6732. };
  6733. t._createXHR = function(e) {
  6734. var t = document.createElement("a");
  6735. t.href = this.buildPath(e.src, this._basePath);
  6736. var n = document.createElement("a");
  6737. n.href = location.href;
  6738. t = "" != t.hostname && (t.port != n.port || t.protocol != n.protocol || t.hostname != n.hostname);
  6739. n = null;
  6740. if (t && window.XDomainRequest) n = new XDomainRequest;
  6741. else if (window.XMLHttpRequest) n = new XMLHttpRequest;
  6742. else try {
  6743. n = new ActiveXObject("Msxml2.XMLHTTP.6.0")
  6744. } catch (r) {
  6745. try {
  6746. n = new ActiveXObject("Msxml2.XMLHTTP.3.0")
  6747. } catch (i) {
  6748. try {
  6749. n = new ActiveXObject("Msxml2.XMLHTTP")
  6750. } catch (s) {
  6751. return !1
  6752. }
  6753. }
  6754. }
  6755. e.type == createjs.LoadQueue.TEXT && n.overrideMimeType && n.overrideMimeType("text/plain; charset=x-user-defined");
  6756. this._xhrLevel = "string" == typeof n.responseType ? 2 : 1;
  6757. var o = null;
  6758. return o = e.method == createjs.LoadQueue.GET ? this.buildPath(e.src, this._basePath, e.values) : this.buildPath(e.src, this._basePath), n.open(e.method || createjs.LoadQueue.GET, o, !0), t && n instanceof XMLHttpRequest && 1 == this._xhrLevel && n.setRequestHeader("Origin", location.origin), e.values && e.method == createjs.LoadQueue.POST && n.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), createjs.LoadQueue.isBinary(e.type) && (n.responseType = "arraybuffer"), this._request = n, !0
  6759. };
  6760. t._clean = function() {
  6761. clearTimeout(this._loadTimeout);
  6762. var e = this._request;
  6763. e.onloadstart = null;
  6764. e.onprogress = null;
  6765. e.onabort = null;
  6766. e.onerror = null;
  6767. e.onload = null;
  6768. e.ontimeout = null;
  6769. e.onloadend = null;
  6770. e.onreadyy4change = null
  6771. };
  6772. t._generateTag = function() {
  6773. var e = this._item.tag;
  6774. switch (this._item.type) {
  6775. case createjs.LoadQueue.IMAGE:
  6776. return e.onload = createjs.proxy(this._handleTagReady, this), e.src = this.buildPath(this._item.src, this._basePath, this._item.values), this._rawResponse = this._response, this._response = e, !1;
  6777. case createjs.LoadQueue.JAVASCRIPT:
  6778. return e = document.createElement("script"), e.text = this._response, this._rawResponse = this._response, this._response = e, !0;
  6779. case createjs.LoadQueue.CSS:
  6780. if (document.getElementsByTagName("head")[0].appendChild(e), e.styleSheet) e.styleSheet.cssText = this._response;
  6781. else {
  6782. var t = document.createTextNode(this._response);
  6783. e.appendChild(t)
  6784. }
  6785. return this._rawResponse = this._response, this._response = e, !0;
  6786. case createjs.LoadQueue.XML:
  6787. return t = this._parseXML(this._response, "text/xml"), this._response = t, !0;
  6788. case createjs.LoadQueue.SVG:
  6789. return t = this._parseXML(this._response, "image/svg+xml"), this._rawResponse = this._response, null != t.documentElement ? (e.appendChild(t.documentElement), this._response = e) : this._response = t, !0;
  6790. case createjs.LoadQueue.JSON:
  6791. e = {};
  6792. try {
  6793. e = JSON.parse(this._response)
  6794. } catch (n) {
  6795. e = n
  6796. }
  6797. return this._rawResponse = this._response, this._response = e, !0
  6798. }
  6799. return !0
  6800. };
  6801. t._parseXML = function(e, t) {
  6802. var n = null;
  6803. window.DOMParser ? n = (new DOMParser).parseFromString(e, t) : (n = new ActiveXObject("Microsoft.XMLDOM"), n.async = !1, n.loadXML(e));
  6804. return n
  6805. };
  6806. t._handleTagReady = function() {
  6807. this._sendComplete()
  6808. };
  6809. t.toString = function() {
  6810. return "[PreloadJS XHRLoader]"
  6811. };
  6812. createjs.XHRLoader = e
  6813. })();
  6814. "object" != typeof JSON && (JSON = {});
  6815. (function() {
  6816. function c(e) {
  6817. return 10 > e ? "0" + e : e
  6818. }
  6819. function a(e) {
  6820. return f.lastIndex = 0, f.test(e) ? '"' + e.replace(f, function(e) {
  6821. var t = g[e];
  6822. return "string" == typeof t ? t : "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4)
  6823. }) + '"' : '"' + e + '"'
  6824. }
  6825. function b(t, n) {
  6826. var r, i, s, o, u, f = d,
  6827. l = n[t];
  6828. switch (l && "object" == typeof l && "function" == typeof l.toJSON && (l = l.toJSON(t)), "function" == typeof k && (l = k.call(n, t, l)), typeof l) {
  6829. case "string":
  6830. return a(l);
  6831. case "number":
  6832. return isFinite(l) ? String(l) : "null";
  6833. case "boolean":
  6834. case "null":
  6835. return String(l);
  6836. case "object":
  6837. if (!l) return "null";
  6838. if (d += e, u = [], "[object Array]" === Object.prototype.toString.apply(l)) {
  6839. o = l.length;
  6840. for (r = 0; o > r; r += 1) u[r] = b(r, l) || "null";
  6841. return s = 0 === u.length ? "[]" : d ? "[\n" + d + u.join(",\n" + d) + "\n" + f + "]" : "[" + u.join(",") + "]", d = f, s
  6842. }
  6843. if (k && "object" == typeof k)
  6844. for (o = k.length, r = 0; o > r; r += 1) "string" == typeof k[r] && (i = k[r], s = b(i, l), s && u.push(a(i) + (d ? ": " : ":") + s));
  6845. else
  6846. for (i in l) Object.prototype.hasOwnProperty.call(l, i) && (s = b(i, l), s && u.push(a(i) + (d ? ": " : ":") + s));
  6847. return s = 0 === u.length ? "{}" : d ? "{\n" + d + u.join(",\n" + d) + "\n" + f + "}" : "{" + u.join(",") + "}", d = f, s
  6848. }
  6849. }
  6850. "function" != typeof Date.prototype.toJSON && (Date.prototype.toJSON = function() {
  6851. return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + c(this.getUTCMonth() + 1) + "-" + c(this.getUTCDate()) + "T" + c(this.getUTCHours()) + ":" + c(this.getUTCMinutes()) + ":" + c(this.getUTCSeconds()) + "Z" : null
  6852. }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {
  6853. return this.valueOf()
  6854. });
  6855. var h = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
  6856. f = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
  6857. d, e, g = {
  6858. "\b": "\\b",
  6859. " ": "\\t",
  6860. "\n": "\\n",
  6861. "\f": "\\f",
  6862. "\r": "\\r",
  6863. '"': '\\"',
  6864. "\\": "\\\\"
  6865. },
  6866. k;
  6867. "function" != typeof JSON.stringify && (JSON.stringify = function(t, n, r) {
  6868. var i;
  6869. if (d = "", e = "", "number" == typeof r)
  6870. for (i = 0; r > i; i += 1) e += " ";
  6871. else "string" == typeof r && (e = r);
  6872. if (k = n, n && "function" != typeof n && ("object" != typeof n || "number" != typeof n.length)) throw Error("JSON.stringify");
  6873. return b("", {
  6874. "": t
  6875. })
  6876. });
  6877. "function" != typeof JSON.parse && (JSON.parse = function(b, a) {
  6878. function c(e, t) {
  6879. var n, r, i = e[t];
  6880. if (i && "object" == typeof i)
  6881. for (n in i) Object.prototype.hasOwnProperty.call(i, n) && (r = c(i, n), void 0 !== r ? i[n] = r : delete i[n]);
  6882. return a.call(e, t, i)
  6883. }
  6884. var f;
  6885. if (b = String(b), h.lastIndex = 0, h.test(b) && (b = b.replace(h, function(e) {
  6886. return "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4)
  6887. })), /^[\],:{}\s]*$/.test(b.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return f = eval("(" + b + ")"), "function" == typeof a ? c({
  6888. "": f
  6889. }, "") : f;
  6890. throw new SyntaxError("JSON.parse")
  6891. })
  6892. })();
  6893. this.createjs = this.createjs || {};
  6894. (function() {
  6895. var e = function(e, t, n) {
  6896. this.initialize(e, t, n)
  6897. },
  6898. t = e.prototype;
  6899. t.type = null;
  6900. t.target = null;
  6901. t.currentTarget = null;
  6902. t.eventPhase = 0;
  6903. t.bubbles = !1;
  6904. t.cancelable = !1;
  6905. t.timeStamp = 0;
  6906. t.defaultPrevented = !1;
  6907. t.propagationStopped = !1;
  6908. t.immediatePropagationStopped = !1;
  6909. t.removed = !1;
  6910. t.initialize = function(e, t, n) {
  6911. this.type = e;
  6912. this.bubbles = t;
  6913. this.cancelable = n;
  6914. this.timeStamp = (new Date).getTime()
  6915. };
  6916. t.preventDefault = function() {
  6917. this.defaultPrevented = !0
  6918. };
  6919. t.stopPropagation = function() {
  6920. this.propagationStopped = !0
  6921. };
  6922. t.stopImmediatePropagation = function() {
  6923. this.immediatePropagationStopped = this.propagationStopped = !0
  6924. };
  6925. t.remove = function() {
  6926. this.removed = !0
  6927. };
  6928. t.clone = function() {
  6929. return new e(this.type, this.bubbles, this.cancelable)
  6930. };
  6931. t.toString = function() {
  6932. return "[Event (type=" + this.type + ")]"
  6933. };
  6934. createjs.Event = e
  6935. })();
  6936. this.createjs = this.createjs || {};
  6937. (function() {
  6938. var e = function() {
  6939. this.initialize()
  6940. },
  6941. t = e.prototype;
  6942. e.initialize = function(e) {
  6943. e.addEventListener = t.addEventListener;
  6944. e.on = t.on;
  6945. e.removeEventListener = e.off = t.removeEventListener;
  6946. e.removeAllEventListeners = t.removeAllEventListeners;
  6947. e.hasEventListener = t.hasEventListener;
  6948. e.dispatchEvent = t.dispatchEvent;
  6949. e._dispatchEvent = t._dispatchEvent
  6950. };
  6951. t._listeners = null;
  6952. t._captureListeners = null;
  6953. t.initialize = function() {};
  6954. t.addEventListener = function(e, t, n) {
  6955. var r;
  6956. r = n ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {};
  6957. var i = r[e];
  6958. return i && this.removeEventListener(e, t, n), i = r[e], i ? i.push(t) : r[e] = [t], t
  6959. };
  6960. t.on = function(e, t, n, r, i, s) {
  6961. return t.handleEvent && (n = n || t, t = t.handleEvent), n = n || this, this.addEventListener(e, function(e) {
  6962. t.call(n, e, i);
  6963. r && e.remove()
  6964. }, s)
  6965. };
  6966. t.removeEventListener = function(e, t, n) {
  6967. if (n = n ? this._captureListeners : this._listeners) {
  6968. var r = n[e];
  6969. if (r)
  6970. for (var i = 0, s = r.length; s > i; i++)
  6971. if (r[i] == t) {
  6972. 1 == s ? delete n[e] : r.splice(i, 1);
  6973. break
  6974. }
  6975. }
  6976. };
  6977. t.off = t.removeEventListener;
  6978. t.removeAllEventListeners = function(e) {
  6979. e ? (this._listeners && delete this._listeners[e], this._captureListeners && delete this._captureListeners[e]) : this._listeners = this._captureListeners = null
  6980. };
  6981. t.dispatchEvent = function(e, t) {
  6982. if ("string" == typeof e) {
  6983. var n = this._listeners;
  6984. if (!n || !n[e]) return !1;
  6985. e = new createjs.Event(e)
  6986. }
  6987. if (e.target = t || this, e.bubbles && this.parent) {
  6988. for (var r = this, n = [r]; r.parent;) n.push(r = r.parent);
  6989. for (var i = n.length, r = i - 1; 0 <= r && !e.propagationStopped; r--) n[r]._dispatchEvent(e, 1 + (0 == r));
  6990. for (r = 1; i > r && !e.propagationStopped; r++) n[r]._dispatchEvent(e, 3)
  6991. } else this._dispatchEvent(e, 2);
  6992. return e.defaultPrevented
  6993. };
  6994. t.hasEventListener = function(e) {
  6995. var t = this._listeners,
  6996. n = this._captureListeners;
  6997. return !!(t && t[e] || n && n[e])
  6998. };
  6999. t.toString = function() {
  7000. return "[EventDispatcher]"
  7001. };
  7002. t._dispatchEvent = function(e, t) {
  7003. var n, r = 1 == t ? this._captureListeners : this._listeners;
  7004. if (e && r && (r = r[e.type]) && (n = r.length)) {
  7005. e.currentTarget = this;
  7006. e.eventPhase = t;
  7007. e.removed = !1;
  7008. for (var r = r.slice(), i = 0; n > i && !e.immediatePropagationStopped; i++) {
  7009. var s = r[i];
  7010. s.handleEvent ? s.handleEvent(e) : s(e);
  7011. e.removed && (this.off(e.type, s, 1 == t), e.removed = !1)
  7012. }
  7013. }
  7014. };
  7015. createjs.EventDispatcher = e
  7016. })();
  7017. this.createjs = this.createjs || {};
  7018. (function() {
  7019. var e = function(e, t, n) {
  7020. this.initialize(e, t, n)
  7021. },
  7022. t = e.prototype = new createjs.EventDispatcher;
  7023. e.NONE = 0;
  7024. e.LOOP = 1;
  7025. e.REVERSE = 2;
  7026. e.IGNORE = {};
  7027. e._tweens = [];
  7028. e._plugins = {};
  7029. e.get = function(t, n, r, i) {
  7030. return i && e.removeTweens(t), new e(t, n, r)
  7031. };
  7032. e.tick = function(t, n) {
  7033. for (var r = e._tweens.slice(), i = r.length - 1; 0 <= i; i--) {
  7034. var s = r[i];
  7035. n && !s.ignoreGlobalPause || s._paused || s.tick(s._useTicks ? 1 : t)
  7036. }
  7037. };
  7038. e.handleEvent = function(e) {
  7039. "tick" == e.type && this.tick(e.delta, e.paused)
  7040. };
  7041. e.removeTweens = function(t) {
  7042. if (t.tweenjs_count) {
  7043. for (var n = e._tweens, r = n.length - 1; 0 <= r; r--) n[r]._target == t && (n[r]._paused = !0, n.splice(r, 1));
  7044. t.tweenjs_count = 0
  7045. }
  7046. };
  7047. e.removeAllTweens = function() {
  7048. for (var t = e._tweens, n = 0, r = t.length; r > n; n++) {
  7049. var i = t[n];
  7050. i.paused = !0;
  7051. i.target.tweenjs_count = 0
  7052. }
  7053. t.length = 0
  7054. };
  7055. e.hasActiveTweens = function(t) {
  7056. return t ? t.tweenjs_count : e._tweens && !!e._tweens.length
  7057. };
  7058. e.installPlugin = function(t, n) {
  7059. var r = t.priority;
  7060. null == r && (t.priority = r = 0);
  7061. for (var i = 0, s = n.length, o = e._plugins; s > i; i++) {
  7062. var u = n[i];
  7063. if (o[u]) {
  7064. for (var a = o[u], f = 0, l = a.length; l > f && !(r < a[f].priority); f++);
  7065. o[u].splice(f, 0, t)
  7066. } else o[u] = [t]
  7067. }
  7068. };
  7069. e._register = function(t, n) {
  7070. var r = t._target,
  7071. i = e._tweens;
  7072. if (n) r && (r.tweenjs_count = r.tweenjs_count ? r.tweenjs_count + 1 : 1), i.push(t), !e._inited && createjs.Ticker && (createjs.Ticker.addEventListener("tick", e), e._inited = !0);
  7073. else
  7074. for (r && r.tweenjs_count--, r = i.length; r--;)
  7075. if (i[r] == t) return i.splice(r, 1), void 0
  7076. };
  7077. t.ignoreGlobalPause = !1;
  7078. t.loop = !1;
  7079. t.duration = 0;
  7080. t.pluginData = null;
  7081. t.target = null;
  7082. t.position = null;
  7083. t.passive = !1;
  7084. t._paused = !1;
  7085. t._curQueueProps = null;
  7086. t._initQueueProps = null;
  7087. t._steps = null;
  7088. t._actions = null;
  7089. t._prevPosition = 0;
  7090. t._stepPosition = 0;
  7091. t._prevPos = -1;
  7092. t._target = null;
  7093. t._useTicks = !1;
  7094. t._inited = !1;
  7095. t.initialize = function(t, n, r) {
  7096. this.target = this._target = t;
  7097. n && (this._useTicks = n.useTicks, this.ignoreGlobalPause = n.ignoreGlobalPause, this.loop = n.loop, n.onChange && this.addEventListener("change", n.onChange), n.override && e.removeTweens(t));
  7098. this.pluginData = r || {};
  7099. this._curQueueProps = {};
  7100. this._initQueueProps = {};
  7101. this._steps = [];
  7102. this._actions = [];
  7103. n && n.paused ? this._paused = !0 : e._register(this, !0);
  7104. n && null != n.position && this.setPosition(n.position, e.NONE)
  7105. };
  7106. t.wait = function(e, t) {
  7107. if (null == e || 0 >= e) return this;
  7108. var n = this._cloneProps(this._curQueueProps);
  7109. return this._addStep({
  7110. d: e,
  7111. p0: n,
  7112. e: this._linearEase,
  7113. p1: n,
  7114. v: t
  7115. })
  7116. };
  7117. t.to = function(e, t, n) {
  7118. return (isNaN(t) || 0 > t) && (t = 0), this._addStep({
  7119. d: t || 0,
  7120. p0: this._cloneProps(this._curQueueProps),
  7121. e: n,
  7122. p1: this._cloneProps(this._appendQueueProps(e))
  7123. })
  7124. };
  7125. t.call = function(e, t, n) {
  7126. return this._addAction({
  7127. f: e,
  7128. p: t ? t : [this],
  7129. o: n ? n : this._target
  7130. })
  7131. };
  7132. t.set = function(e, t) {
  7133. return this._addAction({
  7134. f: this._set,
  7135. o: this,
  7136. p: [e, t ? t : this._target]
  7137. })
  7138. };
  7139. t.play = function(e) {
  7140. return e || (e = this), this.call(e.setPaused, [!1], e)
  7141. };
  7142. t.pause = function(e) {
  7143. return e || (e = this), this.call(e.setPaused, [!0], e)
  7144. };
  7145. t.setPosition = function(e, t) {
  7146. 0 > e && (e = 0);
  7147. null == t && (t = 1);
  7148. var n = e,
  7149. r = !1;
  7150. if (n >= this.duration && (this.loop ? n %= this.duration : (n = this.duration, r = !0)), n == this._prevPos) return r;
  7151. var i = this._prevPos;
  7152. if (this.position = this._prevPos = n, this._prevPosition = e, this._target)
  7153. if (r) this._updateTargetProps(null, 1);
  7154. else if (0 < this._steps.length) {
  7155. for (var s = 0, o = this._steps.length; o > s && !(this._steps[s].t > n); s++);
  7156. s = this._steps[s - 1];
  7157. this._updateTargetProps(s, (this._stepPosition = n - s.t) / s.d)
  7158. }
  7159. return 0 != t && 0 < this._actions.length && (this._useTicks ? this._runActions(n, n) : 1 == t && i > n ? (i != this.duration && this._runActions(i, this.duration), this._runActions(0, n, !0)) : this._runActions(i, n)), r && this.setPaused(!0), this.dispatchEvent("change"), r
  7160. };
  7161. t.tick = function(e) {
  7162. this._paused || this.setPosition(this._prevPosition + e)
  7163. };
  7164. t.setPaused = function(t) {
  7165. return this._paused = !!t, e._register(this, !t), this
  7166. };
  7167. t.w = t.wait;
  7168. t.t = t.to;
  7169. t.c = t.call;
  7170. t.s = t.set;
  7171. t.toString = function() {
  7172. return "[Tween]"
  7173. };
  7174. t.clone = function() {
  7175. throw "Tween can not be cloned."
  7176. };
  7177. t._updateTargetProps = function(t, n) {
  7178. var r, i, s, o;
  7179. if (t || 1 != n) {
  7180. if (this.passive = !!t.v, this.passive) return;
  7181. t.e && (n = t.e(n, 0, 1, 1));
  7182. r = t.p0;
  7183. i = t.p1
  7184. } else this.passive = !1, r = i = this._curQueueProps;
  7185. for (var u in this._initQueueProps) {
  7186. null == (s = r[u]) && (r[u] = s = this._initQueueProps[u]);
  7187. null == (o = i[u]) && (i[u] = o = s);
  7188. s = s == o || 0 == n || 1 == n || "number" != typeof s ? 1 == n ? o : s : s + (o - s) * n;
  7189. var a = !1;
  7190. if (o = e._plugins[u])
  7191. for (var f = 0, l = o.length; l > f; f++) {
  7192. var h = o[f].tween(this, u, s, r, i, n, !!t && r == i, !t);
  7193. h == e.IGNORE ? a = !0 : s = h
  7194. }
  7195. a || (this._target[u] = s)
  7196. }
  7197. };
  7198. t._runActions = function(e, t, n) {
  7199. var r = e,
  7200. i = t,
  7201. s = -1,
  7202. o = this._actions.length,
  7203. u = 1;
  7204. for (e > t && (r = t, i = e, s = o, o = u = -1);
  7205. (s += u) != o;) {
  7206. t = this._actions[s];
  7207. var a = t.t;
  7208. (a == i || a > r && i > a || n && a == e) && t.f.apply(t.o, t.p)
  7209. }
  7210. };
  7211. t._appendQueueProps = function(t) {
  7212. var n, r, i, s, o, u;
  7213. for (u in t)
  7214. if (void 0 === this._initQueueProps[u]) {
  7215. if (r = this._target[u], n = e._plugins[u])
  7216. for (i = 0, s = n.length; s > i; i++) r = n[i].init(this, u, r);
  7217. this._initQueueProps[u] = this._curQueueProps[u] = void 0 === r ? null : r
  7218. }
  7219. for (u in t) {
  7220. if (r = this._curQueueProps[u], n = e._plugins[u])
  7221. for (o = o || {}, i = 0, s = n.length; s > i; i++) n[i].step && n[i].step(this, u, r, t[u], o);
  7222. this._curQueueProps[u] = t[u]
  7223. }
  7224. return o && this._appendQueueProps(o), this._curQueueProps
  7225. };
  7226. t._cloneProps = function(e) {
  7227. var t = {},
  7228. n;
  7229. for (n in e) t[n] = e[n];
  7230. return t
  7231. };
  7232. t._addStep = function(e) {
  7233. return 0 < e.d && (this._steps.push(e), e.t = this.duration, this.duration += e.d), this
  7234. };
  7235. t._addAction = function(e) {
  7236. return e.t = this.duration, this._actions.push(e), this
  7237. };
  7238. t._set = function(e, t) {
  7239. for (var n in e) t[n] = e[n]
  7240. };
  7241. createjs.Tween = e
  7242. })();
  7243. this.createjs = this.createjs || {};
  7244. (function() {
  7245. var e = function(e, t, n) {
  7246. this.initialize(e, t, n)
  7247. },
  7248. t = e.prototype = new createjs.EventDispatcher;
  7249. t.ignoreGlobalPause = !1;
  7250. t.duration = 0;
  7251. t.loop = !1;
  7252. t.position = null;
  7253. t._paused = !1;
  7254. t._tweens = null;
  7255. t._labels = null;
  7256. t._labelList = null;
  7257. t._prevPosition = 0;
  7258. t._prevPos = -1;
  7259. t._useTicks = !1;
  7260. t.initialize = function(e, t, n) {
  7261. this._tweens = [];
  7262. n && (this._useTicks = n.useTicks, this.loop = n.loop, this.ignoreGlobalPause = n.ignoreGlobalPause, n.onChange && this.addEventListener("change", n.onChange));
  7263. e && this.addTween.apply(this, e);
  7264. this.setLabels(t);
  7265. n && n.paused ? this._paused = !0 : createjs.Tween._register(this, !0);
  7266. n && null != n.position && this.setPosition(n.position, createjs.Tween.NONE)
  7267. };
  7268. t.addTween = function(e) {
  7269. var t = arguments.length;
  7270. if (1 < t) {
  7271. for (var n = 0; t > n; n++) this.addTween(arguments[n]);
  7272. return arguments[0]
  7273. }
  7274. return 0 == t ? null : (this.removeTween(e), this._tweens.push(e), e.setPaused(!0), e._paused = !1, e._useTicks = this._useTicks, e.duration > this.duration && (this.duration = e.duration), 0 <= this._prevPos && e.setPosition(this._prevPos, createjs.Tween.NONE), e)
  7275. };
  7276. t.removeTween = function(e) {
  7277. var t = arguments.length;
  7278. if (1 < t) {
  7279. for (var n = !0, r = 0; t > r; r++) n = n && this.removeTween(arguments[r]);
  7280. return n
  7281. }
  7282. if (0 == t) return !1;
  7283. t = this._tweens;
  7284. for (r = t.length; r--;)
  7285. if (t[r] == e) return t.splice(r, 1), e.duration >= this.duration && this.updateDuration(), !0;
  7286. return !1
  7287. };
  7288. t.addLabel = function(e, t) {
  7289. this._labels[e] = t;
  7290. var n = this._labelList;
  7291. if (n) {
  7292. for (var r = 0, i = n.length; i > r && !(t < n[r].position); r++);
  7293. n.splice(r, 0, {
  7294. label: e,
  7295. position: t
  7296. })
  7297. }
  7298. };
  7299. t.setLabels = function(e) {
  7300. this._labels = e ? e : {}
  7301. };
  7302. t.getLabels = function() {
  7303. var e = this._labelList;
  7304. if (!e) {
  7305. var e = this._labelList = [],
  7306. t = this._labels,
  7307. n;
  7308. for (n in t) e.push({
  7309. label: n,
  7310. position: t[n]
  7311. });
  7312. e.sort(function(e, t) {
  7313. return e.position - t.position
  7314. })
  7315. }
  7316. return e
  7317. };
  7318. t.getCurrentLabel = function() {
  7319. var e = this.getLabels(),
  7320. t = this.position,
  7321. n = e.length;
  7322. if (n) {
  7323. for (var r = 0; n > r && !(t < e[r].position); r++);
  7324. return 0 == r ? null : e[r - 1].label
  7325. }
  7326. return null
  7327. };
  7328. t.gotoAndPlay = function(e) {
  7329. this.setPaused(!1);
  7330. this._goto(e)
  7331. };
  7332. t.gotoAndStop = function(e) {
  7333. this.setPaused(!0);
  7334. this._goto(e)
  7335. };
  7336. t.setPosition = function(e, t) {
  7337. 0 > e && (e = 0);
  7338. var n = this.loop ? e % this.duration : e,
  7339. r = !this.loop && e >= this.duration;
  7340. if (n == this._prevPos) return r;
  7341. this._prevPosition = e;
  7342. this.position = this._prevPos = n;
  7343. for (var i = 0, s = this._tweens.length; s > i; i++)
  7344. if (this._tweens[i].setPosition(n, t), n != this._prevPos) return !1;
  7345. return r && this.setPaused(!0), this.dispatchEvent("change"), r
  7346. };
  7347. t.setPaused = function(e) {
  7348. this._paused = !!e;
  7349. createjs.Tween._register(this, !e)
  7350. };
  7351. t.updateDuration = function() {
  7352. for (var e = this.duration = 0, t = this._tweens.length; t > e; e++) {
  7353. var n = this._tweens[e];
  7354. n.duration > this.duration && (this.duration = n.duration)
  7355. }
  7356. };
  7357. t.tick = function(e) {
  7358. this.setPosition(this._prevPosition + e)
  7359. };
  7360. t.resolve = function(e) {
  7361. var t = parseFloat(e);
  7362. return isNaN(t) && (t = this._labels[e]), t
  7363. };
  7364. t.toString = function() {
  7365. return "[Timeline]"
  7366. };
  7367. t.clone = function() {
  7368. throw "Timeline can not be cloned."
  7369. };
  7370. t._goto = function(e) {
  7371. e = this.resolve(e);
  7372. null != e && this.setPosition(e)
  7373. };
  7374. createjs.Timeline = e
  7375. })();
  7376. this.createjs = this.createjs || {};
  7377. (function() {
  7378. var e = function() {
  7379. throw "Ease cannot be instantiated."
  7380. };
  7381. e.linear = function(e) {
  7382. return e
  7383. };
  7384. e.none = e.linear;
  7385. e.get = function(e) {
  7386. return -1 > e && (e = -1), 1 < e && (e = 1),
  7387. function(t) {
  7388. return 0 == e ? t : 0 > e ? t * (t * -e + 1 + e) : t * ((2 - t) * e + (1 - e))
  7389. }
  7390. };
  7391. e.getPowIn = function(e) {
  7392. return function(t) {
  7393. return Math.pow(t, e)
  7394. }
  7395. };
  7396. e.getPowOut = function(e) {
  7397. return function(t) {
  7398. return 1 - Math.pow(1 - t, e)
  7399. }
  7400. };
  7401. e.getPowInOut = function(e) {
  7402. return function(t) {
  7403. return 1 > (t *= 2) ? .5 * Math.pow(t, e) : 1 - .5 * Math.abs(Math.pow(2 - t, e))
  7404. }
  7405. };
  7406. e.quadIn = e.getPowIn(2);
  7407. e.quadOut = e.getPowOut(2);
  7408. e.quadInOut = e.getPowInOut(2);
  7409. e.cubicIn = e.getPowIn(3);
  7410. e.cubicOut = e.getPowOut(3);
  7411. e.cubicInOut = e.getPowInOut(3);
  7412. e.quartIn = e.getPowIn(4);
  7413. e.quartOut = e.getPowOut(4);
  7414. e.quartInOut = e.getPowInOut(4);
  7415. e.quintIn = e.getPowIn(5);
  7416. e.quintOut = e.getPowOut(5);
  7417. e.quintInOut = e.getPowInOut(5);
  7418. e.sineIn = function(e) {
  7419. return 1 - Math.cos(e * Math.PI / 2)
  7420. };
  7421. e.sineOut = function(e) {
  7422. return Math.sin(e * Math.PI / 2)
  7423. };
  7424. e.sineInOut = function(e) {
  7425. return -.5 * (Math.cos(Math.PI * e) - 1)
  7426. };
  7427. e.getBackIn = function(e) {
  7428. return function(t) {
  7429. return t * t * ((e + 1) * t - e)
  7430. }
  7431. };
  7432. e.backIn = e.getBackIn(1.7);
  7433. e.getBackOut = function(e) {
  7434. return function(t) {
  7435. return --t * t * ((e + 1) * t + e) + 1
  7436. }
  7437. };
  7438. e.backOut = e.getBackOut(1.7);
  7439. e.getBackInOut = function(e) {
  7440. return e *= 1.525,
  7441. function(t) {
  7442. return 1 > (t *= 2) ? .5 * t * t * ((e + 1) * t - e) : .5 * ((t -= 2) * t * ((e + 1) * t + e) + 2)
  7443. }
  7444. };
  7445. e.backInOut = e.getBackInOut(1.7);
  7446. e.circIn = function(e) {
  7447. return -(Math.sqrt(1 - e * e) - 1)
  7448. };
  7449. e.circOut = function(e) {
  7450. return Math.sqrt(1 - --e * e)
  7451. };
  7452. e.circInOut = function(e) {
  7453. return 1 > (e *= 2) ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
  7454. };
  7455. e.bounceIn = function(t) {
  7456. return 1 - e.bounceOut(1 - t)
  7457. };
  7458. e.bounceOut = function(e) {
  7459. return 1 / 2.75 > e ? 7.5625 * e * e : 2 / 2.75 > e ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : 2.5 / 2.75 > e ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
  7460. };
  7461. e.bounceInOut = function(t) {
  7462. return .5 > t ? .5 * e.bounceIn(2 * t) : .5 * e.bounceOut(2 * t - 1) + .5
  7463. };
  7464. e.getElasticIn = function(e, t) {
  7465. var n = 2 * Math.PI;
  7466. return function(r) {
  7467. if (0 == r || 1 == r) return r;
  7468. var i = t / n * Math.asin(1 / e);
  7469. return -(e * Math.pow(2, 10 * (r -= 1)) * Math.sin((r - i) * n / t))
  7470. }
  7471. };
  7472. e.elasticIn = e.getElasticIn(1, .3);
  7473. e.getElasticOut = function(e, t) {
  7474. var n = 2 * Math.PI;
  7475. return function(r) {
  7476. if (0 == r || 1 == r) return r;
  7477. var i = t / n * Math.asin(1 / e);
  7478. return e * Math.pow(2, -10 * r) * Math.sin((r - i) * n / t) + 1
  7479. }
  7480. };
  7481. e.elasticOut = e.getElasticOut(1, .3);
  7482. e.getElasticInOut = function(e, t) {
  7483. var n = 2 * Math.PI;
  7484. return function(r) {
  7485. var i = t / n * Math.asin(1 / e);
  7486. return 1 > (r *= 2) ? -.5 * e * Math.pow(2, 10 * (r -= 1)) * Math.sin((r - i) * n / t) : .5 * e * Math.pow(2, -10 * (r -= 1)) * Math.sin((r - i) * n / t) + 1
  7487. }
  7488. };
  7489. e.elasticInOut = e.getElasticInOut(1, .3 * 1.5);
  7490. createjs.Ease = e
  7491. })();
  7492. this.createjs = this.createjs || {};
  7493. (function() {
  7494. var e = function() {
  7495. throw "MotionGuidePlugin cannot be instantiated."
  7496. };
  7497. e.priority = 0;
  7498. e._rotOffS;
  7499. e._rotOffE;
  7500. e._rotNormS;
  7501. e._rotNormE;
  7502. e.install = function() {
  7503. return createjs.Tween.installPlugin(e, ["guide", "x", "y", "rotation"]), createjs.Tween.IGNORE
  7504. };
  7505. e.init = function(e, t, n) {
  7506. var r = e.target;
  7507. return r.hasOwnProperty("x") || (r.x = 0), r.hasOwnProperty("y") || (r.y = 0), r.hasOwnProperty("rotation") || (r.rotation = 0), "rotation" == t && (e.__needsRot = !0), "guide" == t ? null : n
  7508. };
  7509. e.step = function(t, n, r, i, s) {
  7510. if ("rotation" == n && (t.__rotGlobalS = r, t.__rotGlobalE = i, e.testRotData(t, s)), "guide" != n) return i;
  7511. var o;
  7512. i.hasOwnProperty("path") || (i.path = []);
  7513. n = i.path;
  7514. if (i.hasOwnProperty("end") || (i.end = 1), i.hasOwnProperty("start") || (i.start = r && r.hasOwnProperty("end") && r.path === n ? r.end : 0), i.hasOwnProperty("_segments") && i._length) return i;
  7515. r = n.length;
  7516. if (!(6 <= r && 0 == (r - 2) % 4)) throw "invalid 'path' data, please see documentation for valid paths";
  7517. i._segments = [];
  7518. i._length = 0;
  7519. for (var u = 2; r > u; u += 4) {
  7520. for (var a, f, l = n[u - 2], h = n[u - 1], p = n[u + 0], d = n[u + 1], v = n[u + 2], m = n[u + 3], g = l, y = h, b = 0, w = [], E = 1; 10 >= E; E++) {
  7521. f = E / 10;
  7522. var S = 1 - f;
  7523. a = S * S * l + 2 * S * f * p + f * f * v;
  7524. f = S * S * h + 2 * S * f * d + f * f * m;
  7525. b += w[w.push(Math.sqrt((o = a - g) * o + (o = f - y) * o)) - 1];
  7526. g = a;
  7527. y = f
  7528. }
  7529. i._segments.push(b);
  7530. i._segments.push(w);
  7531. i._length += b
  7532. }
  7533. o = i.orient;
  7534. i.orient = !0;
  7535. n = {};
  7536. return e.calc(i, i.start, n), t.__rotPathS = Number(n.rotation.toFixed(5)), e.calc(i, i.end, n), t.__rotPathE = Number(n.rotation.toFixed(5)), i.orient = !1, e.calc(i, i.end, s), i.orient = o, i.orient ? (t.__guideData = i, e.testRotData(t, s), i) : i
  7537. };
  7538. e.testRotData = function(e, t) {
  7539. if (void 0 === e.__rotGlobalS || void 0 === e.__rotGlobalE) {
  7540. if (e.__needsRot) return;
  7541. e.__rotGlobalS = e.__rotGlobalE = void 0 !== e._curQueueProps.rotation ? e._curQueueProps.rotation : t.rotation = e.target.rotation || 0
  7542. }
  7543. if (void 0 !== e.__guideData) {
  7544. var n = e.__guideData,
  7545. r = e.__rotGlobalE - e.__rotGlobalS,
  7546. i = e.__rotPathE - e.__rotPathS,
  7547. s = r - i;
  7548. if ("auto" == n.orient) 180 < s ? s -= 360 : -180 > s && (s += 360);
  7549. else if ("cw" == n.orient) {
  7550. for (; 0 > s;) s += 360;
  7551. 0 == s && 0 < r && 180 != r && (s += 360)
  7552. } else if ("ccw" == n.orient) {
  7553. for (s = r - (180 < i ? 360 - i : i); 0 < s;) s -= 360;
  7554. 0 == s && 0 > r && -180 != r && (s -= 360)
  7555. }
  7556. n.rotDelta = s;
  7557. n.rotOffS = e.__rotGlobalS - e.__rotPathS;
  7558. e.__rotGlobalS = e.__rotGlobalE = e.__guideData = e.__needsRot = void 0
  7559. }
  7560. };
  7561. e.tween = function(t, n, r, i, s, o, u) {
  7562. s = s.guide;
  7563. if (void 0 == s || s === i.guide) return r;
  7564. if (s.lastRatio != o) {
  7565. switch (e.calc(s, (s.end - s.start) * (u ? s.end : o) + s.start, t.target), s.orient) {
  7566. case "cw":
  7567. case "ccw":
  7568. case "auto":
  7569. t.target.rotation += s.rotOffS + s.rotDelta * o;
  7570. break;
  7571. default:
  7572. t.target.rotation += s.rotOffS
  7573. }
  7574. s.lastRatio = o
  7575. }
  7576. return "rotation" != n || s.orient && "false" != s.orient ? t.target[n] : r
  7577. };
  7578. e.calc = function(t, n, r) {
  7579. void 0 == t._segments && e.validate(t);
  7580. void 0 == r && (r = {
  7581. x: 0,
  7582. y: 0,
  7583. rotation: 0
  7584. });
  7585. var i = t._segments,
  7586. s = t.path,
  7587. o = t._length * n,
  7588. u = i.length - 2;
  7589. for (n = 0; o > i[n] && u > n;) o -= i[n], n += 2;
  7590. for (var i = i[n + 1], a = 0, u = i.length - 1; o > i[a] && u > a;) o -= i[a], a++;
  7591. o = a / ++u + o / (u * i[a]);
  7592. n = 2 * n + 2;
  7593. u = 1 - o;
  7594. return r.x = u * u * s[n - 2] + 2 * u * o * s[n + 0] + o * o * s[n + 2], r.y = u * u * s[n - 1] + 2 * u * o * s[n + 1] + o * o * s[n + 3], t.orient && (r.rotation = 57.2957795 * Math.atan2((s[n + 1] - s[n - 1]) * u + (s[n + 3] - s[n + 1]) * o, (s[n + 0] - s[n - 2]) * u + (s[n + 2] - s[n + 0]) * o)), r
  7595. };
  7596. createjs.MotionGuidePlugin = e
  7597. })();
  7598. this.createjs = this.createjs || {};
  7599. (function() {
  7600. var e = createjs.TweenJS = createjs.TweenJS || {};
  7601. e.version = "0.5.0";
  7602. e.buildDate = "Wed, 25 Sep 2013 17:09:35 GMT"
  7603. })();
  7604. this.createjs = this.createjs || {};
  7605. (function() {
  7606. var e = createjs.SoundJS = createjs.SoundJS || {};
  7607. e.version = "0.5.0";
  7608. e.buildDate = "Wed, 25 Sep 2013 17:09:35 GMT"
  7609. })();
  7610. this.createjs = this.createjs || {};
  7611. (function() {
  7612. var e = function() {},
  7613. t = e.prototype;
  7614. e.initialize = function(e) {
  7615. e.addEventListener = t.addEventListener;
  7616. e.on = t.on;
  7617. e.removeEventListener = e.off = t.removeEventListener;
  7618. e.removeAllEventListeners = t.removeAllEventListeners;
  7619. e.hasEventListener = t.hasEventListener;
  7620. e.dispatchEvent = t.dispatchEvent;
  7621. e._dispatchEvent = t._dispatchEvent
  7622. };
  7623. t._listeners = null;
  7624. t._captureListeners = null;
  7625. t.initialize = function() {};
  7626. t.addEventListener = function(e, t, n) {
  7627. var r;
  7628. r = n ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {};
  7629. var i = r[e];
  7630. return i && this.removeEventListener(e, t, n), i = r[e], i ? i.push(t) : r[e] = [t], t
  7631. };
  7632. t.on = function(e, t, n, r, i, s) {
  7633. return t.handleEvent && (n = n || t, t = t.handleEvent), n = n || this, this.addEventListener(e, function(e) {
  7634. t.call(n, e, i);
  7635. r && e.remove()
  7636. }, s)
  7637. };
  7638. t.removeEventListener = function(e, t, n) {
  7639. if (n = n ? this._captureListeners : this._listeners) {
  7640. var r = n[e];
  7641. if (r)
  7642. for (var i = 0, s = r.length; s > i; i++)
  7643. if (r[i] == t) {
  7644. 1 == s ? delete n[e] : r.splice(i, 1);
  7645. break
  7646. }
  7647. }
  7648. };
  7649. t.off = t.removeEventListener;
  7650. t.removeAllEventListeners = function(e) {
  7651. e ? (this._listeners && delete this._listeners[e], this._captureListeners && delete this._captureListeners[e]) : this._listeners = this._captureListeners = null
  7652. };
  7653. t.dispatchEvent = function(e, t) {
  7654. if ("string" == typeof e) {
  7655. var n = this._listeners;
  7656. if (!n || !n[e]) return !1;
  7657. e = new createjs.Event(e)
  7658. }
  7659. if (e.target = t || this, e.bubbles && this.parent) {
  7660. for (var r = this, n = [r]; r.parent;) n.push(r = r.parent);
  7661. for (var i = n.length, r = i - 1; 0 <= r && !e.propagationStopped; r--) n[r]._dispatchEvent(e, 1 + (0 == r));
  7662. for (r = 1; i > r && !e.propagationStopped; r++) n[r]._dispatchEvent(e, 3)
  7663. } else this._dispatchEvent(e, 2);
  7664. return e.defaultPrevented
  7665. };
  7666. t.hasEventListener = function(e) {
  7667. var t = this._listeners,
  7668. n = this._captureListeners;
  7669. return !!(t && t[e] || n && n[e])
  7670. };
  7671. t.toString = function() {
  7672. return "[EventDispatcher]"
  7673. };
  7674. t._dispatchEvent = function(e, t) {
  7675. var n, r = 1 == t ? this._captureListeners : this._listeners;
  7676. if (e && r && (r = r[e.type]) && (n = r.length)) {
  7677. e.currentTarget = this;
  7678. e.eventPhase = t;
  7679. e.removed = !1;
  7680. for (var r = r.slice(), i = 0; n > i && !e.immediatePropagationStopped; i++) {
  7681. var s = r[i];
  7682. s.handleEvent ? s.handleEvent(e) : s(e);
  7683. e.removed && (this.off(e.type, s, 1 == t), e.removed = !1)
  7684. }
  7685. }
  7686. };
  7687. createjs.EventDispatcher = e
  7688. })();
  7689. this.createjs = this.createjs || {};
  7690. (function() {
  7691. var e = function(e, t, n) {
  7692. this.initialize(e, t, n)
  7693. },
  7694. t = e.prototype;
  7695. t.type = null;
  7696. t.target = null;
  7697. t.currentTarget = null;
  7698. t.eventPhase = 0;
  7699. t.bubbles = !1;
  7700. t.cancelable = !1;
  7701. t.timeStamp = 0;
  7702. t.defaultPrevented = !1;
  7703. t.propagationStopped = !1;
  7704. t.immediatePropagationStopped = !1;
  7705. t.removed = !1;
  7706. t.initialize = function(e, t, n) {
  7707. this.type = e;
  7708. this.bubbles = t;
  7709. this.cancelable = n;
  7710. this.timeStamp = (new Date).getTime()
  7711. };
  7712. t.preventDefault = function() {
  7713. this.defaultPrevented = !0
  7714. };
  7715. t.stopPropagation = function() {
  7716. this.propagationStopped = !0
  7717. };
  7718. t.stopImmediatePropagation = function() {
  7719. this.immediatePropagationStopped = this.propagationStopped = !0
  7720. };
  7721. t.remove = function() {
  7722. this.removed = !0
  7723. };
  7724. t.clone = function() {
  7725. return new e(this.type, this.bubbles, this.cancelable)
  7726. };
  7727. t.toString = function() {
  7728. return "[Event (type=" + this.type + ")]"
  7729. };
  7730. createjs.Event = e
  7731. })();
  7732. this.createjs = this.createjs || {};
  7733. (function() {
  7734. createjs.indexOf = function(e, t) {
  7735. for (var n = 0, r = e.length; r > n; n++)
  7736. if (t === e[n]) return n;
  7737. return -1
  7738. }
  7739. })();
  7740. this.createjs = this.createjs || {};
  7741. (function() {
  7742. createjs.proxy = function(e, t) {
  7743. var n = Array.prototype.slice.call(arguments, 2);
  7744. return function() {
  7745. return e.apply(t, Array.prototype.slice.call(arguments, 0).concat(n))
  7746. }
  7747. }
  7748. })();
  7749. this.createjs = this.createjs || {};
  7750. (function() {
  7751. function e() {
  7752. throw "Sound cannot be instantiated"
  7753. }
  7754. function t(e, t) {
  7755. this.init(e, t)
  7756. }
  7757. function n() {}
  7758. e.DELIMITER = "|";
  7759. e.AUDIO_TIMEOUT = 8e3;
  7760. e.INTERRUPT_ANY = "any";
  7761. e.INTERRUPT_EARLY = "early";
  7762. e.INTERRUPT_LATE = "late";
  7763. e.INTERRUPT_NONE = "none";
  7764. e.PLAY_INITED = "playInited";
  7765. e.PLAY_SUCCEEDED = "playSucceeded";
  7766. e.PLAY_INTERRUPTED = "playInterrupted";
  7767. e.PLAY_FINISHED = "playFinished";
  7768. e.PLAY_FAILED = "playFailed";
  7769. e.SUPPORTED_EXTENSIONS = "mp3 ogg mpeg wav m4a mp4 aiff wma mid".split(" ");
  7770. e.EXTENSION_MAP = {
  7771. m4a: "mp4"
  7772. };
  7773. e.FILE_PATTERN = /^(?:(\w+:)\/{2}(\w+(?:\.\w+)*\/?))?([/.]*?(?:[^?]+)?\/)?((?:[^/?]+)\.(\w+))(?:\?(\S+)?)?$/;
  7774. e.defaultInterruptBehavior = e.INTERRUPT_NONE;
  7775. e.lastId = 0;
  7776. e.activePlugin = null;
  7777. e.pluginsRegistered = !1;
  7778. e.masterVolume = 1;
  7779. e.masterMute = !1;
  7780. e.instances = [];
  7781. e.idHash = {};
  7782. e.y252Hash = {};
  7783. e.defaultSoundInstance = null;
  7784. e.addEventListener = null;
  7785. e.removeEventListener = null;
  7786. e.removeAllEventListeners = null;
  7787. e.dispatchEvent = null;
  7788. e.hasEventListener = null;
  7789. e._listeners = null;
  7790. createjs.EventDispatcher.initialize(e);
  7791. e.sendFileLoadEvent = function(t) {
  7792. if (e.y252Hash[t])
  7793. for (var n = 0, r = e.y252Hash[t].length; r > n; n++) {
  7794. var i = e.y252Hash[t][n];
  7795. if (e.y252Hash[t][n] = !0, e.hasEventListener("fileload")) {
  7796. var s = new createjs.Event("fileload");
  7797. s.src = i.src;
  7798. s.id = i.id;
  7799. s.data = i.data;
  7800. e.dispatchEvent(s)
  7801. }
  7802. }
  7803. };
  7804. e.getPreloadHandlers = function() {
  7805. return {
  7806. callback: createjs.proxy(e.initLoad, e),
  7807. types: ["sound"],
  7808. extensions: e.SUPPORTED_EXTENSIONS
  7809. }
  7810. };
  7811. e.registerPlugin = function(t) {
  7812. return e.pluginsRegistered = !0, null == t ? !1 : t.isSupported() ? (e.activePlugin = new t, !0) : !1
  7813. };
  7814. e.registerPlugins = function(t) {
  7815. for (var n = 0, r = t.length; r > n; n++)
  7816. if (e.registerPlugin(t[n])) return !0;
  7817. return !1
  7818. };
  7819. e.initializeDefaultPlugins = function() {
  7820. return null != e.activePlugin ? !0 : e.pluginsRegistered ? !1 : e.registerPlugins([createjs.WebAudioPlugin, createjs.HTMLAudioPlugin]) ? !0 : !1
  7821. };
  7822. e.isReady = function() {
  7823. return null != e.activePlugin
  7824. };
  7825. e.getCapabilities = function() {
  7826. return null == e.activePlugin ? null : e.activePlugin.capabilities
  7827. };
  7828. e.getCapability = function(t) {
  7829. return null == e.activePlugin ? null : e.activePlugin.capabilities[t]
  7830. };
  7831. e.initLoad = function(t, n, r, i, s) {
  7832. t = e.registerSound(t, r, i, !1, s);
  7833. return null == t ? !1 : t
  7834. };
  7835. e.registerSound = function(n, r, i, s, o) {
  7836. if (!e.initializeDefaultPlugins()) return !1;
  7837. n instanceof Object && (o = r, r = n.id, i = n.data, n = n.src);
  7838. var u = e.parsePath(n, "sound", r, i);
  7839. if (null == u) return !1;
  7840. null != r && (e.idHash[r] = u.src);
  7841. var f = null;
  7842. null != i && (isNaN(i.channels) ? isNaN(i) || (f = parseInt(i)) : f = parseInt(i.channels));
  7843. var l = e.activePlugin.register(u.src, f);
  7844. if (null != l && (null != l.numChannels && (f = l.numChannels), t.create(u.src, f), null != i && isNaN(i) ? i.channels = u.data.channels = f || t.maxPerChannel() : i = u.data = f || t.maxPerChannel(), null != l.tag ? u.tag = l.tag : l.src && (u.src = l.src), null != l.completeHandler && (u.completeHandler = l.completeHandler), l.type && (u.type = l.type)), 0 != s)
  7845. if (e.y252Hash[u.src] || (e.y252Hash[u.src] = []), e.y252Hash[u.src].push({
  7846. src: n,
  7847. id: r,
  7848. data: i
  7849. }), 1 == e.y252Hash[u.src].length) null == o && (o = ""), e.activePlugin.y252(u.src, l, o);
  7850. else if (1 == e.y252Hash[u.src][0]) return !0;
  7851. return u
  7852. };
  7853. e.registerManifest = function(e, t) {
  7854. for (var n = [], r = 0, i = e.length; i > r; r++) n[r] = createjs.Sound.registerSound(e[r].src, e[r].id, e[r].data, e[r].y252, t);
  7855. return n
  7856. };
  7857. e.removeSound = function(n) {
  7858. if (null == e.activePlugin) return !1;
  7859. n instanceof Object && (n = n.src);
  7860. n = e.getSrcById(n);
  7861. n = e.parsePath(n);
  7862. if (null == n) return !1;
  7863. n = n.src;
  7864. for (var r in e.idHash) e.idHash[r] == n && delete e.idHash[r];
  7865. return t.removeSrc(n), delete e.y252Hash[n], e.activePlugin.removeSound(n), !0
  7866. };
  7867. e.removeManifest = function(e) {
  7868. for (var t = [], n = 0, r = e.length; r > n; n++) t[n] = createjs.Sound.removeSound(e[n].src);
  7869. return t
  7870. };
  7871. e.removeAllSounds = function() {
  7872. e.idHash = {};
  7873. e.y252Hash = {};
  7874. t.removeAll();
  7875. e.activePlugin.removeAllSounds()
  7876. };
  7877. e.loadComplete = function(t) {
  7878. var n = e.parsePath(t, "sound");
  7879. return t = n ? e.getSrcById(n.src) : e.getSrcById(t), 1 == e.y252Hash[t][0]
  7880. };
  7881. e.parsePath = function(t, n, r, i) {
  7882. "string" != typeof t && (t = t.toString());
  7883. t = t.split(e.DELIMITER);
  7884. n = {
  7885. type: n || "sound",
  7886. id: r,
  7887. data: i
  7888. };
  7889. r = e.getCapabilities();
  7890. i = 0;
  7891. for (var s = t.length; s > i; i++) {
  7892. var o = t[i],
  7893. u = o.match(e.FILE_PATTERN);
  7894. if (null == u) return !1;
  7895. var a = u[4],
  7896. u = u[5];
  7897. if (r[u] && -1 < createjs.indexOf(e.SUPPORTED_EXTENSIONS, u)) return n.name = a, n.src = o, n.extension = u, n
  7898. }
  7899. return null
  7900. };
  7901. e.play = function(t, n, r, i, s, o, u) {
  7902. t = e.createInstance(t);
  7903. return e.playInstance(t, n, r, i, s, o, u) || t.playFailed(), t
  7904. };
  7905. e.createInstance = function(n) {
  7906. if (!e.initializeDefaultPlugins()) return e.defaultSoundInstance;
  7907. n = e.getSrcById(n);
  7908. n = e.parsePath(n, "sound");
  7909. var r = null;
  7910. return null != n && null != n.src ? (t.create(n.src), r = e.activePlugin.create(n.src)) : r = e.defaultSoundInstance, r.uniqueId = e.lastId++, r
  7911. };
  7912. e.setVolume = function(t) {
  7913. if (null == Number(t)) return !1;
  7914. if (t = Math.max(0, Math.min(1, t)), e.masterVolume = t, !this.activePlugin || !this.activePlugin.setVolume || !this.activePlugin.setVolume(t))
  7915. for (var n = this.instances, r = 0, i = n.length; i > r; r++) n[r].setMasterVolume(t)
  7916. };
  7917. e.getVolume = function() {
  7918. return e.masterVolume
  7919. };
  7920. e.setMute = function(e) {
  7921. if (null == e || void 0 == e) return !1;
  7922. if (this.masterMute = e, !this.activePlugin || !this.activePlugin.setMute || !this.activePlugin.setMute(e))
  7923. for (var t = this.instances, n = 0, r = t.length; r > n; n++) t[n].setMasterMute(e);
  7924. return !0
  7925. };
  7926. e.getMute = function() {
  7927. return this.masterMute
  7928. };
  7929. e.stop = function() {
  7930. for (var e = this.instances, t = e.length; t--;) e[t].stop()
  7931. };
  7932. e.playInstance = function(t, n, r, i, s, o, u) {
  7933. if (n instanceof Object && (r = n.delay, i = n.offset, s = n.loop, o = n.volume, u = n.pan), n = n || e.defaultInterruptBehavior, null == r && (r = 0), null == i && (i = t.getPosition()), null == s && (s = 0), null == o && (o = t.volume), null == u && (u = t.pan), 0 == r) {
  7934. if (!e.beginPlaying(t, n, i, s, o, u)) return !1
  7935. } else r = setTimeout(function() {
  7936. e.beginPlaying(t, n, i, s, o, u)
  7937. }, r), t.delayTimeoutId = r;
  7938. return this.instances.push(t), !0
  7939. };
  7940. e.beginPlaying = function(e, n, r, i, s, o) {
  7941. return t.add(e, n) ? e.beginPlaying(r, i, s, o) ? !0 : (e = createjs.indexOf(this.instances, e), -1 < e && this.instances.splice(e, 1), !1) : !1
  7942. };
  7943. e.getSrcById = function(t) {
  7944. return null == e.idHash || null == e.idHash[t] ? t : e.idHash[t]
  7945. };
  7946. e.playFinished = function(e) {
  7947. t.remove(e);
  7948. e = createjs.indexOf(this.instances, e); - 1 < e && this.instances.splice(e, 1)
  7949. };
  7950. createjs.Sound = e;
  7951. t.channels = {};
  7952. t.create = function(e, n) {
  7953. return null == t.get(e) ? (t.channels[e] = new t(e, n), !0) : !1
  7954. };
  7955. t.removeSrc = function(e) {
  7956. var n = t.get(e);
  7957. return null == n ? !1 : (n.removeAll(), delete t.channels[e], !0)
  7958. };
  7959. t.removeAll = function() {
  7960. for (var e in t.channels) t.channels[e].removeAll();
  7961. t.channels = {}
  7962. };
  7963. t.add = function(e, n) {
  7964. var r = t.get(e.src);
  7965. return null == r ? !1 : r.add(e, n)
  7966. };
  7967. t.remove = function(e) {
  7968. var n = t.get(e.src);
  7969. return null == n ? !1 : (n.remove(e), !0)
  7970. };
  7971. t.maxPerChannel = function() {
  7972. return r.maxDefault
  7973. };
  7974. t.get = function(e) {
  7975. return t.channels[e]
  7976. };
  7977. var r = t.prototype;
  7978. r.src = null;
  7979. r.max = null;
  7980. r.maxDefault = 100;
  7981. r.length = 0;
  7982. r.init = function(e, t) {
  7983. this.src = e;
  7984. this.max = t || this.maxDefault; - 1 == this.max && this.max == this.maxDefault;
  7985. this.instances = []
  7986. };
  7987. r.get = function(e) {
  7988. return this.instances[e]
  7989. };
  7990. r.add = function(e, t) {
  7991. return this.getSlot(t, e) ? (this.instances.push(e), this.length++, !0) : !1
  7992. };
  7993. r.remove = function(e) {
  7994. e = createjs.indexOf(this.instances, e);
  7995. return -1 == e ? !1 : (this.instances.splice(e, 1), this.length--, !0)
  7996. };
  7997. r.removeAll = function() {
  7998. for (var e = this.length - 1; 0 <= e; e--) this.instances[e].stop()
  7999. };
  8000. r.getSlot = function(t) {
  8001. for (var n, r, i = 0, s = this.max; s > i; i++) {
  8002. if (n = this.get(i), null == n) return !0;
  8003. (t != e.INTERRUPT_NONE || n.playState == e.PLAY_FINISHED) && (0 != i ? n.playState == e.PLAY_FINISHED || n.playState == e.PLAY_INTERRUPTED || n.playState == e.PLAY_FAILED ? r = n : (t == e.INTERRUPT_EARLY && n.getPosition() < r.getPosition() || t == e.INTERRUPT_LATE && n.getPosition() > r.getPosition()) && (r = n) : r = n)
  8004. }
  8005. return null != r ? (r.interrupt(), this.remove(r), !0) : !1
  8006. };
  8007. r.toString = function() {
  8008. return "[Sound SoundChannel]"
  8009. };
  8010. e.defaultSoundInstance = new function() {
  8011. this.isDefault = !0;
  8012. this.addEventListener = this.removeEventListener = this.removeAllEventListener = this.dispatchEvent = this.hasEventListener = this._listeners = this.interrupt = this.playFailed = this.pause = this.resume = this.play = this.beginPlaying = this.cleanUp = this.stop = this.setMasterVolume = this.setVolume = this.mute = this.setMute = this.getMute = this.setPan = this.getPosition = this.setPosition = function() {
  8013. return !1
  8014. };
  8015. this.getVolume = this.getPan = this.getDuration = function() {
  8016. return 0
  8017. };
  8018. this.playState = e.PLAY_FAILED;
  8019. this.toString = function() {
  8020. return "[Sound Default Sound Instance]"
  8021. }
  8022. };
  8023. null == createjs.proxy && (createjs.proxy = function() {
  8024. throw "Proxy has been moved to an external file, and must be included separately."
  8025. });
  8026. n.init = function() {
  8027. var e = window.navigator.userAgent;
  8028. n.isFirefox = -1 < e.indexOf("Firefox");
  8029. n.isOpera = null != window.opera;
  8030. n.isChrome = -1 < e.indexOf("Chrome");
  8031. n.isIOS = -1 < e.indexOf("iPod") || -1 < e.indexOf("iPhone") || -1 < e.indexOf("iPad");
  8032. n.isAndroid = -1 < e.indexOf("Android");
  8033. n.isBlackberry = -1 < e.indexOf("Blackberry")
  8034. };
  8035. n.init();
  8036. createjs.Sound.BrowserDetect = n
  8037. })();
  8038. this.createjs = this.createjs || {};
  8039. (function() {
  8040. function e() {
  8041. this.init()
  8042. }
  8043. e.capabilities = null;
  8044. e.isSupported = function() {
  8045. var t = createjs.Sound.BrowserDetect.isIOS || createjs.Sound.BrowserDetect.isAndroid || createjs.Sound.BrowserDetect.isBlackberry;
  8046. return "file:" != location.protocol || t || this.isFileXHRSupported() ? (e.generateCapabilities(), null == e.context ? !1 : !0) : !1
  8047. };
  8048. e.isFileXHRSupported = function() {
  8049. var e = !0,
  8050. t = new XMLHttpRequest;
  8051. try {
  8052. t.open("GET", "fail.fail", !1)
  8053. } catch (n) {
  8054. return e = !1
  8055. }
  8056. t.onerror = function() {
  8057. e = !1
  8058. };
  8059. t.onload = function() {
  8060. e = 404 == this.status || 200 == this.status || 0 == this.status && "" != this.response
  8061. };
  8062. try {
  8063. t.send()
  8064. } catch (r) {
  8065. e = !1
  8066. }
  8067. return e
  8068. };
  8069. e.generateCapabilities = function() {
  8070. if (null == e.capabilities) {
  8071. var t = document.createElement("audio");
  8072. if (null == t.canPlayType) return null;
  8073. if (window.webkitAudioContext) e.context = new webkitAudioContext;
  8074. else {
  8075. if (!window.AudioContext) return null;
  8076. e.context = new AudioContext
  8077. }
  8078. e.compatibilitySetUp();
  8079. e.playEmptySound();
  8080. e.capabilities = {
  8081. panning: !0,
  8082. volume: !0,
  8083. tracks: -1
  8084. };
  8085. for (var n = createjs.Sound.SUPPORTED_EXTENSIONS, r = createjs.Sound.EXTENSION_MAP, i = 0, s = n.length; s > i; i++) {
  8086. var o = n[i],
  8087. u = r[o] || o;
  8088. e.capabilities[o] = "no" != t.canPlayType("audio/" + o) && "" != t.canPlayType("audio/" + o) || "no" != t.canPlayType("audio/" + u) && "" != t.canPlayType("audio/" + u)
  8089. }
  8090. 2 > e.context.destination.numberOfChannels && (e.capabilities.panning = !1);
  8091. e.dynamicsCompressorNode = e.context.createDynamicsCompressor();
  8092. e.dynamicsCompressorNode.connect(e.context.destination);
  8093. e.gainNode = e.context.createGain();
  8094. e.gainNode.connect(e.dynamicsCompressorNode)
  8095. }
  8096. };
  8097. e.compatibilitySetUp = function() {
  8098. if (!e.context.createGain) {
  8099. e.context.createGain = e.context.createGainNode;
  8100. var t = e.context.createBufferSource();
  8101. t.__proto__.start = t.__proto__.noteGrainOn;
  8102. t.__proto__.stop = t.__proto__.noteOff;
  8103. this.panningModel = 0
  8104. }
  8105. };
  8106. e.playEmptySound = function() {
  8107. var e = this.context.createBuffer(1, 1, 22050),
  8108. t = this.context.createBufferSource();
  8109. t.buffer = e;
  8110. t.connect(this.context.destination);
  8111. t.start(0, 0, 0)
  8112. };
  8113. var t = e.prototype;
  8114. t.capabilities = null;
  8115. t.volume = 1;
  8116. t.context = null;
  8117. t.panningModel = "equalpower";
  8118. t.dynamicsCompressorNode = null;
  8119. t.gainNode = null;
  8120. t.arrayBuffers = null;
  8121. t.init = function() {
  8122. this.capabilities = e.capabilities;
  8123. this.arrayBuffers = {};
  8124. this.context = e.context;
  8125. this.gainNode = e.gainNode;
  8126. this.dynamicsCompressorNode = e.dynamicsCompressorNode
  8127. };
  8128. t.register = function(e) {
  8129. this.arrayBuffers[e] = !0;
  8130. return {
  8131. tag: new createjs.WebAudioPlugin.Loader(e, this)
  8132. }
  8133. };
  8134. t.isPreloadStarted = function(e) {
  8135. return null != this.arrayBuffers[e]
  8136. };
  8137. t.isPreloadComplete = function(e) {
  8138. return !(null == this.arrayBuffers[e] || 1 == this.arrayBuffers[e])
  8139. };
  8140. t.removeFromPreload = function(e) {
  8141. delete this.arrayBuffers[e]
  8142. };
  8143. t.removeSound = function(e) {
  8144. delete this.arrayBuffers[e]
  8145. };
  8146. t.removeAllSounds = function() {
  8147. this.arrayBuffers = {}
  8148. };
  8149. t.addPreloadResults = function(e, t) {
  8150. this.arrayBuffers[e] = t
  8151. };
  8152. t.handlePreloadComplete = function() {
  8153. createjs.Sound.sendFileLoadEvent(this.src)
  8154. };
  8155. t.y252 = function(e, t, n) {
  8156. this.arrayBuffers[e] = !0;
  8157. e = new createjs.WebAudioPlugin.Loader(e, this);
  8158. e.onload = this.handlePreloadComplete;
  8159. null != n && (e.src = n + e.src);
  8160. e.load()
  8161. };
  8162. t.create = function(e) {
  8163. return this.isPreloadStarted(e) || this.y252(e), new createjs.WebAudioPlugin.SoundInstance(e, this)
  8164. };
  8165. t.setVolume = function(e) {
  8166. return this.volume = e, this.updateVolume(), !0
  8167. };
  8168. t.updateVolume = function() {
  8169. var e = createjs.Sound.masterMute ? 0 : this.volume;
  8170. e != this.gainNode.gain.value && (this.gainNode.gain.value = e)
  8171. };
  8172. t.getVolume = function() {
  8173. return this.volume
  8174. };
  8175. t.setMute = function() {
  8176. return this.updateVolume(), !0
  8177. };
  8178. t.toString = function() {
  8179. return "[WebAudioPlugin]"
  8180. };
  8181. createjs.WebAudioPlugin = e
  8182. })();
  8183. (function() {
  8184. function e(e, t) {
  8185. this.init(e, t)
  8186. }
  8187. var t = e.prototype;
  8188. t.src = null;
  8189. t.uniqueId = -1;
  8190. t.playState = null;
  8191. t.owner = null;
  8192. t.offset = 0;
  8193. t.delay = 0;
  8194. t._volume = 1;
  8195. Object.defineProperty(t, "volume", {
  8196. get: function() {
  8197. return this._volume
  8198. },
  8199. set: function(e) {
  8200. return null == Number(e) ? !1 : (e = Math.max(0, Math.min(1, e)), this._volume = e, this.updateVolume(), void 0)
  8201. }
  8202. });
  8203. t._pan = 0;
  8204. Object.defineProperty(t, "pan", {
  8205. get: function() {
  8206. return this._pan
  8207. },
  8208. set: function(e) {
  8209. return this.owner.capabilities.panning && null != Number(e) ? (e = Math.max(-1, Math.min(1, e)), this._pan = e, this.panNode.setPosition(e, 0, -.5), void 0) : !1
  8210. }
  8211. });
  8212. t.duration = 0;
  8213. t.remainingLoops = 0;
  8214. t.delayTimeoutId = null;
  8215. t.soundCompleteTimeout = null;
  8216. t.panNode = null;
  8217. t.gainNode = null;
  8218. t.sourceNode = null;
  8219. t.sourceNodeNext = null;
  8220. t.muted = !1;
  8221. t.paused = !1;
  8222. t.startTime = 0;
  8223. t.addEventListener = null;
  8224. t.removeEventListener = null;
  8225. t.removeAllEventListeners = null;
  8226. t.dispatchEvent = null;
  8227. t.hasEventListener = null;
  8228. t._listeners = null;
  8229. t.endedHandler = null;
  8230. t.readyHandler = null;
  8231. t.stalledHandler = null;
  8232. t.sendEvent = function(e) {
  8233. e = new createjs.Event(e);
  8234. this.dispatchEvent(e)
  8235. };
  8236. t.init = function(e, t) {
  8237. this.owner = t;
  8238. this.src = e;
  8239. this.panNode = this.owner.context.createPanner();
  8240. this.panNode.panningModel = this.owner.panningModel;
  8241. this.gainNode = this.owner.context.createGain();
  8242. this.gainNode.connect(this.panNode);
  8243. this.owner.isPreloadComplete(this.src) && (this.duration = 1e3 * this.owner.arrayBuffers[this.src].duration);
  8244. this.endedHandler = createjs.proxy(this.handleSoundComplete, this);
  8245. this.readyHandler = createjs.proxy(this.handleSoundReady, this);
  8246. this.stalledHandler = createjs.proxy(this.handleSoundStalled, this)
  8247. };
  8248. t.cleanUp = function() {
  8249. this.sourceNode && this.sourceNode.playbackState != this.sourceNode.UNSCHEDULED_STATE && (this.sourceNode = this.cleanUpAudioNode(this.sourceNode), this.sourceNodeNext = this.cleanUpAudioNode(this.sourceNodeNext));
  8250. 0 != this.panNode.numberOfOutputs && this.panNode.disconnect(0);
  8251. clearTimeout(this.delayTimeoutId);
  8252. clearTimeout(this.soundCompleteTimeout);
  8253. this.startTime = 0;
  8254. null != window.createjs && createjs.Sound.playFinished(this)
  8255. };
  8256. t.cleanUpAudioNode = function(e) {
  8257. return e && (e.stop(0), e.disconnect(this.gainNode), e = null), e
  8258. };
  8259. t.interrupt = function() {
  8260. this.playState = createjs.Sound.PLAY_INTERRUPTED;
  8261. this.cleanUp();
  8262. this.paused = !1;
  8263. this.sendEvent("interrupted")
  8264. };
  8265. t.handleSoundStalled = function() {
  8266. this.sendEvent("failed")
  8267. };
  8268. t.handleSoundReady = function() {
  8269. if (null != window.createjs) {
  8270. if (1e3 * this.offset > this.getDuration()) return this.playFailed(), void 0;
  8271. 0 > this.offset && (this.offset = 0);
  8272. this.playState = createjs.Sound.PLAY_SUCCEEDED;
  8273. this.paused = !1;
  8274. this.panNode.connect(this.owner.gainNode);
  8275. var e = this.owner.arrayBuffers[this.src].duration;
  8276. this.sourceNode = this.createAndPlayAudioNode(this.owner.context.currentTime - e, this.offset);
  8277. this.duration = 1e3 * e;
  8278. this.startTime = this.sourceNode.startTime - this.offset;
  8279. this.soundCompleteTimeout = setTimeout(this.endedHandler, 1e3 * (e - this.offset));
  8280. 0 != this.remainingLoops && (this.sourceNodeNext = this.createAndPlayAudioNode(this.startTime, 0))
  8281. }
  8282. };
  8283. t.createAndPlayAudioNode = function(e, t) {
  8284. var n = this.owner.context.createBufferSource();
  8285. return n.buffer = this.owner.arrayBuffers[this.src], n.connect(this.gainNode), this.owner.context.currentTime, n.startTime = e + n.buffer.duration, n.start(n.startTime, t, n.buffer.duration - t), n
  8286. };
  8287. t.play = function(e, t, n, r, i, s) {
  8288. this.cleanUp();
  8289. createjs.Sound.playInstance(this, e, t, n, r, i, s)
  8290. };
  8291. t.beginPlaying = function(e, t, n, r) {
  8292. return null != window.createjs && this.src ? (this.offset = e / 1e3, this.remainingLoops = t, this.volume = n, this.pan = r, this.owner.isPreloadComplete(this.src) ? (this.handleSoundReady(null), this.sendEvent("succeeded"), 1) : (this.playFailed(), void 0)) : void 0
  8293. };
  8294. t.pause = function() {
  8295. return this.paused || this.playState != createjs.Sound.PLAY_SUCCEEDED ? !1 : (this.paused = !0, this.offset = this.owner.context.currentTime - this.startTime, this.cleanUpAudioNode(this.sourceNode), this.cleanUpAudioNode(this.sourceNodeNext), 0 != this.panNode.numberOfOutputs && this.panNode.disconnect(), clearTimeout(this.delayTimeoutId), clearTimeout(this.soundCompleteTimeout), !0)
  8296. };
  8297. t.resume = function() {
  8298. return this.paused ? (this.handleSoundReady(null), !0) : !1
  8299. };
  8300. t.stop = function() {
  8301. return this.playState = createjs.Sound.PLAY_FINISHED, this.cleanUp(), this.offset = 0, !0
  8302. };
  8303. t.setVolume = function(e) {
  8304. return this.volume = e, !0
  8305. };
  8306. t.updateVolume = function() {
  8307. var e = this.muted ? 0 : this._volume;
  8308. return e != this.gainNode.gain.value ? (this.gainNode.gain.value = e, !0) : !1
  8309. };
  8310. t.getVolume = function() {
  8311. return this.volume
  8312. };
  8313. t.setMute = function(e) {
  8314. return null == e || void 0 == e ? !1 : (this.muted = e, this.updateVolume(), !0)
  8315. };
  8316. t.getMute = function() {
  8317. return this.muted
  8318. };
  8319. t.setPan = function(e) {
  8320. return this.pan = e, this.pan != e ? !1 : void 0
  8321. };
  8322. t.getPan = function() {
  8323. return this.pan
  8324. };
  8325. t.getPosition = function() {
  8326. return 1e3 * (this.paused || null == this.sourceNode ? this.offset : this.owner.context.currentTime - this.startTime)
  8327. };
  8328. t.setPosition = function(e) {
  8329. return this.offset = e / 1e3, this.sourceNode && this.sourceNode.playbackState != this.sourceNode.UNSCHEDULED_STATE && (this.cleanUpAudioNode(this.sourceNode), this.cleanUpAudioNode(this.sourceNodeNext), clearTimeout(this.soundCompleteTimeout)), this.paused || this.playState != createjs.Sound.PLAY_SUCCEEDED || this.handleSoundReady(null), !0
  8330. };
  8331. t.getDuration = function() {
  8332. return this.duration
  8333. };
  8334. t.handleSoundComplete = function() {
  8335. return this.offset = 0, 0 != this.remainingLoops ? (this.remainingLoops--, this.sourceNodeNext ? (this.cleanUpAudioNode(this.sourceNode), this.sourceNode = this.sourceNodeNext, this.startTime = this.sourceNode.startTime, this.sourceNodeNext = this.createAndPlayAudioNode(this.startTime, 0), this.soundCompleteTimeout = setTimeout(this.endedHandler, this.duration)) : this.handleSoundReady(null), this.sendEvent("loop"), void 0) : (null != window.createjs && (this.playState = createjs.Sound.PLAY_FINISHED, this.cleanUp(), this.sendEvent("complete")), void 0)
  8336. };
  8337. t.playFailed = function() {
  8338. null != window.createjs && (this.playState = createjs.Sound.PLAY_FAILED, this.cleanUp(), this.sendEvent("failed"))
  8339. };
  8340. t.toString = function() {
  8341. return "[WebAudioPlugin SoundInstance]"
  8342. };
  8343. createjs.EventDispatcher.initialize(e.prototype);
  8344. createjs.WebAudioPlugin.SoundInstance = e
  8345. })();
  8346. (function() {
  8347. function e(e, t) {
  8348. this.init(e, t)
  8349. }
  8350. var t = e.prototype;
  8351. t.request = null;
  8352. t.owner = null;
  8353. t.progress = -1;
  8354. t.src = null;
  8355. t.originalSrc = null;
  8356. t.result = null;
  8357. t.onload = null;
  8358. t.onprogress = null;
  8359. t.onError = null;
  8360. t.init = function(e, t) {
  8361. this.originalSrc = this.src = e;
  8362. this.owner = t
  8363. };
  8364. t.load = function(e) {
  8365. null != e && (this.src = e);
  8366. this.request = new XMLHttpRequest;
  8367. this.request.open("GET", this.src, !0);
  8368. this.request.responseType = "arraybuffer";
  8369. this.request.onload = createjs.proxy(this.handleLoad, this);
  8370. this.request.onError = createjs.proxy(this.handleError, this);
  8371. this.request.onprogress = createjs.proxy(this.handleProgress, this);
  8372. this.request.send()
  8373. };
  8374. t.handleProgress = function(e, t) {
  8375. this.progress = e / t;
  8376. null != this.onprogress && this.onprogress({
  8377. loaded: e,
  8378. total: t,
  8379. progress: this.progress
  8380. })
  8381. };
  8382. t.handleLoad = function() {
  8383. this.owner.context.decodeAudioData(this.request.response, createjs.proxy(this.handleAudioDecoded, this), createjs.proxy(this.handleError, this))
  8384. };
  8385. t.handleAudioDecoded = function(e) {
  8386. this.progress = 1;
  8387. this.result = e;
  8388. this.src = this.originalSrc;
  8389. this.owner.addPreloadResults(this.src, this.result);
  8390. this.onload && this.onload()
  8391. };
  8392. t.handleError = function(e) {
  8393. this.owner.removeSound(this.src);
  8394. this.onerror && this.onerror(e)
  8395. };
  8396. t.toString = function() {
  8397. return "[WebAudioPlugin Loader]"
  8398. };
  8399. createjs.WebAudioPlugin.Loader = e
  8400. })();
  8401. this.createjs = this.createjs || {};
  8402. (function() {
  8403. function e() {
  8404. this.init()
  8405. }
  8406. e.MAX_INSTANCES = 30;
  8407. e.capabilities = null;
  8408. e.AUDIO_READY = "canplaythrough";
  8409. e.AUDIO_ENDED = "ended";
  8410. e.AUDIO_SEEKED = "seeked";
  8411. e.AUDIO_ERROR = "error";
  8412. e.AUDIO_STALLED = "stalled";
  8413. e.enableIOS = !1;
  8414. e.isSupported = function() {
  8415. if (createjs.Sound.BrowserDetect.isIOS && !e.enableIOS) return !1;
  8416. e.generateCapabilities();
  8417. return null == e.tag || null == e.capabilities ? !1 : !0
  8418. };
  8419. e.generateCapabilities = function() {
  8420. if (null == e.capabilities) {
  8421. var t = e.tag = document.createElement("audio");
  8422. if (null == t.canPlayType) return null;
  8423. e.capabilities = {
  8424. panning: !0,
  8425. volume: !0,
  8426. tracks: -1
  8427. };
  8428. for (var n = createjs.Sound.SUPPORTED_EXTENSIONS, r = createjs.Sound.EXTENSION_MAP, i = 0, s = n.length; s > i; i++) {
  8429. var o = n[i],
  8430. u = r[o] || o;
  8431. e.capabilities[o] = "no" != t.canPlayType("audio/" + o) && "" != t.canPlayType("audio/" + o) || "no" != t.canPlayType("audio/" + u) && "" != t.canPlayType("audio/" + u)
  8432. }
  8433. }
  8434. };
  8435. var t = e.prototype;
  8436. t.capabilities = null;
  8437. t.audioSources = null;
  8438. t.defaultNumChannels = 2;
  8439. t.loadedHandler = null;
  8440. t.init = function() {
  8441. this.capabilities = e.capabilities;
  8442. this.audioSources = {}
  8443. };
  8444. t.register = function(e, t) {
  8445. this.audioSources[e] = !0;
  8446. for (var n = createjs.HTMLAudioPlugin.TagPool.get(e), r = null, i = t || this.defaultNumChannels, s = 0; i > s; s++) r = this.createTag(e), n.add(r);
  8447. if (r.id = e, this.loadedHandler = createjs.proxy(this.handleTagLoad, this), r.addEventListener && r.addEventListener("canplaythrough", this.loadedHandler), null == r.onreadyy4change) r.onreadyy4change = this.loadedHandler;
  8448. else {
  8449. var o = r.onreadyy4change;
  8450. r.onreadyy4change = function() {
  8451. o();
  8452. this.loadedHandler()
  8453. }
  8454. }
  8455. return {
  8456. tag: r,
  8457. numChannels: i
  8458. }
  8459. };
  8460. t.handleTagLoad = function(e) {
  8461. e.target.removeEventListener && e.target.removeEventListener("canplaythrough", this.loadedHandler);
  8462. e.target.onreadyy4change = null;
  8463. e.target.src != e.target.id && createjs.HTMLAudioPlugin.TagPool.checkSrc(e.target.id)
  8464. };
  8465. t.createTag = function(e) {
  8466. var t = document.createElement("audio");
  8467. return t.autoplay = !1, t.y252 = "none", t.src = e, t
  8468. };
  8469. t.removeSound = function(e) {
  8470. delete this.audioSources[e];
  8471. createjs.HTMLAudioPlugin.TagPool.remove(e)
  8472. };
  8473. t.removeAllSounds = function() {
  8474. this.audioSources = {};
  8475. createjs.HTMLAudioPlugin.TagPool.removeAll()
  8476. };
  8477. t.create = function(e) {
  8478. if (!this.isPreloadStarted(e)) {
  8479. var t = createjs.HTMLAudioPlugin.TagPool.get(e),
  8480. n = this.createTag(e);
  8481. n.id = e;
  8482. t.add(n);
  8483. this.y252(e, {
  8484. tag: n
  8485. })
  8486. }
  8487. return new createjs.HTMLAudioPlugin.SoundInstance(e, this)
  8488. };
  8489. t.isPreloadStarted = function(e) {
  8490. return null != this.audioSources[e]
  8491. };
  8492. t.y252 = function(e, t, n) {
  8493. this.audioSources[e] = !0;
  8494. null != n && (t.tag.src = n + e);
  8495. new createjs.HTMLAudioPlugin.Loader(e, t.tag)
  8496. };
  8497. t.toString = function() {
  8498. return "[HTMLAudioPlugin]"
  8499. };
  8500. createjs.HTMLAudioPlugin = e
  8501. })();
  8502. (function() {
  8503. function e(e, t) {
  8504. this.init(e, t)
  8505. }
  8506. var t = e.prototype;
  8507. t.src = null;
  8508. t.uniqueId = -1;
  8509. t.playState = null;
  8510. t.owner = null;
  8511. t.loaded = !1;
  8512. t.offset = 0;
  8513. t.delay = 0;
  8514. t._volume = 1;
  8515. Object.defineProperty(t, "volume", {
  8516. get: function() {
  8517. return this._volume
  8518. },
  8519. set: function(e) {
  8520. null != Number(e) && (e = Math.max(0, Math.min(1, e)), this._volume = e, this.updateVolume())
  8521. }
  8522. });
  8523. t.pan = 0;
  8524. t.duration = 0;
  8525. t.remainingLoops = 0;
  8526. t.delayTimeoutId = null;
  8527. t.tag = null;
  8528. t.muted = !1;
  8529. t.paused = !1;
  8530. t.addEventListener = null;
  8531. t.removeEventListener = null;
  8532. t.removeAllEventListeners = null;
  8533. t.dispatchEvent = null;
  8534. t.hasEventListener = null;
  8535. t._listeners = null;
  8536. t.endedHandler = null;
  8537. t.readyHandler = null;
  8538. t.stalledHandler = null;
  8539. t.loopHandler = null;
  8540. t.init = function(e, t) {
  8541. this.src = e;
  8542. this.owner = t;
  8543. this.endedHandler = createjs.proxy(this.handleSoundComplete, this);
  8544. this.readyHandler = createjs.proxy(this.handleSoundReady, this);
  8545. this.stalledHandler = createjs.proxy(this.handleSoundStalled, this);
  8546. this.loopHandler = createjs.proxy(this.handleSoundLoop, this)
  8547. };
  8548. t.sendEvent = function(e) {
  8549. e = new createjs.Event(e);
  8550. this.dispatchEvent(e)
  8551. };
  8552. t.cleanUp = function() {
  8553. var e = this.tag;
  8554. if (null != e) {
  8555. e.pause();
  8556. e.removeEventListener(createjs.HTMLAudioPlugin.AUDIO_ENDED, this.endedHandler, !1);
  8557. e.removeEventListener(createjs.HTMLAudioPlugin.AUDIO_READY, this.readyHandler, !1);
  8558. e.removeEventListener(createjs.HTMLAudioPlugin.AUDIO_SEEKED, this.loopHandler, !1);
  8559. try {
  8560. e.currentTime = 0
  8561. } catch (t) {}
  8562. createjs.HTMLAudioPlugin.TagPool.setInstance(this.src, e);
  8563. this.tag = null
  8564. }
  8565. clearTimeout(this.delayTimeoutId);
  8566. null != window.createjs && createjs.Sound.playFinished(this)
  8567. };
  8568. t.interrupt = function() {
  8569. null != this.tag && (this.playState = createjs.Sound.PLAY_INTERRUPTED, this.cleanUp(), this.paused = !1, this.sendEvent("interrupted"))
  8570. };
  8571. t.play = function(e, t, n, r, i, s) {
  8572. this.cleanUp();
  8573. createjs.Sound.playInstance(this, e, t, n, r, i, s)
  8574. };
  8575. t.beginPlaying = function(e, t, n, r) {
  8576. if (null == window.createjs) return -1;
  8577. var i = this.tag = createjs.HTMLAudioPlugin.TagPool.getInstance(this.src);
  8578. return null == i ? (this.playFailed(), -1) : (i.addEventListener(createjs.HTMLAudioPlugin.AUDIO_ENDED, this.endedHandler, !1), this.offset = e, this.volume = n, this.pan = r, this.updateVolume(), this.remainingLoops = t, 4 !== i.readyState ? (i.addEventListener(createjs.HTMLAudioPlugin.AUDIO_READY, this.readyHandler, !1), i.addEventListener(createjs.HTMLAudioPlugin.AUDIO_STALLED, this.stalledHandler, !1), i.y252 = "auto", i.load()) : this.handleSoundReady(null), this.sendEvent("succeeded"), 1)
  8579. };
  8580. t.handleSoundStalled = function() {
  8581. this.cleanUp();
  8582. this.sendEvent("failed")
  8583. };
  8584. t.handleSoundReady = function() {
  8585. if (null != window.createjs) {
  8586. if (this.duration = 1e3 * this.tag.duration, this.playState = createjs.Sound.PLAY_SUCCEEDED, this.paused = !1, this.tag.removeEventListener(createjs.HTMLAudioPlugin.AUDIO_READY, this.readyHandler, !1), this.offset >= this.getDuration()) return this.playFailed(), void 0;
  8587. 0 < this.offset && (this.tag.currentTime = .001 * this.offset); - 1 == this.remainingLoops && (this.tag.loop = !0);
  8588. 0 != this.remainingLoops && (this.tag.addEventListener(createjs.HTMLAudioPlugin.AUDIO_SEEKED, this.loopHandler, !1), this.tag.loop = !0);
  8589. this.tag.play()
  8590. }
  8591. };
  8592. t.pause = function() {
  8593. return this.paused || this.playState != createjs.Sound.PLAY_SUCCEEDED || null == this.tag ? !1 : (this.paused = !0, this.tag.pause(), clearTimeout(this.delayTimeoutId), !0)
  8594. };
  8595. t.resume = function() {
  8596. return this.paused && null != this.tag ? (this.paused = !1, this.tag.play(), !0) : !1
  8597. };
  8598. t.stop = function() {
  8599. return this.offset = 0, this.pause(), this.playState = createjs.Sound.PLAY_FINISHED, this.cleanUp(), !0
  8600. };
  8601. t.setMasterVolume = function() {
  8602. return this.updateVolume(), !0
  8603. };
  8604. t.setVolume = function(e) {
  8605. return this.volume = e, !0
  8606. };
  8607. t.updateVolume = function() {
  8608. if (null != this.tag) {
  8609. var e = this.muted || createjs.Sound.masterMute ? 0 : this._volume * createjs.Sound.masterVolume;
  8610. return e != this.tag.volume && (this.tag.volume = e), !0
  8611. }
  8612. return !1
  8613. };
  8614. t.getVolume = function() {
  8615. return this.volume
  8616. };
  8617. t.setMasterMute = function() {
  8618. return this.updateVolume(), !0
  8619. };
  8620. t.setMute = function(e) {
  8621. return null == e || void 0 == e ? !1 : (this.muted = e, this.updateVolume(), !0)
  8622. };
  8623. t.getMute = function() {
  8624. return this.muted
  8625. };
  8626. t.setPan = function() {
  8627. return !1
  8628. };
  8629. t.getPan = function() {
  8630. return 0
  8631. };
  8632. t.getPosition = function() {
  8633. return null == this.tag ? this.offset : 1e3 * this.tag.currentTime
  8634. };
  8635. t.setPosition = function(e) {
  8636. if (null == this.tag) this.offset = e;
  8637. else {
  8638. this.tag.removeEventListener(createjs.HTMLAudioPlugin.AUDIO_SEEKED, this.loopHandler, !1);
  8639. try {
  8640. this.tag.currentTime = .001 * e
  8641. } catch (t) {
  8642. return !1
  8643. }
  8644. this.tag.addEventListener(createjs.HTMLAudioPlugin.AUDIO_SEEKED, this.loopHandler, !1)
  8645. }
  8646. return !0
  8647. };
  8648. t.getDuration = function() {
  8649. return this.duration
  8650. };
  8651. t.handleSoundComplete = function() {
  8652. this.offset = 0;
  8653. null != window.createjs && (this.playState = createjs.Sound.PLAY_FINISHED, this.cleanUp(), this.sendEvent("complete"))
  8654. };
  8655. t.handleSoundLoop = function() {
  8656. this.offset = 0;
  8657. this.remainingLoops--;
  8658. 0 == this.remainingLoops && (this.tag.loop = !1, this.tag.removeEventListener(createjs.HTMLAudioPlugin.AUDIO_SEEKED, this.loopHandler, !1));
  8659. this.sendEvent("loop")
  8660. };
  8661. t.playFailed = function() {
  8662. null != window.createjs && (this.playState = createjs.Sound.PLAY_FAILED, this.cleanUp(), this.sendEvent("failed"))
  8663. };
  8664. t.toString = function() {
  8665. return "[HTMLAudioPlugin SoundInstance]"
  8666. };
  8667. createjs.EventDispatcher.initialize(e.prototype);
  8668. createjs.HTMLAudioPlugin.SoundInstance = e
  8669. })();
  8670. (function() {
  8671. function e(e, t) {
  8672. this.init(e, t)
  8673. }
  8674. var t = e.prototype;
  8675. t.src = null;
  8676. t.tag = null;
  8677. t.y252Timer = null;
  8678. t.loadedHandler = null;
  8679. t.init = function(e, t) {
  8680. if (this.src = e, this.tag = t, this.y252Timer = setInterval(createjs.proxy(this.y252Tick, this), 200), this.loadedHandler = createjs.proxy(this.sendLoadedEvent, this), this.tag.addEventListener && this.tag.addEventListener("canplaythrough", this.loadedHandler), null == this.tag.onreadyy4change) this.tag.onreadyy4change = createjs.proxy(this.sendLoadedEvent, this);
  8681. else {
  8682. var n = this.tag.onreadyy4change;
  8683. this.tag.onreadyy4change = function() {
  8684. n();
  8685. this.tag.onreadyy4change = createjs.proxy(this.sendLoadedEvent, this)
  8686. }
  8687. }
  8688. this.tag.y252 = "auto";
  8689. this.tag.load()
  8690. };
  8691. t.y252Tick = function() {
  8692. var e = this.tag.buffered,
  8693. t = this.tag.duration;
  8694. 0 < e.length && e.end(0) >= t - 1 && this.handleTagLoaded()
  8695. };
  8696. t.handleTagLoaded = function() {
  8697. clearInterval(this.y252Timer)
  8698. };
  8699. t.sendLoadedEvent = function() {
  8700. this.tag.removeEventListener && this.tag.removeEventListener("canplaythrough", this.loadedHandler);
  8701. this.tag.onreadyy4change = null;
  8702. createjs.Sound.sendFileLoadEvent(this.src)
  8703. };
  8704. t.toString = function() {
  8705. return "[HTMLAudioPlugin Loader]"
  8706. };
  8707. createjs.HTMLAudioPlugin.Loader = e
  8708. })();
  8709. (function() {
  8710. function e(e) {
  8711. this.init(e)
  8712. }
  8713. e.tags = {};
  8714. e.get = function(t) {
  8715. var n = e.tags[t];
  8716. return null == n && (n = e.tags[t] = new e(t)), n
  8717. };
  8718. e.remove = function(t) {
  8719. var n = e.tags[t];
  8720. return null == n ? !1 : (n.removeAll(), delete e.tags[t], !0)
  8721. };
  8722. e.removeAll = function() {
  8723. for (var t in e.tags) e.tags[t].removeAll();
  8724. e.tags = {}
  8725. };
  8726. e.getInstance = function(t) {
  8727. t = e.tags[t];
  8728. return null == t ? null : t.get()
  8729. };
  8730. e.setInstance = function(t, n) {
  8731. var r = e.tags[t];
  8732. return null == r ? null : r.set(n)
  8733. };
  8734. e.checkSrc = function(t) {
  8735. t = e.tags[t];
  8736. return null == t ? null : (t.checkSrcChange(), void 0)
  8737. };
  8738. var t = e.prototype;
  8739. t.src = null;
  8740. t.length = 0;
  8741. t.available = 0;
  8742. t.tags = null;
  8743. t.init = function(e) {
  8744. this.src = e;
  8745. this.tags = []
  8746. };
  8747. t.add = function(e) {
  8748. this.tags.push(e);
  8749. this.length++;
  8750. this.available++
  8751. };
  8752. t.removeAll = function() {
  8753. for (; this.length--;) delete this.tags[this.length];
  8754. this.src = null;
  8755. this.tags.length = 0
  8756. };
  8757. t.get = function() {
  8758. if (0 == this.tags.length) return null;
  8759. this.available = this.tags.length;
  8760. var e = this.tags.pop();
  8761. return null == e.parentNode && document.body.appendChild(e), e
  8762. };
  8763. t.set = function(e) {
  8764. -1 == createjs.indexOf(this.tags, e) && this.tags.push(e);
  8765. this.available = this.tags.length
  8766. };
  8767. t.checkSrcChange = function() {
  8768. for (var e = this.tags.length - 1, t = this.tags[e].src; e--;) this.tags[e].src = t
  8769. };
  8770. t.toString = function() {
  8771. return "[HTMLAudioPlugin TagPool]"
  8772. };
  8773. createjs.HTMLAudioPlugin.TagPool = e
  8774. })();
  8775. var REVERSE_y287 = "REV";
  8776. var y328, y139 = 0,
  8777. y502 = 0,
  8778. y83 = 0,
  8779. y108 = 0,
  8780. y280 = 0,
  8781. y73 = 1,
  8782. y444 = 2,
  8783. y93 = 3,
  8784. y232 = 4,
  8785. y496 = 5,
  8786. y78 = 1,
  8787. sponsorLogoFrame = "spelelogo";
  8788. var isAdPauseSoundMuted = !1;
  8789. (function(e, t) {
  8790. function n() {
  8791. function e() {
  8792. var n;
  8793. n = t("amd");
  8794. n.fork = e;
  8795. return n
  8796. }
  8797. return e()
  8798. }
  8799. function r() {
  8800. function n() {
  8801. var r, i = [],
  8802. s = {};
  8803. r = t("global");
  8804. r.fork = n;
  8805. r.noConflict = function() {
  8806. var t, n;
  8807. n = Array.prototype.slice.apply(arguments);
  8808. for (t = 0; t < i.length; t += 1) "undefined" === typeof s[i[t]] ? delete e[i[t]] : e[i[t]] = s[i[t]];
  8809. s = {};
  8810. for (t = 0; t < n.length; t += 1) {
  8811. if ("string" !== typeof n[t]) throw Error("Cannot replace namespaces. All new namespaces must be strings.");
  8812. s[n[t]] = e[n[t]];
  8813. e[n[t]] = r
  8814. }
  8815. return i = n
  8816. };
  8817. return r
  8818. }
  8819. n().noConflict("y512", "k")
  8820. }[].indexOf || (Array.prototype.indexOf = function(e, t, n) {
  8821. n = this.length;
  8822. for (t = (n + ~~t) % n; t < n && (!(t in this) || this[t] !== e); t++);
  8823. return t ^ n ? t : -1
  8824. });
  8825. "function" === typeof define && define.amd ? define(n) : r()
  8826. })(this, function(e) {
  8827. function t() {
  8828. window.addEventListener ? (document.addEventListener("keydown", r, !1), document.addEventListener("keyup", i, !1), window.addEventListener("blur", n, !1), window.addEventListener("webkitfullscreenchange", n, !1), window.addEventListener("mozfullscreenchange", n, !1)) : window.attachEvent && (document.attachEvent("onkeydown", r), document.attachEvent("onkeyup", i), window.attachEvent("onblur", n))
  8829. }
  8830. function n(e) {
  8831. x = [];
  8832. u();
  8833. a(e)
  8834. }
  8835. function r(e) {
  8836. var t, n;
  8837. t = s(e.keyCode);
  8838. if (!(1 > t.length)) {
  8839. for (n = 0; n < t.length; n += 1) v(t[n]);
  8840. for (t = 0; t < S.length; t += 1)
  8841. if (n = h(S[t][0]), -1 === C.indexOf(S[t]) && l(n))
  8842. for (C.push(S[t]), n = 0; n < S[t][1].length; n += 1) v(S[t][1][n]);
  8843. var r, i, o, u, a, f, p = [];
  8844. n = [].concat(x);
  8845. for (t = 0; t < T.length; t += 1) r = c(T[t].keyCombo).length, p[r] || (p[r] = []), p[r].push(T[t]);
  8846. for (r = p.length - 1; 0 <= r; r -= 1)
  8847. if (p[r])
  8848. for (t = 0; t < p[r].length; t += 1) {
  8849. i = p[r][t];
  8850. o = c(i.keyCombo);
  8851. f = !0;
  8852. for (a = 0; a < o.length; a += 1)
  8853. if (-1 === n.indexOf(o[a])) {
  8854. f = !1;
  8855. break
  8856. }
  8857. if (f && l(i.keyCombo)) {
  8858. N.push(i);
  8859. for (a = 0; a < o.length; a += 1) f = n.indexOf(o[a]), -1 < f && (n.splice(f, 1), a -= 1);
  8860. for (o = 0; o < i.keyDownCallback.length; o += 1) !1 === i.keyDownCallback[o](e, d(), i.keyCombo) && (u = !0);
  8861. !0 === u && (e.preventDefault(), e.stopPropagation())
  8862. }
  8863. }
  8864. }
  8865. }
  8866. function i(e) {
  8867. var t, n;
  8868. t = s(e.keyCode);
  8869. if (!(1 > t.length)) {
  8870. for (n = 0; n < t.length; n += 1) m(t[n]);
  8871. u();
  8872. a(e)
  8873. }
  8874. }
  8875. function s(e) {
  8876. return E[e] || []
  8877. }
  8878. function o(e) {
  8879. for (var t in E)
  8880. if (E.hasOwnProperty(t) && -1 < E[t].indexOf(e)) return t;
  8881. return !1
  8882. }
  8883. function u() {
  8884. var e, t;
  8885. for (e = 0; e < C.length; e += 1)
  8886. if (t = h(C[e][0]), !1 === l(t)) {
  8887. for (t = 0; t < C[e][1].length; t += 1) m(C[e][1][t]);
  8888. C.splice(e, 1);
  8889. e -= 1
  8890. }
  8891. }
  8892. function a(e) {
  8893. var t, n, r, i;
  8894. for (t = 0; t < N.length; t += 1)
  8895. if (r = N[t], !1 === l(r.keyCombo)) {
  8896. for (n = 0; n < r.keyUpCallback.length; n += 1) !1 === r.keyUpCallback[n](e, d(), r.keyCombo) && (i = !0);
  8897. !0 === i && (e.preventDefault(), e.stopPropagation());
  8898. N.splice(t, 1);
  8899. t -= 1
  8900. }
  8901. }
  8902. function f(e, t) {
  8903. var n, r, i;
  8904. e = h(e);
  8905. t = h(t);
  8906. if (e.length !== t.length) return !1;
  8907. for (n = 0; n < e.length; n += 1) {
  8908. if (e[n].length !== t[n].length) return !1;
  8909. for (r = 0; r < e[n].length; r += 1) {
  8910. if (e[n][r].length !== t[n][r].length) return !1;
  8911. for (i = 0; i < e[n][r].length; i += 1)
  8912. if (-1 === t[n][r].indexOf(e[n][r][i])) return !1
  8913. }
  8914. }
  8915. return !0
  8916. }
  8917. function l(e) {
  8918. var t, n, r, i, s = 0,
  8919. o, u;
  8920. e = h(e);
  8921. for (t = 0; t < e.length; t += 1) {
  8922. u = !0;
  8923. for (n = s = 0; n < e[t].length; n += 1) {
  8924. r = [].concat(e[t][n]);
  8925. for (i = s; i < x.length; i += 1) o = r.indexOf(x[i]), -1 < o && (r.splice(o, 1), s = i);
  8926. if (0 !== r.length) {
  8927. u = !1;
  8928. break
  8929. }
  8930. }
  8931. if (u) return !0
  8932. }
  8933. return !1
  8934. }
  8935. function c(e) {
  8936. var t, n, r = [];
  8937. e = h(e);
  8938. for (t = 0; t < e.length; t += 1)
  8939. for (n = 0; n < e[t].length; n += 1) r = r.concat(e[t][n]);
  8940. return r
  8941. }
  8942. function h(e) {
  8943. var t = 0,
  8944. n = 0,
  8945. r = !1,
  8946. i = !1,
  8947. s = [],
  8948. o = [],
  8949. u = [],
  8950. a = "";
  8951. if ("object" === typeof e && "function" === typeof e.push) return e;
  8952. if ("string" !== typeof e) throw Error('Cannot parse "keyCombo" because its type is "' + typeof e + '". It must be a "string".');
  8953. for (;
  8954. " " === e.charAt(t);) t += 1;
  8955. for (;;) {
  8956. if (" " === e.charAt(t)) {
  8957. for (;
  8958. " " === e.charAt(t);) t += 1;
  8959. r = !0
  8960. } else if ("," === e.charAt(t)) {
  8961. if (n || i) throw Error("Failed to parse key combo. Unexpected , at character index " + t + ".");
  8962. i = !0;
  8963. t += 1
  8964. } else if ("+" === e.charAt(t)) {
  8965. a.length && (u.push(a), a = "");
  8966. if (n || i) throw Error("Failed to parse key combo. Unexpected + at character index " + t + ".");
  8967. n = !0;
  8968. t += 1
  8969. } else if (">" === e.charAt(t)) {
  8970. a.length && (u.push(a), a = "");
  8971. u.length && (o.push(u), u = []);
  8972. if (n || i) throw Error("Failed to parse key combo. Unexpected > at character index " + t + ".");
  8973. n = !0;
  8974. t += 1
  8975. } else if (t < e.length - 1 && "!" === e.charAt(t) && (">" === e.charAt(t + 1) || "," === e.charAt(t + 1) || "+" === e.charAt(t + 1))) a += e.charAt(t + 1), i = r = n = !1, t += 2;
  8976. else if (t < e.length && "+" !== e.charAt(t) && ">" !== e.charAt(t) && "," !== e.charAt(t) && " " !== e.charAt(t)) {
  8977. if (!1 === n && !0 === r || !0 === i) a.length && (u.push(a), a = ""), u.length && (o.push(u), u = []), o.length && (s.push(o), o = []);
  8978. for (i = r = n = !1; t < e.length && "+" !== e.charAt(t) && ">" !== e.charAt(t) && "," !== e.charAt(t) && " " !== e.charAt(t);) a += e.charAt(t), t += 1
  8979. } else {
  8980. t += 1;
  8981. continue
  8982. }
  8983. if (t >= e.length) {
  8984. a.length && u.push(a);
  8985. u.length && o.push(u);
  8986. o.length && s.push(o);
  8987. break
  8988. }
  8989. }
  8990. return s
  8991. }
  8992. function p(e) {
  8993. var t, n, r = [];
  8994. if ("string" === typeof e) return e;
  8995. if ("object" !== typeof e || "function" !== typeof e.push) throw Error("Cannot stringify key combo.");
  8996. for (t = 0; t < e.length; t += 1) {
  8997. r[t] = [];
  8998. for (n = 0; n < e[t].length; n += 1) r[t][n] = e[t][n].join(" + ");
  8999. r[t] = r[t].join(" > ")
  9000. }
  9001. return r.join(" ")
  9002. }
  9003. function d(e) {
  9004. return [].concat(x)
  9005. }
  9006. function v(e) {
  9007. if (e.match(/\s/)) throw Error("Cannot add key name " + e + " to active keys because it contains whitespace."); - 1 < x.indexOf(e) || x.push(e)
  9008. }
  9009. function m(e) {
  9010. var t = o(e);
  9011. "91" === t || "92" === t ? x = [] : x.splice(x.indexOf(e), 1)
  9012. }
  9013. function g(e, t) {
  9014. if ("string" !== typeof e) throw Error("Cannot register new locale. The locale name must be a string.");
  9015. if ("object" !== typeof t) throw Error("Cannot register " + e + " locale. The locale map must be an object.");
  9016. if ("object" !== typeof t.map) throw Error("Cannot register " + e + " locale. The locale map is invalid.");
  9017. t.macros || (t.macros = []);
  9018. b[e] = t
  9019. }
  9020. function y(e) {
  9021. if (e) {
  9022. if ("string" !== typeof e) throw Error("Cannot set locale. The locale name must be a string.");
  9023. if (!b[e]) throw Error("Cannot set locale to " + e + " because it does not exist. If you would like to submit a " + e + " locale map for y512 please submit it at https://github.com/RobertWHurst/y512/issues.");
  9024. E = b[e].map;
  9025. S = b[e].macros;
  9026. w = e
  9027. }
  9028. return w
  9029. }
  9030. e = {};
  9031. var b = {},
  9032. w, E, S, x = [],
  9033. T = [],
  9034. N = [],
  9035. C = [],
  9036. k, L;
  9037. L = {
  9038. map: {
  9039. 3: ["cancel"],
  9040. 8: ["backspace"],
  9041. 9: ["tab"],
  9042. 12: ["clear"],
  9043. 13: ["enter"],
  9044. 16: ["shift"],
  9045. 17: ["ctrl"],
  9046. 18: ["alt", "menu"],
  9047. 19: ["pause", "break"],
  9048. 20: ["capslock"],
  9049. 27: ["escape", "esc"],
  9050. 32: ["space", "spacebar"],
  9051. 33: ["pageup"],
  9052. 34: ["pagedown"],
  9053. 35: ["end"],
  9054. 36: ["home"],
  9055. 37: ["left"],
  9056. 38: ["up"],
  9057. 39: ["right"],
  9058. 40: ["down"],
  9059. 41: ["select"],
  9060. 42: ["printscreen"],
  9061. 43: ["execute"],
  9062. 44: ["snapshot"],
  9063. 45: ["insert", "ins"],
  9064. 46: ["delete", "del"],
  9065. 47: ["help"],
  9066. 91: "command windows win super leftcommand leftwindows leftwin leftsuper".split(" "),
  9067. 92: "command windows win super rightcommand rightwindows rightwin rightsuper".split(" "),
  9068. 145: ["scrolllock", "scroll"],
  9069. 186: ["semicolon", ";"],
  9070. 187: ["equal", "equalsign", "="],
  9071. 188: ["comma", ","],
  9072. 189: ["dash", "-"],
  9073. 190: ["period", "."],
  9074. 191: ["slash", "forwardslash", "/"],
  9075. 192: ["graveaccent", "`"],
  9076. 219: ["openbracket", "["],
  9077. 220: ["backslash", "\\"],
  9078. 221: ["closebracket", "]"],
  9079. 222: ["apostrophe", "'"],
  9080. 48: ["zero", "0"],
  9081. 49: ["one", "1"],
  9082. 50: ["two", "2"],
  9083. 51: ["three", "3"],
  9084. 52: ["four", "4"],
  9085. 53: ["five", "5"],
  9086. 54: ["six", "6"],
  9087. 55: ["seven", "7"],
  9088. 56: ["eight", "8"],
  9089. 57: ["nine", "9"],
  9090. 96: ["numzero", "num0"],
  9091. 97: ["numone", "num1"],
  9092. 98: ["numtwo", "num2"],
  9093. 99: ["numthree", "num3"],
  9094. 100: ["numfour", "num4"],
  9095. 101: ["numfive", "num5"],
  9096. 102: ["numsix", "num6"],
  9097. 103: ["numseven", "num7"],
  9098. 104: ["numeight", "num8"],
  9099. 105: ["numnine", "num9"],
  9100. 106: ["nummultiply", "num*"],
  9101. 107: ["numadd", "num+"],
  9102. 108: ["numenter"],
  9103. 109: ["numsubtract", "num-"],
  9104. 110: ["numdecimal", "num."],
  9105. 111: ["numdevide", "num/"],
  9106. 144: ["numlock", "num"],
  9107. 112: ["f1"],
  9108. 113: ["f2"],
  9109. 114: ["f3"],
  9110. 115: ["f4"],
  9111. 116: ["f5"],
  9112. 117: ["f6"],
  9113. 118: ["f7"],
  9114. 119: ["f8"],
  9115. 120: ["f9"],
  9116. 121: ["f10"],
  9117. 122: ["f11"],
  9118. 123: ["f12"]
  9119. },
  9120. macros: [
  9121. ["shift + `", ["tilde", "~"]],
  9122. ["shift + 1", ["exclamation", "exclamationpoint", "!"]],
  9123. ["shift + 2", ["at", "@"]],
  9124. ["shift + 3", ["number", "#"]],
  9125. ["shift + 4", ["dollar", "dollars", "dollarsign", "$"]],
  9126. ["shift + 5", ["percent", "%"]],
  9127. ["shift + 6", ["caret", "^"]],
  9128. ["shift + 7", ["ampersand", "and", "&"]],
  9129. ["shift + 8", ["asterisk", "*"]],
  9130. ["shift + 9", ["openparen", "("]],
  9131. ["shift + 0", ["closeparen", ")"]],
  9132. ["shift + -", ["underscore", "_"]],
  9133. ["shift + =", ["plus", "+"]],
  9134. ["shift + (", ["opencurlybrace", "opencurlybracket", "{"]],
  9135. ["shift + )", ["closecurlybrace", "closecurlybracket", "}"]],
  9136. ["shift + \\", ["verticalbar", "|"]],
  9137. ["shift + ;", ["colon", ":"]],
  9138. ["shift + '", ["quotationmark", '"']],
  9139. ["shift + !,", ["openanglebracket", "<"]],
  9140. ["shift + .", ["closeanglebracket", ">"]],
  9141. ["shift + /", ["questionmark", "?"]]
  9142. ]
  9143. };
  9144. for (k = 65; 90 >= k; k += 1) L.map[k] = String.fromCharCode(k + 32), L.macros.push(["shift + " + String.fromCharCode(k + 32) + ", capslock + " + String.fromCharCode(k + 32), [String.fromCharCode(k)]]);
  9145. g("us", L);
  9146. y("us");
  9147. t();
  9148. e.enable = t;
  9149. e.disable = function() {
  9150. n();
  9151. window.removeEventListener ? (document.removeEventListener("keydown", r, !1), document.removeEventListener("keyup", i, !1), window.removeEventListener("blur", n, !1), window.removeEventListener("webkitfullscreenchange", n, !1), window.removeEventListener("mozfullscreenchange", n, !1)) : window.detachEvent && (document.detachEvent("onkeydown", r), document.detachEvent("onkeyup", i), window.detachEvent("onblur", n))
  9152. };
  9153. e.activeKeys = d;
  9154. e.isPressed = function(e) {
  9155. return -1 < x.indexOf(e)
  9156. };
  9157. e.on = function(e, t, n) {
  9158. var r = {},
  9159. i, s = [],
  9160. o, u;
  9161. "string" === typeof e && (e = h(e));
  9162. for (o = 0; o < e.length; o += 1) {
  9163. i = {};
  9164. u = p([e[o]]);
  9165. if ("string" !== typeof u) throw Error("Failed to bind key combo. The key combo must be string.");
  9166. i.keyCombo = u;
  9167. i.keyDownCallback = [];
  9168. i.keyUpCallback = [];
  9169. t && i.keyDownCallback.push(t);
  9170. n && i.keyUpCallback.push(n);
  9171. T.push(i);
  9172. s.push(i)
  9173. }
  9174. r.clear = function() {
  9175. var e;
  9176. for (e = 0; e < s.length; e += 1) T.splice(T.indexOf(s[e]), 1)
  9177. };
  9178. r.on = function(e) {
  9179. var t = {},
  9180. n, r, i;
  9181. if ("string" !== typeof e) throw Error("Cannot bind callback. The event name must be a string.");
  9182. if ("keyup" !== e && "keydown" !== e) throw Error('Cannot bind callback. The event name must be a "keyup" or "keydown".');
  9183. n = Array.prototype.slice.apply(arguments, [1]);
  9184. for (r = 0; r < n.length; r += 1)
  9185. if ("function" === typeof n[r])
  9186. if ("keyup" === e)
  9187. for (i = 0; i < s.length; i += 1) s[i].keyUpCallback.push(n[r]);
  9188. else if ("keydown" === e)
  9189. for (i = 0; i < s.length; i += 1) s[i].keyDownCallback.push(n[r]);
  9190. t.clear = function() {
  9191. var t, r;
  9192. for (t = 0; t < n.length; t += 1)
  9193. if ("function" === typeof n[t])
  9194. if ("keyup" === e)
  9195. for (r = 0; r < s.length; r += 1) s[r].keyUpCallback.splice(s[r].keyUpCallback.indexOf(n[t]), 1);
  9196. else
  9197. for (r = 0; r < s.length; r += 1) s[r].keyDownCallback.splice(s[r].keyDownCallback.indexOf(n[t]), 1)
  9198. };
  9199. return t
  9200. };
  9201. return r
  9202. };
  9203. e.clear = function(e) {
  9204. var t, n;
  9205. for (t = 0; t < T.length; t += 1) n = T[t], f(e, n.keyCombo) && (T.splice(t, 1), t -= 1)
  9206. };
  9207. e.clear.key = function(e) {
  9208. var t, n, r;
  9209. if (e)
  9210. for (t = 0; t < T.length; t += 1)
  9211. for (r = T[t], n = 0; n < r.keyCombo.length; n += 1) {
  9212. if (-1 < r.keyCombo[n].indexOf(e)) {
  9213. T.splice(t, 1);
  9214. t -= 1;
  9215. break
  9216. }
  9217. } else T = []
  9218. };
  9219. e.locale = y;
  9220. e.locale.register = g;
  9221. e.macro = function(e, t) {
  9222. if ("string" !== typeof e && ("object" !== typeof e || "function" !== typeof e.push)) throw Error("Cannot create macro. The combo must be a string or array.");
  9223. if ("object" !== typeof t || "function" !== typeof t.push) throw Error("Cannot create macro. The injectedKeys must be an array.");
  9224. S.push([e, t])
  9225. };
  9226. e.macro.remove = function(e) {
  9227. var t;
  9228. if ("string" !== typeof e && ("object" !== typeof e || "function" !== typeof e.push)) throw Error("Cannot remove macro. The combo must be a string or array.");
  9229. for (mI = 0; mI < S.length; mI += 1)
  9230. if (t = S[mI], f(e, t[0])) {
  9231. m(t[1]);
  9232. S.splice(mI, 1);
  9233. break
  9234. }
  9235. };
  9236. e.key = {};
  9237. e.key.name = s;
  9238. e.key.code = o;
  9239. e.combo = {};
  9240. e.combo.active = l;
  9241. e.combo.parse = h;
  9242. e.combo.stringify = p;
  9243. return e
  9244. });
  9245. var y286 = [{
  9246. src: y233,
  9247. id: "y252erlogo"
  9248. }, {
  9249. src: "htmlnew.png",
  9250. id: "zoespritesheet"
  9251. }, {
  9252. src: "htmlnew.json",
  9253. id: "anim_json"
  9254. }],
  9255. y402 = {
  9256. framerate: 24,
  9257. images: ["assets/htmlnew.png"],
  9258. frames: [
  9259. [2, 492, 604, 360, 0, 600, 0],
  9260. [2, 2, 755, 490, 0, 749, 22],
  9261. [757, 2, 755, 490, 0, 749, 22],
  9262. [1561, 1329, 64, 65, 0, 30, 30],
  9263. [1975, 1403, 56, 55, 0, 26, 25],
  9264. [216, 1329, 74, 74, 0, 35, 35],
  9265. [566, 1245, 84, 81, 0, 39, 37],
  9266. [1248, 1245, 171, 77, 0, 79, 51],
  9267. [1336, 1092, 92, 92, 0, 44, 44],
  9268. [1938, 852, 101, 103, 0, 36, 47],
  9269. [1244, 1092, 92, 92, 0, 44, 44],
  9270. [1152, 1092, 92, 92, 0, 44, 44],
  9271. [965, 1092, 93, 99, 0, 45, 51],
  9272. [1428, 1092, 92, 92, 0, 44, 44],
  9273. [1407, 1403, 53, 56, 0, 25, 29],
  9274. [230, 1519, 49, 47, 0, 22, 23],
  9275. [1512, 2, 336, 324, 0, 159, 180],
  9276. [864, 1092, 101, 103, 0, 36, 47],
  9277. [662, 1092, 101, 103, 0, 36, 47],
  9278. [561, 1092, 101, 103, 0, 36, 47],
  9279. [763, 1092, 101, 103, 0, 36, 47],
  9280. [515, 1403, 112, 57, 0, 29, 24],
  9281. [627, 1403, 112, 57, 0, 29, 24],
  9282. [403, 1403, 112, 57, 0, 29, 24],
  9283. [851, 1403, 112, 57, 0, 29, 24],
  9284. [963, 1403, 112, 57, 0, 29, 24],
  9285. [739, 1403, 112, 57, 0, 29, 24],
  9286. [1075, 1403, 112, 57, 0, 29, 24],
  9287. [1187, 1403, 112, 57, 0, 29, 24],
  9288. [121, 1464, 57, 54, 0, 27, 50],
  9289. [432, 1519, 57, 45, 0, 27, 41],
  9290. [1748, 1519, 57, 38, 0, 27, 34],
  9291. [323, 1566, 57, 34, 0, 27, 30],
  9292. [472, 1566, 57, 33, 0, 27, 29],
  9293. [2, 1403, 130, 61, 0, 36, 52],
  9294. [294, 1566, 29, 34, 0, 12, 17],
  9295. [569, 1566, 31, 32, 0, 14, 15],
  9296. [2022, 1329, 27, 35, 0, 13, 16],
  9297. [75, 1329, 72, 74, 0, 34, 66],
  9298. [1180, 1245, 68, 77, 0, 34, 69],
  9299. [428, 1329, 68, 73, 0, 30, 66],
  9300. [699, 1329, 76, 70, 0, 36, 61],
  9301. [353, 1329, 75, 73, 0, 36, 66],
  9302. [1579, 1245, 62, 76, 0, 29, 70],
  9303. [1038, 1329, 75, 68, 0, 36, 60],
  9304. [1419, 1245, 82, 77, 0, 40, 70],
  9305. [147, 1329, 69, 74, 0, 36, 67],
  9306. [1181, 1329, 62, 67, 0, 29, 61],
  9307. [496, 1329, 70, 73, 0, 36, 66],
  9308. [629, 1329, 70, 71, 0, 30, 64],
  9309. [842, 1329, 69, 70, 0, 36, 63],
  9310. [775, 1329, 67, 70, 0, 29, 63],
  9311. [1058, 1092, 94, 94, 0, 0, 0],
  9312. [1641, 1245, 66, 76, 0, 32, 69],
  9313. [1243, 1329, 57, 67, 0, 28, 62],
  9314. [213, 1464, 62, 52, 0, 30, 47],
  9315. [911, 1329, 127, 69, 0, 41, 60],
  9316. [1625, 1329, 134, 64, 0, 41, 51],
  9317. [290, 1403, 113, 57, 0, 30, 46],
  9318. [1113, 1329, 68, 68, 0, 34, 59],
  9319. [177, 1403, 113, 57, 0, 21, 45],
  9320. [1810, 1329, 61, 64, 0, 29, 57],
  9321. [1871, 1329, 108, 63, 0, 9, 55],
  9322. [1377, 1464, 82, 49, 0, 40, 22],
  9323. [1297, 1464, 80, 49, 0, 38, 22],
  9324. [279, 1519, 76, 46, 0, 36, 20],
  9325. [886, 1519, 71, 44, 0, 34, 19],
  9326. [746, 1519, 70, 44, 0, 35, 20],
  9327. [1930, 1464, 76, 47, 0, 37, 22],
  9328. [1136, 1464, 81, 49, 0, 39, 23],
  9329. [975, 1464, 81, 49, 0, 39, 23],
  9330. [1618, 1464, 80, 48, 0, 39, 22],
  9331. [355, 1519, 77, 46, 0, 38, 21],
  9332. [816, 1519, 70, 44, 0, 35, 20],
  9333. [957, 1519, 70, 43, 0, 33, 20],
  9334. [78, 1519, 76, 47, 0, 35, 22],
  9335. [895, 1464, 80, 49, 0, 37, 23],
  9336. [813, 1464, 82, 50, 0, 38, 23],
  9337. [1056, 1464, 80, 49, 0, 38, 23],
  9338. [2, 1519, 76, 47, 0, 36, 22],
  9339. [605, 1519, 71, 44, 0, 33, 21],
  9340. [676, 1519, 70, 44, 0, 31, 20],
  9341. [154, 1519, 76, 47, 0, 35, 21],
  9342. [1698, 1464, 79, 48, 0, 37, 21],
  9343. [1217, 1464, 80, 49, 0, 38, 22],
  9344. [1459, 1464, 80, 49, 0, 37, 22],
  9345. [1853, 1464, 77, 47, 0, 35, 21],
  9346. [1027, 1519, 70, 43, 0, 31, 19],
  9347. [534, 1519, 71, 44, 0, 33, 19],
  9348. [1777, 1464, 76, 47, 0, 37, 21],
  9349. [1539, 1464, 79, 49, 0, 39, 22],
  9350. [2, 1329, 73, 74, 0, 34, 66],
  9351. [566, 1329, 63, 73, 0, 26, 64],
  9352. [290, 1329, 63, 73, 0, 26, 64],
  9353. [1140, 1519, 38, 42, 0, 17, 20],
  9354. [529, 1566, 40, 32, 0, 18, 14],
  9355. [1957, 1519, 39, 37, 0, 18, 17],
  9356. [2006, 1464, 37, 46, 0, 17, 18],
  9357. [86, 1464, 35, 54, 0, 15, 28],
  9358. [963, 1566, 57, 15, 0, 25, 6],
  9359. [750, 1566, 51, 28, 0, 22, 12],
  9360. [77, 1566, 41, 35, 0, 17, 15],
  9361. [426, 1566, 46, 33, 0, 20, 14],
  9362. [908, 1566, 55, 20, 0, 24, 7],
  9363. [853, 1566, 55, 21, 0, 24, 7],
  9364. [380, 1566, 46, 33, 0, 21, 13],
  9365. [36, 1566, 41, 35, 0, 19, 15],
  9366. [801, 1566, 52, 27, 0, 24, 12],
  9367. [1655, 1519, 33, 39, 0, 13, 16],
  9368. [1519, 1519, 40, 41, 0, 17, 18],
  9369. [1996, 1519, 39, 36, 0, 18, 32],
  9370. [1559, 1519, 96, 39, 0, 28, 31],
  9371. [2, 1464, 35, 55, 0, 2, 0],
  9372. [37, 1464, 49, 54, 0, -1, 0],
  9373. [132, 1403, 45, 58, 0, 0, 2],
  9374. [1591, 1403, 47, 56, 0, 1, 1],
  9375. [1460, 1403, 43, 56, 0, -1, 1],
  9376. [1548, 1403, 43, 56, 0, -1, 1],
  9377. [1979, 1329, 43, 57, 0, -1, 1],
  9378. [1638, 1403, 45, 56, 0, 0, 1],
  9379. [489, 1519, 45, 45, 0, 0, -5],
  9380. [1503, 1403, 45, 56, 0, 0, 1],
  9381. [178, 1464, 35, 53, 0, 0, 0],
  9382. [1299, 1403, 108, 57, 0, 21, 47],
  9383. [687, 852, 380, 218, 0, 372, 0],
  9384. [2, 1092, 206, 153, 0, 68, 47],
  9385. [208, 1092, 182, 149, 0, 55, 43],
  9386. [708, 1464, 53, 51, 0, 25, 22],
  9387. [549, 1464, 53, 51, 0, 25, 22],
  9388. [496, 1464, 53, 51, 0, 25, 22],
  9389. [443, 1464, 53, 51, 0, 25, 22],
  9390. [390, 1464, 53, 51, 0, 25, 22],
  9391. [337, 1464, 53, 51, 0, 25, 22],
  9392. [602, 1464, 53, 51, 0, 25, 22],
  9393. [655, 1464, 53, 51, 0, 25, 22],
  9394. [1520, 1092, 87, 91, 0, -9, 16],
  9395. [1969, 1245, 66, 75, 0, 32, 68],
  9396. [1300, 1329, 57, 66, 0, 28, 62],
  9397. [275, 1464, 62, 52, 0, 30, 47],
  9398. [1732, 852, 206, 153, 0, 68, 47],
  9399. [1848, 2, 182, 149, 0, 55, 43],
  9400. [2, 1245, 188, 84, 0, 90, 37],
  9401. [807, 1245, 233, 78, 0, 99, 44],
  9402. [1357, 1329, 204, 66, 0, 100, 32],
  9403. [2025, 492, 25, 37, 0, 2, 0],
  9404. [2, 1566, 34, 36, 0, 0, 0],
  9405. [1718, 1519, 30, 38, 0, 0, 1],
  9406. [1835, 1519, 32, 38, 0, 1, 1],
  9407. [1688, 1519, 30, 38, 0, 0, 1],
  9408. [1805, 1519, 30, 38, 0, 0, 1],
  9409. [1867, 1519, 30, 38, 0, 0, 1],
  9410. [1927, 1519, 30, 38, 0, 0, 1],
  9411. [600, 1566, 30, 30, 0, 0, -3],
  9412. [1897, 1519, 30, 38, 0, 0, 1],
  9413. [968, 492, 484, 289, 0, 480, 0],
  9414. [1067, 852, 326, 185, 0, 1, 0],
  9415. [1393, 852, 339, 184, 0, 1, 0],
  9416. [606, 492, 362, 325, 0, 358, 0],
  9417. [1178, 1519, 43, 42, 0, 18, 17],
  9418. [1097, 1519, 43, 42, 0, 18, 17],
  9419. [1221, 1519, 43, 42, 0, 18, 17],
  9420. [1452, 492, 295, 244, 0, 144, 132],
  9421. [1747, 492, 278, 183, 0, 138, 99],
  9422. [761, 1464, 52, 51, 0, 25, 22],
  9423. [1759, 1329, 51, 64, 0, 29, -3],
  9424. [1607, 1092, 56, 88, 0, 29, 27],
  9425. [630, 1566, 120, 29, 0, -1, 12],
  9426. [390, 1092, 171, 141, 0, 11, 49],
  9427. [118, 1566, 176, 34, 0, 87, 20],
  9428. [1040, 1245, 140, 77, 0, 13, 3],
  9429. [1707, 1245, 262, 76, 0, 123, 29],
  9430. [1683, 1403, 292, 56, 0, -7, -2],
  9431. [1264, 1519, 124, 41, 0, 62, 20],
  9432. [650, 1245, 157, 81, 0, -4, -2],
  9433. [1388, 1519, 131, 41, 0, -4, -2],
  9434. [1501, 1245, 78, 77, 0, 37, 36],
  9435. [378, 1245, 188, 84, 0, 91, 37],
  9436. [1663, 1092, 188, 84, 0, 91, 37],
  9437. [190, 1245, 188, 84, 0, 91, 37],
  9438. [1851, 1092, 188, 84, 0, 91, 37],
  9439. [2, 852, 342, 240, 0, 337, 19],
  9440. [344, 852, 343, 240, 0, 338, 19]
  9441. ],
  9442. animations: {
  9443. 0: {
  9444. frames: [120],
  9445. speed: 1
  9446. },
  9447. 2: {
  9448. frames: [113],
  9449. speed: 1
  9450. },
  9451. 3: {
  9452. frames: [114],
  9453. speed: 1
  9454. },
  9455. 4: {
  9456. frames: [115],
  9457. speed: 1
  9458. },
  9459. 5: {
  9460. frames: [116, 116],
  9461. speed: 1
  9462. },
  9463. 6: {
  9464. frames: [121],
  9465. speed: 1
  9466. },
  9467. 7: {
  9468. frames: [117],
  9469. speed: 1
  9470. },
  9471. 1: {
  9472. frames: [112],
  9473. speed: 1
  9474. },
  9475. 8: {
  9476. frames: [118],
  9477. speed: 1
  9478. },
  9479. 9: {
  9480. frames: [119],
  9481. speed: 1
  9482. },
  9483. lvlLabelStar0: {
  9484. frames: [20],
  9485. speed: 1
  9486. },
  9487. pos0: {
  9488. frames: [38],
  9489. speed: 1
  9490. },
  9491. BrickShadow2: {
  9492. frames: [58],
  9493. speed: 1
  9494. },
  9495. "7i": {
  9496. frames: [149],
  9497. speed: 1
  9498. },
  9499. dangerShadow: {
  9500. frames: [60],
  9501. speed: 1
  9502. },
  9503. posright: {
  9504. frames: [39],
  9505. speed: 1
  9506. },
  9507. "4i": {
  9508. frames: [147],
  9509. speed: 1
  9510. },
  9511. BrickV2: {
  9512. frames: [55],
  9513. speed: 1
  9514. },
  9515. "5i": {
  9516. frames: [148, 148],
  9517. speed: 1
  9518. },
  9519. pausebtn: {
  9520. frames: [5],
  9521. speed: 1
  9522. },
  9523. BrickShadow0: {
  9524. frames: [56],
  9525. speed: 1
  9526. },
  9527. "2i": {
  9528. frames: [145],
  9529. speed: 1
  9530. },
  9531. quitbtn: {
  9532. frames: [10],
  9533. speed: 1
  9534. },
  9535. "3i": {
  9536. frames: [146],
  9537. speed: 1
  9538. },
  9539. sleepv2: {
  9540. frames: [93],
  9541. speed: 1
  9542. },
  9543. spelelogo: {
  9544. frames: [143, 143],
  9545. speed: 1
  9546. },
  9547. splashlogo: {
  9548. frames: [142],
  9549. speed: 1
  9550. },
  9551. "1i": {
  9552. frames: [144],
  9553. speed: 1
  9554. },
  9555. hideWallShadow: {
  9556. frames: [34],
  9557. speed: 1
  9558. },
  9559. tuchka2_bg2: {
  9560. frames: [140, 140, 140, 140, 140, 140, 140, 140, 140],
  9561. speed: 1
  9562. },
  9563. musicoffbtn: {
  9564. frames: [12],
  9565. speed: 1
  9566. },
  9567. tuchka1_bg2: {
  9568. frames: [139],
  9569. speed: 1
  9570. },
  9571. moregamesbtn: {
  9572. frames: [141],
  9573. speed: 1
  9574. },
  9575. BrickV2_bg2: {
  9576. frames: [138],
  9577. speed: 1
  9578. },
  9579. partice1: {
  9580. frames: [35],
  9581. speed: 1
  9582. },
  9583. EyeV3: {
  9584. frames: [96],
  9585. speed: 1
  9586. },
  9587. tutorhandv2: {
  9588. frames: [165],
  9589. speed: 1
  9590. },
  9591. starminishadow: {
  9592. frames: [135],
  9593. speed: 1
  9594. },
  9595. BrickV1_bg2: {
  9596. frames: [137],
  9597. speed: 1
  9598. },
  9599. BrickShadow1: {
  9600. frames: [57],
  9601. speed: 1
  9602. },
  9603. BrickV0_bg2: {
  9604. frames: [136],
  9605. speed: 1
  9606. },
  9607. tuchka1: {
  9608. frames: [125],
  9609. speed: 1
  9610. },
  9611. partice3: {
  9612. frames: [37, 37, 37, 37, 37, 37, 37, 37],
  9613. speed: 1
  9614. },
  9615. EyeV1: {
  9616. frames: [94],
  9617. speed: 1
  9618. },
  9619. levelinstruction1: {
  9620. frames: [167],
  9621. speed: 1
  9622. },
  9623. "/": {
  9624. frames: [122],
  9625. speed: 1
  9626. },
  9627. tuchka2: {
  9628. frames: [126],
  9629. speed: 1
  9630. },
  9631. starvismini: {
  9632. frames: [127, 128, 129, 130, 131, 132, 133, 134, 127, 127],
  9633. speed: 1
  9634. },
  9635. EyeV4: {
  9636. frames: [97],
  9637. speed: 1
  9638. },
  9639. charshadow: {
  9640. frames: [123],
  9641. speed: 1
  9642. },
  9643. musiconbtn: {
  9644. frames: [11],
  9645. speed: 1
  9646. },
  9647. ActivatorShadow: {
  9648. frames: [111],
  9649. speed: 1
  9650. },
  9651. starsblack: {
  9652. frames: [163],
  9653. speed: 1
  9654. },
  9655. sleepv0: {
  9656. frames: [91],
  9657. speed: 1
  9658. },
  9659. lightsv: {
  9660. frames: [124],
  9661. speed: 1
  9662. },
  9663. ActivatorV: {
  9664. frames: [110],
  9665. speed: 1
  9666. },
  9667. postopleft: {
  9668. frames: [49],
  9669. speed: 1
  9670. },
  9671. tutorhandv1: {
  9672. frames: [164],
  9673. speed: 1
  9674. },
  9675. posup: {
  9676. frames: [41],
  9677. speed: 1
  9678. },
  9679. DanderDeadV: {
  9680. frames: [108, 109],
  9681. speed: 1
  9682. },
  9683. thanksv: {
  9684. frames: [162],
  9685. speed: 1
  9686. },
  9687. posdown: {
  9688. frames: [42],
  9689. speed: 1
  9690. },
  9691. levelinstruction13: {
  9692. frames: [174],
  9693. speed: 1
  9694. },
  9695. settingsicon: {
  9696. frames: [175],
  9697. speed: 1
  9698. },
  9699. "0i": {
  9700. frames: [152],
  9701. speed: 1
  9702. },
  9703. levelinstruction11: {
  9704. frames: [173],
  9705. speed: 1
  9706. },
  9707. btnbaseup: {
  9708. frames: [4],
  9709. speed: 1
  9710. },
  9711. hidewalllamp: {
  9712. frames: [99, 100, 101, 102, 103, 104, 105, 106, 107],
  9713. speed: 1
  9714. },
  9715. postopdownright: {
  9716. frames: [50],
  9717. speed: 1
  9718. },
  9719. poskrest: {
  9720. frames: [47],
  9721. speed: 1
  9722. },
  9723. levelinstruction91: {
  9724. frames: [172],
  9725. speed: 1
  9726. },
  9727. posrightdown: {
  9728. frames: [46],
  9729. speed: 1
  9730. },
  9731. biglimetxt: {
  9732. frames: [161],
  9733. speed: 1
  9734. },
  9735. particle3v: {
  9736. frames: [160],
  9737. speed: 1
  9738. },
  9739. posleft: {
  9740. frames: [40],
  9741. speed: 1
  9742. },
  9743. posvert: {
  9744. frames: [44],
  9745. speed: 1
  9746. },
  9747. posleftdown: {
  9748. frames: [45],
  9749. speed: 1
  9750. },
  9751. tint2: {
  9752. frames: [52],
  9753. speed: 1
  9754. },
  9755. EyeV2: {
  9756. frames: [95],
  9757. speed: 1
  9758. },
  9759. BrickV0: {
  9760. frames: [53],
  9761. speed: 1
  9762. },
  9763. BrickV1: {
  9764. frames: [54],
  9765. speed: 1
  9766. },
  9767. "9i": {
  9768. frames: [151],
  9769. speed: 1
  9770. },
  9771. postopdownleft: {
  9772. frames: [51],
  9773. speed: 1
  9774. },
  9775. particle1v: {
  9776. frames: [158],
  9777. speed: 1
  9778. },
  9779. postopright: {
  9780. frames: [48],
  9781. speed: 1
  9782. },
  9783. timerv: {
  9784. frames: [14],
  9785. speed: 1
  9786. },
  9787. shadowsoff: {
  9788. frames: [177],
  9789. speed: 1
  9790. },
  9791. DangerV: {
  9792. frames: [59],
  9793. speed: 1
  9794. },
  9795. qualitylow: {
  9796. frames: [179],
  9797. speed: 1
  9798. },
  9799. completestar: {
  9800. frames: [6],
  9801. speed: 1
  9802. },
  9803. mainmenubg: {
  9804. frames: [0],
  9805. speed: 1
  9806. },
  9807. backbtn: {
  9808. frames: [8],
  9809. speed: 1
  9810. },
  9811. "8i": {
  9812. frames: [150],
  9813. speed: 1
  9814. },
  9815. comixv3: {
  9816. frames: [157],
  9817. speed: 1
  9818. },
  9819. qualityhigh: {
  9820. frames: [178],
  9821. speed: 1
  9822. },
  9823. levelinstruction6: {
  9824. frames: [170],
  9825. speed: 1
  9826. },
  9827. particle2v: {
  9828. frames: [159],
  9829. speed: 1
  9830. },
  9831. mainbgv: {
  9832. frames: [1],
  9833. speed: 1
  9834. },
  9835. levelinstruction9: {
  9836. frames: [171],
  9837. speed: 1
  9838. },
  9839. mainbgv2: {
  9840. frames: [2],
  9841. speed: 1
  9842. },
  9843. comixv2: {
  9844. frames: [156],
  9845. speed: 1
  9846. },
  9847. shadowson: {
  9848. frames: [176],
  9849. speed: 1
  9850. },
  9851. lvlLabelStar2: {
  9852. frames: [18],
  9853. speed: 1
  9854. },
  9855. playbtnup: {
  9856. frames: [7],
  9857. speed: 1
  9858. },
  9859. restartbtn: {
  9860. frames: [13],
  9861. speed: 1
  9862. },
  9863. comixv1: {
  9864. frames: [155],
  9865. speed: 1
  9866. },
  9867. lvlcompletebgnew: {
  9868. frames: [16],
  9869. speed: 1
  9870. },
  9871. comixbg: {
  9872. frames: [154],
  9873. speed: 1
  9874. },
  9875. mainbgv2small: {
  9876. frames: [181],
  9877. speed: 1
  9878. },
  9879. "6i": {
  9880. frames: [153],
  9881. speed: 1
  9882. },
  9883. achievbtn: {
  9884. frames: [3],
  9885. speed: 1
  9886. },
  9887. starvis: {
  9888. frames: [21, 22, 23, 24, 25, 26, 27, 28, 21, 21],
  9889. speed: 1
  9890. },
  9891. coininterface: {
  9892. frames: [15],
  9893. speed: 1
  9894. },
  9895. levelinstruction3: {
  9896. frames: [168],
  9897. speed: 1
  9898. },
  9899. partice2: {
  9900. frames: [36],
  9901. speed: 1
  9902. },
  9903. poshoriz: {
  9904. frames: [43],
  9905. speed: 1
  9906. },
  9907. arrowhelpv: {
  9908. frames: [166],
  9909. speed: 1
  9910. },
  9911. sleepv1: {
  9912. frames: [92],
  9913. speed: 1
  9914. },
  9915. lvlLabelStar3: {
  9916. frames: [19],
  9917. speed: 1
  9918. },
  9919. EyeV5: {
  9920. frames: [98],
  9921. speed: 1
  9922. },
  9923. HideV: {
  9924. frames: [29, 30, 31, 32, 33],
  9925. speed: 1
  9926. },
  9927. levelbuttonlocked: {
  9928. frames: [9],
  9929. speed: 1
  9930. },
  9931. mainbgvsmall: {
  9932. frames: [180],
  9933. speed: 1
  9934. },
  9935. IceShadow: {
  9936. frames: [62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62],
  9937. speed: 1
  9938. },
  9939. starsleepv: {
  9940. frames: [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90],
  9941. speed: 1
  9942. },
  9943. IceV: {
  9944. frames: [61],
  9945. speed: 1
  9946. },
  9947. lvlLabelStar1: {
  9948. frames: [17],
  9949. speed: 1
  9950. },
  9951. levelinstruction5: {
  9952. frames: [169],
  9953. speed: 1
  9954. }
  9955. }
  9956. },
  9957. y160 = 1,
  9958. y63 = 2,
  9959. y509 = 3,
  9960. y175 = 4,
  9961. PART_GLASS_TYPE = 5,
  9962. PART_ACHIEV_TYPE = 6,
  9963. y454 = 30;
  9964. (function(e) {
  9965. function t(e, t, n) {
  9966. this.initialize(e, t, n)
  9967. }
  9968. var n = t.prototype;
  9969. n.initialize = function(e, t, n) {
  9970. var r = new createjs.Sprite(y355);
  9971. r.snapToPixel = !0;
  9972. r.baseBlock = this;
  9973. this.vis = r;
  9974. this.reset(e, t, n)
  9975. };
  9976. n.reset = function(e, t, n) {
  9977. this.type = e;
  9978. this.vis.parent != t && y206(this.vis);
  9979. createjs.Tween.removeTweens(this.vis);
  9980. this.parent = t;
  9981. this.vis.alpha = 1;
  9982. this.vis.mouseEnabled = !1;
  9983. this.y11 = this.y10 = this.y9 = 0;
  9984. this.isReverse = !1;
  9985. this.y34 = .05;
  9986. this.maxScale = 1.2;
  9987. this.y11lpha = .08;
  9988. this.y14 = .6;
  9989. this.isNum = !1;
  9990. this.y37 = .1;
  9991. this.isNeedDispose = this.isInstruction = !1;
  9992. this.vis.spriteSheet = y355;
  9993. var r = "numb0";
  9994. e == y160 ? r = .7 < Math.random() ? "particle1v" : .5 < Math.random() ? "particle3v" : "particle2v" : e == y509 || e == PART_ACHIEV_TYPE ? this.isNum = !0 : e == y63 ? (this.y14 = 0, r = .5 < Math.random() ? "cloud1v" : "cloud2v") : e == y175 ? this.isInstruction = !0 : e === PART_GLASS_TYPE && (r = .7 < Math.random() ? "partice1" : .5 < Math.random() ? "partice2" : "partice3");
  9995. this.vis.gotoAndStop(r);
  9996. this.scale = n;
  9997. this.y17();
  9998. t.addChild(this.vis)
  9999. };
  10000. n.setPos = function(e, t) {
  10001. this.vis.x = e;
  10002. this.vis.y = t
  10003. };
  10004. n.y38 = function(e) {
  10005. this.y37 = 10;
  10006. this.y11lpha = .03;
  10007. this.y14 = 0;
  10008. this.vis.rotation = 0;
  10009. this.vis.gotoAndStop("PART_" + e)
  10010. };
  10011. n.y39 = function(e, t) {
  10012. this.y14 = 0;
  10013. this.vis.rotation = 0;
  10014. t ? this.vis.gotoAndPlay(e) : this.vis.gotoAndStop(e)
  10015. };
  10016. n.tick = function() {
  10017. if (!(this.isNeedDispose || (this.vis.x += this.y9 * y327, this.vis.y += this.y10 * y327, this.y10 += this.y14 * y327, this.vis.rotation += this.y11 * y327, this.y37 -= y327, 0 < this.y37))) {
  10018. if (this.isNum) this.vis.alpha -= this.y11lpha * y327;
  10019. else {
  10020. if (this.isInstruction) return;
  10021. this.isReverse ? (this.vis.visible = !0, this.vis.scaleX += this.y34 * y327, this.vis.scaleX < this.maxScale && (this.vis.scaleX = this.maxScale), this.vis.alpha -= this.y11lpha * y327) : (this.vis.visible = !0, this.vis.scaleX += this.y34 * y327, this.vis.scaleX > this.maxScale && (this.vis.alpha -= this.y11lpha * y327));
  10022. this.vis.scaleY = this.vis.scaleX
  10023. }.01 > this.vis.alpha && (this.isNeedDispose = !0)
  10024. }
  10025. };
  10026. n.y17 = function() {
  10027. this.vis.scaleX = this.vis.scaleY = this.scale
  10028. };
  10029. n.dispose = function() {
  10030. isArrayContains(y311, this) && y311.splice(y311.indexOf(this, 0), 1);
  10031. y134(this);
  10032. this.vis.removeAllEventListeners();
  10033. this.vis.stop();
  10034. y206(this.vis)
  10035. };
  10036. e.y513 = t
  10037. })(window);
  10038. var y311 = [],
  10039. disposedParts = [];
  10040. var partSin, partCos, partScale;
  10041. var y311Lenght = 0;
  10042. var y56 = 0,
  10043. y342 = null,
  10044. disposeNeededParts = [];
  10045. var y259 = 999999;
  10046. (function(e) {
  10047. function t(e, t, n, r, i, s, o, u, a, f, l, c, h, p) {
  10048. this.txtCont = new createjs.Container;
  10049. this.parent = null;
  10050. this.textId = t;
  10051. this.yMargin = n;
  10052. this.outlineSize = r;
  10053. this.defaultTextLength = i;
  10054. this.x = s;
  10055. this.y = o;
  10056. this.color = u;
  10057. this.outlineColor = a;
  10058. this.fontsize = f;
  10059. this.align = l;
  10060. this.parent = c;
  10061. this.txtBackward = this.txt = null;
  10062. this.isCachedAlready = this.isNeedUpdateCache = !1;
  10063. this.isWrapable = p;
  10064. this.manager = e;
  10065. this.isWithoutCache = h ? !0 : !1;
  10066. e.addField(this);
  10067. this.createTextFields();
  10068. this.updateLang();
  10069. this.additionalText = ""
  10070. }
  10071. var n = t.prototype;
  10072. n.setVisibility = function(e) {
  10073. this.txtCont.visible = e
  10074. };
  10075. n.setPos = function(e, t) {
  10076. this.x = this.txtCont.x = e;
  10077. this.y = this.txtCont.y = t
  10078. };
  10079. n.setText = function(e, t) {
  10080. this.textId = e;
  10081. this.additionalText = t ? t : "";
  10082. this.updateLang()
  10083. };
  10084. n.setToFront = function() {
  10085. this.parent.removeChild(this.txtCont);
  10086. this.parent.addChild(this.txtCont)
  10087. };
  10088. n.updateLang = function() {
  10089. var e = this.manager.getTextById(this.textId);
  10090. this.additionalText && (e += this.additionalText);
  10091. this.updateTextParams(this.txtBackward, e, 0, 0 + this.yMargin, this.outlineColor, this.fontsize, this.align);
  10092. this.updateTextParams(this.txt, e, 0, 0, this.color, this.fontsize, this.align);
  10093. this.isWithoutCache || (this.updateCacheSize(), this.isCachedAlready = !1)
  10094. };
  10095. n.updateCache = function() {
  10096. this.isWithoutCache || !this.txtCont.visible || this.isCachedAlready || (this.isCachedAlready = this.isNeedUpdateCache = !0)
  10097. };
  10098. n.update = function() {
  10099. this.isNeedUpdateCache && this.txtCont.cacheCanvas && (this.isNeedUpdateCache = !1, this.txtCont.updateCache(), y96("localized cache updated " + this.txt.text))
  10100. };
  10101. n.disposeTxt = function() {};
  10102. n.createTextFields = function() {
  10103. this.txtCont.x = this.x;
  10104. this.txtCont.y = this.y;
  10105. this.txtBackward = new createjs.Text("", this.fontsize + "px rumpelstiltskinregular, Trebuchet MS", this.outlineColor);
  10106. this.txtBackward.outline = this.outlineSize;
  10107. this.txtBackward.mouseEnabled = !1;
  10108. this.txt = new createjs.Text("", this.fontsize + "px rumpelstiltskinregular, Trebuchet MS", this.color);
  10109. this.txt.mouseEnabled = !1;
  10110. this.parent.addChild(this.txtCont)
  10111. };
  10112. n.updateCacheSize = function() {
  10113. var e = this.txtBackward.getMeasuredHeight() + this.fontsize / 2 + this.outlineSize;
  10114. this.txtCont.cache(-ow / 2 - 5, -this.fontsize / 2 - this.outlineSize, ow + 10, e)
  10115. };
  10116. n.updateTextParams = function(e, t, n, r, i, s, o) {
  10117. i = s;
  10118. if (t.length > this.defaultTextLength) {
  10119. var u = (this.defaultTextLength - 1) / t.length;
  10120. i = Math.floor(s * u);
  10121. this.txtBackward.outline = Math.floor(this.outlineSize * u)
  10122. } else this.txtBackward.outline = this.outlineSize;
  10123. this.isWrapable ? (e.lineWidth = ow - 10, e.maxWidth = null) : (e.lineWidth = null, e.maxWidth = ow);
  10124. e.font = "en" == this.manager.currentLang ? i + "px rumpelstiltskinregular, Trebuchet MS" : i + "px Trebuchet MS";
  10125. e.text = t;
  10126. e.textAlign = o;
  10127. e.textBaseline = "middle";
  10128. e.x = n;
  10129. e.y = r;
  10130. e.mouseEnabled = !1;
  10131. e.lineHeight = 1.3 * i;
  10132. e.parent || this.txtCont.addChild(e);
  10133. return e
  10134. };
  10135. e.y514 = t
  10136. })(window);
  10137. (function(e) {
  10138. function t() {
  10139. this.currentLang = "en";
  10140. this.ally514s = [];
  10141. var e = y373("lang");
  10142. e && "ru" == e && (this.currentLang = "ru")
  10143. }
  10144. var n = t.prototype;
  10145. n.getTextById = function(e) {
  10146. return y336[this.currentLang][e]
  10147. };
  10148. n.setLang = function(e) {
  10149. this.currentLang = e;
  10150. for (e = 0; e < this.ally514s.length; e++) this.ally514s[e].updateLang();
  10151. isNeedUpdateBgCache = !0
  10152. };
  10153. n.addField = function(e) {
  10154. this.ally514s.push(e)
  10155. };
  10156. n.update = function() {
  10157. for (var e = 0; e < this.ally514s.length; e++) this.ally514s[e].update()
  10158. };
  10159. e.y515 = t
  10160. })(window);
  10161. var y336 = {
  10162. en: {
  10163. nothing: " ",
  10164. levelselect: "LEVEL SELECT",
  10165. level: "Level: ",
  10166. restarts: "Restarts: ",
  10167. tryagain: "TRY AGAIN!",
  10168. levelcomplete: "LEVEL COMPLETE!",
  10169. newachiev: "NEW ACHIEVEMENT!",
  10170. gamecomplete: "GAME COMPLETE!",
  10171. completetext: "Collected stars:",
  10172. thanks: "Thanks for playing!!!",
  10173. lostallfish: "You lost all your fish :(",
  10174. instruction1: "TAP and HOLD to grow!",
  10175. instruction2: "Push the monsters and turn them into your friends!",
  10176. instruction3: "Do not touch the monsters while growing!",
  10177. instruction5: "The stones are not harmful. Just make sure you don*t touch them while growing!",
  10178. instruction9: "This monster is much stronger than usual ones!",
  10179. instruction14: "This monster grows with time!",
  10180. instruction20: "This monster is sick and it is infectious! You have to grow big to be healed.",
  10181. rotatescreen: "Please rotate your device",
  10182. achievements: "ACHIEVEMENTS",
  10183. achiev0: "Great start!",
  10184. achiev1: "Got 10 friends!",
  10185. achiev2: "7 restarts!",
  10186. achiev3: "Halfway!",
  10187. achiev4: "I am still stronger!",
  10188. achiev5: "No disease frightens us!",
  10189. achiev6: "All stars collected!",
  10190. achiev7: "Came out of a mental hospital!",
  10191. achiev8: "Awesome speed!"
  10192. },
  10193. ru: {
  10194. nothing: " ",
  10195. levelselect: "圾局坎妍妓 孝妓妍圾妖岐",
  10196. level: "孝把抉志快扶抆: ",
  10197. restarts: "妤快把快戒忘扭批扼抗抉志: ",
  10198. levelcomplete: "孝妓妍圾圻妖屁 妤妓妍妨坏圻妖!",
  10199. newachiev: "妖妍圾妍圻 坏妍妊妥妒夾圻妖妒圻!",
  10200. tryagain: "妤妍妤妓妍坎孝妨 妊妖妍圾均!",
  10201. gamecomplete: "妒坐妓均 妤妓妍妨坏圻妖均!",
  10202. completetext: "妝志快戒忱 扼抉忌把忘扶抉:",
  10203. thanks: "妊扭忘扼我忌抉 戒忘 我忍把批!!!",
  10204. lostallfish: "妥抑 扭抉找快把攸抖 志扼快抒 把抑忌抉抗 改找抉 抉折快扶抆 抉折快扶抆 扭快折忘抖抆扶抉 :(",
  10205. instruction1: "妖均夾妙妒 我 坏圻妓夾妒 折找抉忌抑 把忘扼找我!",
  10206. instruction2: "妥抉抖抗忘抄扼攸 扼 技抉扶扼找把忘技我 我 扭把快志把忘投忘抄 我抒 志 扼志抉我抒 忱把批戒快抄!",
  10207. instruction3: "妖快 扼找忘抖抗我志忘抄扼攸 扼 技抉扶扼找把忘技我 抗抉忍忱忘 把忘扼找快扮抆!",
  10208. instruction5: "尿找我 抗忘技扶我 扶快 抉扭忘扼扶抑! 扭把抉扼找抉 扶快 戒忘忱快志忘抄 我抒 我 志扼快 忌批忱快找 抒抉把抉扮抉!",
  10209. instruction9: "尿找抉找 技抉扶扼找把 扶忘技扶抉忍抉 扼我抖抆扶快快 折快技 抉忌抑折扶抑快!",
  10210. instruction14: "尿找抉找 技抉扶扼找把 把忘扼找快找 扼抉 志把快技快扶快技!",
  10211. instruction20: "尿找抉找 技抉扶扼找把 戒忘把忘戒扶抑抄! 妥抑 忱抉抖忪快扶 志抑把忘扼找我 忌抉抖抆扮我技 我 扼我抖抆扶抑技 折找抉忌抑 志抑抖快折我找抆扼攸!",
  10212. rotatescreen: "妤抉忪忘抖批抄扼找忘, 扭抉志快把扶我找快 批扼找把抉抄扼找志抉!",
  10213. achievements: "坏妍妊妥妒夾圻妖妒岐",
  10214. achiev0: "坏抉扼找我忪快扶我快 0",
  10215. achiev1: "坏抉扼找我忪快扶我快 1",
  10216. achiev2: "坏抉扼找我忪快扶我快 2",
  10217. achiev3: "坏抉扼找我忪快扶我快 3",
  10218. achiev4: "坏抉扼找我忪快扶我快 4",
  10219. achiev5: "坏抉扼找我忪快扶我快 5",
  10220. achiev6: "坏抉扼找我忪快扶我快 6",
  10221. achiev7: "坏抉扼找我忪快扶我快 7",
  10222. achiev8: "坏抉扼找我忪快扶我快 8"
  10223. }
  10224. },
  10225. BLOCK_SPACE_TYPE = 1,
  10226. BLOCK_HERO_TYPE = 2,
  10227. BLOCK_BRICK_TYPE = 3,
  10228. BLOCK_SLEEP_TYPE = 4,
  10229. BLOCK_ICE_TYPE = 5,
  10230. BLOCK_HIDE_TYPE = 6,
  10231. BLOCK_DANGER_TYPE = 7,
  10232. DIR_UP = 1,
  10233. DIR_RIGHT = 2,
  10234. DIR_BOTTOM = 3,
  10235. DIR_LEFT = 4,
  10236. HIDE_FIELD_BORDER = 100;
  10237. (function(e) {
  10238. function t(e, t, n) {
  10239. this.initialize(e, t, n)
  10240. }
  10241. var n = t.prototype;
  10242. n.initialize = function(e, t, n) {
  10243. if (e != BLOCK_SPACE_TYPE) {
  10244. var r = new createjs.Sprite(y355);
  10245. r.isOnTop = !1;
  10246. r.isOnBottom = !1;
  10247. r.baseBlock = this;
  10248. r.isFullTop = !1;
  10249. r.stop();
  10250. this.y30 = r;
  10251. r = new createjs.Sprite(y355);
  10252. r.mouseEnabled = !1;
  10253. r.baseBlock = this;
  10254. this.eye = r;
  10255. r = new createjs.Sprite(y355);
  10256. r.mouseEnabled = !1;
  10257. r.baseBlock = this;
  10258. this.shadowVis = r;
  10259. isBlockLabels && (this.txtLabel = new createjs.Text(this.name, "11px Arial", "#FFF"), y497.addChild(this.txtLabel));
  10260. this.y30.setBoundingBox(-30, -60, 60, 70);
  10261. this.reset(e, t, n)
  10262. }
  10263. };
  10264. n.reset = function(t, n, r) {
  10265. createjs.Tween.removeTweens(this.y30);
  10266. this.friends = [];
  10267. this.isDrag = !1;
  10268. this.offsetY = this.offsetX = 0;
  10269. this.animOffset = 50 * Math.random();
  10270. this.oldRow = this.oldCell = 0;
  10271. this.isDisposed = !1;
  10272. this.y13 = this.y12 = this.startStageY = this.startStageX = 0;
  10273. this.winscope = e;
  10274. this.row = this.cell = -1;
  10275. this.isWakeUp = this.isMoveTween = !1;
  10276. this.type = t;
  10277. this.name = r ? r : "BaseBlock";
  10278. this.parent = n;
  10279. this.isBrick = !1;
  10280. this.y30.mouseEnabled = !0;
  10281. this.y30.isOnTop = !1;
  10282. this.y30.isOnBottom = !1;
  10283. this.y30.isFullTop = !1;
  10284. this.y30.zIndex = 0;
  10285. this.y30.alpha = 1;
  10286. this.eye.alpha = 1;
  10287. this.ticks = 0;
  10288. this.isHided = !1;
  10289. this.y30.hitArea = null;
  10290. this.eye.stop();
  10291. this.y30.scaleX = this.y30.scaleY = .8;
  10292. this.eye.scaleX = y164;
  10293. this.eye.isOnTop = !0;
  10294. this.eye.isFullTop = !0;
  10295. this.eye.isOnBottom = !1;
  10296. this.eye.zIndex = 1;
  10297. this.y30.cursor = null;
  10298. this.shadowIndex = 1;
  10299. this.shadowYScale = .8;
  10300. this.oldFriendsNum = 0;
  10301. this.tickerMargin = Math.floor(30 * Math.random());
  10302. this.y30.parent || this.parent.addChild(this.y30);
  10303. t == BLOCK_HERO_TYPE ? (this.setRandomEye(), this.parent.addChild(this.eye), this.y30.gotoAndStop("pos0"), this.setupMouseEventListeners(), this.setupShadow("charshadow")) : t == BLOCK_SLEEP_TYPE ? (this.eye.gotoAndPlay("starsleepv"), this.parent.addChild(this.eye), setSpriteScale(this.eye, .8), this.setupShadow("charshadow")) : t == BLOCK_BRICK_TYPE ? (n = Math.round(2 * Math.random()), this.y30.gotoAndStop("BrickV" + n + BG_POSTFIX), this.setupShadow("BrickShadow" + n)) : t == BLOCK_ICE_TYPE ? (this.y30.gotoAndStop("IceV"), this.setupShadow("IceShadow")) : t == BLOCK_HIDE_TYPE ? (this.y30.gotoAndStop("HideV"), setNextAnimation(this.y30, ""), createReverseAnim(y355, "HideV"), playReverseAnim(this.y30, "HideV"), this.eye.gotoAndPlay("hidewalllamp"), this.parent.addChild(this.eye), randomizeAnimFrame(this.eye), this.setupShadow("hideWallShadow")) : t == BLOCK_DANGER_TYPE && (this.y30.gotoAndStop("DangerV"), this.setupShadow("dangerShadow"));
  10304. if (t == BLOCK_BRICK_TYPE || t == BLOCK_HIDE_TYPE || t == BLOCK_ICE_TYPE || t == BLOCK_DANGER_TYPE) this.y30.isOnTop = !0, this.y30.mouseEnabled = !1, this.isBrick = !0
  10305. };
  10306. n.setupShadow = function(e) {
  10307. this.shadowVis.alpha = 1;
  10308. this.shadowVis.gotoAndStop(e);
  10309. setSpriteScale(this.shadowVis, .8);
  10310. y110(this.shadowVis, shadowContainer)
  10311. };
  10312. n.setRandomEye = function() {
  10313. var e = Math.floor(4 * Math.random() + 1);
  10314. this.eye.gotoAndStop("EyeV" + e)
  10315. };
  10316. n.setupMouseEventListeners = function() {
  10317. this.y30.cursor = "pointer";
  10318. this.y30.addEventListener("mousedown", this.onMouseDown);
  10319. this.y30.addEventListener("pressmove", this.y29);
  10320. this.y30.addEventListener("pressup", this.onMouseUp)
  10321. };
  10322. n.setPos = function(e, t) {
  10323. this.y30.x = e;
  10324. this.y30.y = t;
  10325. this.y209Pos();
  10326. this.isBrick || (this.eye.x = this.y30.x, this.eye.y = this.y30.y - 28, this.eyeStartX = this.eye.x, this.eyeStartY = this.eye.y, this.eyeAimX = this.eye.x, this.eyeAimY = this.eye.y);
  10327. this.setEyePosByBody();
  10328. this.updateVisibility()
  10329. };
  10330. n.y209Pos = function() {
  10331. this.shadowVis.x = this.y30.x;
  10332. this.shadowVis.y = this.y30.y;
  10333. this.shadowVis.y = this.y30.y + CELL_SIZE * (this.shadowIndex - 1)
  10334. };
  10335. n.updateVisibility = function() {};
  10336. n.onMouseUp = function(e) {
  10337. var t = e.target.baseBlock;
  10338. if (t.isDrag) {
  10339. var n = t.startStageX - e.stageX;
  10340. e = t.startStageY - e.stageY;
  10341. var r = !1;
  10342. Math.abs(n) > Math.abs(e) ? 40 < n ? t.searchMovePath(DIR_LEFT) : -40 > n ? t.searchMovePath(DIR_RIGHT) : r = !0 : 40 < e ? t.searchMovePath(DIR_UP) : -40 > e ? t.searchMovePath(DIR_BOTTOM) : r = !0;
  10343. r && (t.restorePosWithFriends(), isHeroMoving = !1);
  10344. t.isDrag = !1;
  10345. y275()
  10346. }
  10347. };
  10348. n.restorePosWithFriends = function(e) {
  10349. this.restorePos();
  10350. this.setupZPos(!1);
  10351. for (e = 0; e < this.friends.length; e++) this.friends[e].restorePos(), this.friends[e].setupZPos(!1)
  10352. };
  10353. n.y29 = function(e) {
  10354. var t = e.target.baseBlock;
  10355. if (t.isDrag) {
  10356. var n = t.y12 + (y497.x - e.stageX) / scaleFactor;
  10357. e = t.y13 + (y497.y - e.stageY) / scaleFactor;
  10358. t.deltaMove(n, e);
  10359. for (var r = 0; r < t.friends.length; r++) t.friends[r].deltaMove(n, e)
  10360. }
  10361. };
  10362. n.onMouseDown = function(e) {
  10363. isLevelEditor && y401(e);
  10364. if (!isHeroMoving && !isGamePaused) {
  10365. var t = e.target.baseBlock;
  10366. t.isDrag = !0;
  10367. var n = e.target;
  10368. t.startStageX = e.stageX;
  10369. t.startStageY = e.stageY;
  10370. t.rememberPos();
  10371. t.setupZPos(!0);
  10372. t.offsetX = n.x * scaleFactor - e.stageX + y497.x;
  10373. t.offsetY = n.y * scaleFactor - e.stageY + y497.y;
  10374. for (e = 0; e < t.friends.length; e++) n = t.friends[e], n.rememberPos(), n.setupZPos(!0);
  10375. isHeroMoving = !0;
  10376. y275()
  10377. }
  10378. };
  10379. n.setupZPos = function(e) {
  10380. this.y30.isFullTop = e;
  10381. this.eye.isFullTop = e;
  10382. e || (this.eye.isFullTop = this.isFriendAt(this.cell, this.row + 1))
  10383. };
  10384. n.setOffsetBy = function(e) {
  10385. this.offsetX = (e.cell - this.cell) * CELL_SIZE;
  10386. this.offsetY = (e.row - this.row) * CELL_SIZE
  10387. };
  10388. n.rememberPos = function() {
  10389. this.y12 = this.y30.x;
  10390. this.y13 = this.y30.y
  10391. };
  10392. n.deltaMove = function(e, t) {
  10393. this.y30.x = this.y12 + Math.max(-10, Math.min(10, -e / 15));
  10394. this.y30.y = this.y13 + Math.max(-10, Math.min(10, -t / 15));
  10395. this.y209Pos()
  10396. };
  10397. n.restorePos = function() {
  10398. this.y30.x = this.y12;
  10399. this.y30.y = this.y13
  10400. };
  10401. n.setIndex = function(e, t) {
  10402. this.cell = e;
  10403. this.row = t
  10404. };
  10405. n.searchMovePath = function(e) {
  10406. this.isDrag = !1;
  10407. SearchMovePath(this, e)
  10408. };
  10409. n.tick = function() {
  10410. isGamePaused || (this.type === BLOCK_HIDE_TYPE && (this.isHided ? (this.eye.y = this.y30.y - 24 + 3 * (this.y30.currentAnimationFrame + 1), this.shadowVis.alpha = (3 - this.y30.currentAnimationFrame) / 4) : (this.eye.y = this.y30.y - 24 + 15 - 3 * (this.y30.currentAnimationFrame + 1), this.shadowVis.alpha = this.y30.currentAnimationFrame / 4)), this.isBrick || (isBlockLabels && (this.txtLabel.x = this.y30.x - 29, this.txtLabel.y = this.y30.y - 29), this.ticks = y87, 1 > this.friends.length && (this.ticks += this.animOffset), this.y30.scaleY = .81 + (Math.cos(this.ticks / 5) / 2 + .5) / 15, this.y30.scaleX = .81 + (Math.cos(this.ticks / 5 + Math.PI) / 2 + .5) / 20, this.type !== BLOCK_SLEEP_TYPE && (this.eye.scaleY = this.y30.scaleY, this.eye.scaleX = this.y30.scaleX, this.eye.rotation = 0), this.shadowVis.scaleY = this.shadowYScale + (this.y30.scaleY - .81) * this.shadowYScale, this.shadowVis.scaleX = this.y30.scaleX, this.setEyePosByBody(), isMinigame && this.y209Pos()))
  10411. };
  10412. n.move = function(e, t, n, r) {
  10413. headHero = this;
  10414. var i = Math.abs(this.cell - e),
  10415. s = Math.abs(this.row - t),
  10416. i = Math.max(300, 100 * Math.max(s, i));
  10417. startStarCollection(i);
  10418. relocate(this, e, t);
  10419. this.setupZPos(!1);
  10420. for (e = 0; e < this.friends.length; e++) this.friends[e].rememberPos(), this.friends[e].setupZPos(!1);
  10421. createjs.Tween.get(this.y30).to({
  10422. x: n,
  10423. y: r
  10424. }, i, createjs.Ease.getBackIn(1.5)).call(this.tweenComplete).addEventListener("change", this.tweenChange);
  10425. this.isMoveTween = !0
  10426. };
  10427. n.tweenChange = function(e) {
  10428. e = e.target.target.baseBlock;
  10429. var t, n;
  10430. for (t = 0; t < e.friends.length; t++) n = e.friends[t], n.setPos(e.y30.x + (n.cell - e.cell) * CELL_SIZE, e.y30.y + (n.row - e.row) * CELL_SIZE);
  10431. e.y209Pos();
  10432. e.updateVisibility();
  10433. if (!e.isMoveTween)
  10434. if (isButtonActivated = !1, updateActivators(), updateBlocksByActivator(), !isOldButtonActivated && isButtonActivated && y141("activator"), isOldButtonActivated = isButtonActivated, e.setEyePosByBody(), findFriends(e), e.rememberPos(), isDangerCollided) {
  10435. for (t = 0; t < e.friends.length; t++) n = e.friends[t], n.startShock();
  10436. e.startShock();
  10437. e.shockRestart();
  10438. y141("electrodead")
  10439. } else isHeroMoving = !1, headHero = null, e.levelWinCheck(), e.oldFriendsNum !== e.friends.length && playConnectSound()
  10440. };
  10441. n.setEyePosByBody = function() {
  10442. this.eye.x = this.y30.x;
  10443. this.eye.y = this.y30.y - 22;
  10444. this.type == BLOCK_SLEEP_TYPE ? this.eye.y = this.y30.y - 40 : this.type === BLOCK_HIDE_TYPE && (this.eye.y = this.y30.y - 24, this.eye.x = this.y30.x - (24 * Math.random() - 12));
  10445. this.eyeStartX = this.eye.x;
  10446. this.eyeStartY = this.eye.y;
  10447. this.eyeAimX = this.eye.x;
  10448. this.eyeAimY = this.eye.y
  10449. };
  10450. n.tweenComplete = function(e) {
  10451. e.target.baseBlock.isMoveTween = !1
  10452. };
  10453. n.levelWinCheck = function() {
  10454. isDisableWin || this.friends.length != allHeroes.length - 1 || (y487(), isHeroMoving = isLevelCompleted = !0, y96("level complete!"))
  10455. };
  10456. n.addFriend = function(e) {
  10457. e == this || isArrayContains(this.friends, e) || (this.friends.push(e), this.type != BLOCK_SLEEP_TYPE || this.isWakeUp || (this.type = BLOCK_HERO_TYPE, this.isWakeUp = !0, this.setRandomEye(), this.setEyePosByBody(), this.parent.addChild(this.eye), this.setupMouseEventListeners()))
  10458. };
  10459. n.updateVisionByFriendsPos = function() {
  10460. var e = "pos0";
  10461. if (this.type != BLOCK_SLEEP_TYPE || this.isWakeUp) {
  10462. var t = this.cell,
  10463. n = this.row,
  10464. r = this.isFriendAt(t - 1, n + 0),
  10465. i = this.isFriendAt(t + 1, n + 0),
  10466. s = this.isFriendAt(t + 0, n - 1),
  10467. o = this.isFriendAt(t + 0, n + 1);
  10468. this.isFriendAt(t + 1, n - 1);
  10469. this.isFriendAt(t + 1, n + 1);
  10470. s && (e = "posup");
  10471. o && (e = "posdown");
  10472. r && (e = "posleft");
  10473. i && (e = "posright");
  10474. r && o && (e = "posleftdown");
  10475. i && o && (e = "posrightdown");
  10476. i && s && (e = "postopright");
  10477. r && s && (e = "postopleft");
  10478. s && o && (e = "posvert");
  10479. r && i && (e = "poshoriz");
  10480. r && o && s && (e = "postopdownleft");
  10481. i && o && s && (e = "postopdownright");
  10482. i && s && r && (e = "poskrest");
  10483. this.eye.isFullTop = o;
  10484. if (!s) {
  10485. for (r = 1; this.isFriendAt(t, n + r);) r++;
  10486. this.shadowYScale = 1 < r ? 1 * r : .8;
  10487. this.shadowVis.scaleY = this.shadowYScale;
  10488. this.shadowIndex = r;
  10489. this.y209Pos()
  10490. }
  10491. s ? y206(this.shadowVis) : y110(this.shadowVis, shadowContainer)
  10492. } else e = "sleepv0";
  10493. isBlockLabels && (this.txtLabel.text = e);
  10494. this.y30.gotoAndStop(e)
  10495. };
  10496. n.isFriendAt = function(e, t) {
  10497. var n = getBlockAt(e, t);
  10498. return isArrayContains(this.friends, n)
  10499. };
  10500. n.dispose = function() {
  10501. this.isDisposed = !0;
  10502. deleteBlockFromMap(this);
  10503. createjs.Tween.removeTweens(this.y30);
  10504. isArrayContains(allBlocks, this) && allBlocks.splice(allBlocks.indexOf(this, 0), 1);
  10505. y201(this);
  10506. this.y30.removeAllEventListeners();
  10507. this.y30.hitArea = null;
  10508. y206(this.y30);
  10509. y206(this.eye);
  10510. y206(this.shadowVis);
  10511. createjs.Tween.removeTweens(this.y30)
  10512. };
  10513. n.deadMove = function(e) {
  10514. headHero = this;
  10515. this.isMoveTween = !0;
  10516. var t = createjs.Ease.circIn;
  10517. e == DIR_LEFT || e == DIR_RIGHT ? (e = e == DIR_LEFT ? -500 : 1e3, createjs.Tween.get(this.y30).to({
  10518. x: e
  10519. }, 500, t).call(this.tweenComplete).addEventListener("change", this.deadTweenChange)) : (e = e == DIR_UP ? -500 : 1e3, createjs.Tween.get(this.y30).to({
  10520. y: e
  10521. }, 500, t).call(this.tweenComplete).addEventListener("change", this.deadTweenChange));
  10522. y141("lose")
  10523. };
  10524. n.deadTweenChange = function(e) {
  10525. e = e.target.target.baseBlock;
  10526. for (var t = 0; t < e.friends.length; t++) {
  10527. var n = e.friends[t];
  10528. n.setPos(e.y30.x + (n.cell - e.cell) * CELL_SIZE, e.y30.y + (n.row - e.row) * CELL_SIZE)
  10529. }
  10530. e.y209Pos();
  10531. e.updateVisibility();
  10532. e.isMoveTween || (isHeroMoving = !1, headHero = null, y246(!1, 15))
  10533. };
  10534. n.iceBreak = function() {
  10535. isLevelLoading || (deleteBlockFromMap(this), this.parent.removeChild(this.y30), createGlassExplode(this.y30.x, this.y30.y), y206(this.shadowVis), y141("icebreak"))
  10536. };
  10537. n.setActivationStatus = function(e) {
  10538. this.type === BLOCK_HIDE_TYPE && this.setHiding(e)
  10539. };
  10540. n.setHiding = function(e) {
  10541. e ? this.isHided || (deleteBlockFromMap(this), this.y30.gotoAndPlay("HideV"), y110WithIndex(this.eye, shadowContainer, 0), y110WithIndex(this.y30, shadowContainer, 0), this.isHided = !0) : getBlockAt(this.cell, this.row) === BLOCK_SPACE_TYPE && this.isHided && (relocate(this, this.cell, this.row), y110(this.y30, y390), y110(this.eye, y390), playReverseAnim(this.y30, "HideV"), this.isHided = !1)
  10542. };
  10543. n.startShock = function() {
  10544. this.type != BLOCK_DANGER_TYPE && this.eye.gotoAndPlay("DanderDeadV")
  10545. };
  10546. n.shockRestart = function() {
  10547. y246(!0, 20)
  10548. };
  10549. e.BaseBlock = t
  10550. })(window);
  10551. var HIDE_ACTIVATOR_TYPE = 1,
  10552. STAR_TYPE = 2,
  10553. isButtonActivated = !1,
  10554. isOldButtonActivated = !1;
  10555. (function(e) {
  10556. function t(e, t, n) {
  10557. this.initialize(e, t, n)
  10558. }
  10559. var n = t.prototype;
  10560. n.initialize = function(e, t, n) {
  10561. var r = new createjs.Sprite(y355);
  10562. r.mouseEnabled = !1;
  10563. r.baseBlock = this;
  10564. this.y30 = r;
  10565. r = new createjs.Sprite(y355);
  10566. r.mouseEnabled = !1;
  10567. r.baseBlock = this;
  10568. this.shadowVis = r;
  10569. this.reset(e, t, n)
  10570. };
  10571. n.reset = function(e, t, n) {
  10572. this.type = e;
  10573. createjs.Tween.removeTweens(this.y30);
  10574. this.collectSteps = 999;
  10575. this.tweenMaxSteps = 0;
  10576. this.isNeedCollect = !1;
  10577. this.name = n ? n : "Activator";
  10578. this.parent = t;
  10579. this.isActivated = !1;
  10580. this.y30.isOnTop = !1;
  10581. this.y30.isOnBottom = !0;
  10582. this.y30.isFullTop = !1;
  10583. this.y30.alpha = 1;
  10584. this.shadowVis.alpha = 1;
  10585. this.animRestartCounter = this.animWaitTime = 30 + 30 * Math.random();
  10586. this.isStarCollected = !1;
  10587. this.frame = "0";
  10588. this.ticks = 0;
  10589. this.isBlackStar = !1;
  10590. this.animOffset = 50 * Math.random();
  10591. y206(this.shadowVis);
  10592. e === HIDE_ACTIVATOR_TYPE ? (this.y30.gotoAndStop("ActivatorV"), setSpriteScale(this.y30, .8), this.shadowVis.gotoAndStop("ActivatorShadow"), setSpriteScale(this.shadowVis, .8), y110(this.shadowVis, shadowContainer)) : e === STAR_TYPE && (this.frame = isShadowDisabled ? "starvismini" : "starvis", isMinigame && (this.shadowVis.gotoAndStop("starminishadow"), setSpriteScale(this.shadowVis, .8), y110(this.shadowVis, shadowContainer), this.frame = "starvismini"), this.y30.gotoAndPlay(this.frame), setNextAnimation(this.y30, ""), setSpriteScale(this.y30, .8), this.y30.currentAnimationFrame = Math.floor(10 * Math.random()), isMinigame || levelTotalStarsNum++);
  10593. t.addChild(this.y30)
  10594. };
  10595. n.y209Pos = function() {
  10596. this.shadowVis.x = this.y30.x;
  10597. this.shadowVis.y = this.y30.y
  10598. };
  10599. n.setPos = function(e, t) {
  10600. this.type == STAR_TYPE ? (this.y30.x = e, this.y30.y = t - 24) : (this.y30.x = e, this.y30.y = t - 7);
  10601. this.y209Pos()
  10602. };
  10603. n.setIndex = function(e, t) {
  10604. this.cell = e;
  10605. this.row = t
  10606. };
  10607. n.tick = function() {
  10608. this.type === STAR_TYPE && (this.animRestartCounter--, 0 > this.animRestartCounter && !this.isBlackStar && (this.animRestartCounter = 30 + 30 * Math.random(), this.y30.gotoAndPlay(this.frame)), isMinigame && (this.ticks = y87, this.ticks += this.animOffset, this.y30.scaleX = this.y30.scaleY = .8 + (Math.cos(this.ticks / 3) / 2 + .5) / 7, this.y209Pos(), this.shadowVis.scaleX = this.shadowVis.scaleY = this.y30.scaleX, this.shadowVis.alpha = 1.8 - this.y30.scaleX))
  10609. };
  10610. n.dispose = function() {
  10611. isArrayContains(allBonuses, this) && allBonuses.splice(allBonuses.indexOf(this, 0), 1);
  10612. y201Bonuses(this);
  10613. this.y30.removeAllEventListeners();
  10614. this.y30.stop();
  10615. y206(this.y30);
  10616. y206(this.shadowVis)
  10617. };
  10618. n.checkActivating = function() {
  10619. this.type !== STAR_TYPE && (getBlockAt(this.cell, this.row) != BLOCK_SPACE_TYPE ? isButtonActivated = this.isActivated = !0 : this.isActivated = !1)
  10620. };
  10621. n.setCollectChance = function(e) {
  10622. this.collectSteps = e
  10623. };
  10624. n.checkCollect = function(e) {
  10625. this.collectSteps <= e && (this.tweenMaxSteps = e, this.isNeedCollect = !0)
  10626. };
  10627. n.startCollectAnim = function(e) {
  10628. this.isNeedCollect && !this.isStarCollected && (this.isStarCollected = !0, levelCollectedStarsNum++, e = e * this.collectSteps / this.tweenMaxSteps + 100, createjs.Tween.get(this.y30).wait(e).call(function(e) {
  10629. y110(e.target, y262);
  10630. playCoinSound()
  10631. }).to({
  10632. alpha: 0,
  10633. y: this.y30.y - 100
  10634. }, 500))
  10635. };
  10636. e.BlockBonus = t
  10637. })(window);
  10638. var map = [],
  10639. FIELD_ROWS = 21,
  10640. FIELD_CELLS = 18,
  10641. CELL_SIZE = 45,
  10642. MARGIN_LEFT = 36,
  10643. MARGIN_TOP = 26,
  10644. ROWS_MARGIN = 7,
  10645. CELLS_MARGIN = 6,
  10646. ROW_FIELD_END = 0,
  10647. CELL_FIELD_END = 0,
  10648. allBlocks = [],
  10649. allHeroes = [],
  10650. disposedBlocks = [],
  10651. isHeroMoving = !1,
  10652. headHero = null,
  10653. y390, y50 = 0,
  10654. isLevelCompleted = !1,
  10655. isDangerCollided = !1,
  10656. levelTotalStarsNum = 0,
  10657. levelCollectedStarsNum = 0,
  10658. shadowContainer;
  10659. var isLevelLoading = !1;
  10660. var lastDir = -1;
  10661. var y345, levely4s = [],
  10662. y208 = 20,
  10663. y70 = 0,
  10664. y126 = 1,
  10665. y138 = 2,
  10666. y94 = 3,
  10667. y369 = 10,
  10668. y322 = 0,
  10669. y371 = 1,
  10670. y200 = [],
  10671. y287 = "MonstersUnion211",
  10672. isStorageSupported = !1;
  10673. var y389 = 0;
  10674. var savedLevel, savesHistoryCount = 0;
  10675. var y375 = [];
  10676. var isMinigame = !1,
  10677. hitObj, minigameTimer, isMinigameFinished = !1;
  10678. var BLACK_CHANCE = .1;
  10679. var coinsCounter = 0,
  10680. launcher, launchSpeedX, launchSpeedY, isCoinsChanged, isLaunched = !1,
  10681. lastUpdate = 0;
  10682. var minigameTime = 0;
  10683. var launchWaitTimer = 0;
  10684. var isAudioSupported = !1,
  10685. isMute = !1;
  10686. var inflateSound;
  10687. var y135;
  10688. var allBonuses = [],
  10689. disposedBonuses = [],
  10690. bonusMap = [];
  10691. var currentBon;
  10692. var y213, y210, y428, y394, y284, isGamePaused, y244;
  10693. var lightsV, skyCont, allClouds, currCloud;
  10694. var menuBgObj;
  10695. var y348, y106, y227, y503, y257;
  10696. var y367, y461, y324, y97, y95, y68, y45;
  10697. var y234, y267, settingsBtn, y347Btn;
  10698. var y184 = "musicoffbtn",
  10699. UNy184 = "musiconbtn";
  10700. var y316, y122, y49, y182, y113 = [],
  10701. y343, y253;
  10702. var y136, y121, moreGamesLvlCompleteBtn, star1, star2, star3, y256, levelCompleteBg;
  10703. var y50StarsNum = 0;
  10704. var y162, y448, y288;
  10705. var y115LogoPos = [0, 0, 2, 2, 2, 0, 0, 0, 0, 2, 0, 2, 2, 14, 0, 0, 2, 14, 19, 2, 0];
  10706. var y212, y66, y469, y508;
  10707. var y120, y176, y424, y378 = [];
  10708. var y67;
  10709. var y341, y405, y282, y142, y333;
  10710. var isGameCompleteScreenShow = !1;
  10711. var y150;
  10712. var minigameContainer, txtMinigameTimer, txtMinigameCoins, timerIcon, coinsIcon;
  10713. var blinkWin;
  10714. var comixCont, comixFrame1, comixFrame2, comixFrame3, comixNextBtn;
  10715. var comixIndex = 0;
  10716. var settingsContainer, settingsQualityBtn, settingsShadowsBtn;
  10717. var stage, y143, canvas, rect, y497, y252, rotationContainer, y262, y494, y366, scaleFactor = 1,
  10718. minW = 320,
  10719. minH = 400,
  10720. ow = minW,
  10721. oh = minH,
  10722. maxW = 356,
  10723. maxH = 600,
  10724. y308 = maxW,
  10725. y463 = 500,
  10726. y332 = minW,
  10727. y52 = minH,
  10728. y237 = 1;
  10729. var isWasPaused = null,
  10730. topVisionLine, zoomFactor = 1;
  10731. var timer;
  10732. var MyGame = {},
  10733. images, y388;
  10734. MyGame.init = function() {
  10735. canvas = document.getElementById("canvas");
  10736. images = images || {};
  10737. y388 = y388 || {};
  10738. stage = new createjs.Stage("canvas");
  10739. y497 = new createjs.Container;
  10740. y497.isRoot = !0;
  10741. y497.width = ow;
  10742. y497.height = oh;
  10743. stage.addChild(y497);
  10744. y318();
  10745. y262 = new createjs.Container;
  10746. y464 = new createjs.Container;
  10747. rotationContainer = new createjs.Container;
  10748. rotationContainer.width = ow;
  10749. rotationContainer.height = oh;
  10750. initResizeManager();
  10751. createjs.Touch.enable(stage, !0);
  10752. isDesktop() && stage.enableMouseOver(15);
  10753. stage.mouseMoveOutside = !0;
  10754. initLoaders();
  10755. stage.update();
  10756. var e = document.getElementById("loader");
  10757. e && e.parentNode && e.parentNode.removeChild(e);
  10758. initSpilApi()
  10759. };
  10760. var isSponsorLogoError = !1;
  10761. var logoConfig, sponsorLogoBitmap, sponsorPreload, sponsorLogoDefWidth = 1,
  10762. sponsorLogoDefHeight = 1,
  10763. sponsorApi, isAllFilesLoaded = !1,
  10764. isLogoReady = !1,
  10765. isGameInited = !1;
  10766. var y420, y152, bar, y163 = 20;
  10767. var y356, y355, y230, isPreloaderLogoReady = !1;
  10768. var y433;
  10769. var y464;
  10770. var mainBg;
  10771. var nameCounter = 0;
  10772. var y111 = 0;
  10773. var y501 = 0,
  10774. y87 = 0,
  10775. y85 = [],
  10776. y327 = 1,
  10777. FPS = 30,
  10778. GAME_FPS = 30,
  10779. defaultDelta = 1e3 / GAME_FPS;
  10780. var y249 = 0,
  10781. y445 = 30,
  10782. isGrowningShake = !1,
  10783. y300 = y445;
  10784. var y304 = [0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0],
  10785. BG_POSTFIX = "",
  10786. mainBgIndex = 0;