123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382 |
- /**
- * Jeeliz Face Filter - https://github.com/jeeliz/jeelizFaceFilter
- *
- * Copyright 2020 WebAR.rocks ( https://webar.rocks )
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- var JEELIZFACEFILTER = (function() {
- window.JEELIZFACEFILTERGEN = function() {
- function Fb(a) {
- var c = null
- , d = null
- , e = null
- , g = 0;
- this.o = function(m) {
- this.Ff(m.pb);
- e.we({
- pc: m.pc,
- mc: m.mc
- })
- }
- ;
- this.Se = function(m) {
- return c[m]
- }
- ;
- this.Ff = function(m) {
- var t = null;
- g = m.length;
- c = m.map(function(p, q) {
- p = Object.assign({}, p, {
- index: q,
- parent: this,
- vb: t,
- ef: q === g - 1
- });
- return t = q = 0 === q ? Gb.instance(p) : Hb.instance(p)
- });
- d = c[0];
- e = c[g - 1];
- c.forEach(function(p, q) {
- 0 !== q && p.vf()
- })
- }
- ;
- this.T = function(m) {
- m.g(0);
- var t = m;
- c.forEach(function(p) {
- t = p.T(t, !1)
- });
- return t
- }
- ;
- this.Re = function() {
- return d.F()
- }
- ;
- this.Vb = function() {
- return e.Ue()
- }
- ;
- this.gd = function() {
- return e.gd()
- }
- ;
- this.m = function() {
- c && (c.forEach(function(m) {
- m.m()
- }),
- e = d = c = null,
- g = 0)
- }
- ;
- "undefined" !== typeof a && this.o(a)
- }
- function eb(a, c) {
- var d = c % 8;
- return a[(c - d) / 8] >> 7 - d & 1
- }
- function Ib(a) {
- var c = JSON.parse(a);
- a = c.ne;
- var d = c.nf
- , e = c.n;
- var g = "undefined" === typeof btoa ? Buffer.from(c.data, "base64").toString("latin1") : atob(c.data);
- var m = g.length;
- c = new Uint8Array(m);
- for (var t = 0; t < m; ++t)
- c[t] = g.charCodeAt(t);
- g = new Float32Array(e);
- m = new Float32Array(d);
- t = a + d + 1;
- for (var p = 0; p < e; ++p) {
- for (var q = t * p, u = 0 === eb(c, q) ? 1 : -1, r = q + 1, A = 1, v = 0, n = r + a - 1; n >= r; --n)
- v += A * eb(c, n),
- A *= 2;
- r = v;
- q = q + 1 + a;
- A = m.length;
- v = 0;
- for (n = q; n < q + A; ++n)
- m[v] = eb(c, n, !0),
- ++v;
- for (A = q = 0; A < d; ++A)
- q += m[A] * Math.pow(2, -A - 1);
- g[p] = 0 === q && 0 === r ? 0 : u * (1 + q) * Math.pow(2, 1 + r - Math.pow(2, a - 1))
- }
- return g
- }
- function Ya() {
- return -1 !== [ia.ready, ia.play, ia.pause].indexOf(na)
- }
- function fb() {
- if (na === ia.play)
- return !1;
- na = ia.play;
- Na.stop();
- rb(0)
- }
- function sb() {
- if (na !== ia.play)
- return !1;
- qa.stop();
- Na.stop();
- na = ia.pause;
- return !0
- }
- function Ea(a, c, d, e, g) {
- a = 4 * (3 * c + a) + d;
- return e + (U.buffer[a] / 255 + U.buffer[a + 12] / 65025) * (g - e)
- }
- function gb() {
- b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !1);
- Ha.Ye()
- }
- function Jb() {
- var a = da.na();
- va.O();
- b.viewport(0, 0, 3, 2 * a);
- D.set("s53");
- U.ta.g(0);
- T.l(!1, !1);
- return aa.xb(0, 0, 3, 2 * a, U.buffer, tb)
- }
- function rb() {
- na !== ia.pause && (ba.isCleanGLStateAtEachIteration && (D.Wc(),
- T.reset(),
- T.va(),
- b.disable(b.DEPTH_TEST),
- b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !1),
- D.Ca()),
- qa.qc(Kb, Jb, Lb, tb, Mb, ba.animateProcessOrder))
- }
- function Kb() {
- va.ca();
- if (!G.kb)
- if (G.jb)
- G.element.needsUpdate && (G.K.Sd(G.element.videoWidth, G.element.videoHeight),
- G.K.Db(G.element.arrayBuffer),
- G.element.needsUpdate = !1);
- else {
- var a = G.element.currentTime
- , c = a - G.wb;
- 0 > c && (G.wb = a,
- c = 0);
- 1E3 * c < ea.Xf || (G.wb += c,
- G.K.refresh())
- }
- a = qa.Te();
- da.update(a, Fa);
- for (c = 0; c < a; ++c) {
- da.Bb(c);
- D.set("s55");
- var d = Fa[da.hd()];
- D.G("u43", 1 + Oa.rc * (Math.cos(d.ry) - 1));
- Q.wa && D.G("u42", d.rz);
- da.Yd("u41");
- Z.Oa.$();
- G.K.g(0);
- U.ta.g(1);
- T.l(!1, !1);
- Pa.T(Z.Oa)
- }
- qa.Bb()
- }
- function tb() {
- va.Uf();
- ba.isCleanGLStateAtEachIteration && (va.reset(),
- X.reset(),
- b.enable(b.DEPTH_TEST));
- Q.Gb && Q.Gb(da.yd() ? Fa : Fa[0]);
- ba.isCleanGLStateAtEachIteration && (b.disable(b.BLEND),
- T.reset(),
- T.va())
- }
- function Lb() {
- for (var a = 0; a < da.na(); ++a)
- if (da.jf(a)) {
- var c = a
- , d = Sa[c]
- , e = [c]
- , g = Fa[c]
- , m = hb[c]
- , t = 2 * c;
- d.Xa = Ea(1, t, 3, 0, 1);
- g.detected = wa.X(g.detected, d.Xa, ea.ee);
- d.x = Ea(0, t, 1, -1, 1);
- d.y = Ea(0, t, 2, -1, 1);
- d.ja = Ea(0, t, 3, 0, 1);
- if (d.Xa < ba.multiDetectionThresholdFactors[0] * ba.threshold)
- d.qa = Math.floor(d.qa / 2),
- Q.wa && (g.rz = 0,
- g.ry = 0);
- else {
- var p = U.Qa;
- d.rx = Ea(1, t, 0, -p[0], p[0]);
- d.ry = Ea(1, t, 1, -p[1], p[1]);
- d.Ra = Ea(1, t, 2, -p[2], p[2]);
- for (p = 0; p < U.Y; ++p)
- d.cd[p] = U.Na[p](Ea(2, t, p, 0, 1));
- t = d.ja * U.Nd;
- e.dx = d.x - g.xRaw;
- e.dy = d.y - g.yRaw;
- e.Pb = t - g.sRaw;
- e.Mb = d.rx - g.rx;
- e.Nb = d.ry - g.ry;
- e.Ob = Q.wa ? d.Ra : d.Ra - g.rz;
- p = qa.Me();
- e = (1 - Za.qb(ra.translationFactorRange[0], ra.translationFactorRange[1], Math.sqrt(e.dx * e.dx + e.dy * e.dy + e.Pb * e.Pb) / p)) * (1 - Za.qb(ra.rotationFactorRange[0], ra.rotationFactorRange[1], Math.sqrt(e.Mb * e.Mb + e.Nb * e.Nb + e.Ob * e.Ob) / p)) * Za.qb(ra.qualityFactorRange[0], ra.qualityFactorRange[1], d.Xa);
- c = m[++ib[c] % m.length] = e;
- for (p = 0; p < m.length; ++p)
- c = Math.min(c, m[p]);
- c = Math.max(.5, c);
- e = Math.min(c, e);
- m = wa.X(ra.alphaRange[1], ra.alphaRange[0], Math.pow(e, ea.ge));
- g.xRaw = wa.X(g.xRaw, d.x, m);
- g.yRaw = wa.X(g.yRaw, d.y, m);
- g.sRaw = wa.X(g.sRaw, t, m);
- g.rx = wa.X(g.rx, d.rx, m);
- g.ry = wa.X(g.ry, d.ry, m);
- g.rz = Q.wa ? g.rz + ra.followZRotAlphaFactor * m * d.Ra : wa.X(g.rz, d.Ra, m);
- c = g.sRaw * Oa.Lb * Math.sin(g.ry);
- t = Math.sin(g.rz) * c / Qa;
- g.x = g.xRaw + Math.cos(g.rz) * c;
- g.y = g.yRaw + t;
- g.s = g.sRaw;
- m = Math.max(m, ea.fe);
- for (c = 0; c < U.Y; ++c)
- g.expressions[c] = wa.X(g.expressions[c], d.cd[c], m);
- ++d.qa
- }
- }
- }
- function Mb() {
- na === ia.play && Na.qc(rb)
- }
- function ub() {
- Z.Oa = X.instance({
- isPot: !0,
- isFloat: !1,
- width: Pa.Re()
- });
- var a = {
- width: ea.Vd,
- height: da.na(),
- isFloat: !0,
- isPot: !1,
- array: da.Ce(new Float32Array([0, .5, .5, 0, 0, 0, 0, 0, 0, 0, 0, 0]))
- };
- U.ta = Nb.instance(a)
- }
- function jb() {
- D.S("s55", [{
- type: "1i",
- name: "u1",
- value: 0
- }, {
- type: "1i",
- name: "u39",
- value: 1
- }, {
- type: "2f",
- name: "u40",
- value: Z.D
- }, {
- type: "1f",
- name: "u41",
- value: .5
- }, {
- type: "1f",
- name: "u42",
- value: 0
- }]);
- D.S("s56", [{
- type: "1i",
- name: "u44",
- value: 0
- }, {
- type: "1i",
- name: "u39",
- value: 1
- }, {
- type: "1f",
- name: "u47",
- value: ea.Sf
- }, {
- type: "1f",
- name: "u48",
- value: ba.threshold
- }, {
- type: "3f",
- name: "u46",
- value: [U.N[0] * Z.D[0], U.N[1] * Z.D[1], U.N[2]]
- }, {
- type: "1f",
- name: "u41",
- value: .5
- }, {
- type: "1f",
- name: "u49",
- value: 1
- }, {
- type: "1f",
- name: "u42",
- value: 0
- }]);
- var a = [{
- type: "1i",
- name: "u44",
- value: 0
- }];
- D.S("s57", a);
- D.S("s58", a);
- D.S("s53", [{
- type: "1i",
- name: "u39",
- value: 0
- }, {
- type: "1f",
- name: "u52",
- value: Z.D[0]
- }, {
- type: "2f",
- name: "u51",
- value: [0, .5 / da.na()]
- }])
- }
- function kb() {
- Z.D[0] = 1;
- Z.D[1] = Z.C / Z.L;
- vb.o({
- ub: ba.overlapFactors,
- Ed: ba.nScaleLevels,
- C: Z.C,
- L: Z.L,
- Md: ba.scale0Factor,
- N: U.N,
- Od: ba.scanCenterFirst
- })
- }
- function Ob(a) {
- if (Q.Fa)
- wb("string" === typeof Q.Fa ? JSON.parse(Q.Fa) : Q.Fa, a);
- else {
- var c = Q.Gc;
- "JSON" !== c.toUpperCase().split(".").pop() && (c += ea.neuralNetworkPath);
- $a.get(c, function(d) {
- d = JSON.parse(d);
- wb(d, a)
- })
- }
- }
- function wb(a, c) {
- if (a.exportData) {
- var d = a.exportData;
- d.rotationEulerAnglesFactors && (U.Qa = d.rotationEulerAnglesFactors);
- if (d.translationScalingFactors) {
- var e = d.translationScalingFactors
- , g = ba.translationScalingFactors;
- U.N[0] = e[0] * g[0];
- U.N[1] = e[1] * g[1];
- U.N[2] = e[2] * g[2]
- }
- "undefined" !== typeof d.nExpressions && (U.Y = d.nExpressions);
- U.Nd = d.dsMean ? 1 + d.dsMean : 1;
- Oa.rc = .4;
- Oa.Lb = .7;
- "undefined" !== typeof d.fgScaleXFactor && (Oa.rc = d.fgScaleXFactor);
- "undefined" !== typeof d.fgDisplaceXFactor && (Oa.Lb = d.fgDisplaceXFactor)
- }
- U.Y || (U.Y = ea.Dd);
- if (!U.Na)
- for (U.Na = [],
- d = 0; d < U.Y; ++d)
- U.Na.push(ea.Ge);
- c(a)
- }
- function Pb() {
- if (Ha.o({
- Wa: Q.da,
- width: Z.C,
- height: Z.L,
- debug: !1,
- lc: function() {
- Ia("GLCONTEXT_LOST")
- },
- antialias: Q.antialias,
- premultipliedAlpha: !0
- }))
- return !0;
- Ia("GL_INCOMPATIBLE");
- return !1
- }
- function Qb() {
- var a = da.hd()
- , c = Fa[a];
- U.ta.Df(1);
- b.viewport(0, a, 1, 1);
- D.set("s56");
- Q.wa && D.G("u42", c.rz);
- da.Yd("u41");
- var d = 1
- , e = da.Nf(Sa, Z.C / Z.L);
- da.yd() && (e && (d = 0,
- Sa[a].qa = 0,
- c.isDetected = !1,
- c.detected = 0),
- D.G("u49", d));
- D.Jf("u45", vb.get(a));
- T.l(!1, !1);
- if (da.xd() || e)
- b.viewport(1, a, 1, 1),
- D.set("s57"),
- D.G("u49", d),
- T.l(!1, !1);
- da.xd() && (b.viewport(2, a, 1, 1),
- D.set("s58"),
- T.l(!1, !1));
- U.ta.sync()
- }
- function xb() {
- G.K && G.K.remove();
- G.jb = G.element.isFakeVideo ? !0 : !1;
- if (G.jb) {
- var a = yb();
- a = {
- isFlipY: !1,
- array: G.element.arrayBuffer,
- width: a.w,
- height: a.ya,
- isKeepArray: !0
- }
- } else
- a = {
- H: G.element
- };
- G.vc = X.instance(Object.assign({
- isPot: !1,
- isLinear: !0,
- isFloat: !1
- }, a));
- G.K = G.vc
- }
- function Ja() {
- var a = [{
- type: "mat2",
- name: "u38",
- value: G.v
- }];
- D.S("s54", [{
- type: "1i",
- name: "u1",
- value: 0
- }].concat(a));
- D.S("s55", a)
- }
- function Ka() {
- var a = [.5, .5]
- , c = G.D[1] / G.D[0];
- Qa = Ha.U() / Ha.F();
- 90 === Math.abs(pa.rotate) && (c = 1 / c);
- c > Qa ? a[1] *= Qa / c : a[0] *= c / Qa;
- D.S("s56", [{
- name: "u50",
- type: "1f",
- value: Qa
- }]);
- G.v[0] = 0;
- G.v[1] = 0;
- G.v[2] = 0;
- G.v[3] = 0;
- switch (pa.rotate) {
- case 0:
- G.v[0] = a[0];
- G.v[3] = a[1];
- break;
- case 180:
- G.v[0] = -a[0];
- G.v[3] = -a[1];
- break;
- case 90:
- G.v[1] = a[0];
- G.v[2] = -a[1];
- break;
- case -90:
- G.v[1] = -a[0],
- G.v[2] = a[1]
- }
- pa.flipX && (G.v[0] *= -1,
- G.v[2] *= -1);
- G.kb || (G.v[1] *= -1,
- G.v[3] *= -1)
- }
- function yb() {
- var a = {
- w: G.element.videoWidth || G.element.width,
- ya: G.element.videoHeight || G.element.height
- };
- if (!a.w || !a.ya || 4 > a.w || 4 > a.ya)
- throw Error("INVALID VIDEO DIMENSIONS - width = " + a.w + " height = " + a.ya);
- return a
- }
- function lb() {
- var a = yb()
- , c = G.D[0] !== a.w || G.D[1] !== a.ya;
- c && (G.D[0] = a.w,
- G.D[1] = a.ya);
- return c
- }
- function ab(a, c) {
- if (na === ia.error)
- return !1;
- G.element = a;
- lb();
- c && c();
- return !0
- }
- function zb(a, c, d) {
- a && a();
- G.Ka = {
- video: {
- facingMode: {
- exact: pa.facingMode
- },
- width: {
- min: pa.minWidth,
- max: pa.maxWidth,
- ideal: pa.idealWidth
- },
- height: {
- min: pa.minHeight,
- max: pa.maxHeight,
- ideal: pa.idealHeight
- }
- },
- audio: !1
- };
- V.Ic(G.Ka, pa.deviceId);
- V.get(G.element ? G.element : V.ld(), function(e) {
- c && c(e);
- d(e)
- }, function() {
- Ia("WEBCAM_UNAVAILABLE")
- }, G.Ka)
- }
- function Ia(a) {
- na !== ia.error && (na = ia.error,
- Q.Ja && Q.Ja(a))
- }
- var wa = {
- Wg: function(a) {
- return Math.ceil(Math.log2(a))
- },
- sh: function(a) {
- return Math.log2(a)
- },
- oh: function(a) {
- return 0 === Math.log2(a) % 1
- },
- hg: function(a) {
- var c = [0, 0, 0, 0];
- a.forEach(function(d) {
- c[0] += d[0];
- c[1] += d[1];
- c[2] += d[2];
- c[3] += d[3]
- });
- return c
- },
- ig: function(a, c, d) {
- return Math.min(Math.max(a, c), d)
- },
- lg: function(a) {
- return a * Math.PI / 180
- },
- yh: function(a, c) {
- c = Math.pow(10, c);
- return Math.round(a * c) / c
- },
- zh: function(a) {
- return Math.round(1E6 * a) / 1E6
- },
- Xg: function(a, c) {
- return (100 * a / c).toFixed(3)
- },
- X: function(a, c, d) {
- return a * (1 - d) + c * d
- },
- th: function(a, c) {
- return a[0] * (1 - c) + a[1] * c
- },
- Ae: function(a, c) {
- return wa.se(a - c)
- },
- se: function(a) {
- for (; a > Math.PI; )
- a -= 2 * Math.PI;
- for (; a <= -Math.PI; )
- a += 2 * Math.PI;
- return a
- },
- qg: function(a, c) {
- return Math.abs(wa.Ae(a, c))
- },
- Yf: function(a, c) {
- return Math.atan2(Math.sin(a) + Math.sin(c), Math.cos(a) + Math.cos(c))
- }
- }
- , $a = {
- get: function(a, c, d) {
- var e = new XMLHttpRequest;
- e.open("GET", a, !0);
- e.withCredentials = !1;
- e.onreadystatechange = function() {
- 4 === e.readyState && (200 === e.status || 0 === e.status ? c(e.responseText) : "undefined" !== typeof d && d(e.status))
- }
- ;
- e.send()
- },
- Ve: function(a) {
- return new Promise(function(c, d) {
- $a.get(a, c, d)
- }
- )
- },
- Tg: function(a, c, d) {
- a += d ? "?" + $a.Ee(d) : "";
- $a.get(a, function(e) {
- c(JSON.parse(e))
- })
- },
- vh: function(a, c, d) {
- var e = new XMLHttpRequest;
- e.open("POST", a, !0);
- e.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- e.onreadystatechange = function() {
- 4 !== e.readyState || 200 !== e.status && 0 !== e.status || d(e.responseText)
- }
- ;
- e.send(c)
- },
- Ee: function(a) {
- return "string" === typeof a ? a : Object.keys(a).map(function(c) {
- return encodeURIComponent(c) + "=" + encodeURIComponent(a[c])
- }).join("&")
- },
- Hg: function(a, c) {
- var d = new XMLHttpRequest;
- d.open("POST", a, !0);
- d.responseType = "arraybuffer";
- d.onload = function() {
- c(d.response)
- }
- ;
- d.send()
- }
- }
- , Rb = {
- create: function(a, c) {
- for (var d = Array(c), e = 0; e < c; ++e)
- d[e] = a;
- return d
- },
- mg: function(a, c) {
- for (var d = 0; d < a.length; ++d)
- c[d] = a[d]
- },
- clone: function(a) {
- for (var c = Array(a.length), d = 0; d < a.length; ++d)
- c[d] = a[d];
- return c
- },
- Ch: function(a, c, d) {
- a.forEach(function(e, g) {
- c[g] = e * d
- })
- },
- Lh: function(a) {
- for (var c = a.length - 1; 0 < c; --c) {
- var d = Math.floor(Math.random() * (c + 1))
- , e = a[c];
- a[c] = a[d];
- a[d] = e
- }
- },
- Nh: function(a) {
- return a.sort(function(c, d) {
- return c - d
- })
- },
- Rf: function(a) {
- return Array.isArray(a) || a.constructor === Float32Array || a.constructor === Uint8Array
- }
- }
- , mb = {
- Jb: function(a, c) {
- if (0 === c || "object" !== typeof a)
- return a;
- a = Object.assign({}, a);
- c = void 0 === c || -1 === c ? -1 : c - 1;
- for (var d in a)
- a[d] = mb.Jb(a[d], c);
- return a
- },
- pg: function(a) {
- return JSON.parse(JSON.stringify(a))
- }
- }
- , Za = {
- Mh: function(a, c, d) {
- a = Math.min(Math.max((d - a) / (c - a), 0), 1);
- return a * a * (3 - 2 * a)
- },
- qb: function(a, c, d) {
- return Math.min(Math.max((d - a) / (c - a), 0), 1)
- },
- Bg: function(a, c, d, e) {
- return Math.pow(Math.min(Math.max((e - a) / (c - a), 0), 1), d)
- },
- Rh: function() {
- return 0
- },
- uh: function() {
- return 1
- },
- rh: function(a) {
- return a
- },
- yg: function(a) {
- return a * a
- },
- Dg: function(a) {
- return a * (2 - a)
- },
- vg: function(a) {
- return .5 > a ? 2 * a * a : -1 + (4 - 2 * a) * a
- },
- tg: function(a) {
- return a * a * a
- },
- Cg: function(a) {
- return --a * a * a + 1
- },
- ug: function(a) {
- return .5 > a ? 4 * a * a * a : (a - 1) * (2 * a - 2) * (2 * a - 2) + 1
- },
- zg: function(a) {
- return a * a * a * a
- },
- Eg: function(a) {
- return 1 - --a * a * a * a
- },
- wg: function(a) {
- return .5 > a ? 8 * a * a * a * a : 1 - 8 * --a * a * a * a
- },
- Ag: function(a) {
- return a * a * a * a * a
- },
- Fg: function(a) {
- return 1 + --a * a * a * a * a
- },
- xg: function(a) {
- return .5 > a ? 16 * a * a * a * a * a : 1 + 16 * --a * a * a * a * a
- }
- }
- , Sb = {
- Ie: function(a, c, d) {
- switch (a) {
- case "relu":
- return d + "=max(vec4(0.,0.,0.,0.)," + c + ");";
- case "elu":
- return d + "=mix(exp(-abs(" + c + "))-vec4(1.,1.,1.,1.)," + c + ",step(0.," + c + "));";
- case "elu01":
- return d + "=mix(0.1*exp(-abs(" + c + "))-vec4(0.1,0.1,0.1,0.1)," + c + ",step(0.," + c + "));";
- case "arctan":
- return d + "=atan(3.14159265359*texture2D(u0,vUV))/3.14159265359;";
- case "copy":
- return "";
- default:
- return !1
- }
- }
- }
- , D = function() {
- function a(x, f, z) {
- f = x.createShader(f);
- x.shaderSource(f, z);
- x.compileShader(f);
- return x.getShaderParameter(f, x.COMPILE_STATUS) ? f : !1
- }
- function c(x, f, z) {
- f = a(x, x.VERTEX_SHADER, f);
- z = a(x, x.FRAGMENT_SHADER, z);
- x === b && p.push(f, z);
- var I = x.createProgram();
- x.attachShader(I, f);
- x.attachShader(I, z);
- x.linkProgram(I);
- return I
- }
- function d(x) {
- return ["float", "sampler2D", "int"].map(function(f) {
- return "precision " + x + " " + f + ";\n"
- }).join("")
- }
- function e(x, f) {
- f.B = f.B ? !0 : !1;
- if (!f.B) {
- f.ua = f.ua || "precision lowp float;attribute vec2 a0;varying vec2 vv0;void main(){gl_Position=vec4(a0,0.,1.),vv0=a0*.5+vec2(.5,.5);}";
- f.Va = f.Va || ["a0"];
- f.Ha = f.Ha || [2];
- f.precision = f.precision || v;
- f.id = r++;
- void 0 !== f.Qd && (f.Qd.forEach(function(h, C) {
- f.h = f.h.replace(h, f.yb[C])
- }),
- f.Qd.splice(0));
- f.Cc = 0;
- f.Ha.forEach(function(h) {
- f.Cc += 4 * h
- });
- var z = d(f.precision);
- f.ra = c(x, z + f.ua, z + f.h);
- f.A = {};
- f.i.forEach(function(h) {
- f.A[h] = x.getUniformLocation(f.ra, h)
- });
- f.attributes = {};
- f.Ia = [];
- f.Va.forEach(function(h) {
- var C = x.getAttribLocation(f.ra, h);
- f.attributes[h] = C;
- f.Ia.push(C)
- });
- if (f.j) {
- x.useProgram(f.ra);
- u = f;
- q = f.id;
- for (var I in f.j)
- x.uniform1i(f.A[I], f.j[I])
- }
- f.pa = !0
- }
- }
- function g(x) {
- xa.If(N);
- q !== x.id && (N.P(),
- q = x.id,
- u = x,
- b.useProgram(x.ra),
- x.Ia.forEach(function(f) {
- 0 !== f && b.enableVertexAttribArray(f)
- }))
- }
- function m(x, f, z) {
- e(x, f, z);
- x.useProgram(f.ra);
- x.enableVertexAttribArray(f.attributes.a0);
- q = -1;
- return u = f
- }
- function t() {
- return {
- h: "uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",
- i: ["u1"],
- j: {
- u1: 0
- }
- }
- }
- var p = []
- , q = -1
- , u = null
- , r = 0
- , A = !1
- , v = "highp"
- , n = ["u1"]
- , y = ["u0"]
- , E = {
- u1: 0
- }
- , k = {
- u0: 0
- }
- , M = {
- u1: 0,
- u2: 1
- }
- , H = {
- u3: 0
- }
- , l = {
- s0: t(),
- s1: {
- h: "uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",
- i: n,
- j: E,
- precision: "lowp"
- },
- s2: {
- h: "uniform sampler2D u1,u2;varying vec2 vv0;void main(){vec4 a=texture2D(u2,vv0),b=texture2D(u1,vv0);gl_FragColor=a*b;}",
- i: ["u1", "u2"],
- j: M
- },
- s3: {
- h: "uniform sampler2D u1;uniform vec2 u4,u5;varying vec2 vv0;void main(){vec2 a=vv0*u4+u5;gl_FragColor=texture2D(u1,a);}",
- i: ["u1", "u4", "u5"],
- j: E,
- B: !0
- },
- s4: {
- h: "uniform sampler2D u1;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=a.r*f;}",
- i: n,
- j: E
- },
- s5: {
- h: "uniform sampler2D u1,u2;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u2,vv0),b=texture2D(u1,vv0);gl_FragColor=a.a*b.r*f;}",
- i: ["u1", "u2"],
- j: M
- },
- s6: {
- h: "uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vec2(1.-vv0.x,vv0.y));}",
- i: n,
- j: E
- },
- s7: {
- h: "uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vec2(vv0.x,1.-vv0.y));}",
- i: n,
- j: E
- },
- s8: {
- h: "uniform sampler2D u0;uniform float u4;varying vec2 vv0;void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=a*u4;}",
- i: ["u0", "u4"],
- j: k
- },
- s9: {
- h: "uniform sampler2D u0;uniform float u4;varying vec2 vv0;const vec4 f=vec4(.25,.25,.25,.25),g=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0);float b=dot(a*u4,f);gl_FragColor=b*g;}",
- i: ["u0", "u4"],
- j: k
- },
- s10: {
- h: "uniform sampler2D u1;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.);void main(){float a=.25*dot(e,texture2D(u1,vv0));gl_FragColor=a*e;}",
- i: n,
- j: E
- },
- s11: {
- h: "uniform sampler2D u1,u6;uniform float u7;const vec4 f=vec4(1.,1.,1.,1.);varying vec2 vv0;void main(){vec4 a=texture2D(u1,vv0),b=texture2D(u6,vv0);gl_FragColor=mix(b,a,u7*f);}",
- i: ["u1", "u6", "u7"],
- j: {
- u1: 0,
- u6: 1
- }
- },
- s12: {
- h: "uniform sampler2D u1;uniform vec2 u8;varying vec2 vv0;void main(){gl_FragColor=.25*(texture2D(u1,vv0+u8)+texture2D(u1,vv0+u8*vec2(1.,-1.))+texture2D(u1,vv0+u8*vec2(-1.,-1.))+texture2D(u1,vv0+u8*vec2(-1.,1.)));}",
- i: ["u1", "u8"],
- j: E
- },
- s13: {
- h: "uniform sampler2D u1;uniform vec4 u9;varying vec2 vv0;float g(float a,float b){a=floor(a)+.5;return floor(a/exp2(b));}float h(float a,float b){return floor(a*exp2(b)+.5);}float i(float a,float b){return mod(a,h(1.,b));}float e(float c,float a,float b){a=floor(a+.5),b=floor(b+.5);return i(g(c,a),b-a);}vec4 j(float a){if(a==0.)return vec4(0.,0.,0.,0.);float k=128.*step(a,0.);a=abs(a);float c=floor(log2(a)),l=c+127.,b=(a/exp2(c)-1.)*8388608.,d=l/2.,m=fract(d)*2.,n=floor(d),o=e(b,0.,8.),p=e(b,8.,16.),q=m*128.+e(b,16.,23.),r=k+n;return vec4(o,p,q,r)/255.;}void main(){float a=dot(texture2D(u1,vv0),u9);gl_FragColor=j(a);}",
- i: ["u1", "u9"],
- j: E
- },
- s14: {
- h: "uniform sampler2D u0;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),b=e/(e+exp(-a));gl_FragColor=b;}",
- i: y,
- j: k,
- B: !0
- },
- s15: {
- h: "uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(0.,0.,0.,0.);void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=max(f,a);}",
- i: y,
- j: k
- },
- s16: {
- h: "uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=mix(exp(-abs(a))-f,a,step(0.,a));}",
- i: y,
- j: k
- },
- s17: {
- h: "uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),b=exp(-abs(a))-f;gl_FragColor=mix(.1*b,a,step(0.,a));}",
- i: y,
- j: k
- },
- s18: {
- h: "uniform sampler2D u0,u7,u10;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),c=texture2D(u7,vv0),d=texture2D(u10,vv0),b=a/d;gl_FragColor=c*mix(exp(-abs(b))-f,b,step(0.,a));}",
- i: ["u0", "u7", "u10"],
- j: {
- u0: 0,
- u7: 1,
- u10: 2
- },
- B: !0
- },
- s19: {
- h: "uniform sampler2D u0;const float e=3.141593;varying vec2 vv0;void main(){gl_FragColor=atan(e*texture2D(u0,vv0))/e;}",
- i: y,
- j: k
- },
- s20: {
- h: "uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),b=log(f+a);gl_FragColor=b;}",
- i: y,
- j: k,
- B: !0
- },
- s21: {
- h: "uniform sampler2D u0,u11;uniform float u12;const vec2 e=vec2(.5,.5);const float f=1e-5;const vec4 g=vec4(1.,1.,1.,1.),i=vec4(0.,0.,0.,0.);varying vec2 vv0;void main(){vec4 a=texture2D(u11,e);float b=u12*u12;vec4 c=max(b*a,f*g);gl_FragColor=texture2D(u0,vv0)/c;}",
- i: ["u0", "u11", "u12"],
- j: {
- u0: 0,
- u11: 1
- },
- B: !0
- },
- s22: {
- h: "uniform sampler2D u1;uniform vec2 u13;varying vec2 vv0;void main(){float a=u13.x*u13.y;vec2 b=floor(vv0*a)/a,c=fract(vv0*a),d=floor(b*u13.y),f=floor(u13.x*fract(b*u13.y)),g=(f*u13.y+d)/a;gl_FragColor=texture2D(u1,g+c/a);}",
- i: ["u1", "u13"],
- j: E
- },
- s23: {
- h: "uniform sampler2D u14,u15,u16;varying vec2 vv0;void main(){vec4 a=texture2D(u16,vv0);vec2 b=a.rg,c=a.ba;vec4 d=texture2D(u14,b),f=texture2D(u15,c);gl_FragColor=d*f;}",
- i: ["u14", "u15", "u16"],
- j: {
- u15: 0,
- u14: 1,
- u16: 2
- },
- B: !0
- },
- s24: {
- h: "uniform float u17;uniform sampler2D u14,u15;varying vec2 vv0;void main(){vec2 a=fract(vv0*u17);vec4 b=texture2D(u14,vv0),c=texture2D(u15,a);gl_FragColor=b*c;}",
- i: ["u15", "u14", "u17"],
- j: {
- u15: 0,
- u14: 1
- }
- },
- s25: {
- h: "uniform float u17;uniform sampler2D u14,u15,u18,u19,u20,u21;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.),g=vec4(1e-3,1e-3,1e-3,1e-3);void main(){vec2 h=vv0*u17,l=floor(h),c=h-l;vec4 m=texture2D(u14,vv0),d=texture2D(u15,c),a=texture2D(u21,vv0);a=a*255.;vec4 n=texture2D(u18,c),o=texture2D(u19,c),p=texture2D(u20,c),i=step(-g,-a),b=e-i,j=b*step(-e-g,-a);b*=e-j;vec4 k=b*step(-2.*e-g,-a);b*=e-k;vec4 q=b;d=i*d+j*n+k*o+q*p,gl_FragColor=m*d;}",
- i: "u14 u15 u17 u21 u18 u19 u20".split(" "),
- j: {
- u15: 0,
- u14: 1,
- u21: 3,
- u18: 4,
- u19: 5,
- u20: 6
- },
- B: !0
- },
- s26: {
- h: "uniform sampler2D u14,u15,u22;uniform float u17,u23,u24,u25;varying vec2 vv0;const vec2 j=vec2(1.,1.),k=vec2(0.,0.);void main(){vec2 b=floor(u23*vv0),c=u23*vv0-b;float d=u17/u23;vec2 f=floor(c*d),g=c*d-f,h=(b+g)/u23;float l=u23*u25/u17;vec2 m=l*f,a=(m+g*u24)/u25;a+=.25/u25;vec2 i=step(a,j)*step(k,a);vec4 n=texture2D(u14,h),o=texture2D(u15,a),p=n*o,q=texture2D(u22,h);gl_FragColor=(p*u24*u24+q)*i.x*i.y;}",
- i: "u14 u15 u17 u23 u24 u25 u22".split(" "),
- j: {
- u15: 0,
- u14: 1,
- u22: 2
- }
- },
- s27: {
- h: "uniform sampler2D u14,u15;varying vec2 vv0;void main(){vec4 a=texture2D(u14,vv0),b=texture2D(u15,vv0);gl_FragColor=a*b;}",
- i: ["u14", "u15"],
- j: {
- u15: 0,
- u14: 1
- },
- B: !0
- },
- s28: {
- h: "uniform sampler2D u1,u22;uniform float u26;varying vec2 vv0;void main(){gl_FragColor=texture2D(u22,vv0)+u26*texture2D(u1,vv0);}",
- i: ["u1", "u22", "u26"],
- j: {
- u1: 0,
- u22: 1
- }
- },
- s29: {
- h: "varying vec2 vv0;uniform sampler2D u1;const vec4 f=vec4(1.,1.,1.,1.),g=vec4(.299,.587,.114,0.);void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=dot(a,g)*f;}",
- i: n,
- j: E,
- precision: "lowp"
- },
- s30: {
- h: "varying vec2 vv0;uniform sampler2D u1;uniform float u27;const vec3 f=vec3(.299,.587,.114);void main(){vec3 a=texture2D(u1,vv0).rgb,b=texture2D(u1,vv0+vec2(0.,u27)).rgb,c=texture2D(u1,vv0+vec2(u27,u27)).rgb,d=texture2D(u1,vv0+vec2(u27,0.)).rgb;gl_FragColor=vec4(dot(a,f),dot(b,f),dot(c,f),dot(d,f));}",
- i: ["u1", "u27"],
- j: E,
- precision: "lowp"
- },
- s31: {
- h: "varying vec2 vv0;uniform sampler2D u1;uniform float u27;const vec3 f=vec3(.299,.587,.114);void main(){vec3 a=texture2D(u1,vv0).rgb,b=texture2D(u1,vv0+vec2(0.,u27)).rgb,c=texture2D(u1,vv0+vec2(u27,u27)).rgb,d=texture2D(u1,vv0+vec2(u27,0.)).rgb;gl_FragColor=vec4(a.r,b.g,c.b,dot(d,f));}",
- i: ["u1", "u27"],
- j: E,
- precision: "lowp"
- },
- s32: {
- h: "varying vec2 vv0;uniform sampler2D u1,u2;uniform float u28;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=vec4(0.);a-=texture2D(u1,vec2(vv0.x-u28,vv0.y-u28))*1.,a-=texture2D(u1,vec2(vv0.x-u28,vv0.y))*2.,a-=texture2D(u1,vec2(vv0.x-u28,vv0.y+u28))*1.,a+=texture2D(u1,vec2(vv0.x+u28,vv0.y-u28))*1.,a+=texture2D(u1,vec2(vv0.x+u28,vv0.y))*2.,a+=texture2D(u1,vec2(vv0.x+u28,vv0.y+u28))*1.;vec4 b=vec4(0.);b-=texture2D(u1,vec2(vv0.x-u28,vv0.y-u28))*1.,b-=texture2D(u1,vec2(vv0.x,vv0.y-u28))*2.,b-=texture2D(u1,vec2(vv0.x+u28,vv0.y-u28))*1.,b+=texture2D(u1,vec2(vv0.x-u28,vv0.y+u28))*1.,b+=texture2D(u1,vec2(vv0.x,vv0.y+u28))*2.,b+=texture2D(u1,vec2(vv0.x+u28,vv0.y+u28))*1.;vec3 c=sqrt(a.rgb*a.rgb+b.rgb*b.rgb);vec4 e=vec4(c,texture2D(u1,vv0).a),g=texture2D(u2,vv0);gl_FragColor=g.a*e.r*f;}",
- i: ["u1", "u2", "u28"],
- j: M,
- B: !0
- },
- s33: {
- h: "varying vec2 vv0;uniform sampler2D u1,u2;uniform float u28;const vec4 j=vec4(1.,1.,1.,1.);const vec2 k=vec2(1.,1.);void main(){float h=0.;vec2 l=k*u28,a,b;float c,d,i=0.;for(float e=-4.;e<=4.;e+=1.)for(float f=-4.;f<=4.;f+=1.)a=vec2(e,f),c=length(a)/2.,d=exp(-c*c),b=vv0+l*a,h+=d*texture2D(u1,b).r,i+=d;vec4 m=texture2D(u2,vv0);gl_FragColor=m.a*(texture2D(u1,b).r-h/i)*j;}",
- i: ["u1", "u2", "u28"],
- j: M,
- B: !0
- },
- s34: {
- h: "uniform sampler2D u3;uniform vec2 u8;varying vec2 vv0;vec4 e(vec4 a,vec4 b){vec4 c=step(a,b);return mix(a,b,c);}const vec2 g=vec2(.5,.5),h=vec2(1.,0.),i=vec2(0.,1.);void main(){vec2 a=vv0-u8*g;vec4 b=texture2D(u3,a),c=texture2D(u3,a+u8*h),d=texture2D(u3,a+u8*i),j=texture2D(u3,a+u8),k=e(b,c),l=e(d,j);gl_FragColor=e(k,l);}",
- i: ["u3", "u8"],
- j: H
- },
- s35: {
- h: "uniform sampler2D u3;uniform vec2 u8;varying vec2 vv0;const vec2 k=vec2(1.,0.),l=vec2(0.,1.),m=vec2(2.,0.),n=vec2(0.,2.);vec4 e(vec4 a,vec4 b){vec4 c=step(a,b);return mix(a,b,c);}vec4 f(vec2 a){vec4 b=texture2D(u3,a),c=texture2D(u3,a+u8*k),d=texture2D(u3,a+u8*l),g=texture2D(u3,a+u8),h=e(b,c),i=e(d,g);return e(h,i);}void main(){vec2 a=vv0+u8*vec2(-.55,-1.05);vec4 b=f(a),c=f(a+u8*m),d=f(a+u8*2.),g=f(a+u8*n),h=e(b,c),i=e(d,g);gl_FragColor=e(h,i);}",
- i: ["u3", "u8"],
- j: H,
- B: !0
- },
- s36: {
- h: "uniform sampler2D u1;varying vec2 vv0;void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=a*a;}",
- i: ["u1"],
- j: E,
- precision: "lowp",
- B: !0
- },
- s37: {
- h: "uniform sampler2D u1;uniform vec2 u8;varying vec2 vv0;const float e=15444.;void main(){vec4 a=1001./e*texture2D(u1,vv0-3.*u8)+2002./e*texture2D(u1,vv0-2.*u8)+3003./e*texture2D(u1,vv0-u8)+3432./e*texture2D(u1,vv0)+3003./e*texture2D(u1,vv0+u8)+2002./e*texture2D(u1,vv0+2.*u8)+1001./e*texture2D(u1,vv0+3.*u8);gl_FragColor=a;}",
- i: ["u8", "u1"],
- j: E,
- precision: "lowp",
- B: !0
- },
- s38: {
- h: "uniform sampler2D u1,u11,u29;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);const float g=.1;void main(){vec4 a=texture2D(u11,vv0),b=texture2D(u29,vv0),c=texture2D(u1,vv0),d=max(f*g,b-a*a),h=sqrt(d);gl_FragColor=(c-a)/h;}",
- i: ["u1", "u11", "u29"],
- j: {
- u1: 0,
- u11: 1,
- u29: 2
- },
- B: !0
- }
- }
- , J = {
- s39: {
- h: "uniform float u17,u30;uniform sampler2D u14,u15,u22;varying vec2 vv0;const vec2 ZERO2=vec2(0.,0.),ONE2=vec2(1.,1.),HALF2=vec2(.5,.5),EPS2=vec2(1e-5,1e-5);void main(){vec4 sum=texture2D(u22,vv0);float toSparsity=1.1111;vec2 uvFrom,uvWeight,xyPatch=ZERO2,eps2=EPS2/u17,xyTo=floor(vv0*u17+eps2);float weightSize=toSparsity*u17;vec2 halfFromSparsity=ONE2*(toSparsity-1.)/2.;for(float patch_x=0.;patch_x<1.1111;patch_x+=1.){xyPatch.x=patch_x;for(float patch_y=0.;patch_y<1.1111;patch_y+=1.)xyPatch.y=patch_y,uvFrom=(xyTo+HALF2+u30*(xyPatch-halfFromSparsity))/u17,uvFrom+=step(uvFrom,-eps2),uvFrom-=step(ONE2-eps2,uvFrom),uvWeight=(xyTo*toSparsity+xyPatch+HALF2)/weightSize,sum+=texture2D(u14,uvWeight)*texture2D(u15,uvFrom);}gl_FragColor=sum,gl_FragColor*=2.2222;}",
- i: ["u17", "u14", "u15", "u22", "u30"],
- yb: ["1.1111", "gl_FragColor\\*=2.2222;"]
- },
- s40: {
- h: "uniform float u17,u30,u25;uniform sampler2D u14,u15,u22;varying vec2 vv0;const vec2 ZERO2=vec2(0.,0.),ONE2=vec2(1.,1.),HALF2=vec2(.5,.5),EPS2=vec2(1e-4,1e-4);void main(){vec4 sum=texture2D(u22,vv0);float fromSparsity=1.1111,shrinkFactor=3.3333;vec2 uvFrom,uvWeight,xyFrom,xyPatchTo,xyPatch=ZERO2,xyShrink=ZERO2,eps2=EPS2/u25,xyTo=floor(vv0*u17+eps2);float weightSize=fromSparsity*u25;vec2 halfFromSparsity=ONE2*(fromSparsity-1.)/2.;float toSparsity=weightSize/u17;vec2 xyFrom0=xyTo*shrinkFactor;for(float patch_x=0.;patch_x<1.1111;patch_x+=1.){xyPatch.x=patch_x;for(float patch_y=0.;patch_y<1.1111;patch_y+=1.){xyPatch.y=patch_y;for(float shrink_x=0.;shrink_x<3.3333;shrink_x+=1.){xyShrink.x=shrink_x;for(float shrink_y=0.;shrink_y<3.3333;shrink_y+=1.)xyShrink.y=shrink_y,xyFrom=xyFrom0+xyShrink+shrinkFactor*u30*(xyPatch-halfFromSparsity),uvFrom=(xyFrom+HALF2)/u25,uvFrom+=step(uvFrom,-eps2),uvFrom-=step(ONE2-eps2,uvFrom),xyPatchTo=xyPatch*shrinkFactor+xyShrink,uvWeight=(xyTo*toSparsity+xyPatchTo+HALF2)/weightSize,sum+=texture2D(u14,uvWeight)*texture2D(u15,uvFrom);}}}gl_FragColor=sum,gl_FragColor*=2.2222;}",
- i: "u17 u25 u14 u15 u22 u30".split(" "),
- yb: ["1.1111", "gl_FragColor\\*=2.2222;", "3.3333"]
- }
- }
- , w = null
- , L = null
- , N = {
- nb: function() {
- return A
- },
- o: function() {
- if (!A) {
- w = mb.Jb(l, 2);
- L = mb.Jb(J, 2);
- v = "highp";
- b.getShaderPrecisionFormat && (b.getShaderPrecisionFormat(b.FRAGMENT_SHADER, b.MEDIUM_FLOAT),
- b.getShaderPrecisionFormat(b.FRAGMENT_SHADER, b.LOW_FLOAT));
- for (var x in w)
- e(b, w[x], x);
- D.set("s0");
- b.enableVertexAttribArray(0);
- A = !0
- }
- },
- Kc: function(x) {
- x.forEach(function(f) {
- N.Jc(f)
- })
- },
- Jc: function(x) {
- w[x.id] = x;
- e(b, x, x.id)
- },
- nd: function(x, f, z) {
- f || (f = x);
- w[f] = Object.create(L[x]);
- w[f].df = !0;
- L[x].yb && L[x].yb.forEach(function(I, h) {
- w[f].h = w[f].h.replace(new RegExp(I,"g"), z[h])
- });
- e(b, w[f], f)
- },
- set: function(x) {
- var f = w[x];
- f.B && (f.B = !1,
- e(b, f, x));
- g(f)
- },
- Sa: function(x) {
- return m(x, t(), "s41")
- },
- tc: function(x) {
- return m(x, {
- h: "void main(){gl_FragColor=vec4(.5,.5,.5,.5);}",
- i: [],
- precision: v
- }, "s42")
- },
- Fe: function(x) {
- return "undefined" === typeof w[x] ? !1 : w[x].pa
- },
- P: function() {
- -1 !== q && (q = -1,
- u.Ia.forEach(function(x) {
- 0 !== x && b.disableVertexAttribArray(x)
- }))
- },
- uc: function() {
- var x = 0;
- u.Ia.forEach(function(f, z) {
- z = u.Ha[z];
- b.vertexAttribPointer(f, z, b.FLOAT, !1, u.Cc, x);
- x += 4 * z
- })
- },
- Wc: function() {
- b.enableVertexAttribArray(0)
- },
- Ca: function() {
- N.zb(b)
- },
- zb: function(x) {
- x.vertexAttribPointer(u.Ia[0], 2, x.FLOAT, !1, 8, 0)
- },
- Fh: function(x, f) {
- b.uniform1i(u.A[x], f)
- },
- G: function(x, f) {
- b.uniform1f(u.A[x], f)
- },
- sa: function(x, f, z) {
- b.uniform2f(u.A[x], f, z)
- },
- Gh: function(x, f) {
- b.uniform2fv(u.A[x], f)
- },
- Jf: function(x, f) {
- b.uniform3fv(u.A[x], f)
- },
- Hh: function(x, f, z, I) {
- b.uniform3f(u.A[x], f, z, I)
- },
- Kf: function(x, f, z, I, h) {
- b.uniform4f(u.A[x], f, z, I, h)
- },
- Td: function(x, f) {
- b.uniform4fv(u.A[x], f)
- },
- Ih: function(x, f) {
- b.uniformMatrix2fv(u.A[x], !1, f)
- },
- Jh: function(x, f) {
- b.uniformMatrix3fv(u.A[x], !1, f)
- },
- Kh: function(x, f) {
- b.uniformMatrix4fv(u.A[x], !1, f)
- },
- S: function(x, f) {
- N.set(x);
- f.forEach(function(z) {
- switch (z.type) {
- case "4f":
- b.uniform4fv(u.A[z.name], z.value);
- break;
- case "3f":
- b.uniform3fv(u.A[z.name], z.value);
- break;
- case "2f":
- b.uniform2fv(u.A[z.name], z.value);
- break;
- case "1f":
- b.uniform1f(u.A[z.name], z.value);
- break;
- case "1i":
- b.uniform1i(u.A[z.name], z.value);
- break;
- case "mat2":
- b.uniformMatrix2fv(u.A[z.name], !1, z.value);
- break;
- case "mat3":
- b.uniformMatrix3fv(u.A[z.name], !1, z.value);
- break;
- case "mat4":
- b.uniformMatrix4fv(u.A[z.name], !1, z.value)
- }
- })
- },
- Vg: function() {
- return "lowp"
- },
- m: function() {
- N.P();
- b.disableVertexAttribArray(0);
- for (var x in w) {
- var f = w[x];
- f.pa && (f.pa = !1,
- b.deleteProgram(f.ra));
- f.df && delete w[x]
- }
- p.forEach(function(z) {
- b.deleteShader(z)
- });
- p.splice(0);
- r = 0;
- A = !1;
- u = null;
- q = -1
- }
- };
- return N
- }()
- , b = null
- , Ha = function() {
- function a(n) {
- console.log("ERROR in ContextFF: ", n);
- return !1
- }
- function c() {
- return navigator.userAgent && -1 !== navigator.userAgent.indexOf("forceWebGL1")
- }
- function d(n) {
- function y() {
- Ba.m();
- aa.reset();
- k.getExtension("WEBGL_lose_context").loseContext()
- }
- if (c())
- return !1;
- var E = document.createElement("canvas");
- E.setAttribute("width", 5);
- E.setAttribute("height", 5);
- var k = null;
- try {
- k = E.getContext("webgl2", n)
- } catch (M) {
- return !1
- }
- if (!k)
- return !1;
- e(k);
- aa.Xc(k);
- n = aa.Kb(k);
- if (!n.fa && !n.ha)
- return y(),
- !1;
- n = Ba.Nc(k, n);
- y();
- return n ? !0 : !1
- }
- function e(n) {
- n.clearColor(0, 0, 0, 0);
- n.disable(n.DEPTH_TEST);
- n.disable(n.BLEND);
- n.disable(n.DITHER);
- n.disable(n.STENCIL_TEST);
- n.disable(n.CULL_FACE);
- n.GENERATE_MIPMAP_HINT && n.hint(n.GENERATE_MIPMAP_HINT, n.FASTEST);
- n.disable(n.SAMPLE_ALPHA_TO_COVERAGE);
- n.disable(n.SAMPLE_COVERAGE);
- n.depthFunc(n.LEQUAL);
- n.clearDepth(1)
- }
- var g = null
- , m = null
- , t = null
- , p = null
- , q = !0
- , u = null
- , r = null
- , A = []
- , v = {
- F: function() {
- return g.width
- },
- U: function() {
- return g.height
- },
- Mg: function() {
- return g
- },
- Kg: function() {
- return b
- },
- ia: function() {
- return q
- },
- flush: function() {
- b.flush()
- },
- Ye: function() {
- va.ca();
- X.reset();
- T.reset();
- D.P();
- D.Wc();
- b.disable(b.DEPTH_TEST);
- b.disable(b.BLEND);
- T.va();
- D.Ca()
- },
- Le: function() {
- u || (u = new Uint8Array(g.width * g.height * 4));
- b.readPixels(0, 0, g.width, g.height, b.RGBA, b.UNSIGNED_BYTE, u);
- return u
- },
- Og: function() {
- return g.toDataURL("image/jpeg")
- },
- Pg: function() {
- va.O();
- m || (m = document.createElement("canvas"),
- t = m.getContext("2d"));
- m.width = g.width;
- m.height = g.height;
- for (var n = v.Le(), y = t.createImageData(m.width, m.height), E = m.width, k = m.height, M = y.data, H = 0; H < k; ++H)
- for (var l = k - H - 1, J = 0; J < E; ++J) {
- var w = 4 * (H * E + J)
- , L = 4 * (l * E + J);
- M[w] = n[L];
- M[w + 1] = n[L + 1];
- M[w + 2] = n[L + 2];
- M[w + 3] = n[L + 3]
- }
- t.putImageData(y, 0, 0);
- return m.toDataURL("image/png")
- },
- Ng: function(n) {
- !m && n && (m = document.createElement("canvas"),
- t = m.getContext("2d"));
- var y = n ? m : document.createElement("canvas");
- y.width = g.width;
- y.height = g.height;
- (n ? t : y.getContext("2d")).drawImage(g, 0, 0);
- return y
- },
- o: function(n) {
- n = Object.assign({
- ga: null,
- lc: null,
- Wa: null,
- Tc: null,
- width: 512,
- height: 512,
- premultipliedAlpha: !1,
- bf: !0,
- antialias: !1,
- debug: !1,
- og: !1
- }, n);
- n.ga ? (b = n.ga,
- g = n.ga.canvas) : n.Tc && !n.Wa ? g = document.getElementById(n.Tc) : n.Wa && (g = n.Wa);
- g || (g = document.createElement("canvas"));
- g.width = n.width;
- g.height = n.height;
-
- if (b)
- q = b instanceof WebGL2RenderingContext;
- else {
- q = !0;
- var y = {
- antialias: n.antialias,
- alpha: !0,
- preserveDrawingBuffer: !0,
- premultipliedAlpha: n.premultipliedAlpha,
- stencil: !1,
- depth: n.bf,
- failIfMajorPerformanceCaveat: !0,
- powerPreference: "high-performance"
- };
- var E = document.createElement("canvas");
- E.setAttribute("width", 500);
- E.setAttribute("height", 500);
- /* var k = null;
- try {
- k = E.getContext("webgl2", n)
- } catch (M) {
- return !1
- } */
- console.log(E,g)
-
- console.log(n)
- console.log(E.getContext("webgl", n))
- console.log(n)
- console.log(g.getContext("webgl", y))
- console.log(g.getContext("webgl2", y))
- console.log(g.getContext("experimental-webgl", y))
- navigator && navigator.userAgent && -1 !== navigator.userAgent.indexOf("noAntialiasing") && (y.antialias = !1);
- var E = d(y);
- //console.log(g)
- E || !y.antialias || c() || (y.antialias = !1,
- E = d(y));
- E && (b = g.getContext("webgl2", y));
- b ? q = !0 : ((b = g.getContext("webgl", y)) || (b = g.getContext("experimental-webgl", y)),
- q = !1)
-
- }
- if (!b)
- return a("WebGL1 and 2 are not enabled");
- n.lc && g.addEventListener && (p = b.getExtension("WEBGL_lose_context")) && (r = n.lc,
- g.addEventListener("webglcontextlost", r, !1));
- if (!aa.o())
- return a("Not enough GL capabilities");
- e(b);
- D.o();
- T.o();
- Ba.Nc(b, aa.Ke());
- A.forEach(function(k) {
- k(b)
- });
- A.splice(0);
- return !0
- },
- dg: function() {
- return new Promise(function(n) {
- b ? n(b) : A.push(n)
- }
- )
- },
- m: function() {
- b && (aa.m(),
- D.m(),
- Ba.m());
- p && r && (g.removeEventListener("webglcontextlost", r, !1),
- p = r = null);
- b = u = t = m = g = null;
- A.splice(0)
- }
- };
- return v
- }()
- , xa = function() {
- function a() {
- null === c && ("undefined" !== typeof D ? c = D : "undefined" !== typeof JEShaders && (c = JEShaders))
- }
- var c = null;
- return {
- reset: function() {
- c = null
- },
- If: function(d) {
- c !== d && (c && c.P(),
- c = d)
- },
- nb: function() {
- return c.nb()
- },
- Ca: function() {
- return c.Ca()
- },
- zb: function(d) {
- return c.zb(d)
- },
- uc: function() {
- return c.uc()
- },
- P: function() {
- return c.P()
- },
- set: function(d) {
- a();
- return c.set(d)
- },
- Sa: function(d) {
- a();
- return c.Sa(d)
- },
- tc: function(d) {
- a();
- return c.tc(d)
- }
- }
- }()
- , Aa = function() {
- function a(h) {
- b.bindTexture(b.TEXTURE_2D, h)
- }
- function c(h) {
- x[0] = h;
- h = f[0];
- var C = h >> 16 & 32768
- , K = h >> 12 & 2047
- , O = h >> 23 & 255;
- return 103 > O ? C : 142 < O ? C | 31744 | ((255 == O ? 0 : 1) && h & 8388607) : 113 > O ? (K |= 2048,
- C | (K >> 114 - O) + (K >> 113 - O & 1)) : C = (C | O - 112 << 10 | K >> 1) + (K & 1)
- }
- function d(h) {
- var C = new Uint16Array(h.length);
- h.forEach(function(K, O) {
- C[O] = c(K)
- });
- return C
- }
- function e() {
- if (null !== z.Xb)
- return z.Xb;
- var h = m(d([.5, .5, .5, .5]), !0);
- return null === h ? !0 : z.Xb = h
- }
- function g() {
- if (null !== z.Yb)
- return z.Yb;
- var h = m(new Uint8Array([127, 127, 127, 127]), !1);
- return null === h ? !0 : z.Yb = h
- }
- function m(h, C) {
- if (!xa.nb() || !E)
- return null;
- var K = null
- , O = Math.sqrt(h.length / 4);
- try {
- var Y = b.getError();
- if ("FUCKING_BIG_ERROR" === Y)
- return !1;
- K = I.instance({
- isFloat: !1,
- R: C,
- array: h,
- width: O
- });
- Y = b.getError();
- if (Y !== b.NO_ERROR)
- return !1
- } catch (oa) {
- return !1
- }
- la.O();
- b.viewport(0, 0, O, O);
- b.clearColor(0, 0, 0, 0);
- b.clear(b.COLOR_BUFFER_BIT);
- xa.set("s0");
- K.Lc(0);
- ma.l(!0, !0);
- h = 4 * O * O;
- C = new Uint8Array(h);
- b.readPixels(0, 0, O, O, b.RGBA, b.UNSIGNED_BYTE, C);
- O = !0;
- for (Y = 0; Y < h; ++Y)
- O = O && 3 > Math.abs(C[Y] - 127);
- K.remove();
- la.ca();
- return O
- }
- var t = 0
- , p = null
- , q = 0
- , u = null
- , r = null
- , A = null
- , v = null
- , n = null
- , y = null
- , E = !1
- , k = []
- , M = {
- isFloat: !1,
- isPot: !0,
- isLinear: !1,
- isMipmap: !1,
- isAnisotropicFiltering: !1,
- isMirrorX: !1,
- isMirrorY: !1,
- isSrgb: !1,
- isKeepArray: !1,
- isFlipY: null,
- width: 0,
- height: 0,
- url: null,
- array: null,
- data: null,
- H: null,
- Wb: null,
- cf: !1,
- R: !1,
- ma: null,
- sb: 4,
- ec: 0
- }
- , H = !1
- , l = null
- , J = null
- , w = [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
- , L = !1
- , N = !1
- , x = new Float32Array(1)
- , f = new Int32Array(x.buffer)
- , z = {
- Xb: null,
- Yb: null
- }
- , I = {
- o: function() {
- E || (n = [b.RGBA, null, b.RGBA, b.RGBA],
- y = [b.RGBA, null, b.RGBA, b.RGBA],
- p = [b.TEXTURE0, b.TEXTURE1, b.TEXTURE2, b.TEXTURE3, b.TEXTURE4, b.TEXTURE5, b.TEXTURE6, b.TEXTURE7],
- L = "undefined" !== typeof JEContext,
- N = "undefined" !== typeof aa,
- L && JEContext.ph() && p.push(b.TEXTURE8, b.TEXTURE9),
- u = [-1, -1, -1, -1, -1, -1, -1, -1],
- v = [b.UNSIGNED_BYTE, b.FLOAT, b.FLOAT],
- E = !0)
- },
- Ze: function() {
- if (!r) {
- for (var h = new Float32Array(16384), C = 0; 16384 > C; ++C)
- h[C] = 2 * Math.random() - 1;
- r = {
- random: I.instance({
- isFloat: !0,
- isPot: !0,
- array: h,
- width: 64
- }),
- ae: I.instance({
- isFloat: !1,
- isPot: !0,
- width: 1,
- array: new Uint8Array([0, 0, 0, 0])
- })
- }
- }
- I.Wf()
- },
- eh: function() {
- return r.ae
- },
- Wf: function() {
- v[1] = aa.Tb(b)
- },
- Gf: function() {
- y = n = [b.RGBA, b.RGBA, b.RGBA, b.RGBA]
- },
- Ld: function(h) {
- D.set("s1");
- la.O();
- var C = h.F()
- , K = h.U();
- b.viewport(0, 0, C, K);
- h.g(0);
- ma.l(!1, !1)
- },
- wh: function(h, C) {
- I.Ld(h);
- b.readPixels(0, 0, h.F(), h.U(), b.RGBA, b.UNSIGNED_BYTE, C)
- },
- xh: function(h, C) {
- I.Ld(h);
- return aa.xb(0, 0, h.F(), h.U(), C)
- },
- ed: function(h, C, K, O, Y, oa, sa) {
- h.activeTexture(h.TEXTURE0);
- var Ca = h.createTexture();
- h.bindTexture(h.TEXTURE_2D, Ca);
- Y = Y instanceof Float32Array ? Y : new Float32Array(Y);
- h.texParameteri(h.TEXTURE_2D, h.TEXTURE_WRAP_S, h.CLAMP_TO_EDGE);
- h.texParameteri(h.TEXTURE_2D, h.TEXTURE_WRAP_T, h.CLAMP_TO_EDGE);
- h.texParameteri(h.TEXTURE_2D, h.TEXTURE_MAG_FILTER, h.NEAREST);
- h.texParameteri(h.TEXTURE_2D, h.TEXTURE_MIN_FILTER, h.NEAREST);
- h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL, oa);
- h.texImage2D(h.TEXTURE_2D, 0, h.RGBA, K, O, 0, h.RGBA, h.FLOAT, Y);
- h.bindTexture(h.TEXTURE_2D, null);
- h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL, !1);
- sa && (la.ca(),
- D.Sa(h));
- h.viewport(0, 0, K, O);
- h.framebufferTexture2D(h.FRAMEBUFFER, h.COLOR_ATTACHMENT0, h.TEXTURE_2D, C, 0);
- h.bindTexture(h.TEXTURE_2D, Ca);
- sa ? ma.l(!0, !0) : T.bb(h);
- h.deleteTexture(Ca);
- E && (u[0] = -1,
- A = null,
- t = 0)
- },
- Fb: function(h) {
- h !== t && (b.activeTexture(p[h]),
- t = h)
- },
- instance: function(h) {
- var C;
- function K() {
- R = void 0 !== B.H.videoWidth ? B.H.videoWidth : B.H.width;
- S = void 0 !== B.H.videoHeight ? B.H.videoHeight : B.H.height
- }
- function O(F) {
- var P = b.getError();
- if ("FUCKING_BIG_ERROR" === P)
- return !1;
- b.texImage2D(b.TEXTURE_2D, 0, ja, fa, ha, F);
- P = b.getError();
- P !== b.NO_ERROR && fa !== b.RGBA && (fa = b.RGBA,
- b.texImage2D(b.TEXTURE_2D, 0, ja, fa, ha, F));
- return !0
- }
- function Y() {
- if (!Ab) {
- a(ta);
- za && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, za);
- B.isPot ? (b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_S, B.isMirrorX ? b.MIRRORED_REPEAT : b.REPEAT),
- b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_T, B.isMirrorY ? b.MIRRORED_REPEAT : b.REPEAT)) : (b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_S, b.CLAMP_TO_EDGE),
- b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_T, b.CLAMP_TO_EDGE));
- B.isAnisotropicFiltering && "undefined" !== typeof JESETTINGS && b.texParameterf(b.TEXTURE_2D, JEContext.Qg().TEXTURE_MAX_ANISOTROPY_EXT, JESETTINGS.$f);
- b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER, B.isLinear ? b.LINEAR : b.NEAREST);
- B.isLinear ? b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, B.isMipmap && !La ? b.NEAREST_MIPMAP_LINEAR : b.LINEAR) : b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, B.isMipmap && !La ? b.NEAREST_MIPMAP_NEAREST : b.NEAREST);
- fa = n[B.sb - 1];
- ja = y[B.sb - 1];
- ha = v[nb];
- if (aa.ia()) {
- var F = aa.Ne();
- fa === b.RGBA && ha === b.FLOAT ? B.isMipmap || B.isLinear ? ja = Ba.Pe(b) : aa.Oc() ? F && (ja = F) : ja = b.RGBA16F || b.RGBA : fa === b.RGB && ha === b.FLOAT && F && (ja = F,
- fa = b.RGBA)
- }
- if (B.R && !B.isFloat || B.isFloat && B.isMipmap && Ba.hf())
- ja = aa.Oe(),
- ha = aa.Tb(b);
- B.ec && (bb = B.ec);
- B.isSrgb && 4 === B.sb && (fa = JEContext.bh());
- if (B.H)
- O(B.H);
- else if (B.url)
- O(Ga);
- else if (ua) {
- F = ua;
- try {
- "FUCKING_BIG_ERROR" !== b.getError() && (b.texImage2D(b.TEXTURE_2D, 0, ja, R, S, 0, fa, ha, F),
- b.getError() !== b.NO_ERROR && (b.texImage2D(b.TEXTURE_2D, 0, ja, R, S, 0, fa, ha, null),
- b.getError() !== b.NO_ERROR && b.texImage2D(b.TEXTURE_2D, 0, b.RGBA, R, S, 0, b.RGBA, b.UNSIGNED_BYTE, null)))
- } catch (ec) {
- b.texImage2D(b.TEXTURE_2D, 0, ja, R, S, 0, fa, ha, null)
- }
- B.isKeepArray || (ua = null)
- } else
- F = b.getError(),
- "FUCKING_BIG_ERROR" !== F && (b.texImage2D(b.TEXTURE_2D, 0, ja, R, S, 0, fa, ha, null),
- F = b.getError(),
- F !== b.NO_ERROR && (fa = b.RGBA,
- B.R && ha !== b.FLOAT && (ha = b.FLOAT,
- b.texImage2D(b.TEXTURE_2D, 0, ja, R, S, 0, fa, ha, null))));
- if (B.isMipmap)
- if (!La && ca)
- ca.Sb(),
- cb = !0;
- else if (La) {
- F = Math.log2(Math.min(R, S));
- Ra = Array(1 + F);
- Ra[0] = ta;
- for (var P = 1; P <= F; ++P) {
- var ka = Math.pow(2, P)
- , W = R / ka;
- ka = S / ka;
- var Ma = b.createTexture();
- a(Ma);
- b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, b.NEAREST);
- b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER, b.NEAREST);
- b.texImage2D(b.TEXTURE_2D, 0, ja, W, ka, 0, fa, ha, null);
- a(null);
- Ra[P] = Ma
- }
- cb = !0
- }
- a(null);
- u[t] = -1;
- za && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !1);
- Ta = !0;
- B.ma && ca && (B.ma(ca),
- B.ma = null)
- }
- }
- function oa() {
- for (var F = R * S, P = 2 * F, ka = 3 * F, W = 0; W < F; ++W)
- ya[0][W] = Ua[W],
- ya[1][W] = Ua[W + F],
- ya[2][W] = Ua[W + P],
- ya[3][W] = Ua[W + ka]
- }
- function sa() {
- var F = R * S * 4;
- Da = [new Uint8Array(F), new Uint8Array(F), new Uint8Array(F), new Uint8Array(F)];
- ya = [new Float32Array(Da[0].buffer), new Float32Array(Da[1].buffer), new Float32Array(Da[2].buffer), new Float32Array(Da[3].buffer)];
- db = new Uint8Array(4 * F);
- Ua = new Float32Array(db.buffer);
- Va = !0
- }
- function Ca() {
- C = new Uint8Array(R * S * 4);
- Bb = new Float32Array(C.buffer);
- ob = !0
- }
- var B = Object.assign({}, M, h)
- , Wa = q++;
- null === B.isFlipY && (B.isFlipY = B.url ? !0 : !1);
- B.data && (B.array = "string" === typeof B.data ? Ib(B.data) : B.isFloat ? new Float32Array(B.data) : new Uint8Array(B.data),
- B.isFlipY = !1);
- var nb = 0
- , Cb = B.H ? !0 : !1
- , Xa = null
- , pb = null
- , Db = !1;
- B.R = B.R || B.isFloat;
- B.R && (nb = 1);
- !B.cf && B.isFloat && N && !aa.Oc() && (B.isFloat = !1);
- B.isFloat && (nb = 2);
- B.isAnisotropicFiltering && L && !JEContext.ih() && (B.isAnisotropicFiltering = !1);
- var ta = B.Wb || b.createTexture()
- , Ga = null
- , ua = !1
- , R = 0
- , S = 0
- , Ta = !1
- , Ab = !1
- , Va = !1
- , ya = null
- , Da = null
- , db = null
- , Ua = null
- , ja = null
- , fa = null
- , ha = null
- , za = B.isFlipY
- , Tb = (h = B.R && B.isMipmap) && Ba.me()
- , La = h && Tb ? !0 : !1
- , Ra = null
- , bb = -1
- , cb = !1;
- var ob = !1;
- var Bb = C = null;
- B.width && (R = B.width,
- S = B.height ? B.height : R);
- var ca = {
- get: function() {
- return ta
- },
- F: function() {
- return R
- },
- U: function() {
- return S
- },
- fh: function() {
- return B.url
- },
- jh: function() {
- return B.isFloat
- },
- lh: function() {
- return B.R
- },
- mh: function() {
- return B.isLinear
- },
- Sb: function() {
- b.generateMipmap(b.TEXTURE_2D)
- },
- ke: function(F, P) {
- La ? (F || (F = ca.jd()),
- I.Fb(P),
- a(Ra[F]),
- u[P] = -1) : ca.g(P)
- },
- jd: function() {
- -1 === bb && (bb = Math.log(R) / Math.log(2));
- return bb
- },
- He: function(F) {
- if (La) {
- F || (F = ca.jd());
- D.set("s12");
- I.Fb(0);
- for (var P = R, ka = S, W = 1; W <= F; ++W)
- P /= 2,
- ka /= 2,
- D.sa("u8", .25 / P, .25 / ka),
- b.viewport(0, 0, P, ka),
- a(Ra[W - 1]),
- b.framebufferTexture2D(la.fb(), b.COLOR_ATTACHMENT0, b.TEXTURE_2D, Ra[W], 0),
- ma.l(!1, 1 === W);
- u[0] = -1
- } else
- ca.Sb()
- },
- Eh: function(F) {
- (Cb = !Rb.Rf(F)) ? (ua = null,
- B.H = F,
- K()) : ua = F
- },
- g: function(F) {
- if (!Ta)
- return !1;
- I.Fb(F);
- if (u[F] === Wa)
- return !1;
- a(ta);
- u[F] = Wa;
- return !0
- },
- Lc: function(F) {
- b.activeTexture(p[F]);
- t = F;
- a(ta);
- u[F] = Wa
- },
- u: function() {
- A = ca;
- b.framebufferTexture2D(la.fb(), b.COLOR_ATTACHMENT0, b.TEXTURE_2D, ta, 0)
- },
- $: function() {
- A = ca;
- b.viewport(0, 0, R, S);
- b.framebufferTexture2D(la.fb(), b.COLOR_ATTACHMENT0, b.TEXTURE_2D, ta, 0)
- },
- Ac: I.Ac,
- Sd: function(F, P) {
- R = F;
- S = P
- },
- resize: function(F, P) {
- ca.Sd(F, P);
- Y()
- },
- clone: function(F) {
- F = I.instance({
- width: R,
- height: S,
- R: B.R,
- isFloat: B.isFloat,
- isLinear: B.isLinear,
- isMirrorY: B.isMirrorY,
- isFlipY: F ? !za : za,
- isPot: B.isPot
- });
- xa.set("s0");
- la.ca();
- F.u();
- b.viewport(0, 0, R, S);
- ca.g(0);
- ma.l(!0, !0);
- return F
- },
- Lf: function() {
- b.viewport(0, 0, R, S)
- },
- remove: function() {
- b.deleteTexture(ta);
- Ab = !0;
- k.splice(k.indexOf(ca), 1);
- ca = null
- },
- refresh: function() {
- ca.Lc(0);
- za && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !0);
- Cb ? b.texImage2D(b.TEXTURE_2D, 0, ja, fa, ha, B.H) : b.texImage2D(b.TEXTURE_2D, 0, ja, R, S, 0, fa, ha, ua);
- za && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !1)
- },
- Kd: function() {
- Va || sa();
- b.readPixels(0, 0, R, 4 * S, b.RGBA, b.UNSIGNED_BYTE, db);
- oa();
- return ya
- },
- yf: function() {
- Va || sa();
- return aa.xb(0, 0, R, 4 * S, db).then(function() {
- oa();
- return ya
- })
- },
- Af: function() {
- ob || Ca();
- b.readPixels(0, 0, R, S, b.RGBA, b.UNSIGNED_BYTE, C);
- return Bb
- },
- zf: function() {
- ob || Ca();
- return aa.xb(0, 0, R, S, C)
- },
- Uc: function(F) {
- la.O();
- D.set("s13");
- ca.g(0);
- if (F)
- b.viewport(0, 0, R, S),
- D.Kf("u9", .25, .25, .25, .25),
- ma.l(!1, !0);
- else
- for (F = 0; 4 > F; ++F)
- b.viewport(0, S * F, R, S),
- D.Td("u9", w[F]),
- ma.l(!1, 0 === F)
- },
- Db: function(F) {
- var P = ha === v[0] && !g();
- a(ta);
- za && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !0);
- P ? (Db || (Xa = document.createElement("canvas"),
- Xa.width = R,
- Xa.height = S,
- pb = Xa.getContext("2d"),
- pb.createImageData(R, S),
- Db = !0),
- null.data.set(F),
- pb.putImageData(null, 0, 0),
- b.texImage2D(b.TEXTURE_2D, 0, ja, fa, ha, Xa)) : b.texImage2D(b.TEXTURE_2D, 0, ja, R, S, 0, fa, ha, F);
- u[t] = Wa;
- za && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !1)
- },
- Qh: function(F, P) {
- a(ta);
- P && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !0);
- b.texImage2D(b.TEXTURE_2D, 0, ja, fa, ha, F);
- u[t] = Wa;
- P && b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL, !1)
- },
- Dh: function(F, P) {
- var ka = R * S
- , W = 4 * ka;
- F = B.R ? F ? "RGBE" : "JSON" : "RGBA";
- P && (F = P);
- P = aa.ia() && !1;
- var Ma = null;
- switch (F) {
- case "RGBE":
- Ma = "s43";
- break;
- case "JSON":
- Ma = P ? "s0" : "s13";
- break;
- case "RGBA":
- case "RGBAARRAY":
- Ma = "s7"
- }
- Va || ("RGBA" === F || "RGBE" === F || "RGBAARRAY" === F ? (Da = new Uint8Array(W),
- Va = !0) : "JSON" !== F || P || sa());
- la.O();
- D.set(Ma);
- ca.g(0);
- W = null;
- if ("RGBA" === F || "RGBE" === F || "RGBAARRAY" === F) {
- b.viewport(0, 0, R, S);
- ma.l(!0, !0);
- b.readPixels(0, 0, R, S, b.RGBA, b.UNSIGNED_BYTE, Da);
- if ("RGBAARRAY" === F)
- return {
- data: Da
- };
- H || (l = document.createElement("canvas"),
- J = l.getContext("2d"),
- H = !0);
- l.width = R;
- l.height = S;
- ka = J.createImageData(R, S);
- ka.data.set(Da);
- J.putImageData(ka, 0, 0);
- W = l.toDataURL("image/png")
- } else if ("JSON" === F)
- if (P)
- W = new Float32Array(ka),
- b.viewport(0, 0, R, S),
- ma.l(!0, !0),
- b.readPixels(0, 0, R, S, b.RGBA, b.FLOAT, W);
- else {
- for (W = 0; 4 > W; ++W)
- b.viewport(0, S * W, R, S),
- D.Td("u9", w[W]),
- ma.l(!W, !W);
- ca.Kd();
- W = Array(ka);
- for (P = 0; P < ka; ++P)
- W[4 * P] = ya[0][P],
- W[4 * P + 1] = ya[1][P],
- W[4 * P + 2] = ya[2][P],
- W[4 * P + 3] = ya[3][P]
- }
- return {
- format: F,
- data: W,
- width: R,
- height: S,
- isMirrorY: B.isMirrorY,
- isFlipY: "RGBA" === F ? B.isFlipY : !B.isFlipY
- }
- }
- };
- B.isMipmap && !La && Ta && !cb && (ca.Sb(),
- cb = !0);
- if (B.url)
- a(ta),
- b.texImage2D(b.TEXTURE_2D, 0, b.RGBA, 1, 1, 0, b.RGBA, b.UNSIGNED_BYTE, null),
- Ga = new Image,
- Ga.ng = "Anonymous",
- Ga.crossOrigin = "Anonymous",
- Ga.src = B.url,
- Ga.onload = function() {
- R = Ga.width;
- S = Ga.height;
- Y()
- }
- ;
- else if (B.H) {
- var Eb = function() {
- K();
- R ? Y() : setTimeout(Eb, 1)
- };
- Eb()
- } else
- B.array ? (B.R && !B.isFloat ? B.array instanceof Uint16Array ? (ua = B.array,
- Y()) : e() ? (ua = d(B.array),
- Y()) : (Y(),
- I.ed(b, ta, ca.F(), ca.U(), B.array, za, !0)) : (ua = B.isFloat ? B.array instanceof Float32Array ? B.array : new Float32Array(B.array) : B.array instanceof Uint8Array ? B.array : new Uint8Array(B.array),
- Y()),
- B.isKeepArray || (ua && ua !== B.array && (ua = null),
- delete B.array)) : B.Wb ? Ta = !0 : Y();
- ca.$g = ca.F;
- B.ma && Ta && (B.ma(ca),
- B.ma = null);
- k.push(ca);
- return ca
- },
- O: function(h) {
- h !== t && (b.activeTexture(p[h]),
- t = h);
- u[h] = -1;
- a(null)
- },
- cg: function(h) {
- r.random.g(h)
- },
- Ac: function() {
- A = null;
- b.framebufferTexture2D(la.fb(), b.COLOR_ATTACHMENT0, b.TEXTURE_2D, null, 0)
- },
- reset: function() {
- 0 !== t && b.activeTexture(p[0]);
- for (var h = 0; h < p.length; ++h)
- u[h] = -1;
- t = -1
- },
- Ah: function() {
- t = -1
- },
- Tf: function() {
- for (var h = 0; h < p.length; ++h)
- I.O(h)
- },
- fd: function() {
- r && (r.random.remove(),
- r.ae.remove())
- },
- Ph: function(h, C) {
- if ("RGBA" === h.format || "RGBE" === h.format) {
- var K = new Image;
- K.src = h.data;
- K.onload = function() {
- I.instance({
- isMirrorY: h.isMirrorY,
- isFlipY: h.isFlipY,
- isFloat: !1,
- H: K,
- ma: function(O) {
- if ("RGBA" === h.format)
- C(O);
- else {
- var Y = h.width
- , oa = h.height
- , sa = I.instance({
- isMirrorY: h.isMirrorY,
- isFloat: !0,
- width: Y,
- height: oa,
- isFlipY: h.isFlipY
- });
- la.ca();
- b.viewport(0, 0, Y, oa);
- D.set("s44");
- sa.u();
- O.g(0);
- ma.l(!0, !0);
- I.O(0);
- C(sa);
- aa.flush();
- setTimeout(O.remove, 50)
- }
- }
- })
- }
- } else
- "JSON" === h.format ? C(I.instance({
- isFloat: !0,
- isFlipY: h.isFlipY,
- width: h.width,
- height: h.height,
- array: new Float32Array(h.data)
- })) : C(!1)
- },
- te: d,
- m: function() {
- A && (va.ca(),
- I.Ac(),
- va.O());
- I.Tf();
- k.slice(0).forEach(function(h) {
- h.remove()
- });
- k.splice(0);
- E = !1;
- q = 0;
- "undefined" !== typeof Ba && Ba.m();
- r = null
- }
- };
- return I
- }()
- , Nb = function() {
- return {
- instance: function(a) {
- var c = [Aa.instance(a), Aa.instance(a)]
- , d = [c[1], c[0]]
- , e = d
- , g = {
- Df: function(m) {
- e[1].u();
- e[0].g(m);
- g.Wd()
- },
- Ef: function(m) {
- e[1].$();
- e[0].g(m);
- g.Wd()
- },
- Wd: function() {
- e = e === c ? d : c
- },
- refresh: function() {
- e[0].refresh();
- e[1].refresh()
- },
- g: function(m) {
- e[0].g(m)
- },
- bg: function(m) {
- e[1].g(m)
- },
- Ug: function() {
- return e[0]
- },
- Yg: function() {
- return e[1]
- },
- Db: function(m) {
- e[0].Db(m);
- e[1].Db(m)
- },
- remove: function() {
- e[0].remove();
- e[1].remove();
- e = null
- },
- sync: function() {
- g.Ef(0);
- D.set("s0");
- T.l(!1, !1)
- }
- };
- return g
- }
- }
- }()
- , ma = function() {
- function a(q) {
- var u = {
- aa: null,
- J: null
- };
- u.aa = q.createBuffer();
- q.bindBuffer(q.ARRAY_BUFFER, u.aa);
- q.bufferData(q.ARRAY_BUFFER, new Float32Array([-1, -1, 3, -1, -1, 3]), q.STATIC_DRAW);
- u.J = q.createBuffer();
- q.bindBuffer(q.ELEMENT_ARRAY_BUFFER, u.J);
- q.bufferData(q.ELEMENT_ARRAY_BUFFER, new Uint16Array([0, 1, 2]), q.STATIC_DRAW);
- return u
- }
- var c = null
- , d = 0
- , e = !1
- , g = []
- , m = -2
- , t = -2
- , p = {
- reset: function() {
- t = m = -2
- },
- o: function() {
- e || (c = a(b),
- p.va(),
- e = !0)
- },
- instance: function(q) {
- var u = d++
- , r = q.J ? q.J.length : 0
- , A = "undefined" === typeof q.mode ? b.STATIC_DRAW : q.mode
- , v = b.createBuffer();
- b.bindBuffer(b.ARRAY_BUFFER, v);
- b.bufferData(b.ARRAY_BUFFER, q.aa instanceof Float32Array ? q.aa : new Float32Array(q.aa), A);
- m = u;
- var n = null
- , y = null
- , E = null;
- if (q.J) {
- n = b.createBuffer();
- b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, n);
- var k = null;
- 65536 > q.J.length ? (k = Uint16Array,
- y = b.UNSIGNED_SHORT,
- E = 2) : (k = Uint32Array,
- y = b.UNSIGNED_INT,
- E = 4);
- k = q.J instanceof k ? q.J : new k(q.J);
- b.bufferData(b.ELEMENT_ARRAY_BUFFER, k, A);
- t = u
- }
- var M = {
- le: function(H) {
- m !== u && (b.bindBuffer(b.ARRAY_BUFFER, v),
- m = u);
- H && xa.uc()
- },
- ie: function() {
- t !== u && (b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, n),
- t = u)
- },
- bind: function(H) {
- M.le(H);
- M.ie()
- },
- rg: function() {
- b.drawElements(b.TRIANGLES, r, y, 0)
- },
- sg: function(H, l) {
- b.drawElements(b.TRIANGLES, H, y, l * E)
- },
- remove: function() {
- b.deleteBuffer(v);
- q.J && b.deleteBuffer(n);
- M = null
- }
- };
- g.push(M);
- return M
- },
- va: function() {
- -1 !== m && (b.bindBuffer(b.ARRAY_BUFFER, c.aa),
- m = -1);
- -1 !== t && (b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, c.J),
- t = -1)
- },
- l: function(q, u) {
- q && ma.va();
- u && xa.Ca();
- b.drawElements(b.TRIANGLES, 3, b.UNSIGNED_SHORT, 0)
- },
- bb: function(q) {
- q = q || b;
- var u = a(q);
- q.bindBuffer(q.ARRAY_BUFFER, u.aa);
- q.bindBuffer(q.ELEMENT_ARRAY_BUFFER, u.J);
- xa.zb(q);
- q.clear(q.COLOR_BUFFER_BIT);
- q.drawElements(q.TRIANGLES, 3, q.UNSIGNED_SHORT, 0);
- q.flush();
- q.bindBuffer(q.ARRAY_BUFFER, null);
- q.bindBuffer(q.ELEMENT_ARRAY_BUFFER, null);
- q.deleteBuffer(u.aa);
- q.deleteBuffer(u.J);
- p.reset();
- e && (p.va(),
- xa.Ca())
- },
- fd: function() {
- var q = b
- , u = c;
- q.deleteBuffer(u.aa);
- q.deleteBuffer(u.J)
- },
- m: function() {
- p.fd();
- g.forEach(function(q) {
- q.remove()
- });
- b.bindBuffer(b.ARRAY_BUFFER, null);
- b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, null);
- p.reset();
- e = !1;
- g.splice(0);
- d = 0
- }
- };
- return p
- }()
- , la = function() {
- var a = null
- , c = null
- , d = null
- , e = !1
- , g = []
- , m = {
- I: -2,
- dd: 1
- }
- , t = {
- nb: function() {
- return e
- },
- o: function() {
- if (!e) {
- a = b.createFramebuffer();
- var p = aa.ia();
- c = p && b.DRAW_FRAMEBUFFER ? b.DRAW_FRAMEBUFFER : b.FRAMEBUFFER;
- d = p && b.READ_FRAMEBUFFER ? b.READ_FRAMEBUFFER : b.FRAMEBUFFER;
- e = !0
- }
- },
- Rg: function() {
- return c
- },
- Qe: function() {
- return d
- },
- fb: function() {
- return b.FRAMEBUFFER
- },
- Zg: function() {
- return m
- },
- Jg: function() {
- return a
- },
- instance: function(p) {
- void 0 === p.qd && (p.qd = !1);
- var q = p.K ? p.K : null
- , u = p.width
- , r = void 0 !== p.height ? p.height : p.width
- , A = a
- , v = null
- , n = !1
- , y = !1
- , E = 0;
- q && (u = u ? u : q.F(),
- r = r ? r : q.U());
- var k = {
- Rd: function() {
- n || (A = b.createFramebuffer(),
- n = !0,
- E = m.dd++)
- },
- de: function() {
- k.Rd();
- k.u();
- v = b.createRenderbuffer();
- b.bindRenderbuffer(b.RENDERBUFFER, v);
- b.renderbufferStorage(b.RENDERBUFFER, b.DEPTH_COMPONENT16, u, r);
- b.framebufferRenderbuffer(c, b.DEPTH_ATTACHMENT, b.RENDERBUFFER, v);
- b.clearDepth(1)
- },
- bind: function(M, H) {
- E !== m.I && (b.bindFramebuffer(c, A),
- m.I = E);
- q && q.u();
- H && b.viewport(0, 0, u, r);
- M && b.clear(b.COLOR_BUFFER_BIT | b.DEPTH_BUFFER_BIT)
- },
- ag: function() {
- E !== m.I && (b.bindFramebuffer(c, A),
- m.I = E)
- },
- clear: function() {
- b.clear(b.COLOR_BUFFER_BIT | b.DEPTH_BUFFER_BIT)
- },
- jg: function() {
- b.clear(b.COLOR_BUFFER_BIT)
- },
- kg: function() {
- b.clear(b.DEPTH_BUFFER_BIT)
- },
- Lf: function() {
- b.viewport(0, 0, u, r)
- },
- u: function() {
- E !== m.I && (b.bindFramebuffer(c, A),
- m.I = E)
- },
- rtt: function(M) {
- q = M;
- m.I !== E && (b.bindFramebuffer(b.FRAMEBUFFER, A),
- m.I = E);
- M.u()
- },
- O: function() {
- b.bindFramebuffer(c, null);
- m.I = -1
- },
- resize: function(M, H) {
- u = M;
- r = H;
- v && (b.bindRenderbuffer(b.RENDERBUFFER, v),
- b.renderbufferStorage(b.RENDERBUFFER, b.DEPTH_COMPONENT16, u, r))
- },
- remove: function() {
- A === a || y || (b.bindFramebuffer(c, A),
- b.framebufferTexture2D(c, b.COLOR_ATTACHMENT0, b.TEXTURE_2D, null, 0),
- v && b.framebufferRenderbuffer(c, b.DEPTH_ATTACHMENT, b.RENDERBUFFER, null),
- b.bindFramebuffer(c, null),
- b.deleteFramebuffer(A),
- v && b.deleteRenderbuffer(v));
- y = !0
- }
- };
- p.qd && k.de();
- g.push(k);
- return k
- },
- O: function() {
- b.bindFramebuffer(c, null);
- m.I = -1
- },
- Uf: function() {
- b.bindFramebuffer(c, null);
- b.clear(b.COLOR_BUFFER_BIT | b.DEPTH_BUFFER_BIT);
- aa.Ud();
- m.I = -1
- },
- reset: function() {
- m.I = -2
- },
- ca: function() {
- 0 !== m.I && (b.bindFramebuffer(c, a),
- m.I = 0)
- },
- clear: function() {
- aa.Ud();
- b.clear(b.COLOR_BUFFER_BIT)
- },
- m: function() {
- t.O();
- g.forEach(function(p) {
- p.remove()
- });
- null !== a && (b.deleteFramebuffer(a),
- a = null);
- t.reset();
- e = !1;
- g.splice(0);
- m.dd = 1
- }
- };
- return t
- }()
- , aa = function() {
- function a() {
- p = "undefined" === typeof Ha ? JEContext : Ha;
- q = !0
- }
- function c(l, J) {
- for (var w = 0; w < l.length; ++w) {
- var L = J.getExtension(l[w]);
- if (L)
- return L
- }
- return null
- }
- function d() {
- null !== k.Cb && (clearInterval(k.Cb),
- k.Cb = null);
- k.za = !1
- }
- function e(l) {
- if (0 === k.oa.length) {
- k.V = b.PIXEL_PACK_BUFFER;
- k.oa.splice(0);
- k.gb.splice(0);
- for (var J = 0; J < k.La; ++J)
- k.oa.push(b.createBuffer()),
- k.gb.push(-1);
- k.ea = 0;
- k.jc = 0
- }
- b.bindBuffer(k.V, k.oa[k.ea]);
- l.byteLength !== k.gb[k.ea] && (b.bufferData(k.V, l.byteLength, b.STREAM_READ),
- k.gb[k.ea] = l.byteLength);
- k.gh = !0
- }
- function g() {
- b.bindBuffer(k.V, null)
- }
- function m() {
- k.xa.forEach(function(l) {
- b.deleteSync(l)
- });
- k.xa.splice(0)
- }
- function t() {
- k.ea = (k.ea + 1) % k.La;
- ++k.jc
- }
- var p = null
- , q = !1
- , u = {
- sd: !1,
- wc: null,
- xc: null,
- vd: !1,
- gf: !1,
- yc: null,
- wd: !1,
- zc: null,
- td: !1,
- Hb: null,
- $e: !1,
- Ib: null,
- af: !1
- }
- , r = null
- , A = {
- fa: !0,
- ha: !0,
- Rb: !0,
- Jd: !1
- }
- , v = null
- , n = !0
- , y = null
- , E = null
- , k = {
- ue: 1,
- La: -1,
- ea: 0,
- jc: 0,
- za: !1,
- oa: [],
- xa: [],
- gb: [],
- V: null,
- Cb: null
- }
- , M = "undefined" === typeof window ? {} : window
- , H = {
- o: function() {
- if (q)
- return !0;
- H.reset();
- q || a();
- var l = b;
- if (!r.sd) {
- r.wc = H.$c(l);
- M.GL_EXT_FLOAT = r.wc;
- r.vd = r.wc ? !0 : !1;
- if (r.vd || H.ia())
- r.xc = H.ad(l),
- r.gf = r.xc ? !0 : !1,
- M.GL_EXT_FLOATLINEAR = r.xc;
- r.sd = !0
- }
- if (!r.td) {
- r.yc = H.$a(l);
- r.yc && (r.wd = !0,
- M.GL_EXT_HALFFLOAT = r.yc);
- if (r.wd || H.ia())
- r.zc = H.bd(l),
- M.GL_EXT_HALFFLOATLINEAR = r.zc;
- r.hh = r.zc ? !0 : !1;
- r.td = !0
- }
- r.Hb = H.Yc(l);
- r.$e = r.Hb ? !0 : !1;
- M.GL_EXT_COLORBUFFERFLOAT = r.Hb;
- r.Ib = H.Zc(l);
- r.af = r.Ib ? !0 : !1;
- M.GL_EXT_COLORBUFFERHALFFLOAT = r.Ib;
- la.o();
- Aa.o();
- if (!H.xe())
- return !1;
- ma.o();
- Aa.Ze();
- return !0
- },
- reset: function() {
- r = Object.assign({}, u);
- v = Object.assign({}, A)
- },
- F: function() {
- q || a();
- return p.F()
- },
- U: function() {
- q || a();
- return p.U()
- },
- ia: function() {
- q || a();
- return p.ia()
- },
- Xc: function(l) {
- H.Yc(l);
- H.Zc(l);
- H.$c(l);
- H.ad(l);
- H.$a(l);
- H.bd(l)
- },
- Yc: c.bind(null, ["EXT_color_buffer_float", "WEBGL_color_buffer_float", "OES_color_buffer_float"]),
- Zc: c.bind(null, ["EXT_color_buffer_half_float", "WEBGL_color_buffer_half_float", "OES_color_buffer_half_float"]),
- $c: c.bind(null, ["OES_texture_float", "MOZ_OES_texture_float", "WEBKIT_OES_texture_float"]),
- ad: c.bind(null, ["OES_texture_float_linear", "MOZ_OES_texture_float_linear", "WEBKIT_OES_texture_float_linear"]),
- $a: c.bind(null, ["OES_texture_half_float", "MOZ_OES_texture_half_float", "WEBKIT_OES_texture_half_float"]),
- bd: c.bind(null, ["OES_texture_half_float_linear", "MOZ_OES_texture_half_float_linear", "WEBKIT_OES_texture_half_float_linear"]),
- Tb: function(l) {
- var J = H.$a(l);
- return J && J.HALF_FLOAT_OES ? J.HALF_FLOAT_OES : l.HALF_FLOAT || l.FLOAT
- },
- Ne: function() {
- return E || b.RGBA32F || b.RGBA
- },
- Oe: function() {
- return y || b.RGBA16F || b.RGBA
- },
- Ke: function() {
- return v
- },
- Oc: function() {
- return v.fa
- },
- fg: function() {
- return v.ha
- },
- eg: function() {
- return v.Rb
- },
- oe: function() {
- return v.Jd && n
- },
- Zd: function(l) {
- n = l;
- !l && k.za && (m(),
- b.bindBuffer(k.V, null),
- k.za = !1)
- },
- nh: function() {
- return k.za
- },
- Ab: function(l, J, w) {
- function L() {
- l.bindTexture(l.TEXTURE_2D, null);
- l.bindFramebuffer(N, null);
- l.deleteTexture(z);
- l.deleteFramebuffer(f)
- }
- var N = l.FRAMEBUFFER
- , x = l.NEAREST
- , f = l.createFramebuffer();
- l.bindFramebuffer(N, f);
- var z = l.createTexture();
- l.activeTexture(l.TEXTURE0);
- l.bindTexture(l.TEXTURE_2D, z);
- l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL, !1);
- l.texParameteri(l.TEXTURE_2D, l.TEXTURE_WRAP_S, l.CLAMP_TO_EDGE);
- l.texParameteri(l.TEXTURE_2D, l.TEXTURE_WRAP_T, l.CLAMP_TO_EDGE);
- l.texParameteri(l.TEXTURE_2D, l.TEXTURE_MAG_FILTER, x);
- l.texParameteri(l.TEXTURE_2D, l.TEXTURE_MIN_FILTER, x);
- l.texImage2D(l.TEXTURE_2D, 0, J, 3, 3, 0, l.RGBA, w, null);
- l.framebufferTexture2D(l.FRAMEBUFFER, l.COLOR_ATTACHMENT0, l.TEXTURE_2D, z, 0);
- if (l.checkFramebufferStatus(l.READ_FRAMEBUFFER || l.FRAMEBUFFER) !== l.FRAMEBUFFER_COMPLETE)
- return L(),
- !1;
- xa.tc(l);
- l.clearColor(0, 0, 0, 0);
- l.viewport(0, 0, 3, 3);
- l.disable(l.DEPTH_TEST);
- l.clear(l.COLOR_BUFFER_BIT);
- ma.bb(l);
- l.bindFramebuffer(N, null);
- xa.Sa(l);
- l.activeTexture(l.TEXTURE0);
- l.bindTexture(l.TEXTURE_2D, z);
- ma.bb(l);
- J = new Uint8Array(36);
- l.readPixels(0, 0, 3, 3, l.RGBA, l.UNSIGNED_BYTE, J);
- L();
- for (w = 0; 36 > w; ++w)
- if (3 !== w % 4 && 3 < Math.abs(J[w] - 127))
- return !1;
- return !0
- },
- Kb: function(l) {
- var J = {
- fa: !1,
- ha: !1
- };
- l.disable(l.BLEND);
- l.clearColor(0, 0, 0, 0);
- l.clear(l.COLOR_BUFFER_BIT);
- l.RGBA32F && H.Ab(l, l.RGBA32F, l.FLOAT) && (J.fa = !0,
- E = l.RGBA32F);
- !J.fa && H.Ab(l, l.RGBA, l.FLOAT) && (J.fa = !0,
- E = l.RGBA);
- var w = H.Tb(l);
- y = null;
- l.RGBA16F && H.Ab(l, l.RGBA16F, w) && (J.ha = !0,
- y = l.RGBA16F);
- !J.ha && H.Ab(l, l.RGBA, w) && (J.ha = !0,
- y = l.RGBA);
- return J
- },
- ye: function() {
- var l = la.instance({
- width: 2
- });
- l.Rd();
- var J = Aa.instance({
- width: 2,
- isFloat: !0,
- sb: 3
- });
- l.u();
- J.u();
- H.flush();
- b.checkFramebufferStatus(la.Qe()) !== b.FRAMEBUFFER_COMPLETE ? (Aa.Gf(),
- v.Rb = !1) : v.Rb = !0;
- l.remove();
- J.remove()
- },
- ze: function() {
- var l = !1;
- H.ia() && (l = "PIXEL_PACK_BUFFER STREAM_READ SYNC_GPU_COMMANDS_COMPLETE WAIT_FAILED fenceSync deleteSync createBuffer".split(" ").every(function(J) {
- return "undefined" !== typeof b[J]
- }));
- v.Jd = l
- },
- xe: function() {
- var l = H.Kb(b);
- Object.assign(v, l);
- if (!v.fa && !v.ha)
- return !1;
- H.ye();
- H.ze();
- return !0
- },
- Bf: function(l, J, w, L, N) {
- b.readPixels(l, J, w, L, b.RGBA, b.UNSIGNED_BYTE, N);
- return Promise.resolve(N, !1)
- },
- xb: function(l, J, w, L, N, x, f) {
- if (!H.oe())
- return H.Bf(l, J, w, L, N);
- k.La = f || k.ue;
- e(N);
- b.readPixels(l, J, w, L, b.RGBA, b.UNSIGNED_BYTE, 0);
- k.xa[k.ea] = b.fenceSync(b.SYNC_GPU_COMMANDS_COMPLETE, 0);
- H.flush();
- var z = !1;
- return new Promise(function(I, h) {
- function C() {
- if (!k.za)
- return d(),
- g(),
- t(),
- h(),
- !1;
- var K = (k.ea + 1) % k.La;
- switch (b.clientWaitSync(k.xa[K], 0, 0)) {
- case b.TIMEOUT_EXPIRED:
- case b.WAIT_FAILED:
- return !1;
- default:
- return d(),
- b.deleteSync(k.xa[K]),
- k.xa[K] = null,
- b.bindBuffer(k.V, k.oa[K]),
- b.getBufferSubData(k.V, 0, N),
- g(),
- t(),
- I(N, z),
- !0
- }
- }
- d();
- k.jc + 1 < k.La ? (g(),
- t(),
- I(N, !1)) : (k.za = !0,
- C() || (x && !z && (z = !0,
- x()),
- k.Cb = setInterval(C, 0)))
- }
- )
- },
- Ud: function() {
- b.viewport(0, 0, H.F(), H.U())
- },
- flush: function() {
- b.flush()
- },
- m: function() {
- d();
- m();
- Aa.m();
- la.m();
- ma.m();
- k.oa.forEach(function(l) {
- b.deleteBuffer(l)
- });
- k.oa.splice(0);
- xa.reset();
- q = !1
- }
- };
- return H
- }()
- , T = ma
- , va = la
- , X = Aa
- , Ba = function() {
- function a(w, L, N, x) {
- k.texParameteri(k.TEXTURE_2D, k.TEXTURE_MIN_FILTER, x ? k.NEAREST_MIPMAP_NEAREST : k.LINEAR);
- var f = null;
- if (null !== N)
- try {
- f = k.getError();
- if ("FUCKING_BIG_ERROR" === f)
- return !1;
- k.texImage2D(k.TEXTURE_2D, 0, w, 4, 4, 0, k.RGBA, L, N);
- f = k.getError();
- if (f !== k.NO_ERROR)
- return !1
- } catch (z) {
- return !1
- }
- x && k.generateMipmap(k.TEXTURE_2D);
- k.clear(k.COLOR_BUFFER_BIT);
- T.bb(k);
- f = k.getError();
- if ("FUCKING_BIG_ERROR" === f)
- return !1;
- k.readPixels(0, 0, 2, 2, k.RGBA, k.UNSIGNED_BYTE, r);
- f = k.getError();
- f === k.INVALID_OPERATION && "undefined" !== typeof k.PIXEL_PACK_BUFFER && (k.bindBuffer(k.PIXEL_PACK_BUFFER, null),
- k.readPixels(0, 0, 2, 2, k.RGBA, k.UNSIGNED_BYTE, r),
- f = k.getError());
- if (f !== k.NO_ERROR)
- return !1;
- N = !0;
- for (x = 0; 16 > x; ++x)
- N = N && 4 > Math.abs(r[x] - 127);
- N && (q.Gd = L,
- q.pd = w);
- return N
- }
- function c(w, L) {
- return M.fa && a(w, k.FLOAT, new Float32Array(A), L) ? (p = t.Hc,
- !0) : !1
- }
- function d(w, L, N) {
- if (!M.ha)
- return !1;
- var x = Aa.te(A)
- , f = aa.$a(k);
- if (f && f.HALF_FLOAT_OES && a(w, f.HALF_FLOAT_OES, x, L) || k.HALF_FLOAT && a(w, k.HALF_FLOAT, x, L))
- return p = t.Ga,
- !0;
- x = new Float32Array(A);
- if (a(w, k.FLOAT, x, L))
- return p = t.Ga,
- !0;
- k.bindTexture(k.TEXTURE_2D, N);
- k.texImage2D(k.TEXTURE_2D, 0, k.RGBA, 2, 2, 0, k.RGBA, k.UNSIGNED_BYTE, null);
- k.bindFramebuffer(q.Ya, J);
- Aa.ed(k, N, 2, 2, x, !1, !1);
- k.bindFramebuffer(q.Ya, null);
- k.bindTexture(k.TEXTURE_2D, N);
- return a(w, null, null, L) ? (p = t.Ga,
- !0) : !1
- }
- function e(w, L, N) {
- u = !0;
- if (d(w, !0, N) || c(L, !0))
- return !0;
- u = !1;
- return d(w, !1, N) || c(L, !1) ? !0 : !1
- }
- function g(w) {
- if (p === t.P) {
- k = w || b;
- p = t.RGBA8;
- u = !0;
- aa.Xc(k);
- M || (M = aa.Kb(k));
- va.reset();
- J = k.createFramebuffer();
- q.Ya = k.DRAW_FRAMEBUFFER || k.FRAMEBUFFER;
- k.bindFramebuffer(q.Ya, null);
- k.clearColor(0, 0, 0, 0);
- k.viewport(0, 0, 2, 2);
- D.P();
- H = D.Sa(k);
- w = k.createTexture();
- k.activeTexture(k.TEXTURE0);
- k.bindTexture(k.TEXTURE_2D, w);
- k.texParameteri(k.TEXTURE_2D, k.TEXTURE_WRAP_S, k.REPEAT);
- k.texParameteri(k.TEXTURE_2D, k.TEXTURE_WRAP_T, k.REPEAT);
- k.texParameteri(k.TEXTURE_2D, k.TEXTURE_MAG_FILTER, k.NEAREST);
- l = w;
- var L = w = k.RGBA
- , N = k.RGBA16F
- , x = k.RGBA32F;
- x && (w = x);
- N && (L = N);
- if ((N || x) && e(L, w, l))
- return m(),
- !0;
- w = L = k.RGBA;
- if (e(L, w, l))
- return m(),
- !0;
- p = t.RGBA8;
- m();
- return !1
- }
- }
- function m() {
- k.deleteProgram(H.ra);
- k.deleteTexture(l);
- l = H = null
- }
- for (var t = {
- P: -1,
- Hc: 3,
- Ga: 2,
- RGBA8: 0
- }, p = t.P, q = {
- Gd: null,
- pd: null,
- Ya: null
- }, u = !0, r = new Uint8Array(16), A = Array(64), v = 0; 4 > v; ++v)
- for (var n = 0; 4 > n; ++n) {
- var y = 0 === (n + v) % 2 ? 1 : 0
- , E = 4 * v + n;
- A[4 * E] = y;
- A[4 * E + 1] = y;
- A[4 * E + 2] = y;
- A[4 * E + 3] = y
- }
- var k = null
- , M = null
- , H = null
- , l = null
- , J = null;
- return {
- me: function(w) {
- g(w);
- return u
- },
- Nc: function(w, L) {
- p === t.P && (typeof ("undefined" !== L) && (M = L),
- g(w));
- return p !== t.RGBA8
- },
- kh: function(w) {
- g(w);
- return p === t.Hc
- },
- hf: function(w) {
- g(w);
- return p === t.Ga
- },
- Sg: function(w) {
- g(w);
- return q.Gd
- },
- Pe: function(w) {
- g(w);
- return q.pd
- },
- m: function() {
- k = null;
- u = !0;
- p = t.P;
- M = null
- }
- }
- }()
- , Ub = function() {
- return {
- instance: function(a) {
- var c = X.instance(a.alpha)
- , d = X.instance(a.beta);
- return {
- Be: function() {
- c.g(1);
- d.g(2)
- }
- }
- }
- }
- }()
- , Gb = function() {
- return {
- instance: function(a) {
- var c = null
- , d = !1
- , e = !1
- , g = null
- , m = !1
- , t = !1
- , p = null
- , q = "undefined" === typeof a.preprocessing ? !1 : a.preprocessing
- , u = "undefined" === typeof a.preprocessingSize ? a.size : a.preprocessingSize;
- a.mask && (d = !0,
- ea && void 0 !== ea.he && (a.mask = ea.he + a.mask),
- c = X.instance({
- isFloat: !1,
- url: a.mask
- }));
- var r = !1;
- a.customInputShader && (r = "s45",
- D.Jc({
- name: "_",
- id: r,
- h: a.customInputShader,
- Oh: ["uSource"],
- precision: "lowp"
- }),
- D.S(r, [{
- type: "1i",
- name: "_",
- value: 0
- }]));
- switch (q) {
- case "sobel":
- p = "s32";
- m = !0;
- break;
- case "meanNormalization":
- p = "s33";
- m = !0;
- break;
- case "grayScale":
- p = "s29";
- m = !1;
- break;
- case "grayScaleTilt":
- p = "s30";
- t = !0;
- m = !1;
- break;
- case "rgbGrayTilt":
- p = "s31";
- t = !0;
- m = !1;
- break;
- case "copy":
- p = r ? r : "s0";
- break;
- case "inputLightRegulation":
- p = r ? r : "s29";
- g = Vb.instance({
- od: u,
- Fd: a.size,
- Cd: a.nBlurPass,
- mb: !1
- });
- e = !0;
- break;
- case "inputMix0":
- p = "none";
- g = Wb.instance({
- C: u,
- be: a.varianceMin,
- Mc: a.blurKernelSizePx,
- mb: !1
- });
- e = !0;
- break;
- case "direct":
- case "none":
- p = "abort";
- break;
- default:
- p = "s4"
- }
- t && D.S(p, [{
- name: "u27",
- type: "1f",
- value: a.tilt
- }]);
- d && (p += "Mask");
- var A = X.instance({
- isFloat: !1,
- isPot: !1,
- width: a.size
- })
- , v = {
- F: function() {
- return u
- },
- Ub: function() {
- return v.F()
- },
- Ue: function() {
- return e ? g.Vb() : A
- },
- T: function(n) {
- va.ca();
- "abort" !== p && ("none" !== p && (D.set(p),
- m && D.G("u28", 1 / a.size),
- A.$(),
- d && c.g(1),
- T.l(!1, !1),
- A.g(0),
- n = A),
- e && g.process(n))
- },
- m: function() {
- A.remove();
- d && c.remove()
- }
- };
- return v
- }
- }
- }()
- , Hb = function() {
- return {
- instance: function(a) {
- function c(h) {
- g.forEach(function(C, K) {
- m[K][0] = h[0][C];
- m[K][1] = h[1][C];
- m[K][2] = h[2][C];
- m[K][3] = h[3][C]
- });
- return m
- }
- a.normalize = a.normalize || !1;
- var d = {
- input: null,
- bias: null,
- Zb: null,
- Z: null,
- tb: null,
- nc: null,
- oc: null
- }
- , e = null
- , g = []
- , m = []
- , t = !1
- , p = null
- , q = !0
- , u = -1
- , r = a.isReorganize ? a.isReorganize : !1
- , A = a.kernelsCount ? !0 : !1
- , v = a.dynPelu ? Ub.instance(a.dynPelu) : !1
- , n = v ? !0 : !1
- , y = {
- isEnabled: !1
- };
- a.ef ? (a.sparsity = "undefined" !== typeof a.sparsity ? a.sparsity : a.vb.Ub(),
- q = !1) : "full" === a.connectivityUp && (a.sparsity = a.vb.Ub());
- var E = {
- elu: "s16",
- elu01: "s17",
- relu: "s15",
- arctan: "s19",
- sigmoid: "s14",
- copy: "s0",
- softplus: "s20",
- dynPelu: "s18"
- }[a.activation]
- , k = a.sparsity * a.sparsity
- , M = !1
- , H = a.size
- , l = "";
- if (a.maxPooling) {
- switch (a.maxPooling.size) {
- case 2:
- l = "s34";
- break;
- case 4:
- l = "s35"
- }
- M = !0;
- H /= a.maxPooling.size;
- d.nc = X.instance({
- isFloat: !0,
- isPot: !1,
- width: H
- })
- }
- var J = a.normalization ? !0 : !1
- , w = null
- , L = null
- , N = null;
- if (J) {
- w = "s46" + a.index.toString();
- D.nd("s46", w, [((a.normalization.n - 1) / 2).toFixed(1)]);
- D.S(w, [{
- type: "1i",
- name: "u1",
- value: 0
- }, {
- type: "2f",
- name: "u8",
- value: [1 / a.size, 1 / a.size]
- }, {
- type: "1f",
- name: "u7",
- value: a.normalization.alpha
- }, {
- type: "1f",
- name: "u10",
- value: a.normalization.beta
- }, {
- type: "1f",
- name: "u31",
- value: a.normalization.k
- }]);
- var x = {
- isFloat: !0,
- isPot: !0,
- width: a.size
- };
- L = X.instance(x);
- N = X.instance(x)
- }
- var f = -1
- , z = null;
- q && (d.Z = X.instance({
- isFloat: !0,
- isPot: !1,
- width: a.size
- }));
- d.bias = X.instance(a.bias);
- var I = {
- F: function() {
- return a.size
- },
- Ub: function() {
- return H
- },
- gd: function() {
- return a.classesCount
- },
- je: function(h) {
- e.g(h)
- },
- vf: function() {
- a.remap && a.remap.isEnabled && (y = {
- isEnabled: !0,
- lf: X.instance({
- isFloat: !1,
- isFlipY: !1,
- array: new Uint8Array(a.remap.maskTexture.data),
- width: a.remap.maskTexture.width,
- isPot: !1
- }),
- pb: a.remap.layers.map(function(h) {
- return a.parent.Se(h)
- }),
- depth: a.remap.depth
- })
- },
- Hf: function() {
- switch (a.connectivityUp) {
- case "direct":
- z = Xb.instance(a.connectivity);
- break;
- case "square":
- z = Yb.instance(a.connectivity);
- break;
- case "squareFast":
- z = Zb.instance(a.connectivity, a.activation);
- break;
- case "full":
- z = $b.instance(a.connectivity);
- break;
- case "conv":
- u = a.kernelsCount,
- z = ac.instance(a.connectivity),
- r && (d.tb = X.instance({
- width: H,
- isFloat: !0,
- isFlipY: !1,
- isPot: !1
- }))
- }
- if (z.Da) {
- var h = a.size * a.sparsity;
- f = Math.log(h / a.size) / Math.log(2);
- d.input = X.instance({
- isMipmap: !0,
- isFloat: !0,
- isPot: !0,
- width: h,
- ec: f
- });
- d.Zb = X.instance({
- isFloat: !0,
- isPot: !0,
- width: a.size
- })
- }
- },
- T: function(h, C) {
- e = h;
- z.Da ? (d.input.$(),
- A && d.bias.g(2),
- z.T(y),
- d.input.g(0),
- d.input.He(f),
- d.Zb.$(),
- A ? D.set("s0") : (D.set("s28"),
- D.G("u26", k),
- d.bias.g(1)),
- d.input.ke(f, 0),
- T.l(!1, !1),
- D.set(E),
- J ? L.u() : d.Z.u(),
- d.Zb.g(0),
- n && v.Be(),
- T.l(!1, !1)) : (d.Z.$(),
- d.bias.g(1),
- z.T());
- J && (D.set(w),
- N.u(),
- L.g(0),
- T.l(!1, !1),
- D.set("s47"),
- D.G("u7", 1),
- d.Z.u(),
- N.g(1),
- T.l(!1, !1));
- if (q)
- return M ? (d.nc.$(),
- d.Z.g(0),
- D.set(l),
- D.sa("u8", 1 / a.size, 1 / a.size),
- T.l(!1, !1),
- C = d.nc) : C = d.Z,
- C.g(0),
- r && (d.tb.u(),
- D.set("s22"),
- D.sa("u13", u, H / u),
- T.l(!1, !1),
- C = d.tb,
- d.tb.g(0)),
- C;
- var K = d.Z;
- a.normalize && (D.set("gpuRawAvg" === t ? "s9" : "s8"),
- D.G("u4", 1 / a.size),
- d.oc.$(),
- d.Z.g(0),
- T.l(!1, !1),
- K = d.oc);
- h = null;
- switch (t) {
- case "cpuRGBA2Float":
- K.Uc(!1);
- C ? h = I.wf(K).then(p) : (K = I.xf(K),
- p(K));
- break;
- case "cpuMeanFloat":
- K.Uc(!0);
- if (C)
- h = K.zf().then(p);
- else {
- K = K.Af();
- for (var O = 0; O < K.length; ++O)
- ;
- p(K)
- }
- break;
- case "gpuRawAvg":
- case "gpuRaw":
- K.g(0);
- case "none":
- null !== p && p(K)
- }
- C && null === h && (h = Promise.resolve());
- return h
- },
- we: function(h) {
- h && (t = h.pc || "none",
- p = h.mc || null);
- d.Z = X.instance({
- isFloat: !0,
- isPot: !0,
- isMipmap: !1,
- width: a.size
- });
- h = "undefined" !== typeof a.classesCount && a.classesCount ? a.classesCount : a.size * a.size;
- for (var C = 0, K = 0, O = 0; C < h; ++C)
- g.push(K + (a.size - 1 - O) * a.size),
- m.push([-1, -1, -1, -1]),
- ++K,
- K === a.size && (K = 0,
- ++O);
- a.normalize && (d.oc = X.instance({
- isFloat: !0,
- isPot: !0,
- width: a.size
- }))
- },
- wf: function(h) {
- return h.yf().then(c)
- },
- xf: function(h) {
- h = h.Kd();
- c(h);
- return m
- },
- m: function() {
- for (var h in d) {
- var C = d[h];
- C && C.remove()
- }
- z && (z.m(),
- z = null)
- }
- };
- a.vb && I.Hf(a.vb);
- return I
- }
- }
- }()
- , Xb = function() {
- return {
- instance: function(a) {
- var c = X.instance(a.weights);
- return {
- Da: !0,
- eb: function() {
- return 1
- },
- m: function() {
- c.remove()
- },
- Xe: function() {
- return c
- },
- T: function() {
- D.set("s27");
- c.g(1);
- T.l(!1, !1)
- }
- }
- }
- }
- }()
- , $b = function() {
- return {
- instance: function(a) {
- var c = a.fromLayerSize
- , d = X.instance(a.weights);
- return {
- Da: !0,
- eb: function() {
- return c
- },
- m: function() {
- d.remove()
- },
- T: function(e) {
- if (e.isEnabled) {
- D.set("s25");
- e.lf.g(3);
- var g, m = Math.min(e.pb.length, e.depth);
- for (g = 0; g < m; ++g)
- e.pb[g].je(4 + g)
- } else
- D.set("s24");
- D.G("u17", a.toLayerSize);
- d.g(1);
- T.l(!1, !1)
- }
- }
- }
- }
- }()
- , Yb = function() {
- return {
- instance: function(a) {
- for (var c = a.fromLayerSize, d = a.toLayerSize, e = a.toSparsity, g = e * d, m = g / c, t = c / d, p = 0, q = 0, u = 0, r = Array(e * d * e * d * 4), A = Array(e * d * e * d * 4), v = Array(c * c), n = 0; n < v.length; ++n)
- v[n] = 0;
- n = Math.floor(e / 2);
- for (var y = .5 / d, E = .5 / c, k = .5 / g, M = 0; M < d; ++M)
- for (var H = Math.round(M * t), l = 0; l < d; ++l) {
- var J = Math.round(l * t)
- , w = M / d
- , L = l / d;
- w += y;
- L += y;
- for (var N = 0; N < e; ++N) {
- var x = H + N - n;
- 0 > x && (x += c);
- x >= c && (x -= c);
- for (var f = 0; f < e; ++f) {
- var z = p / g
- , I = q / g
- , h = J + f - n;
- 0 > h && (h += c);
- h >= c && (h -= c);
- var C = x / c
- , K = h / c;
- I = 1 - I - 1 / g;
- C += E;
- K += E;
- z += k;
- I += k;
- var O = M * e + N
- , Y = l * e + f;
- Y = d * e - Y - 1;
- O = Y * d * e + O;
- r[4 * O] = z;
- r[4 * O + 1] = I;
- r[4 * O + 2] = C;
- r[4 * O + 3] = K;
- K = v[h * c + x]++;
- O = K % m;
- C = x * m + O;
- h = h * m + (K - O) / m;
- h = c * m - 1 - h;
- h = h * c * m + C;
- A[4 * h] = z;
- A[4 * h + 1] = I;
- A[4 * h + 2] = w;
- A[4 * h + 3] = L;
- ++p >= g && (p = 0,
- ++q);
- ++u
- }
- }
- }
- v = null;
- var oa = X.instance(a.weights);
- delete a.weights.data;
- var sa = X.instance({
- width: g,
- isFloat: !0,
- array: new Float32Array(A),
- isPot: !0
- });
- A = null;
- var Ca = X.instance({
- width: g,
- isFloat: !0,
- array: new Float32Array(r),
- isPot: !0
- });
- r = null;
- return {
- Da: !0,
- eb: function() {
- return m
- },
- m: function() {
- sa.remove();
- Ca.remove();
- oa.remove()
- },
- T: function() {
- D.set("s23");
- oa.g(1);
- Ca.g(2);
- T.l(!1, !1)
- }
- }
- }
- }
- }()
- , ac = function() {
- return {
- instance: function(a) {
- var c = a.kernelsCount
- , d = a.toSparsity
- , e = d * a.toLayerSize / a.fromLayerSize
- , g = X.instance(a.weights);
- return {
- Da: !0,
- eb: function() {
- return e
- },
- dh: function() {
- return d
- },
- Xe: function() {
- return g
- },
- m: function() {
- g.remove()
- },
- T: function() {
- D.set("s26");
- D.G("u23", c);
- D.G("u24", d);
- D.G("u17", a.toLayerSize);
- D.G("u25", a.fromLayerSize);
- g.g(1);
- T.l(!1, !1)
- }
- }
- }
- }
- }()
- , Zb = function() {
- return {
- instance: function(a, c) {
- var d = a.fromLayerSize
- , e = a.toLayerSize
- , g = a.toSparsity
- , m = a.stride ? a.stride : 1
- , t = g * e / d
- , p = e < d
- , q = d / e
- , u = X.instance(a.weights)
- , r = "s48" + [d.toString(), e.toString(), g.toString(), m.toString(), c].join("_");
- D.Fe(r) || (a = Sb.Ie(c, "gl_FragColor", "gl_FragColor"),
- e = [{
- type: "1f",
- name: "u17",
- value: e
- }, {
- type: "1f",
- name: "u30",
- value: m
- }],
- p && e.push({
- type: "1f",
- name: "u25",
- value: d
- }),
- d = [(p ? t : g).toFixed(1), a],
- p && d.push(q.toFixed(1)),
- D.nd(p ? "s40" : "s39", r, d),
- D.S(r, e.concat([{
- type: "1i",
- name: "u15",
- value: 0
- }, {
- type: "1i",
- name: "u22",
- value: 1
- }, {
- type: "1i",
- name: "u14",
- value: 3
- }])));
- return {
- Da: !1,
- eb: function() {
- return t
- },
- m: function() {
- u.remove()
- },
- T: function() {
- D.set(r);
- u.g(3);
- T.l(!1, !1)
- }
- }
- }
- }
- }()
- , Vb = function() {
- return {
- instance: function(a) {
- var c = a.Cd ? a.Cd : 3
- , d = a.od ? a.od : 64
- , e = a.Fd ? a.Fd : 64
- , g = a.mb ? !0 : !1;
- a = {
- isFloat: !1,
- width: d,
- isPot: !1,
- isFlipY: !1
- };
- var m = X.instance(a)
- , t = X.instance(a)
- , p = X.instance(a)
- , q = X.instance(a)
- , u = X.instance({
- isFloat: !0,
- width: e,
- isPot: !1,
- isFlipY: !1
- })
- , r = 1 / d;
- return {
- process: function(A) {
- D.set("s36");
- q.u();
- T.l(g, !1);
- D.set("s37");
- for (var v = 0; v < c; ++v)
- m.u(),
- D.sa("u8", r, 0),
- T.l(g, !1),
- p.u(),
- q.g(0),
- T.l(g, !1),
- t.u(),
- m.g(0),
- D.sa("u8", 0, r),
- T.l(g, !1),
- q.u(),
- p.g(0),
- T.l(g, !1),
- v !== c - 1 && t.g(0);
- D.set("s38");
- u.u();
- A.g(0);
- t.g(1);
- q.g(2);
- T.l(g, !1);
- u.g(0)
- },
- Vb: function() {
- return u
- }
- }
- }
- }
- }()
- , Wb = function() {
- return {
- instance: function(a) {
- function c(u) {
- return X.instance({
- isFloat: u,
- width: d.C,
- isPot: !1,
- isFlipY: !1
- })
- }
- var d = Object.assign({
- be: .1,
- Mc: 9,
- C: 128,
- mb: !1
- }, a)
- , e = c(!1)
- , g = [c(!1), c(!1), c(!1)]
- , m = [c(!1), c(!1), c(!1)]
- , t = c(!0)
- , p = [e, m[0], m[1]];
- a = "uniform sampler2D u1;const float e=1.1111,g=2.2222;uniform vec2 u32;varying vec2 vv0;void main(){float b=0.,c=0.;for(float a=-e;a<=e;a+=1.){vec2 i=u32*a,j=vv0+i*g;float d=1.2*a/e,f=exp(-d*d);b+=f*texture2D(u1,j).r,c+=f;}b/=c,gl_FragColor=vec4(b,0.,0.,1.);}".replace("1.1111", Math.round((d.Mc - 1) / 2).toFixed(2)).replace("2.2222", (1 / d.C).toFixed(6));
- var q = {
- u1: 0
- };
- D.Kc([{
- id: "s50",
- name: "_",
- h: "uniform sampler2D u1;varying vec2 vv0;const vec3 f=vec3(.2126,.7152,.0722),g=vec3(1.,1.,1.);void main(){vec3 b=texture2D(u1,vv0).rgb;float a=dot(b,f);gl_FragColor=vec4(a,a,a,a);}",
- j: q,
- i: ["u1"],
- precision: "lowp"
- }, {
- id: "s51",
- name: "_",
- h: a,
- j: q,
- i: ["u1", "u32"],
- precision: "lowp"
- }, {
- id: "s52",
- name: "_",
- h: "uniform sampler2D u33,u34,u35,u36;const float f=1.1111;const vec3 g=vec3(1.,1.,1.);varying vec2 vv0;void main(){vec3 a=texture2D(u33,vv0).rgb;float c=texture2D(u34,vv0).r,d=texture2D(u35,vv0).r,h=texture2D(u36,vv0).r,i=a.r*a.r;vec3 b=vec3(c,d,h),j=max(g*f,abs(i-b*b)),k=sqrt(j);gl_FragColor=vec4(a.r,(a-b)/k);}".replace("1.1111", d.be.toFixed(4)),
- j: {
- u33: 0,
- u34: 1,
- u35: 2,
- u36: 3
- },
- i: ["u33", "u34", "u35", "u36"],
- precision: "highp"
- }]);
- return {
- process: function() {
- D.set("s50");
- e.$();
- T.l(d.mb, !1);
- D.set("s51");
- for (var u = 0; 3 > u; ++u)
- D.sa("u32", 1, 0),
- g[u].u(),
- p[u].g(0),
- T.l(!1, !1),
- D.sa("u32", 0, 1),
- m[u].u(),
- g[u].g(0),
- T.l(!1, !1);
- D.set("s52");
- t.u();
- e.g(0);
- m[0].g(1);
- m[1].g(2);
- m[2].g(3);
- T.l(!1, !1);
- t.g(0)
- },
- Vb: function() {
- return t
- }
- }
- }
- }
- }()
- , V = {
- ld: function() {
- return V.Sc() ? document.createElement("video") : !1
- },
- Ma: function(a, c) {
- a[c] = !0;
- a.setAttribute(c, "true")
- },
- re: function() {
- var a = !1
- , c = navigator.userAgent || navigator.vendor || window.opera;
- if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|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|xda|xiino/i.test(c) || /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(c.substr(0, 4)))
- a = !0;
- return a
- },
- Pc: function() {
- return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream
- },
- Je: function() {
- var a = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);
- return a && a.length && 2 < a.length ? [parseInt(a[1], 10), parseInt(a[2], 10), parseInt(a[3] || 0, 10)] : [0, 0, 0]
- },
- zd: function() {
- try {
- return window.matchMedia("(orientation: portrait)").matches ? !0 : !1
- } catch (a) {
- return window.innerHeight > window.innerWidth
- }
- },
- qe: function() {
- return V.Qc() || V.Pc()
- },
- Qc: function() {
- var a = navigator.userAgent.toLowerCase();
- return -1 !== a.indexOf("safari") && -1 === a.indexOf("chrome") ? !0 : !1
- },
- Gg: function() {
- return V.re() ? V.zd() ? window.innerHeight / window.innerWidth * 45 : 45 : 45
- },
- Sc: function() {
- return navigator.mediaDevices && navigator.mediaDevices.getUserMedia ? !0 : !1
- },
- pause: function(a) {
- a.pause()
- },
- Bh: function(a) {
- a.play()
- },
- release: function(a) {
- a.pause();
- a.videoStream && a.videoStream.stop();
- a.videoStream = null
- },
- Rc: function(a) {
- if (!a)
- return a;
- var c = null;
- if (a.video) {
- var d = function(e) {
- return e && "object" === typeof e ? Object.assign({}, e) : e
- };
- c = {};
- "undefined" !== typeof a.video.width && (c.width = d(a.video.width));
- "undefined" !== typeof a.video.height && (c.height = d(a.video.height));
- "undefined" !== typeof a.video.facingMode && (c.facingMode = d(a.video.facingMode))
- }
- c = {
- audio: a.audio,
- video: c
- };
- "undefined" !== typeof a.deviceId && V.Ic(c, a.deviceId);
- return c
- },
- Ic: function(a, c) {
- c && (a.video = a.video || {},
- a.video.deviceId = {
- exact: c
- },
- a.video.facingMode && delete a.video.facingMode)
- },
- Xd: function(a) {
- var c = a.video.width;
- a.video.width = a.video.height;
- a.video.height = c;
- return a
- },
- ve: function(a) {
- function c(v) {
- return [480, 576, 640, 648, 720, 768, 800, 960, 1080, 1152, 1280, 1366, 1920].sort(function(n, y) {
- return Math.abs(n - v) - Math.abs(y - v)
- })
- }
- function d(v) {
- var n = V.Rc(a);
- v = v(n);
- g.push(v);
- e(v)
- }
- function e(v) {
- if (v.video && v.video.facingMode && v.video.facingMode.exact) {
- var n = v.video.facingMode.exact;
- v = V.Rc(v);
- delete v.video.facingMode.exact;
- v.video.facingMode.ideal = n;
- g.push(v)
- }
- }
- var g = [];
- if (!a || !a.video)
- return g;
- e(a);
- if (a.video.width && a.video.height) {
- if (a.video.width.ideal && a.video.height.ideal) {
- var m = c(a.video.width.ideal).slice(0, 3)
- , t = c(a.video.height.ideal).slice(0, 3)
- , p = {}
- , q = 0;
- for (p.la = void 0; q < m.length; p = {
- la: p.la
- },
- ++q) {
- p.la = m[q];
- var u = {}
- , r = 0;
- for (u.ka = void 0; r < t.length; u = {
- ka: u.ka
- },
- ++r)
- if (u.ka = t[r],
- p.la !== a.video.width.ideal || u.ka !== a.video.height.ideal) {
- var A = Math.max(p.la, u.ka) / Math.min(p.la, u.ka);
- A < 4 / 3 - .1 || A > 16 / 9 + .1 || d(function(v, n) {
- return function(y) {
- y.video.width.ideal = v.la;
- y.video.height.ideal = n.ka;
- return y
- }
- }(p, u))
- }
- }
- }
- d(function(v) {
- return V.Xd(v)
- })
- }
- a.video.width && a.video.height && (a.video.width.ideal && a.video.height.ideal && d(function(v) {
- delete v.video.width.ideal;
- delete v.video.height.ideal;
- return v
- }),
- d(function(v) {
- delete v.video.width;
- delete v.video.height;
- return v
- }));
- a.video.facingMode && (d(function(v) {
- delete v.video.facingMode;
- return v
- }),
- a.video.width && a.video.height && d(function(v) {
- V.Xd(v);
- delete v.video.facingMode;
- return v
- }));
- g.push({
- audio: a.audio,
- video: !0
- });
- return g
- },
- Qf: function(a) {
- if (V.zd()) {
- if (!a || !a.video)
- return !1;
- var c = a.video.width
- , d = a.video.height;
- if (!c || !d)
- return !1;
- if (c.ideal && d.ideal && c.ideal > d.ideal)
- return a.video.height = c,
- a.video.width = d,
- !0
- }
- return !1
- },
- rb: function(a) {
- a.volume = 0;
- V.Ma(a, "muted");
- if (V.Qc()) {
- if (1 === a.volume) {
- var c = function() {
- a.volume = 0;
- window.removeEventListener("mousemove", c, !1);
- window.removeEventListener("touchstart", c, !1)
- };
- window.addEventListener("mousemove", c, !1);
- window.addEventListener("touchstart", c, !1)
- }
- setTimeout(function() {
- a.volume = 0;
- V.Ma(a, "muted")
- }, 5)
- }
- },
- $d: function(a, c, d) {
- return null === a ? Promise.resolve() : new Promise(function(e, g) {
- if (a.srcObject && a.srcObject.getVideoTracks) {
- var m = a.srcObject.getVideoTracks();
- 1 !== m.length ? g("INVALID_TRACKNUMBER") : (m = m[0],
- c ? V.get(a, e, g, d) : (m.stop(),
- e()))
- } else
- g("BAD_IMPLEMENTATION")
- }
- )
- },
- kd: function(a, c, d, e) {
- function g(t) {
- m || (m = !0,
- d(t))
- }
- var m = !1;
- return navigator.mediaDevices.getUserMedia(e).then(function(t) {
- function p() {
- setTimeout(function() {
- if (a.currentTime) {
- var u = a.videoWidth
- , r = a.videoHeight;
- if (0 === u || 0 === r)
- g("VIDEO_NULLSIZE");
- else {
- u && (a.style.width = u.toString() + "px");
- r && (a.style.height = r.toString() + "px");
- var A = {
- pe: null,
- Mf: null,
- mf: null
- };
- try {
- var v = t.getVideoTracks()[0];
- v && (A.mf = v,
- A.pe = v.getCapabilities(),
- A.Mf = v.getSettings())
- } catch (n) {}
- V.qe() ? a.parentNode && null !== a.parentNode ? (m || c(a, t, A),
- setTimeout(function() {
- a.play()
- }, 100)) : (document.body.appendChild(a),
- V.rb(a),
- setTimeout(function() {
- a.style.transform = "scale(0.0001,0.0001)";
- a.style.position = "fixed";
- a.style.bottom = "0px";
- a.style.right = "0px";
- V.rb(a);
- setTimeout(function() {
- a.play();
- m || c(a, t, A)
- }, 100)
- }, 80)) : m || c(a, t, A)
- }
- } else
- g("VIDEO_NOTSTARTED")
- }, 700)
- }
- function q() {
- a.removeEventListener("loadeddata", q, !1);
- var u = a.play();
- V.rb(a);
- "undefined" === typeof u ? p() : u.then(function() {
- p()
- }).catch(function() {
- g("VIDEO_PLAYPROMISEREJECTED")
- })
- }
- "undefined" !== typeof a.srcObject ? a.srcObject = t : (a.src = window.URL.createObjectURL(t),
- a.videoStream = t);
- V.rb(a);
- a.addEventListener("loadeddata", q, !1)
- }).catch(function(t) {
- g(t)
- })
- },
- Ve: function(a, c) {
- var d = c || V.ld();
- return new Promise(function(e, g) {
- V.get(d, e, g, a)
- }
- )
- },
- get: function(a, c, d, e) {
- if (!a)
- return d && d("VIDEO_NOTPROVIDED"),
- !1;
- if (!V.Sc())
- return d && d("MEDIASTREAMAPI_NOTFOUND"),
- !1;
- if (e && e.video) {
- if (V.Pc()) {
- var g = V.Je();
- 0 !== g[0] && (12 > g[0] || 12 === g[0] && 2 > g[1]) && V.Qf(e)
- }
- e.video.width && e.video.width.ideal && (a.style.width = e.video.width.ideal + "px");
- e.video.height && e.video.height.ideal && (a.style.height = e.video.height.ideal + "px")
- }
- V.Ma(a, "autoplay");
- V.Ma(a, "playsinline");
- e && e.audio ? a.volume = 0 : V.Ma(a, "muted");
- V.kd(a, c, function() {
- function m(p) {
- if (0 === p.length)
- d("INVALID_FALLBACKCONSTRAINTS");
- else {
- var q = p.shift();
- V.kd(a, c, function() {
- m(p)
- }, q)
- }
- }
- var t = V.ve(e);
- m(t)
- }, e)
- },
- We: function(a) {
- if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices)
- return a(!1, "NOTSUPPORTED"),
- !1;
- navigator.mediaDevices.enumerateDevices().then(function(c) {
- (c = c.filter(function(d) {
- return d.kind && -1 !== d.kind.toLowerCase().indexOf("video") && d.label && d.deviceId
- })) && c.length && 0 < c.length ? a(c, !1) : a(!1, "NODEVICESFOUND")
- }).catch(function() {
- a(!1, "PROMISEREJECTED")
- })
- },
- gg: function(a, c, d) {
- var e = {};
- e[c] = d;
- c = [];
- c.push(e);
- a.applyConstraints({
- advanced: c
- }).catch(function() {})
- }
- }
- , qa = function() {
- function a(y, E, k, M, H, l, J) {
- if (!v)
- if (J === l.length)
- H();
- else {
- switch (l[J]) {
- case "A":
- k();
- break;
- case "D":
- y();
- break;
- case "S":
- E().then(function(w, L) {
- n.Bb();
- a(y, E, k, L ? null : M, H, l, ++J)
- }).catch(function() {
- H()
- });
- return;
- case "R":
- M && M()
- }
- a(y, E, k, M, H, l, ++J)
- }
- }
- var c = {
- n: 5,
- ic: 1,
- Bd: 0,
- cb: [35, 49],
- Za: [2, 200],
- k: .7,
- Vf: 200,
- uf: .05
- }
- , d = -1
- , e = null
- , g = -1
- , m = -1
- , t = 0
- , p = -1
- , q = -1
- , u = 0
- , r = 0
- , A = c.Za[1]
- , v = !0
- , n = {
- Te: function() {
- switch (d) {
- case -1:
- return -1;
- case 0:
- return q + e.Bd;
- case 1:
- return u
- }
- },
- Lg: function(y) {
- return Math.pow(Math.min(Math.max(p, 0), e.n - 1) / (e.n - 1), y || 1)
- },
- o: function(y) {
- e = Object.assign({}, c, y);
- p = q = e.ic;
- d = 0;
- n.reset()
- },
- Bb: function(y) {
- y = ("undefined" === typeof y ? Date.now() : y) || 0;
- var E = Math.min(Math.max(y - r, e.Za[0]), e.Za[1]);
- A = E;
- r = y;
- var k = -1 === g ? 0 : e.k;
- g = Math.min(Math.max(1E3 / E, 5), 120) * (1 - k) + g * k;
- y - m > e.Vf && 5 < ++t && (E = e.k,
- p = p * (1 - E) + (g < e.cb[0] ? q - 1 : g > e.cb[1] ? q + 1 : q) * E,
- Math.abs(p - q) > 1 - e.uf && (E = Math.min(Math.max(Math.round(p), 0), e.n - 1),
- E !== q && (p = q = E,
- g = (e.cb[1] - e.cb[0]) / 2)),
- m = y)
- },
- qc: function(y, E, k, M, H, l) {
- v = !1;
- a(y, E, k, M, H, l, 0)
- },
- stop: function() {
- v = !0
- },
- sc: function(y) {
- u = y;
- d = 1
- },
- Bc: function() {
- d = 0;
- n.reset()
- },
- reset: function() {
- A = c.Za[1];
- m = g = -1;
- t = 0
- },
- Me: function() {
- return A
- }
- };
- return n
- }()
- , Na = function() {
- function a() {
- d(E + n.hc);
- k.port.postMessage("DONE")
- }
- function c() {
- J.Ua = 0 === n.Ta ? H(d) : H(e)
- }
- function d(f) {
- l.Aa && null !== y && (f -= E,
- f = Math.min(Math.max(f, n.Vc[0]), n.Vc[1]),
- E += f,
- m(),
- w.isEnabled && w.Pa && l.W && E - w.cc > n.Fc && (u(),
- w.cc = E),
- y(E))
- }
- function e(f) {
- l.Aa && (J.timeout = setTimeout(d.bind(null, f), n.Ta))
- }
- function g() {
- y = null;
- l.Aa = !1;
- m()
- }
- function m() {
- J.Ua && (window.cancelAnimationFrame(J.Ua),
- J.Ua = null);
- J.timeout && (window.clearTimeout(J.timeout),
- J.timeout = null)
- }
- function t(f) {
- f && !l.W ? (l.W = !0,
- M && qa.Bc(),
- k.port.postMessage("STOP"),
- aa.Zd(!0),
- c()) : !f && l.W && (l.W = !1,
- M && qa.sc(1),
- aa.Zd(!1),
- k.port.postMessage("START"))
- }
- function p(f) {
- f.target.hidden ? N() : L()
- }
- function q(f, z, I) {
- z = f.createShader(z);
- f.shaderSource(z, I);
- f.compileShader(z);
- return z
- }
- function u() {
- w.Pa = !1;
- var f = w.ga
- , z = w.hb
- , I = w.ib
- , h = w.V;
- f.uniform1f(w.md, Math.random());
- w.Ba ? z.beginQueryEXT(h, I) : f.beginQuery(h, I);
- f.drawElements(f.POINTS, 1, f.UNSIGNED_SHORT, 0);
- w.Ba ? z.endQueryEXT(h) : f.endQuery(h);
- aa.flush();
- A().then(function(C) {
- C = n.ce * n.Ec * 1E3 / C;
- w.Eb = (w.Eb + 1) % n.Ea;
- w.dc[w.Eb] = C;
- ++w.Ad > n.Ea && (w.ob.set(w.dc),
- w.ob.sort(function(K, O) {
- return K - O
- }),
- C = w.ob[Math.floor(n.Ea / 2)],
- w.ab = Math.max(w.ab, C),
- n.Dc(C / w.ab));
- w.Pa = !0
- }).catch(function() {
- w.Pa = !0
- })
- }
- function r(f) {
- var z = w.ga
- , I = w.hb
- , h = w.ib;
- h = w.Ba ? I.Ig(h, I.QUERY_RESULT_AVAILABLE_EXT) : z.getQueryParameter(h, z.QUERY_RESULT_AVAILABLE);
- z = z.getParameter(I.GPU_DISJOINT_EXT);
- h ? f(!z) : setTimeout(r.bind(null, f), .1)
- }
- function A() {
- return new Promise(function(f, z) {
- r(function(I) {
- if (I) {
- I = w.ga;
- var h = w.hb
- , C = w.ib;
- I = w.Ba ? h.getQueryObjectEXT(C, h.QUERY_RESULT_EXT) : I.getQueryParameter(C, I.QUERY_RESULT);
- f(I)
- } else
- z()
- })
- }
- )
- }
- var v = {
- ud: !0,
- Vc: [1, 200],
- hc: 20,
- Ta: 0,
- Ec: 50,
- ce: 240,
- Fc: 3E3,
- Ea: 3,
- Dc: null
- }
- , n = null
- , y = null
- , E = 0
- , k = null
- , M = !1
- , H = null
- , l = {
- pa: !1,
- W: !0,
- bc: !1,
- ac: !1,
- $b: !1,
- Aa: !1
- }
- , J = {
- Ua: null,
- timeout: null
- }
- , w = {
- isEnabled: !1,
- Pa: !1,
- ga: null,
- hb: null,
- ib: null,
- V: null,
- md: null,
- Ba: !0,
- cc: 0,
- Ad: 0,
- dc: null,
- ob: null,
- Eb: 0,
- ab: 0
- }
- , L = t.bind(null, !0)
- , N = t.bind(null, !1)
- , x = {
- o: function(f) {
- n = Object.assign(v, f);
- Object.assign(l, {
- W: !0,
- pa: !0,
- Aa: !1
- });
- H = window.requestPostAnimationFrame || window.requestAnimationFrame;
- if (null !== n.Dc) {
- f = document.createElement("canvas");
- f.setAttribute("width", "1");
- f.setAttribute("height", "1");
- var z = {
- antialias: !1
- };
- f = f.getContext("webgl2", z) || f.getContext("webgl", z);
- if (z = f.getExtension("EXT_disjoint_timer_query") || f.getExtension("EXT_disjoint_timer_query_webgl2")) {
- w.ga = f;
- w.hb = z;
- w.isEnabled = !0;
- w.Ba = z.beginQueryEXT ? !0 : !1;
- var I = q(f, f.VERTEX_SHADER, "attribute vec4 a0;void main(){gl_Position=a0;}")
- , h = q(f, f.FRAGMENT_SHADER, "precision lowp float;uniform float u37;void main(){vec4 a=u37*vec4(1.,2.,3.,4.);for(int b=0;b<666;b+=1)a=cos(a);gl_FragColor=a;}".replace("666", n.Ec.toString()))
- , C = f.createProgram();
- f.attachShader(C, I);
- f.attachShader(C, h);
- f.linkProgram(C);
- I = f.getAttribLocation(C, "a0");
- w.md = f.getUniformLocation(C, "u37");
- f.useProgram(C);
- f.enableVertexAttribArray(I);
- C = f.createBuffer();
- f.bindBuffer(f.ARRAY_BUFFER, C);
- f.bufferData(f.ARRAY_BUFFER, new Float32Array([.5, .5, 0, 1]), f.STATIC_DRAW);
- f.vertexAttribPointer(I, 4, f.FLOAT, !1, 16, 0);
- C = f.createBuffer();
- f.bindBuffer(f.ELEMENT_ARRAY_BUFFER, C);
- f.bufferData(f.ELEMENT_ARRAY_BUFFER, new Uint16Array([0]), f.STATIC_DRAW);
- f.disable(f.DEPTH_TEST);
- f.disable(f.DITHER);
- f.disable(f.STENCIL_TEST);
- f.viewport(0, 0, 1, 1);
- C = w.Ba ? z.createQueryEXT() : f.createQuery();
- w.ib = C;
- w.V = z.TIME_ELAPSED_EXT || f.TIME_ELAPSED;
- w.cc = -n.Fc;
- w.dc = new Float32Array(n.Ea);
- w.ob = new Float32Array(n.Ea);
- w.ab = 0;
- w.Eb = 0;
- w.Ad = 0;
- w.Pa = !0
- }
- }
- if (n.ud) {
- f = !1;
- try {
- if ("undefined" === typeof SharedWorker) {
- var K = URL.createObjectURL(new Blob(["let handler = null;\n self.addEventListener('message', function(e){\n if (handler !== null){\n clearTimeout(handler);\n handler = null;\n }\n switch (e.data) {\n case 'START':\n case 'DONE':\n handler = setTimeout(function(){\n self.postMessage('TICK');\n }, " + n.hc.toString() + ");\n break;\n case 'STOP':\n break;\n };\n }, false);"],{
- type: "text/javascript"
- }))
- , O = new Worker(K);
- O.addEventListener("message", a);
- k = {
- Id: O,
- port: O
- };
- l.bc = !0
- } else {
- var Y = URL.createObjectURL(new Blob(["let handler = null;\n onconnect = function(e) {\n const port = e.ports[0];\n port.addEventListener('message', function(e) {\n \n if (handler !== null){\n clearTimeout(handler);\n handler = null;\n }\n switch (e.data) {\n case 'START':\n case 'DONE':\n handler = setTimeout(function(){\n port.postMessage('TICK');\n }, " + n.hc.toString() + ");\n break;\n case 'STOP':\n break;\n };\n \n });\n \n port.start();\n } // end onconnect()"],{
- type: "text/javascript"
- }))
- , oa = new SharedWorker(Y);
- oa.port.start();
- oa.port.addEventListener("message", a);
- k = {
- Id: oa,
- port: oa.port
- };
- l.ac = !0
- }
- f = !0
- } catch (sa) {}
- f && ("onvisibilitychange"in document ? document.addEventListener("visibilitychange", p) : (window.addEventListener("blur", N),
- window.addEventListener("focus", L)),
- l.$b = !0)
- }
- M = "undefined" !== typeof qa
- },
- m: function() {
- g();
- l.$b && ("onvisibilitychange"in document ? document.removeEventListener("visibilitychange", p) : (window.removeEventListener("blur", N),
- window.removeEventListener("focus", L)),
- l.$b = !1);
- l.ac ? (k.port.close(),
- l.ac = !1) : l.bc && (k.Id.terminate(),
- l.bc = !1);
- Object.assign(l, {
- W: !0,
- pa: !1,
- Aa: !1
- });
- y = null
- },
- qh: function() {
- return l.W
- },
- update: function(f) {
- Object.assign(n, f)
- },
- qc: function(f) {
- l.pa || x.o({});
- m();
- l.Aa = !0;
- y = f;
- l.W && c()
- },
- stop: g
- };
- return x
- }()
- , vb = function() {
- var a = {
- Ed: 4,
- ub: [1.5, 1.5, 2],
- N: [.1, .1, .1],
- Md: 1,
- C: -1,
- L: -1,
- Pf: 2,
- tf: 1,
- Od: !0,
- De: .8
- }
- , c = null
- , d = []
- , e = [0]
- , g = [.5, .5, 1];
- return {
- o: function(m) {
- c = Object.assign({}, a, m);
- d.splice(0);
- m = c.ub[0] * c.N[0];
- var t = c.ub[1] * c.N[1]
- , p = 1 / (1 + c.ub[2] * c.N[2])
- , q = c.Md * Math.min(c.C, c.L)
- , u = q / c.C;
- q /= c.L;
- var r = .5 * c.De;
- r *= r;
- for (var A = 0; A < c.Ed; ++A) {
- var v = Math.pow(p, A)
- , n = u * v
- , y = q * v;
- v = n * c.tf;
- var E = n * m
- , k = y * t;
- n /= 2;
- y /= 2;
- for (var M = 1 + (1 - n - n) / E, H = 1 + (1 - y - y) / k, l = 0; l < H; ++l)
- for (var J = y + l * k, w = J - .5, L = 0; L < M; ++L) {
- var N = n + L * E
- , x = N - .5;
- x * x + w * w > r || d.push([N, J, v])
- }
- }
- c.Od && d.sort(function(f, z) {
- var I = f[0] - .5;
- f = f[1] - .5;
- var h = z[0] - .5;
- z = z[1] - .5;
- return I * I + f * f - (h * h + z * z)
- })
- },
- get: function(m) {
- var t = d.length;
- if (0 === t)
- return g;
- for (; m >= e.length; )
- e.push(0);
- e[m] >= t && (e[m] = 0);
- var p = d[Math.floor(e[m])];
- e[m] = (e[m] + 1 / c.Pf) % t;
- return p
- },
- reset: function() {
- for (var m = d.length / e.length, t = 0; t < e.length; ++t)
- e[t] = Math.floor(t * m)
- }
- }
- }()
- , da = function() {
- function a(r, A, v, n) {
- return v > r ? Math.max(0, r + A / 2 - (v - n / 2)) : Math.max(0, v + n / 2 - (r - A / 2))
- }
- function c(r) {
- return !g.rd(r)
- }
- function d(r, A, v) {
- return r.some(function(n, y) {
- if (y === A)
- return !1;
- y = r[A];
- return y.qa > n.qa || 3 > n.qa || a(y.x, y.ja, n.x, n.ja) < g.fc * y.ja ? !1 : a(y.y, y.ja * v, n.y, n.ja * v) > g.fc * y.ja * v
- })
- }
- var e = {
- M: 1,
- fc: .3,
- Pd: .3,
- rd: null,
- ff: !0
- }
- , g = null
- , m = 0
- , t = null
- , p = !1
- , q = 0
- , u = 0;
- return {
- o: function(r) {
- g = Object.assign({}, e, r);
- t = [0]
- },
- yd: function() {
- return 1 !== g.M
- },
- hd: function() {
- return m
- },
- xd: function() {
- return p
- },
- na: function() {
- return g.M
- },
- ah: function() {
- return t
- },
- jf: function(r) {
- return t.includes(r)
- },
- update: function(r, A) {
- var v = t;
- if (v.length > r)
- v.splice(0, v.length - r);
- else
- for (; v.length < r; )
- v.push(0);
- if (1 !== g.M)
- if (A.every(c)) {
- A = q;
- for (var n = 0; n < r; ++n)
- v[n] = A,
- A = (A + 1) % g.M;
- q = A
- } else {
- n = Math.round(g.Pd * r);
- n = Math.max(1, n);
- for (var y = q, E = 0, k = 0; E < r; ++E) {
- if (c(A[y]) && ++k > n) {
- do
- ++y === g.M && (y = 0);
- while (c(A[y]))
- }
- v[E] = y;
- y = (y + 1) % g.M
- }
- q = y
- }
- },
- Bb: function(r) {
- m = t[r];
- u = (.5 + m) / g.M;
- p = t.lastIndexOf(m) === r;
- return m
- },
- Nf: function(r, A) {
- return 1 === g.M ? !1 : d(r, m, A)
- },
- Yd: function(r) {
- g.ff && 1 === g.M || D.G(r, u)
- },
- Ce: function(r) {
- for (var A = new Float32Array(r.length * g.M), v = 0, n; v < g.M; ++v)
- for (n = 0; n < r.length; ++n)
- A[v * r.length + n] = r[n];
- return A
- },
- Qb: function(r) {
- for (var A = [], v = 0; v < g.M; ++v)
- A.push(JSON.parse(JSON.stringify(r)));
- return A
- }
- }
- }()
- , ea = {
- neuralNetworkPath: "NN_DEFAULT.json",
- ba: 0,
- Cf: {
- threshold: 1.2,
- nScaleLevels: 2,
- scale0Factor: .8,
- nDetectsPerLoopRange: [2, 12],
- overlapFactors: [2, 2, 3],
- scanCenterFirst: !0,
- nDetectsPerLoop: -1,
- multiDetectionThresholdFactors: [.5, .6],
- translationScalingFactors: [.3, .3, 1],
- isCleanGLStateAtEachIteration: !0,
- animateProcessOrder: "DSAR"
- },
- Sf: 50,
- qf: .4,
- pf: 8,
- rf: .3,
- Of: {
- translationFactorRange: [.002, .005],
- rotationFactorRange: [.015, .1],
- qualityFactorRange: [.9, .98],
- alphaRange: [.05, 1],
- followZRotAlphaFactor: .8
- },
- Qa: [.65, 1, .262],
- ee: .2,
- ge: 2,
- fe: .1,
- sf: 8,
- Dd: 1,
- Ge: Za.qb.bind(null, .3, .7),
- Xf: 20,
- Vd: 3
- }
- , pa = {
- facingMode: "user",
- idealWidth: 800,
- idealHeight: 600,
- minWidth: 480,
- maxWidth: 1920,
- minHeight: 480,
- maxHeight: 1920,
- rotate: 0,
- flipX: !1
- }
- , ia = {
- kc: -3,
- kf: -1,
- error: -2,
- ready: 1,
- play: 2,
- pause: 3
- }
- , na = ia.kc
- , G = null
- , bc = {
- kb: !1,
- vc: null,
- element: null,
- K: null,
- D: [0, 0],
- v: [.5, 0, 0, .5],
- wb: 0,
- Ka: null,
- jb: !1
- }
- , Q = null
- , cc = {
- Ja: null,
- Gb: null,
- antialias: !0,
- Gc: "./",
- Fa: null,
- da: null,
- ba: ea.ba,
- Hd: ea.ba,
- lb: !1,
- wa: !0
- }
- , Pa = null
- , ba = null
- , ra = null
- , Qa = 1
- , Oa = {
- rc: -1,
- Lb: -1
- }
- , Z = null
- , dc = {
- C: 0,
- L: 0,
- D: [0, 0],
- Oa: null
- }
- , U = {
- ta: null,
- buffer: null,
- N: null,
- Qa: null,
- Y: ea.Dd,
- Nd: 1,
- Na: null
- }
- , Sa = null
- , Fa = null
- , hb = []
- , ib = []
- , qb = {
- VERSION: "3.1.1",
- init: function(a) {
- function c() {
- na !== ia.error && 2 === ++e && (Ka(),
- xb(),
- Ja(),
- Q.Ja && (na = ia.ready,
- Q.Ja(!1, {
- GL: b,
- canvasElement: Q.da,
- videoTexture: G.K.get(),
- videoTransformMat2: G.v,
- maxFacesDetected: da.na(),
- videoElement: G.element
- }),
- gb()),
- fb())
- }
- if (na !== ia.kc)
- return a.callbackReady && a.callbackReady("ALREADY_INITIALIZED"),
- !1;
- na = ia.kf;
- G = Object.assign({}, bc);
- Q = Object.assign({}, cc);
- Z = Object.assign({}, dc);
- U.Qa = ea.Qa.slice(0);
- "undefined" !== typeof a.antialias && (Q.antialias = a.antialias);
- a.callbackReady && (Q.Ja = a.callbackReady);
- a.callbackTrack && (Q.Gb = a.callbackTrack);
- a.nExpressions && (U.Y = a.nExpressions);
- a.expressionsEasings && (U.Na = a.expressionsEasings);
- "undefined" !== typeof a.animateDelay && (Q.ba = a.animateDelay);
- "undefined" !== typeof a.NNCPath && (Q.Gc = a.NNCPath);
- "undefined" !== typeof a.NNC && (Q.Fa = a.NNC);
- "undefined" !== typeof a.followZRot && (Q.wa = a.followZRot ? !0 : !1);
- if (!a.canvasId && !a.canvas)
- return Ia("NO_CANVASID"),
- !1;
- Q.da = a.canvas ? a.canvas : document.getElementById(a.canvasId);
- if (!Q.da)
- return Ia("INVALID_CANVASID"),
- !1;
- Z.C = Q.da.width;
- Z.L = Q.da.height;
- if (!Z.C || !Z.L)
- return Ia("INVALID_CANVASDIMENSIONS"),
- !1;
- ba = Object.create(ea.Cf);
- a.scanSettings && Object.assign(ba, a.scanSettings);
- var d = 1;
- "undefined" !== typeof a.maxFacesDetected && (d = Math.max(1, a.maxFacesDetected));
- if (d > ea.pf)
- return Ia("MAXFACES_TOOHIGH"),
- !1;
- da.o({
- M: d,
- fc: ea.qf,
- Pd: ea.rf,
- rd: function(g) {
- return g.detected > ba.multiDetectionThresholdFactors[1] * ba.threshold
- }
- });
- for (d = 0; d < da.na(); ++d)
- hb.push(new Float32Array(ea.sf)),
- ib.push(0);
- Na.o({
- ud: a.isKeepRunningOnWinFocusLost || !1,
- Ta: Q.ba
- });
- qa.o({
- ic: 0,
- n: ba.nDetectsPerLoopRange[1] - ba.nDetectsPerLoopRange[0] + 1,
- Bd: ba.nDetectsPerLoopRange[0]
- });
- -1 !== ba.nDetectsPerLoop ? qa.sc(ba.nDetectsPerLoop) : qa.Bc();
- U.N = ba.translationScalingFactors.slice(0);
- ra = Object.create(ea.Of);
- a.stabilizationSettings && Object.assign(ra, a.stabilizationSettings);
- var e = 0;
- a.videoSettings && a.videoSettings.videoElement ? ab(a.videoSettings.videoElement, c) : (a.videoSettings && Object.assign(pa, a.videoSettings),
- zb(a.onWebcamAsk, a.onWebcamGet, function(g) {
- ab(g, c)
- }));
- Ob(function(g) {
- if (!Pb())
- return !1;
- Pa = new Fb({
- pb: g.layers,
- pc: "gpuRawAvg",
- mc: Qb
- });
- D.Kc([{
- id: "s54",
- name: "_",
- ua: "attribute vec2 a0;uniform mat2 u38;varying vec2 vv0;void main(){gl_Position=vec4(a0,0.,1.),vv0=vec2(.5,.5)+u38*a0;}",
- Va: ["a0"],
- Ha: [2],
- h: "uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",
- i: ["u1", "u38"],
- precision: "lowp"
- }, {
- id: "s55",
- name: "_",
- h: "uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",
- ua: "attribute vec2 a0;uniform sampler2D u39;uniform mat2 u38;uniform vec2 u40;uniform float u41,u42,u43;varying vec2 vv0;void main(){vec4 a=texture2D(u39,vec2(.17,u41));vec2 f=a.gb,g=a.a*u40,b=a0;b.x*=u43;float c=cos(u42),d=sin(u42);vec2 h=mat2(c,d,-d,c)*b,i=f+h*.5*g,j=i-.5;vv0=vec2(.5,.5)+2.*u38*j,gl_Position=vec4(a0,0.,1.);}",
- Va: ["a0"],
- Ha: [2],
- i: "u1 u39 u40 u41 u42 u43 u38".split(" "),
- precision: "lowp"
- }, {
- id: "s56",
- name: "_",
- h: "uniform sampler2D u44,u39;uniform vec3 u45,u46;uniform float u47,u48,u41,u49,u42,u50;const vec4 e=vec4(.25,.25,.25,.25);void main(){vec4 d=texture2D(u44,vec2(.625,.625)),f=texture2D(u44,vec2(.875,.625)),a=texture2D(u39,vec2(.17,u41));float g=dot(d-f,e);bool h=g>u48;a.r<-.5?a.r+=1.:h?a.r=2.:a.r>u47?a.r=0.:a.r>1.9?a.r+=1.:0.,a.r=mix(-2.,a.r,u49);if(a.r<.9)a=vec4(1.,u45);else{a.r*=step(1.9,a.r);float i=dot(e,texture2D(u44,vec2(.875,.875))),j=dot(e,texture2D(u44,vec2(.125,.625))),k=dot(e,texture2D(u44,vec2(.375,.625))),b=cos(u42),c=sin(u42);vec2 l=mat2(b,c*u50,-c/u50,b)*vec2(i,j);a.gba+=vec3(l,k)*u46*a.a;}gl_FragColor=a;}",
- ua: "attribute vec2 a0;void main(){gl_Position=vec4(a0,0.,1.);}",
- i: "u44 u39 u45 u47 u46 u49 u42 u50 u48 u41".split(" ")
- }, {
- id: "s57",
- name: "_",
- ua: "attribute vec2 a0;void main(){gl_Position=vec4(a0,0.,1.);}",
- h: "uniform sampler2D u44;uniform float u49;const vec4 e=vec4(.25,.25,.25,.25);const vec3 f=vec3(.5,.5,.5);void main(){float a=dot(e,texture2D(u44,vec2(.125,.875))),b=dot(e,texture2D(u44,vec2(.375,.875))),c=dot(e,texture2D(u44,vec2(.625,.875))),d=dot(e,texture2D(u44,vec2(.625,.625)));vec3 g=vec3(a,b,c)*.5+f;gl_FragColor=vec4(g,d*u49);}",
- i: ["u44", "u49"]
- }, {
- id: "s58",
- name: "_",
- ua: "attribute vec2 a0;void main(){gl_Position=vec4(a0,0.,1.);}",
- h: "uniform sampler2D u44;const vec4 e=vec4(.25,.25,.25,.25);void main(){float a=dot(e,texture2D(u44,vec2(.375,.375))),b=dot(e,texture2D(u44,vec2(.625,.375))),c=dot(e,texture2D(u44,vec2(.875,.375))),d=dot(e,texture2D(u44,vec2(.125,.125)));gl_FragColor=vec4(a,b,c,d);}",
- i: ["u44"]
- }, {
- id: "s53",
- name: "_",
- h: "uniform sampler2D u39;uniform vec2 u51;uniform float u52;varying vec2 vv0;void main(){float f=step(.5,mod(gl_FragCoord.y+1.5,2.)),c=step(.33,vv0.x);vec4 a=texture2D(u39,vv0+u51);a.a=mix(a.a*u52,a.a,c);vec4 d=floor(255.*a),g=255.*(255.*a-d),b=mix(d,g,f)/255.;b.x=mix(step(a.x,1.5),b.x,c),gl_FragColor=b;}",
- i: ["u39", "u52", "u51"]
- }]);
- ub();
- U.buffer = new Uint8Array(8 * ea.Vd * da.na());
- Sa = da.Qb({
- Xa: 0,
- x: 0,
- y: 0,
- ja: 1,
- rx: 0,
- ry: 0,
- Ra: 0,
- cd: new Float32Array(U.Y),
- qa: 0
- });
- Fa = da.Qb({
- detected: 0,
- x: 0,
- y: 0,
- s: 1,
- xRaw: 0,
- yRaw: 0,
- sRaw: 1,
- rx: 0,
- ry: 0,
- rz: 0,
- expressions: new Float32Array(U.Y)
- });
- da.Qb({
- dx: 0,
- dy: 0,
- Pb: 0,
- Mb: 0,
- Nb: 0,
- Ob: 0
- });
- kb();
- jb();
- c()
- });
- return !0
- },
- destroy: function() {
- Na.m();
- return new Promise(function(a) {
- qb.toggle_pause(!0, !0).finally(function() {
- Pa && Pa.m();
- Ha.m();
- Pa = Fa = Sa = null;
- hb.splice(0);
- ib.splice(0);
- Z.Oa = null;
- U.ta = null;
- G.K = null;
- na = ia.kc;
- a()
- }).catch(function() {})
- }
- )
- },
- toggle_videoStream: function(a) {
- return G.jb || !G.element ? Promise.resolve() : V.$d(G.element, a, G.Ka)
- },
- toggle_pause: function(a, c) {
- if (!Ya())
- return Promise.reject("NOT_READY");
- c = c ? qb.toggle_videoStream(!a) : Promise.resolve();
- a ? sb() : c.then(function() {
- fb()
- });
- return c
- },
- update_videoSettings: function(a) {
- sb();
- return new Promise(function(c, d) {
- V.$d(G.element, !1, G.Ka).then(function() {
- Object.assign(pa, a);
- zb(null, null, function(e) {
- ab(e, function() {
- Ka();
- Ja();
- fb();
- c()
- })
- })
- }).catch(d)
- }
- )
- },
- toggle_slow: function(a) {
- Ya() && na === ia.play && (a && !Q.lb ? (Q.Hd = Q.ba,
- ba.nDetectsPerLoop = 1,
- this.set_animateDelay(ea.Zf),
- Q.lb = !0) : !a && Q.lb && (ba.nDetectsPerLoop = -1,
- this.set_animateDelay(Q.Hd),
- Q.lb = !1))
- },
- set_animateDelay: function(a) {
- Q.ba = a;
- Na.update({
- Ta: Q.ba
- })
- },
- resize: function() {
- if (!Ya())
- return !1;
- var a = Q.da.width
- , c = Q.da.height;
- if (!lb() && a === Z.C && c === Z.L)
- return !1;
- Z.C = a;
- Z.L = c;
- D.P();
- kb();
- jb();
- Ka();
- Ja();
- return !0
- },
- set_inputTexture: function(a, c, d) {
- G.D[0] = c;
- G.D[1] = d;
- G.K = X.instance({
- width: c,
- height: d,
- Wb: a
- });
- G.kb = !0;
- Ka();
- gb();
- Ja()
- },
- reset_GLState: function() {
- gb();
- Z.Oa.remove();
- U.ta.remove();
- ub()
- },
- render_video: function() {
- va.O();
- D.set("s54");
- b.viewport(0, 0, Z.C, Z.L);
- G.K.g(0);
- T.l(!0, !0)
- },
- reset_inputTexture: function() {
- G.kb = !1;
- G.K = G.vc;
- lb();
- Ka();
- Ja()
- },
- get_videoDevices: function(a) {
- return V.We(a)
- },
- set_scanSettings: function(a) {
- Object.assign(ba, a);
- -1 !== ba.nDetectsPerLoop ? qa.sc(ba.nDetectsPerLoop) : qa.Bc();
- kb();
- jb()
- },
- set_stabilizationSettings: function(a) {
- Object.assign(ra, a)
- },
- set_videoOrientation: function(a, c) {
- Ya() && (pa.flipX = c,
- pa.rotate = a,
- Ka(),
- Ja())
- },
- update_videoElement: function(a, c) {
- ab(a ? a : G.element, function() {
- xb();
- Ka();
- Ja();
- c && c()
- })
- },
- create_new: function() {
- return window.JEELIZFACEFILTERGEN()
- }
- };
- return qb
- }
- ;
- window.JEELIZFACEFILTER = window.JEELIZFACEFILTERGEN();
- ;return JEELIZFACEFILTER || window.JEELIZFACEFILTER;
- }
- )();
|