1 Star 0 Fork 0

SEMHAQ/NoteBook

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.html 159.34 KB
一键复制 编辑 原始数据 按行查看 历史
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568
<!doctype html>
<html lang="zh" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="author" content="SEMHAQ">
<link rel="canonical" href="https://github.com/SEMHAQ/NoteBook/">
<link rel="next" href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1605.%20%E7%BB%99%E5%AE%9A%E8%A1%8C%E5%92%8C%E5%88%97%E7%9A%84%E5%92%8C%E6%B1%82%E5%8F%AF%E8%A1%8C%E7%9F%A9%E9%98%B5/">
<link rel="icon" href="images/logo.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.4.14">
<title>SEMHAQ/NoteBook</title>
<link rel="stylesheet" href="assets/stylesheets/main.fad675c6.min.css">
<link rel="stylesheet" href="assets/stylesheets/palette.356b1318.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<link rel="stylesheet" href="assets/stylesheets/custom.00c04c01.min.css">
<link href="assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: white; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}
</style> <script src="assets/javascripts/glightbox.min.js"></script></head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="页眉">
<a href="." title="SEMHAQ/NoteBook" class="md-header__button md-logo" aria-label="SEMHAQ/NoteBook" data-md-component="logo">
<img src="images/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
SEMHAQ/NoteBook
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
主页
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
</form>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="查找">
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
正在初始化搜索引擎
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/SEMHAQ/NoteBook" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
SEMHAQ /NoteBook
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="标签" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item md-tabs__item--active">
<a href="." class="md-tabs__link">
主页
</a>
</li>
<li class="md-tabs__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1605.%20%E7%BB%99%E5%AE%9A%E8%A1%8C%E5%92%8C%E5%88%97%E7%9A%84%E5%92%8C%E6%B1%82%E5%8F%AF%E8%A1%8C%E7%9F%A9%E9%98%B5/" class="md-tabs__link">
LeetCode
</a>
</li>
<li class="md-tabs__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/introduction/" class="md-tabs__link">
机器学习
</a>
</li>
<li class="md-tabs__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E6%A0%87%E9%A2%98/" class="md-tabs__link">
MarkDown语法
</a>
</li>
<li class="md-tabs__item">
<a href="Git%E8%AF%A6%E8%A7%A3/%E4%B8%8A%E4%BC%A0%E5%88%B0%E4%BB%93%E5%BA%93/" class="md-tabs__link">
Git详解
</a>
</li>
<li class="md-tabs__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%E7%AE%80%E4%BB%8B/" class="md-tabs__link">
数据库相关
</a>
</li>
<li class="md-tabs__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%A5%BD%E5%91%B3%E9%81%93%205%E2%9D%A4/" class="md-tabs__link">
探店系列
</a>
</li>
<li class="md-tabs__item">
<a href="blog/" class="md-tabs__link">
Blog
</a>
</li>
<li class="md-tabs__item">
<a href="about/" class="md-tabs__link">
关于
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<html lang="en"><head>
<!-- <title>Shadow profiles</title> -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
min-height: 100%;
}
#info {
color:#fff;
position: relative;
margin: 0 auto -2.1em;
top: 0px;
padding: 5px;
z-index: 100;
display: none;
}
#canvas {
z-index: 2000;
border: solid 2px #000;
position: absolute;
top: 0;
right: 0;
display: none;
}
#mobile {
z-index: 3000;
text-align: center;
margin: 0 auto;
position: relative;
top: 10em;
font-size: 3em;
font-family: georgia;
font-weight: normal;
display: none;
}
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}
#stats { position: absolute; top:0; left: 0 }
#stats #fps { background: transparent !important }
#stats #fps #fpsText { color: #444 !important }
#stats #fps #fpsGraph { display: none }
</style>
<link href="assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: white; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}
</style> <script src="assets/javascripts/glightbox.min.js"></script></head>
<body>
<div id="loading" style="display: none;"></div>
<div id="mobile" class="noselect" style="top: 485px;"></div>
<!-- <div id="info">
<a href="https://alteredqualia.com/" target="_blank">alteredqualia</a> - shadow profiles
</div> -->
<canvas id="canvas" width="200" height="126" style="width: 200px; height: 126px;"></canvas>
<script src="js/xg.min.630.js"></script>
<script src="js/libs/stats.min.js"></script>
<script>
var hasWebGL1 = Detector.webgl;
var hasWebGL2 = Detector.webgl2;
if ( ! ( hasWebGL1 || hasWebGL2 ) ) Detector.addGetWebGLMessage();
var isMobile = Detector.isMobile;
//isMobile = true;
var backend = hasWebGL2 ? "webgl2" : "webgl1";
//
var SCALE = 1.0;
var MARGIN = 0;
var BRIGHTNESS = 1.0;
var SCREEN_WIDTH = window.innerWidth;
var SCREEN_HEIGHT = window.innerHeight - 2 * MARGIN;
var cameraFovInit = 25;
var cameraFovTarget = 25;
//
var container, camera, scene, renderer;
var currentMesh, currentGeometry, currentUniforms, currentSprites;
var canvas, ctx;
var frameCounter = 0;
var imageInfo = [];
var imageList = [];
var characterFieldList = [];
var currentImageIndex = 0;
// camera controls
var mouseX = 0;
var mouseY = 0;
var targetX = 0.0;
var targetY = 0.0;
var angle = 0.0;
var height = 0.0;
var target = new XG.Vector3();
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;
// ui
var loadingElement = document.getElementById( "loading" );
var mobileInfoElement = document.getElementById( "mobile" );
var fontCounter = 0;
var fontsToLoad = 0;
var mobileInfoOpacity = 1;
var mobileInfoVisible = isMobile;
if ( mobileInfoVisible ) mobileInfoElement.style.display = "block";
// fonts
/*
var sdfBebas = {'count': 95, 'chars': {32: {'yoffset': 1.5, 'width': 4, 'xadvance': 7.125, 'y': 242, 'x': 194, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 33.688, 'width': 8, 'xadvance': 8.75, 'y': 144, 'x': 81, 'height': 36, 'xoffset': 0.438}, 34: {'yoffset': 33.688, 'width': 15, 'xadvance': 14.938, 'y': 242, 'x': 179, 'height': 13, 'xoffset': 0.313}, 35: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.875, 'y': 72, 'x': 198, 'height': 36, 'xoffset': -0.813}, 36: {'yoffset': 35.75, 'width': 19, 'xadvance': 18.188, 'y': 72, 'x': 179, 'height': 40, 'xoffset': 0.063}, 37: {'yoffset': 33.875, 'width': 29, 'xadvance': 28.875, 'y': 0, 'x': 33, 'height': 36, 'xoffset': 0.063}, 38: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.0, 'y': 182, 'x': 159, 'height': 36, 'xoffset': 0.375}, 39: {'yoffset': 33.688, 'width': 8, 'xadvance': 8.25, 'y': 45, 'x': 50, 'height': 13, 'xoffset': 0.188}, 40: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 108, 'x': 50, 'height': 36, 'xoffset': 0.688}, 41: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 72, 'x': 50, 'height': 36, 'xoffset': -0.813}, 42: {'yoffset': 33.688, 'width': 22, 'xadvance': 18.188, 'y': 216, 'x': 33, 'height': 21, 'xoffset': -1.438}, 43: {'yoffset': 25.625, 'width': 19, 'xadvance': 18.25, 'y': 222, 'x': 179, 'height': 20, 'xoffset': 0.125}, 44: {'yoffset': 6.375, 'width': 8, 'xadvance': 8.5, 'y': 237, 'x': 53, 'height': 13, 'xoffset': 0.313}, 45: {'yoffset': 19.938, 'width': 13, 'xadvance': 12.438, 'y': 150, 'x': 0, 'height': 8, 'xoffset': 0.125}, 46: {'yoffset': 6.375, 'width': 8, 'xadvance': 8.5, 'y': 98, 'x': 81, 'height': 8, 'xoffset': 0.313}, 47: {'yoffset': 33.688, 'width': 21, 'xadvance': 17.5, 'y': 184, 'x': 220, 'height': 36, 'xoffset': -1.313}, 48: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.25, 'y': 216, 'x': 90, 'height': 36, 'xoffset': -0.063}, 49: {'yoffset': 33.688, 'width': 13, 'xadvance': 18.188, 'y': 72, 'x': 240, 'height': 36, 'xoffset': 3.438}, 50: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 72, 'x': 62, 'height': 36, 'xoffset': 0.313}, 51: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 108, 'x': 62, 'height': 36, 'xoffset': 0.063}, 52: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.188, 'y': 148, 'x': 199, 'height': 36, 'xoffset': -0.875}, 53: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.188, 'y': 144, 'x': 62, 'height': 36, 'xoffset': 0.125}, 54: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 180, 'x': 62, 'height': 36, 'xoffset': 0.0}, 55: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.188, 'y': 216, 'x': 62, 'height': 36, 'xoffset': 0.0}, 56: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 0, 'x': 90, 'height': 36, 'xoffset': -0.313}, 57: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 0, 'x': 109, 'height': 36, 'xoffset': -0.188}, 58: {'yoffset': 23.875, 'width': 8, 'xadvance': 8.5, 'y': 72, 'x': 81, 'height': 26, 'xoffset': 0.313}, 59: {'yoffset': 23.875, 'width': 8, 'xadvance': 8.5, 'y': 108, 'x': 81, 'height': 31, 'xoffset': 0.313}, 60: {'yoffset': 24.938, 'width': 19, 'xadvance': 18.188, 'y': 40, 'x': 0, 'height': 18, 'xoffset': -0.125}, 61: {'yoffset': 23.063, 'width': 19, 'xadvance': 18.25, 'y': 118, 'x': 0, 'height': 15, 'xoffset': 0.125}, 62: {'yoffset': 24.938, 'width': 19, 'xadvance': 18.188, 'y': 58, 'x': 0, 'height': 18, 'xoffset': 0.313}, 63: {'yoffset': 34.063, 'width': 18, 'xadvance': 16.563, 'y': 0, 'x': 185, 'height': 36, 'xoffset': -0.563}, 64: {'yoffset': 35.563, 'width': 33, 'xadvance': 31.688, 'y': 0, 'x': 0, 'height': 40, 'xoffset': -0.375}, 65: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.75, 'y': 112, 'x': 199, 'height': 36, 'xoffset': -1.0}, 66: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.625, 'y': 0, 'x': 166, 'height': 36, 'xoffset': 0.313}, 67: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.813, 'y': 0, 'x': 147, 'height': 36, 'xoffset': -0.063}, 68: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.75, 'y': 0, 'x': 128, 'height': 36, 'xoffset': 0.313}, 69: {'yoffset': 33.688, 'width': 17, 'xadvance': 16.938, 'y': 36, 'x': 33, 'height': 36, 'xoffset': 0.313}, 70: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.813, 'y': 0, 'x': 239, 'height': 36, 'xoffset': 0.313}, 71: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.0, 'y': 180, 'x': 137, 'height': 36, 'xoffset': -0.063}, 72: {'yoffset': 33.688, 'width': 19, 'xadvance': 19.563, 'y': 144, 'x': 137, 'height': 36, 'xoffset': 0.313}, 73: {'yoffset': 33.688, 'width': 9, 'xadvance': 8.688, 'y': 180, 'x': 81, 'height': 36, 'xoffset': 0.313}, 74: {'yoffset': 33.688, 'width': 13, 'xadvance': 11.813, 'y': 112, 'x': 241, 'height': 36, 'xoffset': -1.063}, 75: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.0, 'y': 110, 'x': 159, 'height': 36, 'xoffset': 0.313}, 76: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.625, 'y': 108, 'x': 33, 'height': 36, 'xoffset': 0.313}, 77: {'yoffset': 33.688, 'width': 25, 'xadvance': 24.875, 'y': 36, 'x': 115, 'height': 36, 'xoffset': 0.313}, 78: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.688, 'y': 150, 'x': 179, 'height': 36, 'xoffset': 0.313}, 79: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.25, 'y': 216, 'x': 137, 'height': 36, 'xoffset': -0.063}, 80: {'yoffset': 33.688, 'width': 19, 'xadvance': 17.313, 'y': 108, 'x': 115, 'height': 36, 'xoffset': 0.313}, 81: {'yoffset': 34.063, 'width': 20, 'xadvance': 18.25, 'y': 72, 'x': 159, 'height': 38, 'xoffset': -0.063}, 82: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.5, 'y': 144, 'x': 115, 'height': 36, 'xoffset': 0.313}, 83: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.188, 'y': 180, 'x': 115, 'height': 36, 'xoffset': -0.438}, 84: {'yoffset': 33.688, 'width': 19, 'xadvance': 16.5, 'y': 216, 'x': 115, 'height': 36, 'xoffset': -1.063}, 85: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.375, 'y': 36, 'x': 140, 'height': 36, 'xoffset': 0.125}, 86: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.5, 'y': 184, 'x': 199, 'height': 36, 'xoffset': -1.0}, 87: {'yoffset': 33.688, 'width': 28, 'xadvance': 25.875, 'y': 36, 'x': 62, 'height': 36, 'xoffset': -0.813}, 88: {'yoffset': 33.688, 'width': 22, 'xadvance': 19.75, 'y': 72, 'x': 137, 'height': 36, 'xoffset': -0.813}, 89: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.188, 'y': 220, 'x': 199, 'height': 36, 'xoffset': -1.375}, 90: {'yoffset': 33.688, 'width': 18, 'xadvance': 17.0, 'y': 0, 'x': 221, 'height': 36, 'xoffset': -0.438}, 91: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 144, 'x': 50, 'height': 36, 'xoffset': 0.688}, 92: {'yoffset': 33.688, 'width': 21, 'xadvance': 17.5, 'y': 148, 'x': 220, 'height': 36, 'xoffset': -1.313}, 93: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 180, 'x': 50, 'height': 36, 'xoffset': -0.5}, 94: {'yoffset': 33.688, 'width': 20, 'xadvance': 18.188, 'y': 237, 'x': 33, 'height': 18, 'xoffset': -0.625}, 95: {'yoffset': 1.063, 'width': 27, 'xadvance': 23.0, 'y': 143, 'x': 0, 'height': 7, 'xoffset': -1.5}, 96: {'yoffset': 40.625, 'width': 12, 'xadvance': 11.5, 'y': 36, 'x': 50, 'height': 9, 'xoffset': -0.188}, 97: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.75, 'y': 72, 'x': 219, 'height': 36, 'xoffset': -1.0}, 98: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.625, 'y': 36, 'x': 178, 'height': 36, 'xoffset': 0.313}, 99: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.813, 'y': 36, 'x': 197, 'height': 36, 'xoffset': -0.063}, 100: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.75, 'y': 36, 'x': 159, 'height': 36, 'xoffset': 0.313}, 101: {'yoffset': 33.688, 'width': 17, 'xadvance': 16.938, 'y': 72, 'x': 33, 'height': 36, 'xoffset': 0.313}, 102: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.813, 'y': 144, 'x': 33, 'height': 36, 'xoffset': 0.313}, 103: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.0, 'y': 218, 'x': 159, 'height': 36, 'xoffset': -0.063}, 104: {'yoffset': 33.688, 'width': 19, 'xadvance': 19.563, 'y': 108, 'x': 137, 'height': 36, 'xoffset': 0.313}, 105: {'yoffset': 33.688, 'width': 9, 'xadvance': 8.688, 'y': 216, 'x': 81, 'height': 36, 'xoffset': 0.313}, 106: {'yoffset': 33.688, 'width': 13, 'xadvance': 11.813, 'y': 148, 'x': 241, 'height': 36, 'xoffset': -1.063}, 107: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.0, 'y': 186, 'x': 179, 'height': 36, 'xoffset': 0.313}, 108: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.625, 'y': 180, 'x': 33, 'height': 36, 'xoffset': 0.313}, 109: {'yoffset': 33.688, 'width': 25, 'xadvance': 24.875, 'y': 36, 'x': 90, 'height': 36, 'xoffset': 0.313}, 110: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.688, 'y': 146, 'x': 159, 'height': 36, 'xoffset': 0.313}, 111: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.25, 'y': 180, 'x': 90, 'height': 36, 'xoffset': -0.063}, 112: {'yoffset': 33.688, 'width': 19, 'xadvance': 17.313, 'y': 144, 'x': 90, 'height': 36, 'xoffset': 0.313}, 113: {'yoffset': 34.063, 'width': 20, 'xadvance': 18.25, 'y': 112, 'x': 179, 'height': 38, 'xoffset': -0.063}, 114: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.5, 'y': 108, 'x': 90, 'height': 36, 'xoffset': 0.313}, 115: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.188, 'y': 72, 'x': 90, 'height': 36, 'xoffset': -0.438}, 116: {'yoffset': 33.688, 'width': 19, 'xadvance': 16.5, 'y': 36, 'x': 235, 'height': 36, 'xoffset': -1.063}, 117: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.375, 'y': 36, 'x': 216, 'height': 36, 'xoffset': 0.125}, 118: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.5, 'y': 112, 'x': 220, 'height': 36, 'xoffset': -1.0}, 119: {'yoffset': 33.688, 'width': 28, 'xadvance': 25.875, 'y': 0, 'x': 62, 'height': 36, 'xoffset': -0.813}, 120: {'yoffset': 33.688, 'width': 22, 'xadvance': 19.75, 'y': 72, 'x': 115, 'height': 36, 'xoffset': -0.813}, 121: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.188, 'y': 220, 'x': 220, 'height': 36, 'xoffset': -1.375}, 122: {'yoffset': 33.688, 'width': 18, 'xadvance': 17.0, 'y': 0, 'x': 203, 'height': 36, 'xoffset': -0.438}, 123: {'yoffset': 33.688, 'width': 14, 'xadvance': 11.813, 'y': 220, 'x': 241, 'height': 36, 'xoffset': -1.0}, 124: {'yoffset': 36.688, 'width': 8, 'xadvance': 23.0, 'y': 76, 'x': 0, 'height': 42, 'xoffset': 8.188}, 125: {'yoffset': 33.688, 'width': 14, 'xadvance': 11.813, 'y': 184, 'x': 241, 'height': 36, 'xoffset': -0.75}, 126: {'yoffset': 20.938, 'width': 21, 'xadvance': 18.188, 'y': 133, 'x': 0, 'height': 10, 'xoffset': -1.188}}, 'base': 42, 'face': 'Bebas Neue'};
sdfBebas.img = "textures/sprites/fonts/Bebas Neue.sdf.png";
sdfBebas.width = 256;
sdfBebas.height = 256;
var sdfFiraMediumItalic = {'count': 97, 'chars': {0: {'yoffset': 1.5, 'width': 4, 'xadvance': 0.0, 'y': 238, 'x': 223, 'height': 4, 'xoffset': -1.5}, 13: {'yoffset': 1.5, 'width': 4, 'xadvance': 9.25, 'y': 252, 'x': 250, 'height': 4, 'xoffset': -1.5}, 32: {'yoffset': 1.5, 'width': 4, 'xadvance': 9.25, 'y': 252, 'x': 246, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 27.063, 'width': 12, 'xadvance': 9.5, 'y': 0, 'x': 186, 'height': 30, 'xoffset': -0.688}, 34: {'yoffset': 27.063, 'width': 15, 'xadvance': 18.0, 'y': 15, 'x': 210, 'height': 14, 'xoffset': 3.0}, 35: {'yoffset': 26.438, 'width': 24, 'xadvance': 19.5, 'y': 125, 'x': 48, 'height': 28, 'xoffset': -1.875}, 36: {'yoffset': 32.125, 'width': 24, 'xadvance': 19.938, 'y': 65, 'x': 24, 'height': 40, 'xoffset': -1.625}, 37: {'yoffset': 27.938, 'width': 30, 'xadvance': 31.813, 'y': 94, 'x': 48, 'height': 31, 'xoffset': 1.5}, 38: {'yoffset': 24.75, 'width': 36, 'xadvance': 33.25, 'y': 38, 'x': 0, 'height': 27, 'xoffset': -0.25}, 39: {'yoffset': 27.063, 'width': 8, 'xadvance': 10.875, 'y': 238, 'x': 246, 'height': 14, 'xoffset': 3.0}, 40: {'yoffset': 33.0, 'width': 16, 'xadvance': 12.0, 'y': 105, 'x': 24, 'height': 41, 'xoffset': -0.5}, 41: {'yoffset': 33.0, 'width': 16, 'xadvance': 12.0, 'y': 211, 'x': 48, 'height': 41, 'xoffset': -2.188}, 42: {'yoffset': 28.938, 'width': 19, 'xadvance': 16.375, 'y': 238, 'x': 227, 'height': 18, 'xoffset': 0.438}, 43: {'yoffset': 20.688, 'width': 19, 'xadvance': 18.875, 'y': 237, 'x': 135, 'height': 19, 'xoffset': 0.25}, 44: {'yoffset': 6.938, 'width': 11, 'xadvance': 9.5, 'y': 15, 'x': 225, 'height': 15, 'xoffset': -2.25}, 45: {'yoffset': 14.938, 'width': 15, 'xadvance': 15.063, 'y': 247, 'x': 181, 'height': 7, 'xoffset': 0.25}, 46: {'yoffset': 6.938, 'width': 10, 'xadvance': 9.5, 'y': 243, 'x': 92, 'height': 10, 'xoffset': -0.875}, 47: {'yoffset': 31.875, 'width': 22, 'xadvance': 19.25, 'y': 94, 'x': 135, 'height': 38, 'xoffset': -1.0}, 48: {'yoffset': 26.875, 'width': 22, 'xadvance': 21.25, 'y': 65, 'x': 81, 'height': 29, 'xoffset': 0.188}, 49: {'yoffset': 26.375, 'width': 16, 'xadvance': 15.75, 'y': 0, 'x': 74, 'height': 28, 'xoffset': 0.0}, 50: {'yoffset': 26.875, 'width': 21, 'xadvance': 19.0, 'y': 65, 'x': 190, 'height': 29, 'xoffset': -1.438}, 51: {'yoffset': 26.813, 'width': 22, 'xadvance': 18.938, 'y': 65, 'x': 147, 'height': 29, 'xoffset': -2.188}, 52: {'yoffset': 27.063, 'width': 22, 'xadvance': 20.188, 'y': 65, 'x': 125, 'height': 29, 'xoffset': -0.938}, 53: {'yoffset': 26.375, 'width': 23, 'xadvance': 19.688, 'y': 182, 'x': 48, 'height': 29, 'xoffset': -1.688}, 54: {'yoffset': 26.813, 'width': 21, 'xadvance': 20.375, 'y': 65, 'x': 211, 'height': 29, 'xoffset': 0.125}, 55: {'yoffset': 26.438, 'width': 20, 'xadvance': 16.875, 'y': 65, 'x': 232, 'height': 29, 'xoffset': 0.188}, 56: {'yoffset': 26.813, 'width': 22, 'xadvance': 21.125, 'y': 65, 'x': 103, 'height': 29, 'xoffset': -0.688}, 57: {'yoffset': 26.813, 'width': 21, 'xadvance': 20.375, 'y': 222, 'x': 24, 'height': 30, 'xoffset': 0.438}, 58: {'yoffset': 20.188, 'width': 11, 'xadvance': 9.5, 'y': 185, 'x': 243, 'height': 23, 'xoffset': -0.875}, 59: {'yoffset': 20.25, 'width': 13, 'xadvance': 9.5, 'y': 0, 'x': 173, 'height': 29, 'xoffset': -2.25}, 60: {'yoffset': 22.563, 'width': 20, 'xadvance': 18.875, 'y': 0, 'x': 121, 'height': 21, 'xoffset': 0.25}, 61: {'yoffset': 18.75, 'width': 20, 'xadvance': 18.875, 'y': 0, 'x': 210, 'height': 15, 'xoffset': 0.688}, 62: {'yoffset': 22.563, 'width': 20, 'xadvance': 18.875, 'y': 0, 'x': 141, 'height': 21, 'xoffset': -0.563}, 63: {'yoffset': 27.625, 'width': 19, 'xadvance': 18.625, 'y': 185, 'x': 0, 'height': 30, 'xoffset': 0.938}, 64: {'yoffset': 27.625, 'width': 38, 'xadvance': 37.75, 'y': 0, 'x': 0, 'height': 38, 'xoffset': 0.188}, 65: {'yoffset': 27.125, 'width': 26, 'xadvance': 21.563, 'y': 209, 'x': 201, 'height': 29, 'xoffset': -3.125}, 66: {'yoffset': 27.063, 'width': 23, 'xadvance': 22.875, 'y': 123, 'x': 233, 'height': 29, 'xoffset': 0.188}, 67: {'yoffset': 27.625, 'width': 24, 'xadvance': 21.063, 'y': 187, 'x': 109, 'height': 30, 'xoffset': 0.25}, 68: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.188, 'y': 123, 'x': 183, 'height': 29, 'xoffset': 0.188}, 69: {'yoffset': 27.063, 'width': 22, 'xadvance': 19.5, 'y': 94, 'x': 234, 'height': 29, 'xoffset': 0.188}, 70: {'yoffset': 27.063, 'width': 21, 'xadvance': 18.188, 'y': 65, 'x': 169, 'height': 29, 'xoffset': 0.188}, 71: {'yoffset': 27.625, 'width': 25, 'xadvance': 23.625, 'y': 153, 'x': 230, 'height': 30, 'xoffset': 0.25}, 72: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.625, 'y': 94, 'x': 184, 'height': 29, 'xoffset': 0.188}, 73: {'yoffset': 27.063, 'width': 12, 'xadvance': 10.813, 'y': 0, 'x': 198, 'height': 29, 'xoffset': 0.188}, 74: {'yoffset': 27.063, 'width': 16, 'xadvance': 11.0, 'y': 215, 'x': 0, 'height': 35, 'xoffset': -3.75}, 75: {'yoffset': 27.063, 'width': 26, 'xadvance': 22.438, 'y': 209, 'x': 227, 'height': 29, 'xoffset': 0.188}, 76: {'yoffset': 27.063, 'width': 19, 'xadvance': 18.563, 'y': 0, 'x': 38, 'height': 29, 'xoffset': 0.188}, 77: {'yoffset': 27.063, 'width': 31, 'xadvance': 29.188, 'y': 94, 'x': 78, 'height': 29, 'xoffset': -1.25}, 78: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.75, 'y': 123, 'x': 208, 'height': 29, 'xoffset': 0.188}, 79: {'yoffset': 27.625, 'width': 26, 'xadvance': 25.5, 'y': 123, 'x': 157, 'height': 30, 'xoffset': 0.25}, 80: {'yoffset': 27.125, 'width': 24, 'xadvance': 21.875, 'y': 123, 'x': 78, 'height': 29, 'xoffset': 0.188}, 81: {'yoffset': 27.625, 'width': 26, 'xadvance': 25.5, 'y': 94, 'x': 109, 'height': 34, 'xoffset': 0.25}, 82: {'yoffset': 27.125, 'width': 24, 'xadvance': 22.375, 'y': 217, 'x': 109, 'height': 29, 'xoffset': 0.188}, 83: {'yoffset': 27.625, 'width': 24, 'xadvance': 20.313, 'y': 157, 'x': 109, 'height': 30, 'xoffset': -1.75}, 84: {'yoffset': 27.063, 'width': 23, 'xadvance': 19.375, 'y': 153, 'x': 48, 'height': 29, 'xoffset': 0.125}, 85: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.25, 'y': 153, 'x': 205, 'height': 30, 'xoffset': 0.75}, 86: {'yoffset': 27.063, 'width': 25, 'xadvance': 21.625, 'y': 94, 'x': 209, 'height': 29, 'xoffset': 0.438}, 87: {'yoffset': 27.125, 'width': 33, 'xadvance': 30.875, 'y': 65, 'x': 48, 'height': 29, 'xoffset': 0.813}, 88: {'yoffset': 27.063, 'width': 27, 'xadvance': 21.063, 'y': 94, 'x': 157, 'height': 29, 'xoffset': -3.0}, 89: {'yoffset': 27.063, 'width': 25, 'xadvance': 21.0, 'y': 128, 'x': 109, 'height': 29, 'xoffset': 0.125}, 90: {'yoffset': 27.063, 'width': 24, 'xadvance': 19.438, 'y': 152, 'x': 78, 'height': 29, 'xoffset': -2.125}, 91: {'yoffset': 31.813, 'width': 17, 'xadvance': 12.0, 'y': 146, 'x': 24, 'height': 38, 'xoffset': -1.625}, 92: {'yoffset': 31.875, 'width': 20, 'xadvance': 19.375, 'y': 209, 'x': 181, 'height': 38, 'xoffset': -0.438}, 93: {'yoffset': 31.875, 'width': 17, 'xadvance': 12.0, 'y': 184, 'x': 24, 'height': 38, 'xoffset': -1.938}, 94: {'yoffset': 32.688, 'width': 22, 'xadvance': 19.875, 'y': 238, 'x': 201, 'height': 15, 'xoffset': 0.5}, 95: {'yoffset': -0.563, 'width': 22, 'xadvance': 19.25, 'y': 248, 'x': 157, 'height': 7, 'xoffset': -3.313}, 96: {'yoffset': 31.875, 'width': 14, 'xadvance': 12.125, 'y': 243, 'x': 78, 'height': 11, 'xoffset': -0.438}, 97: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.375, 'y': 38, 'x': 60, 'height': 24, 'xoffset': -0.375}, 98: {'yoffset': 29.438, 'width': 22, 'xadvance': 21.75, 'y': 132, 'x': 135, 'height': 32, 'xoffset': -0.125}, 99: {'yoffset': 21.625, 'width': 20, 'xadvance': 17.25, 'y': 38, 'x': 211, 'height': 24, 'xoffset': -0.375}, 100: {'yoffset': 29.438, 'width': 24, 'xadvance': 21.688, 'y': 153, 'x': 181, 'height': 32, 'xoffset': -0.375}, 101: {'yoffset': 21.625, 'width': 21, 'xadvance': 19.25, 'y': 38, 'x': 169, 'height': 24, 'xoffset': -0.375}, 102: {'yoffset': 29.5, 'width': 24, 'xadvance': 12.375, 'y': 65, 'x': 0, 'height': 40, 'xoffset': -4.188}, 103: {'yoffset': 21.688, 'width': 23, 'xadvance': 21.625, 'y': 216, 'x': 157, 'height': 32, 'xoffset': -1.125}, 104: {'yoffset': 29.438, 'width': 22, 'xadvance': 21.25, 'y': 212, 'x': 78, 'height': 31, 'xoffset': -0.25}, 105: {'yoffset': 30.938, 'width': 13, 'xadvance': 10.0, 'y': 0, 'x': 108, 'height': 33, 'xoffset': -0.375}, 106: {'yoffset': 30.938, 'width': 17, 'xadvance': 10.0, 'y': 196, 'x': 135, 'height': 41, 'xoffset': -4.938}, 107: {'yoffset': 29.438, 'width': 22, 'xadvance': 20.813, 'y': 181, 'x': 78, 'height': 31, 'xoffset': -0.25}, 108: {'yoffset': 29.438, 'width': 12, 'xadvance': 10.438, 'y': 0, 'x': 161, 'height': 32, 'xoffset': 0.0}, 109: {'yoffset': 21.625, 'width': 32, 'xadvance': 31.375, 'y': 185, 'x': 181, 'height': 24, 'xoffset': -0.25}, 110: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.25, 'y': 38, 'x': 104, 'height': 24, 'xoffset': -0.25}, 111: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.313, 'y': 38, 'x': 82, 'height': 24, 'xoffset': -0.375}, 112: {'yoffset': 21.625, 'width': 24, 'xadvance': 21.75, 'y': 153, 'x': 157, 'height': 32, 'xoffset': -1.375}, 113: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.563, 'y': 164, 'x': 135, 'height': 32, 'xoffset': -0.375}, 114: {'yoffset': 21.625, 'width': 18, 'xadvance': 14.313, 'y': 0, 'x': 90, 'height': 24, 'xoffset': -0.25}, 115: {'yoffset': 21.563, 'width': 20, 'xadvance': 17.563, 'y': 38, 'x': 231, 'height': 24, 'xoffset': -1.938}, 116: {'yoffset': 26.0, 'width': 17, 'xadvance': 13.75, 'y': 0, 'x': 57, 'height': 29, 'xoffset': -0.563}, 117: {'yoffset': 21.063, 'width': 21, 'xadvance': 21.063, 'y': 38, 'x': 148, 'height': 24, 'xoffset': 0.313}, 118: {'yoffset': 21.125, 'width': 22, 'xadvance': 18.375, 'y': 38, 'x': 126, 'height': 23, 'xoffset': -0.375}, 119: {'yoffset': 21.125, 'width': 30, 'xadvance': 27.125, 'y': 185, 'x': 213, 'height': 23, 'xoffset': 0.0}, 120: {'yoffset': 21.063, 'width': 24, 'xadvance': 18.0, 'y': 38, 'x': 36, 'height': 23, 'xoffset': -3.438}, 121: {'yoffset': 21.125, 'width': 24, 'xadvance': 18.313, 'y': 185, 'x': 157, 'height': 31, 'xoffset': -2.25}, 122: {'yoffset': 21.063, 'width': 21, 'xadvance': 16.375, 'y': 38, 'x': 190, 'height': 23, 'xoffset': -2.5}, 123: {'yoffset': 32.438, 'width': 16, 'xadvance': 12.0, 'y': 145, 'x': 0, 'height': 40, 'xoffset': -0.813}, 124: {'yoffset': 31.375, 'width': 12, 'xadvance': 14.375, 'y': 211, 'x': 64, 'height': 37, 'xoffset': 1.688}, 125: {'yoffset': 32.438, 'width': 16, 'xadvance': 12.0, 'y': 105, 'x': 0, 'height': 40, 'xoffset': -2.313}, 126: {'yoffset': 16.125, 'width': 21, 'xadvance': 18.875, 'y': 246, 'x': 109, 'height': 9, 'xoffset': -0.438}}, 'base': 41, 'face': 'Fira Sans'};
sdfFiraMediumItalic.img = "textures/sprites/fonts/FiraSans-MediumItalic.sdf.png";
sdfFiraMediumItalic.width = 256;
sdfFiraMediumItalic.height = 256;
var sdfFiraRegular = {'count': 97, 'chars': {0: {'yoffset': 1.5, 'width': 4, 'xadvance': 0.0, 'y': 238, 'x': 252, 'height': 4, 'xoffset': -1.5}, 13: {'yoffset': 1.5, 'width': 4, 'xadvance': 10.875, 'y': 234, 'x': 252, 'height': 4, 'xoffset': -1.5}, 32: {'yoffset': 1.5, 'width': 4, 'xadvance': 10.875, 'y': 230, 'x': 252, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 29.75, 'width': 9, 'xadvance': 10.813, 'y': 32, 'x': 243, 'height': 32, 'xoffset': 1.063}, 34: {'yoffset': 29.75, 'width': 15, 'xadvance': 18.688, 'y': 242, 'x': 15, 'height': 14, 'xoffset': 2.125}, 35: {'yoffset': 29.0, 'width': 24, 'xadvance': 20.5, 'y': 164, 'x': 124, 'height': 31, 'xoffset': -1.375}, 36: {'yoffset': 35.375, 'width': 23, 'xadvance': 20.563, 'y': 32, 'x': 101, 'height': 44, 'xoffset': -1.0}, 37: {'yoffset': 30.625, 'width': 32, 'xadvance': 34.813, 'y': 32, 'x': 40, 'height': 34, 'xoffset': 1.563}, 38: {'yoffset': 30.25, 'width': 30, 'xadvance': 31.875, 'y': 64, 'x': 124, 'height': 33, 'xoffset': 2.25}, 39: {'yoffset': 29.75, 'width': 8, 'xadvance': 11.25, 'y': 69, 'x': 93, 'height': 14, 'xoffset': 2.125}, 40: {'yoffset': 36.125, 'width': 14, 'xadvance': 13.313, 'y': 162, 'x': 40, 'height': 44, 'xoffset': 0.125}, 41: {'yoffset': 36.125, 'width': 14, 'xadvance': 13.313, 'y': 162, 'x': 54, 'height': 44, 'xoffset': 0.0}, 42: {'yoffset': 31.813, 'width': 20, 'xadvance': 18.063, 'y': 223, 'x': 15, 'height': 19, 'xoffset': -0.563}, 43: {'yoffset': 21.938, 'width': 19, 'xadvance': 20.5, 'y': 151, 'x': 19, 'height': 19, 'xoffset': 1.063}, 44: {'yoffset': 6.688, 'width': 10, 'xadvance': 10.813, 'y': 128, 'x': 59, 'height': 16, 'xoffset': 0.563}, 45: {'yoffset': 15.938, 'width': 15, 'xadvance': 16.625, 'y': 248, 'x': 72, 'height': 7, 'xoffset': 1.0}, 46: {'yoffset': 6.688, 'width': 9, 'xadvance': 10.813, 'y': 122, 'x': 196, 'height': 9, 'xoffset': 1.063}, 47: {'yoffset': 34.75, 'width': 16, 'xadvance': 21.313, 'y': 166, 'x': 72, 'height': 41, 'xoffset': 2.75}, 48: {'yoffset': 29.375, 'width': 22, 'xadvance': 23.0, 'y': 32, 'x': 177, 'height': 32, 'xoffset': 0.813}, 49: {'yoffset': 28.938, 'width': 15, 'xadvance': 16.375, 'y': 176, 'x': 0, 'height': 31, 'xoffset': -0.75}, 50: {'yoffset': 29.375, 'width': 21, 'xadvance': 20.813, 'y': 66, 'x': 40, 'height': 31, 'xoffset': -0.438}, 51: {'yoffset': 29.375, 'width': 21, 'xadvance': 20.563, 'y': 101, 'x': 72, 'height': 32, 'xoffset': -0.938}, 52: {'yoffset': 29.438, 'width': 22, 'xadvance': 21.5, 'y': 179, 'x': 101, 'height': 31, 'xoffset': 0.0}, 53: {'yoffset': 28.938, 'width': 21, 'xadvance': 21.063, 'y': 97, 'x': 40, 'height': 31, 'xoffset': -0.188}, 54: {'yoffset': 29.375, 'width': 21, 'xadvance': 21.938, 'y': 69, 'x': 72, 'height': 32, 'xoffset': 0.813}, 55: {'yoffset': 28.938, 'width': 19, 'xadvance': 18.125, 'y': 0, 'x': 133, 'height': 31, 'xoffset': -0.5}, 56: {'yoffset': 29.375, 'width': 22, 'xadvance': 22.75, 'y': 32, 'x': 199, 'height': 32, 'xoffset': 0.438}, 57: {'yoffset': 29.375, 'width': 21, 'xadvance': 21.875, 'y': 133, 'x': 235, 'height': 32, 'xoffset': 0.438}, 58: {'yoffset': 22.0, 'width': 9, 'xadvance': 10.813, 'y': 133, 'x': 92, 'height': 25, 'xoffset': 1.063}, 59: {'yoffset': 22.0, 'width': 10, 'xadvance': 10.813, 'y': 64, 'x': 246, 'height': 31, 'xoffset': 0.563}, 60: {'yoffset': 24.125, 'width': 20, 'xadvance': 20.5, 'y': 176, 'x': 15, 'height': 21, 'xoffset': 1.063}, 61: {'yoffset': 19.813, 'width': 19, 'xadvance': 20.563, 'y': 125, 'x': 12, 'height': 15, 'xoffset': 1.063}, 62: {'yoffset': 24.125, 'width': 20, 'xadvance': 20.5, 'y': 232, 'x': 151, 'height': 21, 'xoffset': 0.313}, 63: {'yoffset': 30.25, 'width': 20, 'xadvance': 20.813, 'y': 133, 'x': 72, 'height': 33, 'xoffset': 0.188}, 64: {'yoffset': 30.25, 'width': 40, 'xadvance': 41.813, 'y': 0, 'x': 0, 'height': 41, 'xoffset': 1.375}, 65: {'yoffset': 29.813, 'width': 27, 'xadvance': 23.75, 'y': 133, 'x': 151, 'height': 32, 'xoffset': -1.313}, 66: {'yoffset': 29.75, 'width': 23, 'xadvance': 25.688, 'y': 64, 'x': 223, 'height': 32, 'xoffset': 2.813}, 67: {'yoffset': 30.25, 'width': 24, 'xadvance': 23.438, 'y': 197, 'x': 229, 'height': 33, 'xoffset': 1.063}, 68: {'yoffset': 29.813, 'width': 24, 'xadvance': 26.938, 'y': 97, 'x': 207, 'height': 32, 'xoffset': 2.813}, 69: {'yoffset': 29.813, 'width': 19, 'xadvance': 22.125, 'y': 0, 'x': 114, 'height': 32, 'xoffset': 2.813}, 70: {'yoffset': 29.813, 'width': 19, 'xadvance': 20.375, 'y': 0, 'x': 95, 'height': 32, 'xoffset': 2.813}, 71: {'yoffset': 30.25, 'width': 25, 'xadvance': 26.188, 'y': 197, 'x': 204, 'height': 33, 'xoffset': 1.063}, 72: {'yoffset': 29.813, 'width': 23, 'xadvance': 27.875, 'y': 64, 'x': 154, 'height': 32, 'xoffset': 2.813}, 73: {'yoffset': 29.813, 'width': 7, 'xadvance': 12.563, 'y': 101, 'x': 93, 'height': 32, 'xoffset': 2.813}, 74: {'yoffset': 29.813, 'width': 12, 'xadvance': 12.625, 'y': 166, 'x': 88, 'height': 38, 'xoffset': -1.313}, 75: {'yoffset': 29.813, 'width': 24, 'xadvance': 24.313, 'y': 165, 'x': 230, 'height': 32, 'xoffset': 2.813}, 76: {'yoffset': 29.813, 'width': 19, 'xadvance': 20.625, 'y': 0, 'x': 76, 'height': 32, 'xoffset': 2.813}, 77: {'yoffset': 29.813, 'width': 31, 'xadvance': 32.625, 'y': 32, 'x': 124, 'height': 32, 'xoffset': 1.0}, 78: {'yoffset': 29.813, 'width': 23, 'xadvance': 28.25, 'y': 195, 'x': 124, 'height': 32, 'xoffset': 2.813}, 79: {'yoffset': 30.25, 'width': 27, 'xadvance': 28.563, 'y': 97, 'x': 124, 'height': 33, 'xoffset': 1.063}, 80: {'yoffset': 29.813, 'width': 22, 'xadvance': 24.0, 'y': 32, 'x': 221, 'height': 32, 'xoffset': 2.813}, 81: {'yoffset': 30.25, 'width': 29, 'xadvance': 28.563, 'y': 32, 'x': 72, 'height': 37, 'xoffset': 1.063}, 82: {'yoffset': 29.813, 'width': 23, 'xadvance': 24.875, 'y': 64, 'x': 177, 'height': 32, 'xoffset': 2.813}, 83: {'yoffset': 30.25, 'width': 23, 'xadvance': 22.375, 'y': 97, 'x': 231, 'height': 33, 'xoffset': -0.438}, 84: {'yoffset': 29.75, 'width': 24, 'xadvance': 21.125, 'y': 200, 'x': 151, 'height': 32, 'xoffset': -0.875}, 85: {'yoffset': 29.813, 'width': 23, 'xadvance': 27.5, 'y': 64, 'x': 200, 'height': 32, 'xoffset': 2.375}, 86: {'yoffset': 29.813, 'width': 26, 'xadvance': 24.0, 'y': 133, 'x': 178, 'height': 32, 'xoffset': -0.938}, 87: {'yoffset': 29.813, 'width': 36, 'xadvance': 34.0, 'y': 0, 'x': 40, 'height': 32, 'xoffset': -0.5}, 88: {'yoffset': 29.813, 'width': 26, 'xadvance': 22.75, 'y': 165, 'x': 178, 'height': 32, 'xoffset': -1.313}, 89: {'yoffset': 29.813, 'width': 26, 'xadvance': 22.563, 'y': 165, 'x': 204, 'height': 32, 'xoffset': -1.313}, 90: {'yoffset': 29.813, 'width': 22, 'xadvance': 21.375, 'y': 32, 'x': 155, 'height': 32, 'xoffset': -0.25}, 91: {'yoffset': 35.0, 'width': 12, 'xadvance': 13.313, 'y': 109, 'x': 0, 'height': 42, 'xoffset': 1.25}, 92: {'yoffset': 34.75, 'width': 16, 'xadvance': 21.313, 'y': 207, 'x': 72, 'height': 41, 'xoffset': 2.75}, 93: {'yoffset': 35.0, 'width': 12, 'xadvance': 13.313, 'y': 67, 'x': 0, 'height': 42, 'xoffset': 0.563}, 94: {'yoffset': 36.0, 'width': 22, 'xadvance': 21.313, 'y': 109, 'x': 12, 'height': 16, 'xoffset': -0.313}, 95: {'yoffset': -1.063, 'width': 23, 'xadvance': 21.313, 'y': 244, 'x': 101, 'height': 7, 'xoffset': -0.813}, 96: {'yoffset': 34.375, 'width': 13, 'xadvance': 12.188, 'y': 144, 'x': 59, 'height': 10, 'xoffset': -0.313}, 97: {'yoffset': 23.625, 'width': 22, 'xadvance': 22.375, 'y': 227, 'x': 124, 'height': 26, 'xoffset': 0.375}, 98: {'yoffset': 32.313, 'width': 21, 'xadvance': 24.25, 'y': 76, 'x': 101, 'height': 35, 'xoffset': 2.5}, 99: {'yoffset': 23.625, 'width': 20, 'xadvance': 19.5, 'y': 0, 'x': 211, 'height': 26, 'xoffset': 0.813}, 100: {'yoffset': 32.313, 'width': 22, 'xadvance': 24.375, 'y': 165, 'x': 151, 'height': 35, 'xoffset': 0.813}, 101: {'yoffset': 23.625, 'width': 21, 'xadvance': 22.375, 'y': 0, 'x': 170, 'height': 26, 'xoffset': 0.813}, 102: {'yoffset': 32.313, 'width': 19, 'xadvance': 13.75, 'y': 128, 'x': 40, 'height': 34, 'xoffset': -0.625}, 103: {'yoffset': 25.563, 'width': 24, 'xadvance': 21.5, 'y': 97, 'x': 151, 'height': 36, 'xoffset': -0.25}, 104: {'yoffset': 32.25, 'width': 20, 'xadvance': 24.125, 'y': 210, 'x': 101, 'height': 34, 'xoffset': 2.5}, 105: {'yoffset': 33.188, 'width': 9, 'xadvance': 11.438, 'y': 67, 'x': 12, 'height': 35, 'xoffset': 1.563}, 106: {'yoffset': 33.188, 'width': 12, 'xadvance': 11.438, 'y': 207, 'x': 88, 'height': 44, 'xoffset': -1.938}, 107: {'yoffset': 32.313, 'width': 21, 'xadvance': 21.063, 'y': 145, 'x': 101, 'height': 34, 'xoffset': 2.5}, 108: {'yoffset': 32.313, 'width': 11, 'xadvance': 11.875, 'y': 207, 'x': 0, 'height': 35, 'xoffset': 2.125}, 109: {'yoffset': 23.625, 'width': 31, 'xadvance': 35.375, 'y': 133, 'x': 204, 'height': 26, 'xoffset': 2.5}, 110: {'yoffset': 23.625, 'width': 20, 'xadvance': 24.125, 'y': 0, 'x': 191, 'height': 26, 'xoffset': 2.5}, 111: {'yoffset': 23.625, 'width': 23, 'xadvance': 23.875, 'y': 230, 'x': 229, 'height': 26, 'xoffset': 0.813}, 112: {'yoffset': 23.625, 'width': 21, 'xadvance': 24.25, 'y': 111, 'x': 101, 'height': 34, 'xoffset': 2.5}, 113: {'yoffset': 23.625, 'width': 22, 'xadvance': 24.375, 'y': 130, 'x': 124, 'height': 34, 'xoffset': 0.813}, 114: {'yoffset': 23.625, 'width': 15, 'xadvance': 15.688, 'y': 197, 'x': 15, 'height': 26, 'xoffset': 2.5}, 115: {'yoffset': 23.625, 'width': 20, 'xadvance': 19.438, 'y': 0, 'x': 231, 'height': 26, 'xoffset': -0.5}, 116: {'yoffset': 28.5, 'width': 18, 'xadvance': 15.063, 'y': 0, 'x': 152, 'height': 31, 'xoffset': -0.625}, 117: {'yoffset': 23.125, 'width': 20, 'xadvance': 23.813, 'y': 41, 'x': 0, 'height': 26, 'xoffset': 2.313}, 118: {'yoffset': 23.125, 'width': 23, 'xadvance': 20.25, 'y': 230, 'x': 204, 'height': 25, 'xoffset': -1.063}, 119: {'yoffset': 23.125, 'width': 32, 'xadvance': 29.875, 'y': 97, 'x': 175, 'height': 25, 'xoffset': -0.688}, 120: {'yoffset': 23.125, 'width': 23, 'xadvance': 19.625, 'y': 231, 'x': 178, 'height': 25, 'xoffset': -1.438}, 121: {'yoffset': 23.125, 'width': 23, 'xadvance': 20.125, 'y': 197, 'x': 178, 'height': 34, 'xoffset': -1.063}, 122: {'yoffset': 23.125, 'width': 19, 'xadvance': 18.063, 'y': 151, 'x': 0, 'height': 25, 'xoffset': -0.438}, 123: {'yoffset': 35.875, 'width': 14, 'xadvance': 13.313, 'y': 206, 'x': 54, 'height': 43, 'xoffset': -0.438}, 124: {'yoffset': 34.625, 'width': 7, 'xadvance': 16.5, 'y': 67, 'x': 21, 'height': 41, 'xoffset': 5.063}, 125: {'yoffset': 35.875, 'width': 14, 'xadvance': 13.313, 'y': 206, 'x': 40, 'height': 43, 'xoffset': 0.188}, 126: {'yoffset': 17.063, 'width': 21, 'xadvance': 20.5, 'y': 122, 'x': 175, 'height': 9, 'xoffset': 0.125}}, 'base': 44, 'face': 'Fira Sans'};
sdfFiraRegular.img = "textures/sprites/fonts/FiraSans-Regular.sdf.png";
sdfFiraRegular.width = 256;
sdfFiraRegular.height = 256;
*/
var sdfGeorgia = {'count': 95, 'chars': {32: {'yoffset': 1.5, 'width': 4, 'xadvance': 8.688, 'y': 251, 'x': 229, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 27.063, 'width': 8, 'xadvance': 11.875, 'y': 174, 'x': 137, 'height': 29, 'xoffset': 2.125}, 34: {'yoffset': 28.375, 'width': 14, 'xadvance': 14.813, 'y': 236, 'x': 31, 'height': 13, 'xoffset': 0.563}, 35: {'yoffset': 23.125, 'width': 21, 'xadvance': 23.125, 'y': 230, 'x': 235, 'height': 25, 'xoffset': 1.188}, 36: {'yoffset': 28.25, 'width': 20, 'xadvance': 22.0, 'y': 174, 'x': 117, 'height': 36, 'xoffset': 1.25}, 37: {'yoffset': 27.0, 'width': 29, 'xadvance': 29.5, 'y': 57, 'x': 59, 'height': 30, 'xoffset': 0.438}, 38: {'yoffset': 27.0, 'width': 28, 'xadvance': 25.625, 'y': 144, 'x': 117, 'height': 30, 'xoffset': -0.188}, 39: {'yoffset': 28.375, 'width': 7, 'xadvance': 7.688, 'y': 230, 'x': 195, 'height': 13, 'xoffset': 0.375}, 40: {'yoffset': 28.438, 'width': 14, 'xadvance': 13.5, 'y': 167, 'x': 45, 'height': 36, 'xoffset': 0.563}, 41: {'yoffset': 28.438, 'width': 14, 'xadvance': 13.5, 'y': 62, 'x': 0, 'height': 36, 'xoffset': -0.313}, 42: {'yoffset': 27.063, 'width': 18, 'xadvance': 17.0, 'y': 236, 'x': 88, 'height': 16, 'xoffset': 0.0}, 43: {'yoffset': 20.375, 'width': 22, 'xadvance': 23.125, 'y': 29, 'x': 93, 'height': 22, 'xoffset': 1.0}, 44: {'yoffset': 5.938, 'width': 9, 'xadvance': 9.75, 'y': 236, 'x': 106, 'height': 14, 'xoffset': 0.188}, 45: {'yoffset': 12.438, 'width': 14, 'xadvance': 13.5, 'y': 136, 'x': 194, 'height': 6, 'xoffset': 0.0}, 46: {'yoffset': 5.875, 'width': 8, 'xadvance': 9.75, 'y': 241, 'x': 137, 'height': 8, 'xoffset': 1.0}, 47: {'yoffset': 28.25, 'width': 18, 'xadvance': 16.875, 'y': 87, 'x': 59, 'height': 38, 'xoffset': -0.688}, 48: {'yoffset': 20.938, 'width': 22, 'xadvance': 22.125, 'y': 230, 'x': 173, 'height': 24, 'xoffset': 0.313}, 49: {'yoffset': 20.938, 'width': 15, 'xadvance': 15.5, 'y': 0, 'x': 72, 'height': 23, 'xoffset': 0.813}, 50: {'yoffset': 20.938, 'width': 20, 'xadvance': 20.125, 'y': 29, 'x': 137, 'height': 23, 'xoffset': 0.438}, 51: {'yoffset': 20.875, 'width': 20, 'xadvance': 19.813, 'y': 57, 'x': 138, 'height': 29, 'xoffset': -0.375}, 52: {'yoffset': 20.75, 'width': 22, 'xadvance': 20.375, 'y': 86, 'x': 207, 'height': 29, 'xoffset': -0.625}, 53: {'yoffset': 20.313, 'width': 20, 'xadvance': 19.063, 'y': 57, 'x': 118, 'height': 29, 'xoffset': -0.438}, 54: {'yoffset': 27.063, 'width': 21, 'xadvance': 20.375, 'y': 193, 'x': 59, 'height': 30, 'xoffset': 0.313}, 55: {'yoffset': 20.375, 'width': 20, 'xadvance': 18.063, 'y': 57, 'x': 158, 'height': 29, 'xoffset': 0.063}, 56: {'yoffset': 27.063, 'width': 21, 'xadvance': 21.438, 'y': 223, 'x': 59, 'height': 30, 'xoffset': 0.313}, 57: {'yoffset': 20.938, 'width': 21, 'xadvance': 20.375, 'y': 65, 'x': 31, 'height': 30, 'xoffset': 0.0}, 58: {'yoffset': 18.875, 'width': 8, 'xadvance': 11.188, 'y': 115, 'x': 248, 'height': 21, 'xoffset': 1.688}, 59: {'yoffset': 18.938, 'width': 9, 'xadvance': 11.25, 'y': 125, 'x': 77, 'height': 27, 'xoffset': 0.938}, 60: {'yoffset': 20.813, 'width': 20, 'xadvance': 23.125, 'y': 29, 'x': 218, 'height': 22, 'xoffset': 1.875}, 61: {'yoffset': 15.688, 'width': 21, 'xadvance': 23.125, 'y': 236, 'x': 0, 'height': 12, 'xoffset': 1.188}, 62: {'yoffset': 20.813, 'width': 20, 'xadvance': 23.125, 'y': 170, 'x': 0, 'height': 22, 'xoffset': 2.0}, 63: {'yoffset': 27.0, 'width': 17, 'xadvance': 17.188, 'y': 57, 'x': 221, 'height': 29, 'xoffset': 0.375}, 64: {'yoffset': 25.563, 'width': 31, 'xadvance': 33.438, 'y': 29, 'x': 0, 'height': 33, 'xoffset': 1.438}, 65: {'yoffset': 26.813, 'width': 29, 'xadvance': 24.188, 'y': 115, 'x': 117, 'height': 29, 'xoffset': -2.188}, 66: {'yoffset': 26.438, 'width': 24, 'xadvance': 23.563, 'y': 115, 'x': 146, 'height': 28, 'xoffset': 0.125}, 67: {'yoffset': 27.0, 'width': 25, 'xadvance': 23.125, 'y': 174, 'x': 145, 'height': 30, 'xoffset': -0.125}, 68: {'yoffset': 26.438, 'width': 28, 'xadvance': 27.0, 'y': 174, 'x': 202, 'height': 28, 'xoffset': 0.125}, 69: {'yoffset': 26.438, 'width': 24, 'xadvance': 23.5, 'y': 174, 'x': 230, 'height': 28, 'xoffset': 0.0}, 70: {'yoffset': 26.438, 'width': 23, 'xadvance': 21.563, 'y': 86, 'x': 140, 'height': 28, 'xoffset': 0.0}, 71: {'yoffset': 27.0, 'width': 28, 'xadvance': 26.125, 'y': 144, 'x': 145, 'height': 30, 'xoffset': -0.125}, 72: {'yoffset': 26.438, 'width': 29, 'xadvance': 29.375, 'y': 202, 'x': 173, 'height': 28, 'xoffset': 0.25}, 73: {'yoffset': 26.438, 'width': 15, 'xadvance': 14.063, 'y': 57, 'x': 238, 'height': 28, 'xoffset': -0.125}, 74: {'yoffset': 26.375, 'width': 21, 'xadvance': 18.625, 'y': 86, 'x': 229, 'height': 29, 'xoffset': -1.313}, 75: {'yoffset': 26.438, 'width': 28, 'xadvance': 25.0, 'y': 202, 'x': 202, 'height': 28, 'xoffset': 0.313}, 76: {'yoffset': 26.438, 'width': 23, 'xadvance': 21.75, 'y': 86, 'x': 117, 'height': 28, 'xoffset': 0.25}, 77: {'yoffset': 26.438, 'width': 34, 'xadvance': 33.313, 'y': 29, 'x': 59, 'height': 28, 'xoffset': -0.688}, 78: {'yoffset': 26.438, 'width': 30, 'xadvance': 27.563, 'y': 57, 'x': 88, 'height': 29, 'xoffset': -1.125}, 79: {'yoffset': 27.0, 'width': 28, 'xadvance': 26.813, 'y': 144, 'x': 173, 'height': 30, 'xoffset': -0.125}, 80: {'yoffset': 26.438, 'width': 23, 'xadvance': 22.0, 'y': 115, 'x': 225, 'height': 28, 'xoffset': 0.125}, 81: {'yoffset': 27.063, 'width': 28, 'xadvance': 26.813, 'y': 29, 'x': 31, 'height': 36, 'xoffset': -0.125}, 82: {'yoffset': 26.438, 'width': 28, 'xadvance': 25.313, 'y': 144, 'x': 201, 'height': 28, 'xoffset': 0.25}, 83: {'yoffset': 27.0, 'width': 21, 'xadvance': 20.25, 'y': 163, 'x': 59, 'height': 30, 'xoffset': 0.25}, 84: {'yoffset': 26.438, 'width': 25, 'xadvance': 22.313, 'y': 202, 'x': 230, 'height': 28, 'xoffset': -1.25}, 85: {'yoffset': 26.375, 'width': 29, 'xadvance': 27.25, 'y': 115, 'x': 88, 'height': 29, 'xoffset': -0.188}, 86: {'yoffset': 26.375, 'width': 29, 'xadvance': 24.0, 'y': 86, 'x': 88, 'height': 29, 'xoffset': -2.188}, 87: {'yoffset': 26.375, 'width': 39, 'xadvance': 35.188, 'y': 0, 'x': 0, 'height': 29, 'xoffset': -1.563}, 88: {'yoffset': 26.438, 'width': 29, 'xadvance': 25.625, 'y': 174, 'x': 173, 'height': 28, 'xoffset': -1.25}, 89: {'yoffset': 26.438, 'width': 27, 'xadvance': 22.188, 'y': 144, 'x': 229, 'height': 28, 'xoffset': -2.25}, 90: {'yoffset': 26.438, 'width': 24, 'xadvance': 21.688, 'y': 115, 'x': 170, 'height': 28, 'xoffset': -1.0}, 91: {'yoffset': 28.188, 'width': 13, 'xadvance': 13.5, 'y': 98, 'x': 0, 'height': 36, 'xoffset': 1.438}, 92: {'yoffset': 28.25, 'width': 18, 'xadvance': 16.875, 'y': 125, 'x': 59, 'height': 38, 'xoffset': 0.063}, 93: {'yoffset': 28.188, 'width': 13, 'xadvance': 13.5, 'y': 134, 'x': 0, 'height': 36, 'xoffset': -0.313}, 94: {'yoffset': 27.125, 'width': 20, 'xadvance': 23.125, 'y': 241, 'x': 117, 'height': 15, 'xoffset': 1.813}, 95: {'yoffset': -1.688, 'width': 27, 'xadvance': 23.188, 'y': 251, 'x': 202, 'height': 5, 'xoffset': -1.563}, 96: {'yoffset': 28.5, 'width': 11, 'xadvance': 18.0, 'y': 152, 'x': 77, 'height': 11, 'xoffset': 4.25}, 97: {'yoffset': 19.313, 'width': 20, 'xadvance': 18.125, 'y': 29, 'x': 178, 'height': 22, 'xoffset': -0.125}, 98: {'yoffset': 28.5, 'width': 23, 'xadvance': 20.188, 'y': 175, 'x': 88, 'height': 31, 'xoffset': -1.75}, 99: {'yoffset': 19.375, 'width': 19, 'xadvance': 16.313, 'y': 192, 'x': 0, 'height': 22, 'xoffset': -0.25}, 100: {'yoffset': 28.5, 'width': 23, 'xadvance': 20.688, 'y': 210, 'x': 117, 'height': 31, 'xoffset': -0.25}, 101: {'yoffset': 19.375, 'width': 19, 'xadvance': 17.375, 'y': 214, 'x': 0, 'height': 22, 'xoffset': -0.25}, 102: {'yoffset': 28.688, 'width': 17, 'xadvance': 11.75, 'y': 205, 'x': 31, 'height': 31, 'xoffset': -1.063}, 103: {'yoffset': 19.313, 'width': 20, 'xadvance': 18.313, 'y': 57, 'x': 178, 'height': 29, 'xoffset': -0.75}, 104: {'yoffset': 28.5, 'width': 24, 'xadvance': 21.0, 'y': 204, 'x': 145, 'height': 31, 'xoffset': -1.375}, 105: {'yoffset': 28.125, 'width': 12, 'xadvance': 10.563, 'y': 62, 'x': 14, 'height': 30, 'xoffset': -0.75}, 106: {'yoffset': 28.125, 'width': 14, 'xadvance': 10.563, 'y': 167, 'x': 31, 'height': 38, 'xoffset': -4.125}, 107: {'yoffset': 28.5, 'width': 23, 'xadvance': 19.313, 'y': 144, 'x': 88, 'height': 31, 'xoffset': -1.375}, 108: {'yoffset': 28.5, 'width': 13, 'xadvance': 10.313, 'y': 134, 'x': 13, 'height': 31, 'xoffset': -1.5}, 109: {'yoffset': 19.25, 'width': 33, 'xadvance': 31.688, 'y': 230, 'x': 202, 'height': 21, 'xoffset': -0.5}, 110: {'yoffset': 19.25, 'width': 23, 'xadvance': 21.25, 'y': 235, 'x': 145, 'height': 21, 'xoffset': -0.438}, 111: {'yoffset': 19.375, 'width': 20, 'xadvance': 19.438, 'y': 29, 'x': 198, 'height': 22, 'xoffset': -0.25}, 112: {'yoffset': 19.25, 'width': 22, 'xadvance': 20.563, 'y': 86, 'x': 163, 'height': 29, 'xoffset': -0.938}, 113: {'yoffset': 19.75, 'width': 23, 'xadvance': 20.125, 'y': 206, 'x': 88, 'height': 30, 'xoffset': -0.25}, 114: {'yoffset': 19.25, 'width': 17, 'xadvance': 14.688, 'y': 0, 'x': 39, 'height': 21, 'xoffset': -0.438}, 115: {'yoffset': 19.375, 'width': 16, 'xadvance': 15.563, 'y': 0, 'x': 56, 'height': 22, 'xoffset': -0.125}, 116: {'yoffset': 24.125, 'width': 15, 'xadvance': 12.438, 'y': 29, 'x': 238, 'height': 27, 'xoffset': -1.25}, 117: {'yoffset': 19.063, 'width': 23, 'xadvance': 20.688, 'y': 57, 'x': 198, 'height': 22, 'xoffset': -0.938}, 118: {'yoffset': 18.813, 'width': 22, 'xadvance': 17.938, 'y': 29, 'x': 115, 'height': 21, 'xoffset': -1.813}, 119: {'yoffset': 18.813, 'width': 31, 'xadvance': 26.563, 'y': 115, 'x': 194, 'height': 21, 'xoffset': -1.563}, 120: {'yoffset': 18.813, 'width': 21, 'xadvance': 18.125, 'y': 29, 'x': 157, 'height': 21, 'xoffset': -1.313}, 121: {'yoffset': 18.813, 'width': 22, 'xadvance': 17.75, 'y': 86, 'x': 185, 'height': 29, 'xoffset': -1.813}, 122: {'yoffset': 18.813, 'width': 18, 'xadvance': 15.938, 'y': 98, 'x': 13, 'height': 21, 'xoffset': -0.563}, 123: {'yoffset': 28.438, 'width': 17, 'xadvance': 15.438, 'y': 131, 'x': 31, 'height': 36, 'xoffset': -0.25}, 124: {'yoffset': 28.25, 'width': 6, 'xadvance': 13.5, 'y': 87, 'x': 77, 'height': 38, 'xoffset': 4.125}, 125: {'yoffset': 28.438, 'width': 17, 'xadvance': 15.438, 'y': 95, 'x': 31, 'height': 36, 'xoffset': -0.375}, 126: {'yoffset': 14.625, 'width': 22, 'xadvance': 23.125, 'y': 0, 'x': 87, 'height': 10, 'xoffset': 0.75}}, 'base': 38, 'face': 'Georgia'};
sdfGeorgia.img = "textures/sprites/fonts/Georgia.sdf.png";
sdfGeorgia.width = 256;
sdfGeorgia.height = 256;
//
var clock = new XG.Clock();
//
init();
animate();
function init() {
container = document.createElement( 'div' );
document.body.appendChild( container );
// renderer
var pars = {
"width" : SCREEN_WIDTH,
"height" : SCREEN_HEIGHT,
"scale" : SCALE,
"antialias" : false,
"tonemapping": XG.NoOperator,
"brightness": BRIGHTNESS,
"clearColor": 0x050505,
"clearAlpha": 1.0,
"backend" : backend,
"devicePixelRatio" : 1.0
};
renderer = new XG.ForwardRenderer( pars );
container.appendChild( renderer.domElement );
renderer.domElement.style.position = "absolute";
renderer.domElement.style.top = MARGIN + "px";
renderer.domElement.style.left = "0px";
// camera
camera = new XG.PerspectiveCamera( cameraFovInit, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 2000 );
camera.position.set( 0, 0, 200 );
// scene
scene = new XG.Scene();
scene.add( camera );
// fonts
fontsToLoad = 1;
//loadFont( sdfBebas );
//loadFont( sdfFiraMediumItalic );
//loadFont( sdfFiraRegular );
loadFont( sdfGeorgia );
// objects
canvas = document.getElementById( 'canvas' );
ctx = canvas.getContext( '2d' );
imageInfo = [
[ 500, 'textures/avatars/avatar-male-inv.png' ],
[ 500, 'textures/avatars/avatar-female-inv.png' ],
[ 600, 'textures/avatars/fog.jpg' ],
[ 600, 'textures/avatars/avatar-body-inv.png' ],
[ 600, 'textures/avatars/montana.jpg' ],
[ 600, 'textures/avatars/hand.jpg' ],
];
for ( var i = 0, il = imageInfo.length; i < il; i ++ ) {
var imgUrl = imageInfo[ i ][ 1 ];
var img = new Image();
img.src = imgUrl;
imageList[ i ] = img;
}
var initImage = imageList[ 0 ];
initImage.onload = function() {
var numSprites = isMobile ? 40000 : 80000;
var depth = 200;
var characterField = createCharacterField( initImage, numSprites, depth );
characterFieldList[ 0 ] = characterField;
characterFieldList[ 1 ] = characterField;
setCharacterField( 0 );
setImage( initImage );
};
var bigImage = imageList[ 2 ];
bigImage.onload = function() {
var numSprites = isMobile ? 80000 : 160000;
var depth = 200;
var characterField = createCharacterField( initImage, numSprites, depth );
characterFieldList[ 2 ] = characterField;
characterFieldList[ 3 ] = characterField;
characterFieldList[ 4 ] = characterField;
characterFieldList[ 5 ] = characterField;
characterFieldList[ 6 ] = characterField;
};
// stats
stats = new Stats();
container.appendChild( stats.domElement );
stats.domElement.className = "noselect";
// events
window.addEventListener( 'resize', onWindowResize, false );
renderer.domElement.addEventListener( 'mousemove', onDocumentMouseMove, false );
renderer.domElement.addEventListener( 'mousedown', onDocumentMouseClick, false );
renderer.domElement.addEventListener( 'touchmove', onTouchMove, false );
renderer.domElement.addEventListener( 'wheel', onDocumentWheel, false );
onWindowResize();
}
// -----------------------------------------------------------------------------------------------------------
function createCharacterField( image, numSprites, depth ) {
var materialParameters = {
"fogEnabled" : true,
"fogDensity" : 0.002,
"fogColor" : 0x050505
};
canvas.width = image.width;
canvas.height = image.height;
canvas.style.width = image.width + 'px';
canvas.style.height = image.height + 'px';
ctx.drawImage( image, 0, 0 );
var pixel = ctx.getImageData( 0, 0, image.width, image.height );
var imageData = pixel.data;
var characterFieldData = generateCharacterField( sdfGeorgia, numSprites, materialParameters, image.width, image.height, depth );
characterFieldData.geometry.dynamic = true;
characterFieldData.mesh.visible = false;
scene.add( characterFieldData.mesh );
return characterFieldData;
}
// -----------------------------------------------------------------------------------------------------------
function refreshImagePixelIndex( sprites, width, height ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var x = sprite[ 1 ];
var y = sprite[ 2 ];
var z = sprite[ 3 ];
var px = Math.floor( x + width * 0.5 );
var py = height - 1 - Math.floor( y + height * 0.5 );
var pixelIndex = py * width + px;
sprite[ 9 ] = pixelIndex;
}
}
// -----------------------------------------------------------------------------------------------------------
function setCharacterField( index ) {
if ( currentMesh ) currentMesh.visible = false;
var characterField = characterFieldList[ index ];
currentMesh = characterField.mesh;
currentGeometry = characterField.geometry;
currentSprites = characterField.sprites;
currentUniforms = characterField.material.uniforms;
currentMesh.visible = true;
}
// -----------------------------------------------------------------------------------------------------------
function setImage( image ) {
canvas.width = image.width;
canvas.height = image.height;
canvas.style.width = image.width + 'px';
canvas.style.height = image.height + 'px';
ctx.drawImage( image, 0, 0 );
var pixel = ctx.getImageData( 0, 0, image.width, image.height );
var imageData = pixel.data;
refreshGeometryPositions( currentGeometry, imageData, currentSprites, image.width, image.height );
refreshImagePixelIndex( currentSprites, image.width, image.height );
setGeometryColors( currentGeometry, imageData, currentSprites );
updateGeometryData( currentGeometry, imageData, currentSprites );
}
// -----------------------------------------------------------------------------------------------------------
function refreshGeometryPositions( geometry, data, sprites, width, height ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var x = ( XG.Math.randomFloat16() - 0.5 ) * width;
var y = ( XG.Math.randomFloat16() - 0.5 ) * height;
var z = sprite[ 3 ];
geometry.setSpritePosition( i, x, y, z );
var dx = XG.Math.randomFloat( -5, 5 );
var dy = XG.Math.randomFloat( -5, 5 );
sprite[ 1 ] = x;
sprite[ 2 ] = y;
sprite[ 4 ] = dx;
sprite[ 5 ] = dy;
}
geometry.attributes[ "offset" ].needsUpdate = true;
}
// -----------------------------------------------------------------------------------------------------------
function setGeometryColors( geometry, imageData, sprites ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var depth = sprite[ 0 ];
var pixelIndex = sprite[ 9 ];
var pixelOffset = pixelIndex * 4;
var r = imageData[ pixelOffset ];
var g = imageData[ pixelOffset + 1 ];
var b = imageData[ pixelOffset + 2 ];
r = ( r / 255 ) * depth;
g = ( g / 255 ) * depth;
b = ( b / 255 ) * depth;
geometry.setSpriteColor( i, r, g, b );
}
geometry.attributes[ "color" ].needsUpdate = true;
}
// -----------------------------------------------------------------------------------------------------------
function updateGeometryData( geometry, data, sprites ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var d = sprite[ 0 ];
var x = sprite[ 1 ];
var y = sprite[ 2 ];
var z = sprite[ 3 ];
var pixelIndex = sprite[ 9 ];
var pixelOffset = pixelIndex * 4;
var r = data[ pixelOffset ];
var g = data[ pixelOffset + 1 ];
var b = data[ pixelOffset + 2 ];
r = ( r / 255 ) * d;
g = ( g / 255 ) * d;
b = ( b / 255 ) * d;
//if ( r < 0.1 ) geometry.setSpritePosition( i, x, y, 10000.0 );
if ( g < 0.135 ) geometry.setSpritePosition( i, x, y, 10000.0 );
//if ( b < 0.2 ) geometry.setSpritePosition( i, x, y, 10000.0 );
}
geometry.attributes[ "offset" ].needsUpdate = true;
}
// event handlers
function onWindowResize ( event ) {
SCREEN_WIDTH = window.innerWidth;
SCREEN_HEIGHT = window.innerHeight - 2 * MARGIN;
renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
camera.aspect = SCREEN_WIDTH/ SCREEN_HEIGHT;
camera.updateProjectionMatrix();
mobileInfoElement.style.top = Math.floor( ( SCREEN_HEIGHT - mobileInfoElement.offsetHeight ) * 0.5 + MARGIN ) + 'px';
}
function onDocumentMouseMove ( event ) {
mouseX = ( event.clientX - windowHalfX );
mouseY = ( event.clientY - windowHalfY );
}
function onDocumentMouseClick ( event ) {
nextImage();
}
function onTouchMove( event ) {
event.preventDefault();
var touches = event.touches;
var touch = touches[ 0 ];
mouseX = ( touch.clientX - windowHalfX );
mouseY = ( touch.clientY - windowHalfY );
}
function onDocumentWheel ( event ) {
var unit = event.deltaMode;
var scale = 1;
if ( unit === 0 ) scale = 0.01; // pixels
else if ( unit === 1 ) scale = 0.1; // lines
cameraFovTarget += event.deltaY * scale;
var maxFov = 90;
var minFov = 4;
if ( cameraFovTarget > maxFov ) {
cameraFovTarget = maxFov;
}
if ( cameraFovTarget < minFov ) {
cameraFovTarget = minFov;
}
}
// -----------------------------------------------------------------------------------------------------------
function nextImage() {
currentImageIndex = ( currentImageIndex + 1 ) % imageList.length;
setCharacterField( currentImageIndex );
var image = imageList[ currentImageIndex ];
setImage( image );
}
// -----------------------------------------------------------------------------------------------------------
function patchSpriteMaterial() {
var vertexShader = [
"uniform float time;",
"attribute vec3 color;",
"attribute vec3 offset;",
"attribute vec2 scale;",
"attribute vec2 localoffset;",
"varying vec2 vUv;",
"varying vec3 vColor;",
'void main() {',
"vUv = uv;",
"vColor = color;",
"float ax = mod( ( localoffset.x + offset.x * time * 0.15 ), 5.0 );",
"float ay = mod( ( localoffset.y - time * 12.0 ) / scale.x, 5.0 ) - 2.5;",
"vec3 animoffset = vec3( ax, ay, 0.0 );",
"vec4 tmpPosition = modelViewMatrix * vec4( offset + animoffset, 1.0 ) + vec4( position * vec3( scale, 1.0 ), 0.0 );",
"gl_Position = projectionMatrix * tmpPosition;",
"}"
].join( "\n" );
XG.SpriteShader.vertexShader = vertexShader;
XG.SpriteShader.uniforms[ "time" ] = { "type": "f", "value": 0.0 };
}
// -----------------------------------------------------------------------------------------------------------
function generateCharacterField ( font, numSprites, materialParameters, width, height, depth ) {
var textureAtlasInfo = {
"width" : font.width,
"height" : font.height,
"base" : font.base
};
patchSpriteMaterial();
var material = new XG.SpriteMaterial( {
"textureAtlas" : font.map,
"billboard" : true,
"antialias" : true,
"sdf" : true,
"fog" : false,
"fogDensity" : materialParameters.fogDensity,
"fogColor" : materialParameters.fogColor
} );
var geometry = new XG.SpriteGeometry( numSprites );
geometry.addAttribute( "localoffset", Float32Array, 2 );
var localoffset = geometry.attributes[ "localoffset" ].array;
var sprites = [];
for ( var i = 0; i < numSprites; i ++ ) {
var x = ( XG.Math.randomFloat16() - 0.5 ) * width;
var y = ( XG.Math.randomFloat16() - 0.5 ) * height;
var z = ( XG.Math.randomFloat16() - 0.5 ) * depth;
//
var spriteDepth = z / depth + 0.5;
spriteDepth *= spriteDepth;
//
var s = XG.Math.randomFloat( 0.05, 0.15 ) * 1.0;
var sx = s;
var sy = s;
//
//var glyphIndex = XG.Math.randomInt( 48, 49 ); // 0 ... 1
//var glyphIndex = XG.Math.randomInt( 97, 122 ); // A ... Z
//var glyphIndex = XG.Math.randomInt( 65, 90 ); // a ... z
var glyphIndex = XG.Math.randomInt( 48, 57 ); // 0 ... 9
var glyphInfo = font.chars[ glyphIndex ];
//
geometry.setSpritePosition( i, x, y, z );
geometry.setSpriteScale( i, sx, sy );
geometry.setSpriteTexture( i, glyphInfo, textureAtlasInfo );
geometry.setSpriteColor( i, 1, 0, 0 );
var dx = XG.Math.randomFloat( 0, 5 );
var dy = XG.Math.randomFloat( -5, 5 );
var px = Math.floor( x + width * 0.5 );
var py = height - 1 - Math.floor( y + height * 0.5 );
var pixelIndex = py * width + px;
sprites[ i ] = [ spriteDepth, x, y, z, dx, dy, sx, sy, glyphIndex, pixelIndex ];
var indexOffset = i * 8;
localoffset[ indexOffset ] = dx;
localoffset[ indexOffset + 1 ] = dy;
localoffset[ indexOffset + 2 ] = dx;
localoffset[ indexOffset + 3 ] = dy;
localoffset[ indexOffset + 4 ] = dx;
localoffset[ indexOffset + 5 ] = dy;
localoffset[ indexOffset + 6 ] = dx;
localoffset[ indexOffset + 7 ] = dy;
}
sprites.sort( compareDepths );
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var x = sprite[ 1 ];
var y = sprite[ 2 ];
var z = sprite[ 3 ];
geometry.setSpritePosition( i, x, y, z );
}
var mesh = new XG.Mesh( geometry, material );
var characterFieldInfo = {
"mesh" : mesh,
"geometry" : geometry,
"material" : material,
"sprites" : sprites,
"font" : font,
"textureAtlasInfo" : textureAtlasInfo
};
return characterFieldInfo;
}
// -----------------------------------------------------------------------------------------------------------
function compareDepths( a, b ) {
return a[ 0 ] - b[ 0 ];
}
// -----------------------------------------------------------------------------------------------------------
function fontCallback () {
fontCounter += 1;
if ( fontCounter >= fontsToLoad ) {
loadingElement.style.display = "none";
}
}
function loadFont ( font ) {
var map = XG.ImageUtils.loadTexture( font.img, fontCallback );
map.anisotropy = 16;
font.map = map;
}
// -----------------------------------------------------------------------------------------------------------
// updates
// -----------------------------------------------------------------------------------------------------------
function animate() {
requestAnimationFrame( animate );
render();
stats.update();
}
function render() {
var delta = clock.getDelta();
delta = Math.min( delta, 0.1 );
var time = clock.elapsedTime;
// update scene
if ( currentUniforms ) {
currentUniforms[ "time" ].value = time;
}
if ( isMobile && mobileInfoVisible ) {
if ( time > 2 ) mobileInfoOpacity = XG.Math.clamp( mobileInfoOpacity - delta, 0, 1 );
mobileInfoElement.style.opacity = mobileInfoOpacity;
if ( mobileInfoOpacity === 0 ) {
mobileInfoElement.style.display = "none";
mobileInfoVisible = false;
}
}
// update camera
targetX = mouseX * 0.04;
targetY = mouseY * 0.04;
angle += 0.05 * ( targetX - angle );
height += 0.05 * ( targetY - height );
var f = 0.005;
var d = imageInfo[ currentImageIndex ][ 0 ];
var x = -Math.sin( angle * f ) * d;
var z = Math.cos( angle * f ) * d;
var y = 1.5 * height + 0;
camera.position.set( x, y, z );
camera.lookAt( target );
var zoomSpeed = 2.0;
camera.fov = camera.fov + ( cameraFovTarget - camera.fov ) * delta * zoomSpeed;
camera.updateProjectionMatrix();
// render scene
renderer.render( scene, camera );
//
frameCounter += 1;
}
</script><div><canvas width="858" height="971" style="width: 858px; height: 971px; position: absolute; top: 0px; left: 0px;"></canvas><div id="stats" class="noselect" style="width: 80px; opacity: 0.9; cursor: pointer;"><div id="fps" style="padding: 0px 0px 3px 3px; text-align: left; background-color: rgb(0, 0, 34);"><div id="fpsText" style="color: rgb(0, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 9px; font-weight: bold; line-height: 15px;">61 FPS (43-61)</div><div id="fpsGraph" style="position: relative; width: 74px; height: 30px; background-color: rgb(0, 255, 255);"><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 17.1px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 12.6px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 11.7px; float: left; background-color: rgb(17, 17, 51);"></span></div></div><div id="ms" style="padding: 0px 0px 3px 3px; text-align: left; background-color: rgb(0, 34, 0); display: none;"><div id="msText" style="color: rgb(0, 255, 0); font-family: Helvetica, Arial, sans-serif; font-size: 9px; font-weight: bold; line-height: 15px;">17 MS (0-212)</div><div id="msGraph" style="position: relative; width: 74px; height: 30px; background-color: rgb(0, 255, 0);"><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span></div></div></div></div>
<script>document$.subscribe(() => {const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});})</script></body></html>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="导航栏" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="." title="SEMHAQ/NoteBook" class="md-nav__button md-logo" aria-label="SEMHAQ/NoteBook" data-md-component="logo">
<img src="images/logo.png" alt="logo">
</a>
SEMHAQ/NoteBook
</label>
<div class="md-nav__source">
<a href="https://github.com/SEMHAQ/NoteBook" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
SEMHAQ /NoteBook
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<a href="." class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
主页
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="">
<span class="md-ellipsis">
LeetCode
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
LeetCode
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" >
<label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0">
<span class="md-ellipsis">
每日一题
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_1">
<span class="md-nav__icon md-icon"></span>
每日一题
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_1" >
<label class="md-nav__link" for="__nav_2_1_1" id="__nav_2_1_1_label" tabindex="0">
<span class="md-ellipsis">
2023年3月
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_1_1">
<span class="md-nav__icon md-icon"></span>
2023年3月
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1605.%20%E7%BB%99%E5%AE%9A%E8%A1%8C%E5%92%8C%E5%88%97%E7%9A%84%E5%92%8C%E6%B1%82%E5%8F%AF%E8%A1%8C%E7%9F%A9%E9%98%B5/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月14号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1615.%20%E6%9C%80%E5%A4%A7%E7%BD%91%E7%BB%9C%E7%A7%A9/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月15号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2488.%20%E7%BB%9F%E8%AE%A1%E4%B8%AD%E4%BD%8D%E6%95%B0%E4%B8%BA%20K%20%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月16号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2389.%20%E5%92%8C%E6%9C%89%E9%99%90%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%90%E5%BA%8F%E5%88%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月17号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1616.%20%E5%88%86%E5%89%B2%E4%B8%A4%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%BE%97%E5%88%B0%E5%9B%9E%E6%96%87%E4%B8%B2/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月18号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1625.%20%E6%89%A7%E8%A1%8C%E6%93%8D%E4%BD%9C%E5%90%8E%E5%AD%97%E5%85%B8%E5%BA%8F%E6%9C%80%E5%B0%8F%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月19号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1012.%20%E8%87%B3%E5%B0%91%E6%9C%89%201%20%E4%BD%8D%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月20号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2469.%20%E6%B8%A9%E5%BA%A6%E8%BD%AC%E6%8D%A2/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月21号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1626.%20%E6%97%A0%E7%9F%9B%E7%9B%BE%E7%9A%84%E6%9C%80%E4%BD%B3%E7%90%83%E9%98%9F/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月22号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1630.%20%E7%AD%89%E5%B7%AE%E5%AD%90%E6%95%B0%E7%BB%84/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月23号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1032.%20%E5%AD%97%E7%AC%A6%E6%B5%81/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月24号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1574.%20%E5%88%A0%E9%99%A4%E6%9C%80%E7%9F%AD%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84%E4%BD%BF%E5%89%A9%E4%BD%99%E6%95%B0%E7%BB%84%E6%9C%89%E5%BA%8F/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月25号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2395.%20%E5%92%8C%E7%9B%B8%E7%AD%89%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月26号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1638.%20%E7%BB%9F%E8%AE%A1%E5%8F%AA%E5%B7%AE%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E7%9A%84%E5%AD%90%E4%B8%B2%E6%95%B0%E7%9B%AE/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月27号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1092.%20%E6%9C%80%E7%9F%AD%E5%85%AC%E5%85%B1%E8%B6%85%E5%BA%8F%E5%88%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月28号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1641.%20%E7%BB%9F%E8%AE%A1%E5%AD%97%E5%85%B8%E5%BA%8F%E5%85%83%E9%9F%B3%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E6%95%B0%E7%9B%AE/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月29号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1637.%20%E4%B8%A4%E7%82%B9%E4%B9%8B%E9%97%B4%E4%B8%8D%E5%8C%85%E5%90%AB%E4%BB%BB%E4%BD%95%E7%82%B9%E7%9A%84%E6%9C%80%E5%AE%BD%E5%9E%82%E7%9B%B4%E5%8C%BA%E5%9F%9F/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月30号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2367.%20%E7%AE%97%E6%9C%AF%E4%B8%89%E5%85%83%E7%BB%84%E7%9A%84%E6%95%B0%E7%9B%AE/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月31号
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
<label class="md-nav__link" for="__nav_2_1_2" id="__nav_2_1_2_label" tabindex="0">
<span class="md-ellipsis">
2023年4月
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_1_2">
<span class="md-nav__icon md-icon"></span>
2023年4月
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B44%E6%9C%88/831.%20%E9%9A%90%E8%97%8F%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF/" class="md-nav__link">
<span class="md-ellipsis">
2023年4月1号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B44%E6%9C%88/1039.%20%E5%A4%9A%E8%BE%B9%E5%BD%A2%E4%B8%89%E8%A7%92%E5%89%96%E5%88%86%E7%9A%84%E6%9C%80%E4%BD%8E%E5%BE%97%E5%88%86/" class="md-nav__link">
<span class="md-ellipsis">
2023年4月2号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B44%E6%9C%88/1053.%20%E4%BA%A4%E6%8D%A2%E4%B8%80%E6%AC%A1%E7%9A%84%E5%85%88%E5%89%8D%E6%8E%92%E5%88%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年4月3号
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
<label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
<span class="md-ellipsis">
学习计划
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2">
<span class="md-nav__icon md-icon"></span>
学习计划
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_1" >
<label class="md-nav__link" for="__nav_2_2_1" id="__nav_2_2_1_label" tabindex="0">
<span class="md-ellipsis">
算法入门
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_2_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2_1">
<span class="md-nav__icon md-icon"></span>
算法入门
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%85%A5%E9%97%A8/%E7%AC%AC%E4%B8%80%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第一天
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_2" >
<label class="md-nav__link" for="__nav_2_2_2" id="__nav_2_2_2_label" tabindex="0">
<span class="md-ellipsis">
算法基础
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_2_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2_2">
<span class="md-nav__icon md-icon"></span>
算法基础
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B8%80%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第一天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%BA%8C%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第二天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B8%89%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第三天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%9B%9B%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第四天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%BA%94%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第五天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%85%AD%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第六天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B8%83%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第七天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%85%AB%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第八天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B9%9D%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第九天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B8%80%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十一天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%BA%8C%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十二天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B8%89%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十三天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%9B%9B%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十四天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%BA%94%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十五天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%85%AD%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十六天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B8%83%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十七天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%85%AB%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十八天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B9%9D%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十九天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%BA%8C%E5%8D%81%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第二十天
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<span class="md-ellipsis">
机器学习
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
机器学习
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1" >
<label class="md-nav__link" for="__nav_3_1" id="__nav_3_1_label" tabindex="0">
<span class="md-ellipsis">
Python机器学习简单应用
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_1">
<span class="md-nav__icon md-icon"></span>
Python机器学习简单应用
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/introduction/" class="md-nav__link">
<span class="md-ellipsis">
介绍
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/dataset/" class="md-nav__link">
<span class="md-ellipsis">
数据集说明
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/predict/" class="md-nav__link">
<span class="md-ellipsis">
预测算法
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/sorting/" class="md-nav__link">
<span class="md-ellipsis">
分类算法
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
<span class="md-ellipsis">
MarkDown语法
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
MarkDown语法
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E6%A0%87%E9%A2%98/" class="md-nav__link">
<span class="md-ellipsis">
Markdown标题
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E6%AE%B5%E8%90%BD%E6%A0%BC%E5%BC%8F/" class="md-nav__link">
<span class="md-ellipsis">
Markdown段落格式
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E5%88%97%E8%A1%A8/" class="md-nav__link">
<span class="md-ellipsis">
Markdown列表
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E5%8C%BA%E5%9D%97/" class="md-nav__link">
<span class="md-ellipsis">
Markdown区块
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E4%BB%A3%E7%A0%81/" class="md-nav__link">
<span class="md-ellipsis">
Markdown代码
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E9%93%BE%E6%8E%A5/" class="md-nav__link">
<span class="md-ellipsis">
Markdown链接
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E5%9B%BE%E7%89%87/" class="md-nav__link">
<span class="md-ellipsis">
Markdown图片
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E8%A1%A8%E6%A0%BC/" class="md-nav__link">
<span class="md-ellipsis">
Markdown表格
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E9%AB%98%E7%BA%A7%E6%8A%80%E5%B7%A7/" class="md-nav__link">
<span class="md-ellipsis">
Markdown高级技巧
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<span class="md-ellipsis">
Git详解
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Git详解
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="Git%E8%AF%A6%E8%A7%A3/%E4%B8%8A%E4%BC%A0%E5%88%B0%E4%BB%93%E5%BA%93/" class="md-nav__link">
<span class="md-ellipsis">
上传到仓库
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
<span class="md-ellipsis">
数据库相关
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
数据库相关
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
<span class="md-ellipsis">
SQL教程
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
SQL教程
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%E7%AE%80%E4%BB%8B/" class="md-nav__link">
<span class="md-ellipsis">
SQL 简介
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%E8%AF%AD%E6%B3%95/" class="md-nav__link">
<span class="md-ellipsis">
SQL 语法
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20SELECT/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20SELECT%20DISTINCT/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT DISTINCT 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20WHERE/" class="md-nav__link">
<span class="md-ellipsis">
SQL WHERE 子句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20AND%20%26%20OR/" class="md-nav__link">
<span class="md-ellipsis">
SQL AND & OR 运算符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20ORDER%20BY/" class="md-nav__link">
<span class="md-ellipsis">
SQL ORDER BY 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20INSERT%20INTO/" class="md-nav__link">
<span class="md-ellipsis">
SQL INSERT INTO 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20UPDATE/" class="md-nav__link">
<span class="md-ellipsis">
SQL UPDATE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20DELETE/" class="md-nav__link">
<span class="md-ellipsis">
SQL DELETE 语句
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
<span class="md-ellipsis">
SQL高级教程
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
SQL高级教程
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20SELECT%20TOP/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT TOP, LIMIT, ROWNUM 子句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20LIKE/" class="md-nav__link">
<span class="md-ellipsis">
SQL LIKE 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E9%80%9A%E9%85%8D%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL 通配符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20IN%20%E6%93%8D%E4%BD%9C%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL IN 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20BETWEEN%20%E6%93%8D%E4%BD%9C%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL BETWEEN 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E5%88%AB%E5%90%8D/" class="md-nav__link">
<span class="md-ellipsis">
SQL 别名
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E8%BF%9E%E6%8E%A5%28JOIN%29/" class="md-nav__link">
<span class="md-ellipsis">
SQL 连接(JOIN)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20INNER%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL INNER JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20LEFT%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL LEFT JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20RIGHT%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL RIGHT JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20FULL%20OUTER%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL FULL OUTER JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20UNION%20%E6%93%8D%E4%BD%9C%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL UNION 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20SELECT%20INTO%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT INTO 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20INSERT%20INTO%20SELECT%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL INSERT INTO SELECT 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CREATE%20DATABASE%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL CREATE DATABASE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CREATE%20TABLE%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL CREATE TABLE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E7%BA%A6%E6%9D%9F/" class="md-nav__link">
<span class="md-ellipsis">
SQL 约束(Constraints)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20NOT%20NULL/" class="md-nav__link">
<span class="md-ellipsis">
SQL NOT NULL 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20UNIQUE/" class="md-nav__link">
<span class="md-ellipsis">
SQL UNIQUE 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20PRIMARY%20KEY/" class="md-nav__link">
<span class="md-ellipsis">
SQL PRIMARY KEY 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20FOREIGN%20KEY/" class="md-nav__link">
<span class="md-ellipsis">
SQL FOREIGN KEY 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CHECK/" class="md-nav__link">
<span class="md-ellipsis">
SQL CHECK 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20DEFAULT/" class="md-nav__link">
<span class="md-ellipsis">
SQL DEFAULT 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CREATE%20INDEX/" class="md-nav__link">
<span class="md-ellipsis">
SQL CREATE INDEX 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20DROP/" class="md-nav__link">
<span class="md-ellipsis">
SQL 撤销索引、撤销表以及撤销数据库
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20ALTER%20TABLE/" class="md-nav__link">
<span class="md-ellipsis">
SQL ALTER TABLE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20AUTO%20INCREMENT/" class="md-nav__link">
<span class="md-ellipsis">
SQL AUTO INCREMENT 字段
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E8%A7%86%E5%9B%BE/" class="md-nav__link">
<span class="md-ellipsis">
SQL 视图(Views)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E6%97%A5%E6%9C%9F/" class="md-nav__link">
<span class="md-ellipsis">
SQL Date 函数
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20NULL%20%E5%80%BC/" class="md-nav__link">
<span class="md-ellipsis">
SQL NULL 值
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20NULL%20%E5%87%BD%E6%95%B0/" class="md-nav__link">
<span class="md-ellipsis">
SQL NULL 函数
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E9%80%9A%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/" class="md-nav__link">
<span class="md-ellipsis">
SQL 通用数据类型
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20DB%20%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/" class="md-nav__link">
<span class="md-ellipsis">
SQL 用于各种数据库的数据类型
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3" >
<label class="md-nav__link" for="__nav_6_3" id="__nav_6_3_label" tabindex="0">
<span class="md-ellipsis">
SQL函数
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_3">
<span class="md-nav__icon md-icon"></span>
SQL函数
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E5%87%BD%E6%95%B0/" class="md-nav__link">
<span class="md-ellipsis">
SQL 函数
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%E5%BF%AB%E9%80%9F%E5%8F%82%E8%80%83/" class="md-nav__link">
<span class="md-ellipsis">
SQL 快速参考
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E5%87%BD%E6%95%B0%E5%A4%A7%E5%85%A8/" class="md-nav__link">
<span class="md-ellipsis">
SQL 函数大全
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E4%B8%BB%E6%9C%BA/" class="md-nav__link">
<span class="md-ellipsis">
SQL 主机
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E6%80%BB%E7%BB%93/" class="md-nav__link">
<span class="md-ellipsis">
SQL 总结
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="">
<span class="md-ellipsis">
探店系列
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
探店系列
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%A5%BD%E5%91%B3%E9%81%93%205%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
好味道 5❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%85%B0%E5%B7%9E%E6%8B%89%E9%9D%A2%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
兰州拉面 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%96%B0%E5%B9%B2%E7%BA%BF%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
新干线 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%99%95%E8%A5%BF%E9%9D%A2%E9%A6%86%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
陕西面馆 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%97%BA%E8%A7%92%E8%8C%B6%E9%A4%90%E5%8E%85%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
旺角茶餐厅 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%B7%B1%E8%A1%97%E5%B0%8F%E5%B7%B7%E8%9E%BA%E8%9B%B3%E7%B2%89%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
深街小巷螺蛳粉 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E8%80%81%E5%8F%8B%E8%AE%B0%E6%B8%AF%E5%BC%8F%E8%8C%B6%E9%A4%90%E5%8E%85%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
老友记港式茶餐厅 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E4%BA%91%E5%8D%97%E7%93%A6%E9%A6%99%E9%B8%A1%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
云南瓦香鸡 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/168%E8%8C%B6%E9%A4%90%E5%8E%85%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
168茶餐厅 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%B2%A4%E8%8F%9C%E7%9A%87%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
粤菜皇 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%94%85%E5%B7%B4%E9%A6%99%E7%85%B2%E4%BB%94%E9%A5%AD%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
锅巴香煲仔饭 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%98%8E%E6%96%B0%E7%BE%8E%E9%A3%9F%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
明新美食 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%83%A4%E9%B1%BC%E4%B8%96%E5%AE%B6%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
烤鱼世家 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%96%B0%E7%96%86%E7%82%92%E7%B1%B3%E7%B2%89%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
新疆炒米粉 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%8D%97%E6%98%8C%E6%8B%8C%E7%B2%89%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
南昌拌粉 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%96%B0%E8%8A%B3%E5%B7%B7%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
新芳巷 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E8%A5%BF%E9%9B%85%E7%83%98%E7%84%99%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
西雅烘焙 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%8A%AF%E8%A7%84%E5%B0%8F%E5%8E%A8%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
犯规小厨 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%B2%9C%E6%9E%9C%E6%97%B6%E5%85%89%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
鲜果时光 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%A0%95%E8%90%BD%E7%9A%84%E5%95%B5%E5%95%B5%E9%B1%BC%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
堕落的啵啵鱼 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%98%BF%E5%96%9C%E7%8C%AA%E6%89%92%E5%8C%85%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
阿喜猪扒包 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%93%81%E9%A6%99%E8%8C%B6%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
品香茶 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%87%8D%E5%BA%86%E9%B8%A1%E5%85%AC%E7%85%B2%202%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
重庆鸡公煲 2❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%86%8A%E5%AE%B6%E6%97%A0%E4%BA%8C%E9%9F%A9%E5%BC%8F%E7%82%B8%E9%B8%A1%202%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
熊家无二韩式炸鸡 2❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E4%B8%89%E6%B1%81%E7%84%96%E9%94%85%202%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
三汁焖锅 2❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%A3%9F%E5%85%89%E6%B2%99%E6%8B%89/" class="md-nav__link">
<span class="md-ellipsis">
食光沙拉
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/Yuki%E8%BD%BB%E9%A3%9F/" class="md-nav__link">
<span class="md-ellipsis">
Yuki轻食
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%BC%A0%E7%A7%80%E6%A2%85%E7%83%A4%E8%82%89%E6%8B%8C%E9%A5%AD/" class="md-nav__link">
<span class="md-ellipsis">
张秀梅烤肉拌饭
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%8C%97%E6%B5%B7%E9%81%93/" class="md-nav__link">
<span class="md-ellipsis">
北海道
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<div class="md-nav__link md-nav__container">
<a href="blog/" class="md-nav__link ">
<span class="md-ellipsis">
Blog
</span>
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Blog
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_2" >
<label class="md-nav__link" for="__nav_8_2" id="__nav_8_2_label" tabindex="0">
<span class="md-ellipsis">
归档
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_2">
<span class="md-nav__icon md-icon"></span>
归档
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="blog/archive/2023/" class="md-nav__link">
<span class="md-ellipsis">
2023
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_3" >
<label class="md-nav__link" for="__nav_8_3" id="__nav_8_3_label" tabindex="0">
<span class="md-ellipsis">
分类
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_3">
<span class="md-nav__icon md-icon"></span>
分类
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="blog/category/general/" class="md-nav__link">
<span class="md-ellipsis">
General
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="">
<span class="md-ellipsis">
关于
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
关于
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="about/" class="md-nav__link">
<span class="md-ellipsis">
关于
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
</article>
</div>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
回到页面顶部
</button>
</main>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.tabs", "navigation.tabs.sticky", "toc.integrate", "navigation.top", "navigation.indexes", "header.autohide"], "search": "assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}}</script>
<script src="assets/javascripts/bundle.cd18aaf1.min.js"></script>
<script src="assets/javascripts/custom.fe17d8dd.min.js"></script>
</body>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/SEMHAQ/NoteBook.git
[email protected]:SEMHAQ/NoteBook.git
SEMHAQ
NoteBook
NoteBook
gh-pages

搜索帮助