lunar.js 443 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406
  1. ;(function(root,factory){
  2. if (typeof define==='function'&&define.amd){
  3. define(factory);
  4. }else if(typeof module!='undefined'&&module.exports){
  5. module.exports = factory();
  6. }else{
  7. var o = factory();
  8. for(var i in o){
  9. root[i] = o[i];
  10. }
  11. }
  12. })(this,function(){
  13. var Solar = (function(){
  14. var _fromDate = function(date){
  15. return _fromYmdHms(date.getFullYear(),date.getMonth()+1,date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds());
  16. };
  17. var _fromJulianDay = function(julianDay){
  18. var d = Math.floor(julianDay + 0.5);
  19. var f = julianDay + 0.5 - d;
  20. var c;
  21. if (d >= 2299161) {
  22. c = Math.floor((d - 1867216.25) / 36524.25);
  23. d += 1 + c - Math.floor(c / 4);
  24. }
  25. d += 1524;
  26. var year = Math.floor((d - 122.1) / 365.25);
  27. d -= Math.floor(365.25 * year);
  28. var month = Math.floor(d / 30.601);
  29. d -= Math.floor(30.601 * month);
  30. var day = d;
  31. if (month > 13) {
  32. month -= 13;
  33. year -= 4715;
  34. } else {
  35. month -= 1;
  36. year -= 4716;
  37. }
  38. f *= 24;
  39. var hour = Math.floor(f);
  40. f -= hour;
  41. f *= 60;
  42. var minute = Math.floor(f);
  43. f -= minute;
  44. f *= 60;
  45. var second = Math.round(f);
  46. if(second>59){
  47. second-=60;
  48. minute++;
  49. }
  50. if(minute>59){
  51. minute-=60;
  52. hour++;
  53. }
  54. return _fromYmdHms(year,month,day,hour,minute,second);
  55. };
  56. var _fromYmdHms = function(y,m,d,hour,minute,second){
  57. var oy = y;
  58. var om = m;
  59. var od = d;
  60. var oh = hour;
  61. var oi = minute;
  62. var os = second;
  63. y *= 1;
  64. if(isNaN(y)){
  65. throw new Error('wrong solar year '+oy);
  66. }
  67. m *= 1;
  68. if(isNaN(m)){
  69. throw new Error('wrong solar month '+om);
  70. }
  71. d *= 1;
  72. if(isNaN(d)){
  73. throw new Error('wrong solar day '+od);
  74. }
  75. hour *= 1;
  76. if(isNaN(hour)){
  77. throw new Error('wrong hour '+oh);
  78. }
  79. minute *= 1;
  80. if(isNaN(minute)){
  81. throw new Error('wrong minute '+oi);
  82. }
  83. second *= 1;
  84. if(isNaN(second)){
  85. throw new Error('wrong second '+os);
  86. }
  87. if(1582===y && 10===m){
  88. if(d>4&&d<15){
  89. throw new Error('wrong solar year '+y+' month '+m+' day '+d);
  90. }
  91. }
  92. if(m<1||m>12){
  93. throw new Error('wrong month ' + m);
  94. }
  95. if(d<1||d>31){
  96. throw new Error('wrong day ' + d);
  97. }
  98. if(hour<0||hour>23){
  99. throw new Error('wrong hour '+hour);
  100. }
  101. if(minute<0||minute>59){
  102. throw new Error('wrong minute '+minute);
  103. }
  104. if(second<0||second>59){
  105. throw new Error('wrong second '+second);
  106. }
  107. return {
  108. _p:{
  109. year:y,
  110. month:m,
  111. day:d,
  112. hour:hour,
  113. minute:minute,
  114. second:second
  115. },
  116. subtract:function(solar){
  117. return SolarUtil.getDaysBetween(solar.getYear(), solar.getMonth(), solar.getDay(), this._p.year, this._p.month, this._p.day);
  118. },
  119. subtractMinute:function(solar){
  120. var days = this.subtract(solar);
  121. var cm = this._p.hour * 60 + this._p.minute;
  122. var sm = solar.getHour() * 60 + solar.getMinute();
  123. var m = cm - sm;
  124. if (m < 0) {
  125. m += 1440;
  126. days--;
  127. }
  128. m += days * 1440;
  129. return m;
  130. },
  131. isAfter: function(solar) {
  132. if (this._p.year > solar.getYear()) {
  133. return true;
  134. }
  135. if (this._p.year < solar.getYear()) {
  136. return false;
  137. }
  138. if (this._p.month > solar.getMonth()) {
  139. return true;
  140. }
  141. if (this._p.month < solar.getMonth()) {
  142. return false;
  143. }
  144. if (this._p.day > solar.getDay()) {
  145. return true;
  146. }
  147. if (this._p.day < solar.getDay()) {
  148. return false;
  149. }
  150. if (this._p.hour > solar.getHour()) {
  151. return true;
  152. }
  153. if (this._p.hour < solar.getHour()) {
  154. return false;
  155. }
  156. if (this._p.minute > solar.getMinute()) {
  157. return true;
  158. }
  159. if (this._p.minute < solar.getMinute()) {
  160. return false;
  161. }
  162. return this._p.second > solar.getSecond();
  163. },
  164. isBefore: function(solar) {
  165. if (this._p.year > solar.getYear()) {
  166. return false;
  167. }
  168. if (this._p.year < solar.getYear()) {
  169. return true;
  170. }
  171. if (this._p.month > solar.getMonth()) {
  172. return false;
  173. }
  174. if (this._p.month < solar.getMonth()) {
  175. return true;
  176. }
  177. if (this._p.day > solar.getDay()) {
  178. return false;
  179. }
  180. if (this._p.day < solar.getDay()) {
  181. return true;
  182. }
  183. if (this._p.hour > solar.getHour()) {
  184. return false;
  185. }
  186. if (this._p.hour < solar.getHour()) {
  187. return true;
  188. }
  189. if (this._p.minute > solar.getMinute()) {
  190. return false;
  191. }
  192. if (this._p.minute < solar.getMinute()) {
  193. return true;
  194. }
  195. return this._p.second < solar.getSecond();
  196. },
  197. getYear:function(){
  198. return this._p.year;
  199. },
  200. getMonth:function(){
  201. return this._p.month;
  202. },
  203. getDay:function(){
  204. return this._p.day;
  205. },
  206. getHour:function(){
  207. return this._p.hour;
  208. },
  209. getMinute:function(){
  210. return this._p.minute;
  211. },
  212. getSecond:function(){
  213. return this._p.second;
  214. },
  215. getWeek:function(){
  216. var start = _fromYmdHms(1582, 10, 15, 0, 0, 0);
  217. var y = this._p.year;
  218. var m = this._p.month;
  219. var d = this._p.day;
  220. var current = _fromYmdHms(y, m, d, 0, 0, 0);
  221. // 蔡勒公式
  222. if (m < 3) {
  223. m += 12;
  224. y--;
  225. }
  226. var c = Math.floor(y/100);
  227. y = y - c * 100;
  228. var x = y + Math.floor(y/4) + Math.floor(c/4) - 2*c;
  229. var w;
  230. if (current.isBefore(start)) {
  231. w = (x + Math.floor((13*(m+1))/5) + d + 2) % 7;
  232. } else {
  233. w = (x + Math.floor((26*(m+1))/10) + d - 1) % 7;
  234. }
  235. return (w + 7) % 7;
  236. },
  237. getWeekInChinese:function(){
  238. return SolarUtil.WEEK[this.getWeek()];
  239. },
  240. /**
  241. * 获取当天的阳历周
  242. * @param start 星期几作为一周的开始,1234560分别代表星期一至星期天
  243. */
  244. getSolarWeek:function(start){
  245. return SolarWeek.fromYmd(this._p.year, this._p.month, this._p.day, start);
  246. },
  247. isLeapYear:function(){
  248. return SolarUtil.isLeapYear(this._p.year);
  249. },
  250. getFestivals:function(){
  251. var l = [];
  252. var f = SolarUtil.FESTIVAL[this._p.month+'-'+this._p.day];
  253. if(f){
  254. l.push(f);
  255. }
  256. var weeks = Math.ceil(this._p.day/7);
  257. var week = this.getWeek();
  258. f = SolarUtil.WEEK_FESTIVAL[this._p.month+'-'+weeks+'-'+week];
  259. if(f){
  260. l.push(f);
  261. }
  262. if (this._p.day + 7 > SolarUtil.getDaysOfMonth(this._p.year, this._p.month)) {
  263. f = SolarUtil.WEEK_FESTIVAL[this._p.month + '-0-' + week];
  264. if (f) {
  265. l.push(f);
  266. }
  267. }
  268. return l;
  269. },
  270. getOtherFestivals:function(){
  271. var l=[];
  272. var fs=SolarUtil.OTHER_FESTIVAL[this._p.month+'-'+this._p.day];
  273. if(fs){
  274. l=l.concat(fs);
  275. }
  276. return l;
  277. },
  278. getXingzuo:function(){
  279. return this.getXingZuo();
  280. },
  281. getXingZuo:function(){
  282. var index = 11;
  283. var y = this._p.month*100+this._p.day;
  284. if (y >= 321 && y <= 419) {
  285. index = 0;
  286. } else if (y >= 420 && y <= 520) {
  287. index = 1;
  288. } else if (y >= 521 && y <= 621) {
  289. index = 2;
  290. } else if (y >= 622 && y <= 722) {
  291. index = 3;
  292. } else if (y >= 723 && y <= 822) {
  293. index = 4;
  294. } else if (y >= 823 && y <= 922) {
  295. index = 5;
  296. } else if (y >= 923 && y <= 1023) {
  297. index = 6;
  298. } else if (y >= 1024 && y <= 1122) {
  299. index = 7;
  300. } else if (y >= 1123 && y <= 1221) {
  301. index = 8;
  302. } else if (y >= 1222 || y <= 119) {
  303. index = 9;
  304. } else if (y <= 218) {
  305. index = 10;
  306. }
  307. return SolarUtil.XINGZUO[index];
  308. },
  309. toYmd:function(){
  310. var m = this._p.month;
  311. var d = this._p.day;
  312. var y = this._p.year + '';
  313. while (y.length < 4) {
  314. y = '0' + y;
  315. }
  316. return [y,(m<10?'0':'')+m,(d<10?'0':'')+d].join('-');
  317. },
  318. toYmdHms:function(){
  319. return this.toYmd()+' '+[(this._p.hour<10?'0':'')+this._p.hour,(this._p.minute<10?'0':'')+this._p.minute,(this._p.second<10?'0':'')+this._p.second].join(':');
  320. },
  321. toString:function(){
  322. return this.toYmd();
  323. },
  324. toFullString:function(){
  325. var s = this.toYmdHms();
  326. if(this.isLeapYear()){
  327. s += ' 闰年';
  328. }
  329. s += ' 星期'+this.getWeekInChinese();
  330. var festivals = this.getFestivals();
  331. for(var i=0,j=festivals.length;i<j;i++){
  332. s += ' ('+festivals[i]+')';
  333. }
  334. s += ' '+this.getXingZuo()+'座';
  335. return s;
  336. },
  337. nextYear:function(years){
  338. var oy = years;
  339. years *= 1;
  340. if (isNaN(years)) {
  341. throw new Error('wrong years ' + oy);
  342. }
  343. var y = this._p.year + years;
  344. var m = this._p.month;
  345. var d = this._p.day;
  346. // 2月处理
  347. if (2 === m) {
  348. if (d > 28) {
  349. if (!SolarUtil.isLeapYear(y)) {
  350. d = 28;
  351. }
  352. }
  353. }
  354. if (1582 === y && 10 === m) {
  355. if (d > 4 && d < 15) {
  356. d += 10;
  357. }
  358. }
  359. return _fromYmdHms(y, m, d, this._p.hour, this._p.minute, this._p.second);
  360. },
  361. nextMonth:function(months){
  362. var om = months;
  363. months *= 1;
  364. if (isNaN(months)) {
  365. throw new Error('wrong months ' + om);
  366. }
  367. var month = SolarMonth.fromYm(this._p.year, this._p.month).next(months);
  368. var y = month.getYear();
  369. var m = month.getMonth();
  370. var d = this._p.day;
  371. // 2月处理
  372. if (2 === m) {
  373. if (d > 28) {
  374. if (!SolarUtil.isLeapYear(y)) {
  375. d = 28;
  376. }
  377. }
  378. }
  379. if (1582 === y && 10 === m) {
  380. if (d > 4 && d < 15) {
  381. d += 10;
  382. }
  383. }
  384. return _fromYmdHms(y, m, d, this._p.hour, this._p.minute, this._p.second);
  385. },
  386. nextDay:function(days){
  387. var od = days;
  388. days *= 1;
  389. if (isNaN(days)) {
  390. throw new Error('wrong days ' + od);
  391. }
  392. var y = this._p.year;
  393. var m = this._p.month;
  394. var d = this._p.day;
  395. if (1582 === y && 10 === m) {
  396. if (d > 4) {
  397. d -= 10
  398. }
  399. }
  400. if (days > 0) {
  401. d += days;
  402. var daysInMonth = SolarUtil.getDaysOfMonth(y, m);
  403. while (d > daysInMonth) {
  404. d -= daysInMonth;
  405. m++;
  406. if (m > 12) {
  407. m = 1;
  408. y++;
  409. }
  410. daysInMonth = SolarUtil.getDaysOfMonth(y, m);
  411. }
  412. } else if (days < 0) {
  413. while (d + days <= 0) {
  414. m--;
  415. if (m < 1) {
  416. m = 12;
  417. y--;
  418. }
  419. d += SolarUtil.getDaysOfMonth(y, m);
  420. }
  421. d += days;
  422. }
  423. if (1582 === y && 10 === m) {
  424. if (d > 4) {
  425. d += 10;
  426. }
  427. }
  428. return _fromYmdHms(y, m, d, this._p.hour, this._p.minute, this._p.second);
  429. },
  430. nextWorkday:function(days){
  431. var od = days;
  432. days *= 1;
  433. if (isNaN(days)) {
  434. throw new Error('wrong days ' + od);
  435. }
  436. var solar = _fromYmdHms(this._p.year, this._p.month, this._p.day, this._p.hour, this._p.minute, this._p.second);
  437. if (days !== 0) {
  438. var rest = Math.abs(days);
  439. var add = days < 1 ? -1 : 1;
  440. while (rest > 0) {
  441. solar = solar.next(add);
  442. var work = true;
  443. var holiday = HolidayUtil.getHoliday(solar.getYear(), solar.getMonth(), solar.getDay());
  444. if (!holiday) {
  445. var week = solar.getWeek();
  446. if (0 === week || 6 === week) {
  447. work = false;
  448. }
  449. } else {
  450. work = holiday.isWork();
  451. }
  452. if (work) {
  453. rest -= 1;
  454. }
  455. }
  456. }
  457. return solar;
  458. },
  459. next:function(days, onlyWorkday){
  460. if (onlyWorkday) {
  461. return this.nextWorkday(days);
  462. }
  463. return this.nextDay(days);
  464. },
  465. nextHour:function(hours){
  466. var oh = hours;
  467. hours *= 1;
  468. if (isNaN(hours)) {
  469. throw new Error('wrong hours ' + oh);
  470. }
  471. var h = this._p.hour + hours;
  472. var n = h < 0 ? -1 : 1;
  473. var hour = Math.abs(h);
  474. var days = Math.floor(hour / 24) * n;
  475. hour = (hour % 24) * n;
  476. if (hour < 0) {
  477. hour += 24;
  478. days--;
  479. }
  480. var solar = this.next(days);
  481. return _fromYmdHms(solar.getYear(), solar.getMonth(), solar.getDay(), hour, solar.getMinute(), solar.getSecond());
  482. },
  483. getLunar:function(){
  484. return Lunar.fromSolar(this);
  485. },
  486. getJulianDay:function(){
  487. var y = this._p.year;
  488. var m = this._p.month;
  489. var d = this._p.day + ((this._p.second / 60 + this._p.minute) / 60 + this._p.hour) / 24;
  490. var n = 0;
  491. var g = false;
  492. if (y * 372 + m * 31 + Math.floor(d) >= 588829) {
  493. g = true;
  494. }
  495. if (m <= 2) {
  496. m += 12;
  497. y--;
  498. }
  499. if (g) {
  500. n = Math.floor(y / 100);
  501. n = 2 - n + Math.floor(n / 4);
  502. }
  503. return Math.floor(365.25 * (y + 4716)) + Math.floor(30.6001 * (m + 1)) + d + n - 1524.5;
  504. }
  505. };
  506. };
  507. var _fromBaZi=function(yearGanZhi,monthGanZhi,dayGanZhi,timeGanZhi,sect,baseYear){
  508. sect *= 1;
  509. if(isNaN(sect)){
  510. sect = 2;
  511. }
  512. if (1 !== sect) {
  513. sect = 2;
  514. }
  515. baseYear *= 1;
  516. if(isNaN(baseYear)){
  517. baseYear = 1900;
  518. }
  519. var l = [];
  520. var years = [];
  521. var today = _fromDate(new Date());
  522. var offsetYear = LunarUtil.getJiaZiIndex(today.getLunar().getYearInGanZhiExact())-LunarUtil.getJiaZiIndex(yearGanZhi);
  523. if(offsetYear<0){
  524. offsetYear += 60;
  525. }
  526. var startYear = today.getYear() - offsetYear - 1;
  527. var minYear = baseYear - 2;
  528. while (startYear >= minYear) {
  529. years.push(startYear);
  530. startYear -= 60;
  531. }
  532. var hours = [];
  533. var timeZhi = LunarUtil.find(timeGanZhi, LunarUtil.ZHI);
  534. hours.push((timeZhi.index - 1) * 2);
  535. if (1 === timeZhi.index) {
  536. hours.push(23);
  537. }
  538. var j = years.length;
  539. for (var m = 0, n = hours.length; m < n; m++) {
  540. for (var i = 0;i < j; i++) {
  541. var y = years[i];
  542. var maxYear = y + 3;
  543. var year = y;
  544. var month = 11;
  545. if (year < baseYear) {
  546. year = baseYear;
  547. month = 1;
  548. }
  549. var solar = _fromYmdHms(year, month, 1, hours[m], 0, 0);
  550. while (solar.getYear() <= maxYear) {
  551. var lunar = solar.getLunar();
  552. var dgz = (2 === sect) ? lunar.getDayInGanZhiExact2() : lunar.getDayInGanZhiExact();
  553. if (lunar.getYearInGanZhiExact() === yearGanZhi && lunar.getMonthInGanZhiExact() === monthGanZhi && dgz === dayGanZhi && lunar.getTimeInGanZhi() === timeGanZhi) {
  554. l.push(solar);
  555. break;
  556. }
  557. solar = solar.next(1);
  558. }
  559. }
  560. }
  561. return l;
  562. };
  563. return {
  564. J2000:2451545,
  565. fromYmd:function(y,m,d){return _fromYmdHms(y,m,d,0,0,0);},
  566. fromYmdHms:function(y,m,d,hour,minute,second){return _fromYmdHms(y,m,d,hour,minute,second);},
  567. fromDate:function(date){return _fromDate(date);},
  568. fromJulianDay:function(julianDay){return _fromJulianDay(julianDay);},
  569. fromBaZi:function(yearGanZhi,monthGanZhi,dayGanZhi,timeGanZhi,sect,baseYear){return _fromBaZi(yearGanZhi,monthGanZhi,dayGanZhi,timeGanZhi,sect,baseYear);}
  570. };
  571. })();
  572. var Lunar = (function(){
  573. var _computeJieQi = function(o,ly) {
  574. o['jieQiList'] = [];
  575. o['jieQi'] = {};
  576. var julianDays = ly.getJieQiJulianDays();
  577. for (var i = 0, j = LunarUtil.JIE_QI_IN_USE.length; i < j; i++) {
  578. var key = LunarUtil.JIE_QI_IN_USE[i];
  579. o['jieQiList'].push(key);
  580. o['jieQi'][key] = Solar.fromJulianDay(julianDays[i]);
  581. }
  582. };
  583. var _computeYear = function(o,solar,year){
  584. //以正月初一开始
  585. var offset = year - 4;
  586. var yearGanIndex = offset % 10;
  587. var yearZhiIndex = offset % 12;
  588. if (yearGanIndex < 0) {
  589. yearGanIndex += 10;
  590. }
  591. if (yearZhiIndex < 0) {
  592. yearZhiIndex += 12;
  593. }
  594. //以立春作为新一年的开始的干支纪年
  595. var g = yearGanIndex;
  596. var z = yearZhiIndex;
  597. //精确的干支纪年,以立春交接时刻为准
  598. var gExact = yearGanIndex;
  599. var zExact = yearZhiIndex;
  600. var solarYear = solar.getYear();
  601. var solarYmd = solar.toYmd();
  602. var solarYmdHms = solar.toYmdHms();
  603. //获取立春的阳历时刻
  604. var liChun = o['jieQi'][I18n.getMessage('jq.liChun')];
  605. if (liChun.getYear() !== solarYear) {
  606. liChun = o['jieQi']['LI_CHUN'];
  607. }
  608. var liChunYmd = liChun.toYmd();
  609. var liChunYmdHms = liChun.toYmdHms();
  610. //阳历和阴历年份相同代表正月初一及以后
  611. if(year===solarYear){
  612. //立春日期判断
  613. if(solarYmd<liChunYmd) {
  614. g--;
  615. z--;
  616. }
  617. //立春交接时刻判断
  618. if(solarYmdHms<liChunYmdHms) {
  619. gExact--;
  620. zExact--;
  621. }
  622. }else if (year < solarYear){
  623. if(solarYmd>=liChunYmd) {
  624. g++;
  625. z++;
  626. }
  627. if(solarYmdHms>=liChunYmdHms) {
  628. gExact++;
  629. zExact++;
  630. }
  631. }
  632. o['yearGanIndex'] = yearGanIndex;
  633. o['yearZhiIndex'] = yearZhiIndex;
  634. o['yearGanIndexByLiChun'] = (g<0?g+10:g)%10;
  635. o['yearZhiIndexByLiChun'] = (z<0?z+12:z)%12;
  636. o['yearGanIndexExact'] = (gExact<0?gExact+10:gExact)%10;
  637. o['yearZhiIndexExact'] = (zExact<0?zExact+12:zExact)%12;
  638. };
  639. var _computeMonth = function(o,solar){
  640. var start = null;
  641. var i;
  642. var end;
  643. var size = LunarUtil.JIE_QI_IN_USE.length;
  644. //序号:大雪以前-3,大雪到小寒之间-2,小寒到立春之间-1,立春之后0
  645. var index = -3;
  646. for(i=0;i<size;i+=2){
  647. end = o.jieQi[LunarUtil.JIE_QI_IN_USE[i]];
  648. var ymd = solar.toYmd();
  649. var symd = null==start?ymd:start.toYmd();
  650. if(ymd>=symd&&ymd<end.toYmd()){
  651. break;
  652. }
  653. start = end;
  654. index++;
  655. }
  656. var offset = (((o.yearGanIndexByLiChun+(index<0?1:0)) % 5 + 1) * 2) % 10;
  657. o['monthGanIndex'] = ((index<0?index+10:index) + offset) % 10;
  658. o['monthZhiIndex'] = ((index<0?index+12:index) + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12;
  659. start = null;
  660. index = -3;
  661. for(i=0;i<size;i+=2){
  662. end = o.jieQi[LunarUtil.JIE_QI_IN_USE[i]];
  663. var time = solar.toYmdHms();
  664. var stime = null==start?time:start.toYmdHms();
  665. if(time>=stime&&time<end.toYmdHms()){
  666. break;
  667. }
  668. start = end;
  669. index++;
  670. }
  671. offset = (((o.yearGanIndexExact+(index<0?1:0)) % 5 + 1) * 2) % 10;
  672. o['monthGanIndexExact'] = ((index<0?index+10:index) + offset) % 10;
  673. o['monthZhiIndexExact'] = ((index<0?index+12:index) + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12;
  674. };
  675. var _computeDay = function(o,solar,hour,minute){
  676. var noon = Solar.fromYmdHms(solar.getYear(), solar.getMonth(), solar.getDay(), 12, 0, 0);
  677. var offset = Math.floor(noon.getJulianDay()) - 11;
  678. var dayGanIndex = offset % 10;
  679. var dayZhiIndex = offset % 12;
  680. o['dayGanIndex'] = dayGanIndex;
  681. o['dayZhiIndex'] = dayZhiIndex;
  682. var dayGanExact = dayGanIndex;
  683. var dayZhiExact = dayZhiIndex;
  684. o['dayGanIndexExact2'] = dayGanExact;
  685. o['dayZhiIndexExact2'] = dayZhiExact;
  686. var hm = (hour<10?'0':'')+hour+':'+(minute<10?'0':'')+minute;
  687. if(hm>='23:00'&&hm<='23:59'){
  688. dayGanExact++;
  689. if(dayGanExact>=10){
  690. dayGanExact -= 10;
  691. }
  692. dayZhiExact++;
  693. if(dayZhiExact>=12){
  694. dayZhiExact -= 12;
  695. }
  696. }
  697. o['dayGanIndexExact'] = dayGanExact;
  698. o['dayZhiIndexExact'] = dayZhiExact;
  699. };
  700. var _computeTime = function(o,hour,minute){
  701. var timeZhiIndex = LunarUtil.getTimeZhiIndex((hour<10?'0':'')+hour+':'+(minute<10?'0':'')+minute);
  702. o['timeZhiIndex'] = timeZhiIndex;
  703. o['timeGanIndex'] = (o['dayGanIndexExact']%5*2+timeZhiIndex)%10;
  704. };
  705. var _computeWeek = function(o,solar){
  706. o['weekIndex'] = solar.getWeek();
  707. };
  708. var _compute = function(year,hour,minute,second,solar,ly){
  709. var o = {};
  710. _computeJieQi(o, ly);
  711. _computeYear(o, solar, year);
  712. _computeMonth(o, solar);
  713. _computeDay(o, solar, hour, minute);
  714. _computeTime(o, hour, minute);
  715. _computeWeek(o, solar);
  716. return o;
  717. };
  718. var _fromSolar = function(solar){
  719. var lunarYear = 0;
  720. var lunarMonth = 0;
  721. var lunarDay = 0;
  722. var ly = LunarYear.fromYear(solar.getYear());
  723. var lms = ly.getMonths();
  724. for (var i = 0, j = lms.length; i < j; i++) {
  725. var m = lms[i];
  726. var days = solar.subtract(Solar.fromJulianDay(m.getFirstJulianDay()));
  727. if (days < m.getDayCount()) {
  728. lunarYear = m.getYear();
  729. lunarMonth = m.getMonth();
  730. lunarDay = days + 1;
  731. break;
  732. }
  733. }
  734. return _new(lunarYear, lunarMonth, lunarDay, solar.getHour(), solar.getMinute(), solar.getSecond(), solar, ly);
  735. };
  736. var _fromDate = function(date){
  737. return _fromSolar(Solar.fromDate(date));
  738. };
  739. var _fromYmdHms = function(lunarYear,lunarMonth,lunarDay,hour,minute,second) {
  740. var oy = lunarYear;
  741. var om = lunarMonth;
  742. var od = lunarDay;
  743. var oh = hour;
  744. var oi = minute;
  745. var os = second;
  746. lunarYear *= 1;
  747. if(isNaN(lunarYear)){
  748. throw new Error('wrong lunar year '+oy);
  749. }
  750. lunarMonth *= 1;
  751. if(isNaN(lunarMonth)){
  752. throw new Error('wrong lunar month '+om);
  753. }
  754. lunarDay *= 1;
  755. if(isNaN(lunarDay)){
  756. throw new Error('wrong lunar day '+od);
  757. }
  758. hour *= 1;
  759. if(isNaN(hour)){
  760. throw new Error('wrong hour '+oh);
  761. }
  762. minute *= 1;
  763. if(isNaN(minute)){
  764. throw new Error('wrong minute '+oi);
  765. }
  766. second *= 1;
  767. if(isNaN(second)){
  768. throw new Error('wrong second '+os);
  769. }
  770. if(hour<0||hour>23){
  771. throw new Error('wrong hour '+hour);
  772. }
  773. if(minute<0||minute>59){
  774. throw new Error('wrong minute '+minute);
  775. }
  776. if(second<0||second>59){
  777. throw new Error('wrong second '+second);
  778. }
  779. var y = LunarYear.fromYear(lunarYear);
  780. var m = y.getMonth(lunarMonth);
  781. if (null == m) {
  782. throw new Error('wrong lunar year '+lunarYear+' month '+lunarMonth);
  783. }
  784. if (lunarDay < 1) {
  785. throw new Error('lunar day must bigger than 0');
  786. }
  787. var days = m.getDayCount();
  788. if (lunarDay > days) {
  789. throw new Error('only '+days+' days in lunar year '+lunarYear+' month '+lunarMonth);
  790. }
  791. var noon = Solar.fromJulianDay(m.getFirstJulianDay() + lunarDay - 1);
  792. var solar = Solar.fromYmdHms(noon.getYear(), noon.getMonth(), noon.getDay(), hour, minute, second);
  793. if (noon.getYear() !== lunarYear) {
  794. y = LunarYear.fromYear(noon.getYear());
  795. }
  796. return _new(lunarYear, lunarMonth, lunarDay, hour, minute, second, solar, y);
  797. };
  798. var _new = function(year,month,day,hour,minute,second,solar,ly){
  799. var gz = _compute(year,hour,minute,second,solar,ly);
  800. return {
  801. _p:{
  802. lang: I18n.getLanguage(),
  803. year:year,
  804. month:month,
  805. day:day,
  806. hour:hour,
  807. minute:minute,
  808. second:second,
  809. timeGanIndex:gz.timeGanIndex,
  810. timeZhiIndex:gz.timeZhiIndex,
  811. dayGanIndex:gz.dayGanIndex,
  812. dayZhiIndex:gz.dayZhiIndex,
  813. dayGanIndexExact:gz.dayGanIndexExact,
  814. dayZhiIndexExact:gz.dayZhiIndexExact,
  815. dayGanIndexExact2:gz.dayGanIndexExact2,
  816. dayZhiIndexExact2:gz.dayZhiIndexExact2,
  817. monthGanIndex:gz.monthGanIndex,
  818. monthZhiIndex:gz.monthZhiIndex,
  819. monthGanIndexExact:gz.monthGanIndexExact,
  820. monthZhiIndexExact:gz.monthZhiIndexExact,
  821. yearGanIndex:gz.yearGanIndex,
  822. yearZhiIndex:gz.yearZhiIndex,
  823. yearGanIndexByLiChun:gz.yearGanIndexByLiChun,
  824. yearZhiIndexByLiChun:gz.yearZhiIndexByLiChun,
  825. yearGanIndexExact:gz.yearGanIndexExact,
  826. yearZhiIndexExact:gz.yearZhiIndexExact,
  827. weekIndex:gz.weekIndex,
  828. jieQi:gz.jieQi,
  829. jieQiList:gz.jieQiList,
  830. solar:solar,
  831. eightChar:null
  832. },
  833. getYear:function(){return this._p.year;},
  834. getMonth:function(){return this._p.month;},
  835. getDay:function(){return this._p.day;},
  836. getHour:function(){return this._p.hour;},
  837. getMinute:function(){return this._p.minute;},
  838. getSecond:function(){return this._p.second;},
  839. getTimeGanIndex:function(){return this._p.timeGanIndex;},
  840. getTimeZhiIndex:function(){return this._p.timeZhiIndex;},
  841. getDayGanIndex:function(){return this._p.dayGanIndex;},
  842. getDayGanIndexExact:function(){return this._p.dayGanIndexExact;},
  843. getDayGanIndexExact2:function(){return this._p.dayGanIndexExact2;},
  844. getDayZhiIndex:function(){return this._p.dayZhiIndex;},
  845. getDayZhiIndexExact:function(){return this._p.dayZhiIndexExact;},
  846. getDayZhiIndexExact2:function(){return this._p.dayZhiIndexExact2;},
  847. getMonthGanIndex:function(){return this._p.monthGanIndex;},
  848. getMonthGanIndexExact:function(){return this._p.monthGanIndexExact;},
  849. getMonthZhiIndex:function(){return this._p.monthZhiIndex;},
  850. getMonthZhiIndexExact:function(){return this._p.monthZhiIndexExact;},
  851. getYearGanIndex:function(){return this._p.yearGanIndex;},
  852. getYearGanIndexByLiChun:function(){return this._p.yearGanIndexByLiChun;},
  853. getYearGanIndexExact:function(){return this._p.yearGanIndexExact;},
  854. getYearZhiIndex:function(){return this._p.yearZhiIndex;},
  855. getYearZhiIndexByLiChun:function(){return this._p.yearZhiIndexByLiChun;},
  856. getYearZhiIndexExact:function(){return this._p.yearZhiIndexExact;},
  857. getGan:function(){return this.getYearGan();},
  858. getZhi:function(){return this.getYearZhi();},
  859. getYearGan:function(){return LunarUtil.GAN[this._p.yearGanIndex+1];},
  860. getYearGanByLiChun:function(){return LunarUtil.GAN[this._p.yearGanIndexByLiChun+1];},
  861. getYearGanExact:function(){return LunarUtil.GAN[this._p.yearGanIndexExact+1];},
  862. getYearZhi:function(){return LunarUtil.ZHI[this._p.yearZhiIndex+1];},
  863. getYearZhiByLiChun:function(){return LunarUtil.ZHI[this._p.yearZhiIndexByLiChun+1];},
  864. getYearZhiExact:function(){return LunarUtil.ZHI[this._p.yearZhiIndexExact+1];},
  865. getYearInGanZhi:function(){return this.getYearGan()+this.getYearZhi();},
  866. getYearInGanZhiByLiChun:function(){return this.getYearGanByLiChun()+this.getYearZhiByLiChun();},
  867. getYearInGanZhiExact:function(){return this.getYearGanExact()+this.getYearZhiExact();},
  868. getMonthGan:function(){return LunarUtil.GAN[this._p.monthGanIndex+1];},
  869. getMonthGanExact:function(){return LunarUtil.GAN[this._p.monthGanIndexExact+1];},
  870. getMonthZhi:function(){return LunarUtil.ZHI[this._p.monthZhiIndex+1];},
  871. getMonthZhiExact:function(){return LunarUtil.ZHI[this._p.monthZhiIndexExact+1];},
  872. getMonthInGanZhi:function(){return this.getMonthGan()+this.getMonthZhi();},
  873. getMonthInGanZhiExact:function(){return this.getMonthGanExact()+this.getMonthZhiExact();},
  874. getDayGan:function(){return LunarUtil.GAN[this._p.dayGanIndex+1];},
  875. getDayGanExact:function(){return LunarUtil.GAN[this._p.dayGanIndexExact+1];},
  876. getDayGanExact2:function(){return LunarUtil.GAN[this._p.dayGanIndexExact2+1];},
  877. getDayZhi:function(){return LunarUtil.ZHI[this._p.dayZhiIndex+1];},
  878. getDayZhiExact:function(){return LunarUtil.ZHI[this._p.dayZhiIndexExact+1];},
  879. getDayZhiExact2:function(){return LunarUtil.ZHI[this._p.dayZhiIndexExact2+1];},
  880. getDayInGanZhi:function(){return this.getDayGan()+this.getDayZhi();},
  881. getDayInGanZhiExact:function(){return this.getDayGanExact()+this.getDayZhiExact();},
  882. getDayInGanZhiExact2:function(){return this.getDayGanExact2()+this.getDayZhiExact2();},
  883. getTimeGan:function(){return LunarUtil.GAN[this._p.timeGanIndex+1];},
  884. getTimeZhi:function(){return LunarUtil.ZHI[this._p.timeZhiIndex+1];},
  885. getTimeInGanZhi:function(){return this.getTimeGan()+this.getTimeZhi();},
  886. getShengxiao:function(){return this.getYearShengXiao();},
  887. getYearShengXiao:function(){return LunarUtil.SHENGXIAO[this._p.yearZhiIndex+1];},
  888. getYearShengXiaoByLiChun:function(){return LunarUtil.SHENGXIAO[this._p.yearZhiIndexByLiChun+1];},
  889. getYearShengXiaoExact:function(){return LunarUtil.SHENGXIAO[this._p.yearZhiIndexExact+1];},
  890. getMonthShengXiao:function(){return LunarUtil.SHENGXIAO[this._p.monthZhiIndex+1];},
  891. getMonthShengXiaoExact:function(){return LunarUtil.SHENGXIAO[this._p.monthZhiIndexExact+1];},
  892. getDayShengXiao:function(){return LunarUtil.SHENGXIAO[this._p.dayZhiIndex+1];},
  893. getTimeShengXiao:function(){return LunarUtil.SHENGXIAO[this._p.timeZhiIndex+1];},
  894. getYearInChinese:function(){
  895. var y = this._p.year+'';
  896. var s = '';
  897. var zero = '0'.charCodeAt(0);
  898. for(var i=0,j=y.length;i<j;i++){
  899. s+=LunarUtil.NUMBER[y.charCodeAt(i)-zero];
  900. }
  901. return s;
  902. },
  903. getMonthInChinese:function(){
  904. var month = this._p.month;
  905. return (month<0?'闰':'')+LunarUtil.MONTH[Math.abs(month)];
  906. },
  907. getDayInChinese:function(){
  908. return LunarUtil.DAY[this._p.day];
  909. },
  910. getPengZuGan:function(){
  911. return LunarUtil.PENGZU_GAN[this._p.dayGanIndex+1];
  912. },
  913. getPengZuZhi:function(){
  914. return LunarUtil.PENGZU_ZHI[this._p.dayZhiIndex+1];
  915. },
  916. getPositionXi:function(){
  917. return this.getDayPositionXi();
  918. },
  919. getPositionXiDesc:function(){
  920. return this.getDayPositionXiDesc();
  921. },
  922. getPositionYangGui:function(){
  923. return this.getDayPositionYangGui();
  924. },
  925. getPositionYangGuiDesc:function(){
  926. return this.getDayPositionYangGuiDesc();
  927. },
  928. getPositionYinGui:function(){
  929. return this.getDayPositionYinGui();
  930. },
  931. getPositionYinGuiDesc:function(){
  932. return this.getDayPositionYinGuiDesc();
  933. },
  934. getPositionFu:function(){
  935. return this.getDayPositionFu();
  936. },
  937. getPositionFuDesc:function(){
  938. return this.getDayPositionFuDesc();
  939. },
  940. getPositionCai:function(){
  941. return this.getDayPositionCai();
  942. },
  943. getPositionCaiDesc:function(){
  944. return this.getDayPositionCaiDesc();
  945. },
  946. getDayPositionXi:function(){
  947. return LunarUtil.POSITION_XI[this._p.dayGanIndex+1];
  948. },
  949. getDayPositionXiDesc:function(){
  950. return LunarUtil.POSITION_DESC[this.getDayPositionXi()];
  951. },
  952. getDayPositionYangGui:function(){
  953. return LunarUtil.POSITION_YANG_GUI[this._p.dayGanIndex+1];
  954. },
  955. getDayPositionYangGuiDesc:function(){
  956. return LunarUtil.POSITION_DESC[this.getDayPositionYangGui()];
  957. },
  958. getDayPositionYinGui:function(){
  959. return LunarUtil.POSITION_YIN_GUI[this._p.dayGanIndex+1];
  960. },
  961. getDayPositionYinGuiDesc:function(){
  962. return LunarUtil.POSITION_DESC[this.getDayPositionYinGui()];
  963. },
  964. getDayPositionFu:function(sect){
  965. return (1===sect?LunarUtil.POSITION_FU:LunarUtil.POSITION_FU_2)[this._p.dayGanIndex+1];
  966. },
  967. getDayPositionFuDesc:function(sect){
  968. return LunarUtil.POSITION_DESC[this.getDayPositionFu(sect)];
  969. },
  970. getDayPositionCai:function(){
  971. return LunarUtil.POSITION_CAI[this._p.dayGanIndex+1];
  972. },
  973. getDayPositionCaiDesc:function(){
  974. return LunarUtil.POSITION_DESC[this.getDayPositionCai()];
  975. },
  976. getTimePositionXi:function(){
  977. return LunarUtil.POSITION_XI[this._p.timeGanIndex+1];
  978. },
  979. getTimePositionXiDesc:function(){
  980. return LunarUtil.POSITION_DESC[this.getTimePositionXi()];
  981. },
  982. getTimePositionYangGui:function(){
  983. return LunarUtil.POSITION_YANG_GUI[this._p.timeGanIndex+1];
  984. },
  985. getTimePositionYangGuiDesc:function(){
  986. return LunarUtil.POSITION_DESC[this.getTimePositionYangGui()];
  987. },
  988. getTimePositionYinGui:function(){
  989. return LunarUtil.POSITION_YIN_GUI[this._p.timeGanIndex+1];
  990. },
  991. getTimePositionYinGuiDesc:function(){
  992. return LunarUtil.POSITION_DESC[this.getTimePositionYinGui()];
  993. },
  994. getTimePositionFu:function(sect){
  995. return (1===sect?LunarUtil.POSITION_FU:LunarUtil.POSITION_FU_2)[this._p.timeGanIndex+1];
  996. },
  997. getTimePositionFuDesc:function(sect){
  998. return LunarUtil.POSITION_DESC[this.getTimePositionFu(sect)];
  999. },
  1000. getTimePositionCai:function(){
  1001. return LunarUtil.POSITION_CAI[this._p.timeGanIndex+1];
  1002. },
  1003. getTimePositionCaiDesc:function(){
  1004. return LunarUtil.POSITION_DESC[this.getTimePositionCai()];
  1005. },
  1006. getDayPositionTaiSui:function(sect){
  1007. var dayInGanZhi;
  1008. var yearZhiIndex;
  1009. switch (sect) {
  1010. case 1:
  1011. dayInGanZhi = this.getDayInGanZhi();
  1012. yearZhiIndex = this._p.yearZhiIndex;
  1013. break;
  1014. case 3:
  1015. dayInGanZhi = this.getDayInGanZhi();
  1016. yearZhiIndex = this._p.yearZhiIndexExact;
  1017. break;
  1018. default:
  1019. dayInGanZhi = this.getDayInGanZhiExact2();
  1020. yearZhiIndex = this._p.yearZhiIndexByLiChun;
  1021. }
  1022. var p;
  1023. if ([I18n.getMessage('jz.jiaZi'), I18n.getMessage('jz.yiChou'), I18n.getMessage('jz.bingYin'), I18n.getMessage('jz.dingMao'), I18n.getMessage('jz.wuChen'), I18n.getMessage('jz.jiSi')].join(',').indexOf(dayInGanZhi) > -1) {
  1024. p = I18n.getMessage('bg.zhen');
  1025. } else if ([I18n.getMessage('jz.bingZi'), I18n.getMessage('jz.dingChou'), I18n.getMessage('jz.wuYin'), I18n.getMessage('jz.jiMao'), I18n.getMessage('jz.gengChen'), I18n.getMessage('jz.xinSi')].join(',').indexOf(dayInGanZhi) > -1) {
  1026. p = I18n.getMessage('bg.li');
  1027. } else if ([I18n.getMessage('jz.wuZi'), I18n.getMessage('jz.jiChou'), I18n.getMessage('jz.gengYin'), I18n.getMessage('jz.xinMao'), I18n.getMessage('jz.renChen'), I18n.getMessage('jz.guiSi')].join(',').indexOf(dayInGanZhi) > -1) {
  1028. p = I18n.getMessage('ps.center');
  1029. } else if ([I18n.getMessage('jz.gengZi'), I18n.getMessage('jz.xinChou'), I18n.getMessage('jz.renYin'), I18n.getMessage('jz.guiMao'), I18n.getMessage('jz.jiaChen'), I18n.getMessage('jz.yiSi')].join(',').indexOf(dayInGanZhi) > -1) {
  1030. p = I18n.getMessage('bg.dui');
  1031. } else if ([I18n.getMessage('jz.renZi'), I18n.getMessage('jz.guiChou'), I18n.getMessage('jz.jiaYin'), I18n.getMessage('jz.yiMao'), I18n.getMessage('jz.bingChen'), I18n.getMessage('jz.dingSi')].join(',').indexOf(dayInGanZhi) > -1) {
  1032. p = I18n.getMessage('bg.kan');
  1033. } else {
  1034. p = LunarUtil.POSITION_TAI_SUI_YEAR[yearZhiIndex];
  1035. }
  1036. return p;
  1037. },
  1038. getDayPositionTaiSuiDesc:function(sect){
  1039. return LunarUtil.POSITION_DESC[this.getDayPositionTaiSui(sect)];
  1040. },
  1041. getMonthPositionTaiSui:function(sect){
  1042. var monthZhiIndex;
  1043. var monthGanIndex;
  1044. switch (sect) {
  1045. case 3:
  1046. monthZhiIndex = this._p.monthZhiIndexExact;
  1047. monthGanIndex = this._p.monthGanIndexExact;
  1048. break;
  1049. default:
  1050. monthZhiIndex = this._p.monthZhiIndex;
  1051. monthGanIndex = this._p.monthGanIndex;
  1052. }
  1053. var m = monthZhiIndex - LunarUtil.BASE_MONTH_ZHI_INDEX;
  1054. if (m < 0) {
  1055. m += 12;
  1056. }
  1057. return [I18n.getMessage('bg.gen'), LunarUtil.POSITION_GAN[monthGanIndex], I18n.getMessage('bg.kun'), I18n.getMessage('bg.xun')][m % 4]
  1058. },
  1059. getMonthPositionTaiSuiDesc:function(sect){
  1060. return LunarUtil.POSITION_DESC[this.getMonthPositionTaiSui(sect)];
  1061. },
  1062. getYearPositionTaiSui:function(sect){
  1063. var yearZhiIndex;
  1064. switch (sect) {
  1065. case 1:
  1066. yearZhiIndex = this._p.yearZhiIndex;
  1067. break;
  1068. case 3:
  1069. yearZhiIndex = this._p.yearZhiIndexExact;
  1070. break;
  1071. default:
  1072. yearZhiIndex = this._p.yearZhiIndexByLiChun;
  1073. }
  1074. return LunarUtil.POSITION_TAI_SUI_YEAR[yearZhiIndex];
  1075. },
  1076. getYearPositionTaiSuiDesc:function(sect){
  1077. return LunarUtil.POSITION_DESC[this.getYearPositionTaiSui(sect)];
  1078. },
  1079. _checkLang:function(){
  1080. var lang = I18n.getLanguage();
  1081. if (this._p.lang !== lang) {
  1082. for (var i = 0, j = LunarUtil.JIE_QI_IN_USE.length; i < j; i++) {
  1083. var newKey = LunarUtil.JIE_QI_IN_USE[i];
  1084. var oldKey = this._p.jieQiList[i];
  1085. var value = this._p.jieQi[oldKey];
  1086. this._p.jieQiList[i] = newKey;
  1087. this._p.jieQi[newKey] = value;
  1088. }
  1089. this._p.lang = lang;
  1090. }
  1091. },
  1092. _getJieQiSolar:function(name){
  1093. this._checkLang();
  1094. return this._p.jieQi[name];
  1095. },
  1096. getChong:function(){
  1097. return this.getDayChong();
  1098. },
  1099. getChongGan:function(){
  1100. return this.getDayChongGan();
  1101. },
  1102. getChongGanTie:function(){
  1103. return this.getDayChongGanTie();
  1104. },
  1105. getChongShengXiao:function(){
  1106. return this.getDayChongShengXiao();
  1107. },
  1108. getChongDesc:function(){
  1109. return this.getDayChongDesc();
  1110. },
  1111. getSha:function(){
  1112. return this.getDaySha();
  1113. },
  1114. getDayChong:function(){
  1115. return LunarUtil.CHONG[this._p.dayZhiIndex];
  1116. },
  1117. getDayChongGan:function(){
  1118. return LunarUtil.CHONG_GAN[this._p.dayGanIndex];
  1119. },
  1120. getDayChongGanTie:function(){
  1121. return LunarUtil.CHONG_GAN_TIE[this._p.dayGanIndex];
  1122. },
  1123. getDayChongShengXiao:function(){
  1124. var chong = this.getChong();
  1125. for(var i=0,j=LunarUtil.ZHI.length;i<j;i++){
  1126. if(LunarUtil.ZHI[i]===chong){
  1127. return LunarUtil.SHENGXIAO[i];
  1128. }
  1129. }
  1130. return '';
  1131. },
  1132. getDayChongDesc:function(){
  1133. return '('+this.getDayChongGan()+this.getDayChong()+')'+this.getDayChongShengXiao();
  1134. },
  1135. getDaySha:function(){
  1136. return LunarUtil.SHA[this.getDayZhi()];
  1137. },
  1138. getTimeChong:function(){
  1139. return LunarUtil.CHONG[this._p.timeZhiIndex];
  1140. },
  1141. getTimeChongGan:function(){
  1142. return LunarUtil.CHONG_GAN[this._p.timeGanIndex];
  1143. },
  1144. getTimeChongGanTie:function(){
  1145. return LunarUtil.CHONG_GAN_TIE[this._p.timeGanIndex];
  1146. },
  1147. getTimeChongShengXiao:function(){
  1148. var chong = this.getTimeChong();
  1149. for(var i=0,j=LunarUtil.ZHI.length;i<j;i++){
  1150. if(LunarUtil.ZHI[i]===chong){
  1151. return LunarUtil.SHENGXIAO[i];
  1152. }
  1153. }
  1154. return '';
  1155. },
  1156. getTimeChongDesc:function(){
  1157. return '('+this.getTimeChongGan()+this.getTimeChong()+')'+this.getTimeChongShengXiao();
  1158. },
  1159. getTimeSha:function(){
  1160. return LunarUtil.SHA[this.getTimeZhi()];
  1161. },
  1162. getYearNaYin:function(){
  1163. return LunarUtil.NAYIN[this.getYearInGanZhi()];
  1164. },
  1165. getMonthNaYin:function(){
  1166. return LunarUtil.NAYIN[this.getMonthInGanZhi()];
  1167. },
  1168. getDayNaYin:function(){
  1169. return LunarUtil.NAYIN[this.getDayInGanZhi()];
  1170. },
  1171. getTimeNaYin:function(){
  1172. return LunarUtil.NAYIN[this.getTimeInGanZhi()];
  1173. },
  1174. getSeason:function(){
  1175. return LunarUtil.SEASON[Math.abs(this._p.month)];
  1176. },
  1177. _convertJieQi:function(name){
  1178. var jq = name;
  1179. if ('DONG_ZHI' === jq) {
  1180. jq = I18n.getMessage('jq.dongZhi');
  1181. } else if ('DA_HAN' === jq) {
  1182. jq = I18n.getMessage('jq.daHan');
  1183. } else if ('XIAO_HAN' === jq) {
  1184. jq = I18n.getMessage('jq.xiaoHan');
  1185. } else if ('LI_CHUN' === jq) {
  1186. jq = I18n.getMessage('jq.liChun');
  1187. } else if ('DA_XUE' === jq) {
  1188. jq = I18n.getMessage('jq.daXue');
  1189. } else if ('YU_SHUI' === jq) {
  1190. jq = I18n.getMessage('jq.yuShui');
  1191. } else if ('JING_ZHE' === jq) {
  1192. jq = I18n.getMessage('jq.jingZhe');
  1193. }
  1194. return jq;
  1195. },
  1196. getJie:function(){
  1197. for(var i=0, j=LunarUtil.JIE_QI_IN_USE.length; i<j; i+=2){
  1198. var key = LunarUtil.JIE_QI_IN_USE[i];
  1199. var d = this._getJieQiSolar(key);
  1200. if(d.getYear() === this._p.solar.getYear() && d.getMonth() === this._p.solar.getMonth() && d.getDay() === this._p.solar.getDay()){
  1201. return this._convertJieQi(key);
  1202. }
  1203. }
  1204. return '';
  1205. },
  1206. getQi:function(){
  1207. for(var i=1, j=LunarUtil.JIE_QI_IN_USE.length; i<j; i+=2){
  1208. var key = LunarUtil.JIE_QI_IN_USE[i];
  1209. var d = this._getJieQiSolar(key);
  1210. if(d.getYear() === this._p.solar.getYear() && d.getMonth() === this._p.solar.getMonth() && d.getDay() === this._p.solar.getDay()){
  1211. return this._convertJieQi(key);
  1212. }
  1213. }
  1214. return '';
  1215. },
  1216. getJieQi:function(){
  1217. for(var key in this._p.jieQi){
  1218. var d = this._getJieQiSolar(key);
  1219. if(d.getYear() === this._p.solar.getYear() && d.getMonth() === this._p.solar.getMonth() && d.getDay() === this._p.solar.getDay()){
  1220. return this._convertJieQi(key);
  1221. }
  1222. }
  1223. return '';
  1224. },
  1225. getWeek:function(){
  1226. return this._p.weekIndex;
  1227. },
  1228. getWeekInChinese:function(){
  1229. return SolarUtil.WEEK[this.getWeek()];
  1230. },
  1231. getXiu:function(){
  1232. return LunarUtil.XIU[this.getDayZhi()+this.getWeek()];
  1233. },
  1234. getXiuLuck:function(){
  1235. return LunarUtil.XIU_LUCK[this.getXiu()];
  1236. },
  1237. getXiuSong:function(){
  1238. return LunarUtil.XIU_SONG[this.getXiu()];
  1239. },
  1240. getZheng:function(){
  1241. return LunarUtil.ZHENG[this.getXiu()];
  1242. },
  1243. getAnimal:function(){
  1244. return LunarUtil.ANIMAL[this.getXiu()];
  1245. },
  1246. getGong:function(){
  1247. return LunarUtil.GONG[this.getXiu()];
  1248. },
  1249. getShou:function(){
  1250. return LunarUtil.SHOU[this.getGong()];
  1251. },
  1252. getFestivals:function(){
  1253. var l = [];
  1254. var f = LunarUtil.FESTIVAL[this._p.month+'-'+this._p.day];
  1255. if(f){
  1256. l.push(f);
  1257. }
  1258. if (Math.abs(this._p.month) === 12 && this._p.day >= 29 && this._p.year !== this.next(1).getYear()) {
  1259. l.push(I18n.getMessage('jr.chuXi'));
  1260. }
  1261. return l;
  1262. },
  1263. getOtherFestivals:function(){
  1264. var l=[];
  1265. var fs=LunarUtil.OTHER_FESTIVAL[this._p.month+'-'+this._p.day];
  1266. if(fs){
  1267. l=l.concat(fs);
  1268. }
  1269. var solarYmd = this._p.solar.toYmd();
  1270. if(this._p.solar.toYmd() === this._getJieQiSolar(I18n.getMessage('jq.qingMing')).next(-1).toYmd()){
  1271. l.push('寒食节');
  1272. }
  1273. var jq = this._getJieQiSolar(I18n.getMessage('jq.liChun'));
  1274. var offset = 4 - jq.getLunar().getDayGanIndex();
  1275. if (offset < 0) {
  1276. offset += 10;
  1277. }
  1278. if (solarYmd === jq.next(offset + 40).toYmd()) {
  1279. l.push('春社');
  1280. }
  1281. jq = this._getJieQiSolar(I18n.getMessage('jq.liQiu'));
  1282. offset = 4 - jq.getLunar().getDayGanIndex();
  1283. if (offset < 0) {
  1284. offset += 10;
  1285. }
  1286. if (solarYmd === jq.next(offset + 40).toYmd()) {
  1287. l.push('秋社');
  1288. }
  1289. return l;
  1290. },
  1291. getBaZi:function(){
  1292. var bz = this.getEightChar();
  1293. var l = [];
  1294. l.push(bz.getYear());
  1295. l.push(bz.getMonth());
  1296. l.push(bz.getDay());
  1297. l.push(bz.getTime());
  1298. return l;
  1299. },
  1300. getBaZiWuXing:function(){
  1301. var bz = this.getEightChar();
  1302. var l = [];
  1303. l.push(bz.getYearWuXing());
  1304. l.push(bz.getMonthWuXing());
  1305. l.push(bz.getDayWuXing());
  1306. l.push(bz.getTimeWuXing());
  1307. return l;
  1308. },
  1309. getBaZiNaYin:function(){
  1310. var bz = this.getEightChar();
  1311. var l = [];
  1312. l.push(bz.getYearNaYin());
  1313. l.push(bz.getMonthNaYin());
  1314. l.push(bz.getDayNaYin());
  1315. l.push(bz.getTimeNaYin());
  1316. return l;
  1317. },
  1318. getBaZiShiShenGan:function(){
  1319. var bz = this.getEightChar();
  1320. var l = [];
  1321. l.push(bz.getYearShiShenGan());
  1322. l.push(bz.getMonthShiShenGan());
  1323. l.push(bz.getDayShiShenGan());
  1324. l.push(bz.getTimeShiShenGan());
  1325. return l;
  1326. },
  1327. getBaZiShiShenZhi:function(){
  1328. var bz = this.getEightChar();
  1329. var l = [];
  1330. l.push(bz.getYearShiShenZhi()[0]);
  1331. l.push(bz.getMonthShiShenZhi()[0]);
  1332. l.push(bz.getDayShiShenZhi()[0]);
  1333. l.push(bz.getTimeShiShenZhi()[0]);
  1334. return l;
  1335. },
  1336. getBaZiShiShenYearZhi:function(){
  1337. return this.getEightChar().getYearShiShenZhi();
  1338. },
  1339. getBaZiShiShenMonthZhi:function(){
  1340. return this.getEightChar().getMonthShiShenZhi();
  1341. },
  1342. getBaZiShiShenDayZhi:function(){
  1343. return this.getEightChar().getDayShiShenZhi();
  1344. },
  1345. getBaZiShiShenTimeZhi:function(){
  1346. return this.getEightChar().getTimeShiShenZhi();
  1347. },
  1348. getZhiXing:function(){
  1349. var offset = this._p.dayZhiIndex-this._p.monthZhiIndex;
  1350. if(offset<0){
  1351. offset += 12;
  1352. }
  1353. return LunarUtil.ZHI_XING[offset+1];
  1354. },
  1355. getDayTianShen:function(){
  1356. var monthZhi = this.getMonthZhi();
  1357. var offset = LunarUtil.ZHI_TIAN_SHEN_OFFSET[monthZhi];
  1358. return LunarUtil.TIAN_SHEN[(this._p.dayZhiIndex+offset)%12+1];
  1359. },
  1360. getTimeTianShen:function(){
  1361. var dayZhi = this.getDayZhiExact();
  1362. var offset = LunarUtil.ZHI_TIAN_SHEN_OFFSET[dayZhi];
  1363. return LunarUtil.TIAN_SHEN[(this._p.timeZhiIndex+offset)%12+1];
  1364. },
  1365. getDayTianShenType:function(){
  1366. return LunarUtil.TIAN_SHEN_TYPE[this.getDayTianShen()];
  1367. },
  1368. getTimeTianShenType:function(){
  1369. return LunarUtil.TIAN_SHEN_TYPE[this.getTimeTianShen()];
  1370. },
  1371. getDayTianShenLuck:function(){
  1372. return LunarUtil.TIAN_SHEN_TYPE_LUCK[this.getDayTianShenType()];
  1373. },
  1374. getTimeTianShenLuck:function(){
  1375. return LunarUtil.TIAN_SHEN_TYPE_LUCK[this.getTimeTianShenType()];
  1376. },
  1377. getDayPositionTai:function(){
  1378. return LunarUtil.POSITION_TAI_DAY[LunarUtil.getJiaZiIndex(this.getDayInGanZhi())];
  1379. },
  1380. getMonthPositionTai:function(){
  1381. var m = this._p.month;
  1382. if(m<0){
  1383. return '';
  1384. }
  1385. return LunarUtil.POSITION_TAI_MONTH[m-1];
  1386. },
  1387. getDayYi:function(sect){
  1388. sect *= 1;
  1389. if(isNaN(sect)){
  1390. sect = 2;
  1391. }
  1392. return LunarUtil.getDayYi(2 === sect ? this.getMonthInGanZhiExact() : this.getMonthInGanZhi(), this.getDayInGanZhi());
  1393. },
  1394. getDayJi:function(sect){
  1395. sect *= 1;
  1396. if(isNaN(sect)){
  1397. sect = 2;
  1398. }
  1399. return LunarUtil.getDayJi(2 === sect ? this.getMonthInGanZhiExact() : this.getMonthInGanZhi(), this.getDayInGanZhi());
  1400. },
  1401. getDayJiShen:function(){
  1402. return LunarUtil.getDayJiShen(this.getMonth(),this.getDayInGanZhi());
  1403. },
  1404. getDayXiongSha:function(){
  1405. return LunarUtil.getDayXiongSha(this.getMonth(),this.getDayInGanZhi());
  1406. },
  1407. getTimeYi:function(){
  1408. return LunarUtil.getTimeYi(this.getDayInGanZhiExact(),this.getTimeInGanZhi());
  1409. },
  1410. getTimeJi:function(){
  1411. return LunarUtil.getTimeJi(this.getDayInGanZhiExact(),this.getTimeInGanZhi());
  1412. },
  1413. getYueXiang:function(){
  1414. return LunarUtil.YUE_XIANG[this._p.day];
  1415. },
  1416. _getYearNineStar:function(yearInGanZhi){
  1417. var indexExact = LunarUtil.getJiaZiIndex(yearInGanZhi) + 1;
  1418. var index = LunarUtil.getJiaZiIndex(this.getYearInGanZhi()) + 1;
  1419. var yearOffset = indexExact - index;
  1420. if (yearOffset > 1) {
  1421. yearOffset -= 60;
  1422. } else if (yearOffset < -1) {
  1423. yearOffset += 60;
  1424. }
  1425. var yuan = Math.floor((this._p.year + yearOffset + 2696) / 60) % 3;
  1426. var offset = (62 + yuan * 3 - indexExact) % 9;
  1427. if(0 === offset){
  1428. offset = 9;
  1429. }
  1430. return NineStar.fromIndex(offset - 1);
  1431. },
  1432. getYearNineStar:function(sect){
  1433. var yearInGanZhi;
  1434. switch (sect) {
  1435. case 1:
  1436. yearInGanZhi = this.getYearInGanZhi();
  1437. break;
  1438. case 3:
  1439. yearInGanZhi = this.getYearInGanZhiExact();
  1440. break;
  1441. default:
  1442. yearInGanZhi = this.getYearInGanZhiByLiChun();
  1443. }
  1444. return this._getYearNineStar(yearInGanZhi);
  1445. },
  1446. getMonthNineStar:function(sect){
  1447. var yearZhiIndex;
  1448. var monthZhiIndex;
  1449. switch (sect) {
  1450. case 1:
  1451. yearZhiIndex = this._p.yearZhiIndex;
  1452. monthZhiIndex = this._p.monthZhiIndex;
  1453. break;
  1454. case 3:
  1455. yearZhiIndex = this._p.yearZhiIndexExact;
  1456. monthZhiIndex = this._p.monthZhiIndexExact;
  1457. break;
  1458. default:
  1459. yearZhiIndex = this._p.yearZhiIndexByLiChun;
  1460. monthZhiIndex = this._p.monthZhiIndex;
  1461. }
  1462. var n = 27 - (yearZhiIndex % 3 * 3);
  1463. if (monthZhiIndex < LunarUtil.BASE_MONTH_ZHI_INDEX) {
  1464. n -= 3;
  1465. }
  1466. return NineStar.fromIndex((n - monthZhiIndex) % 9);
  1467. },
  1468. getDayNineStar:function(){
  1469. var solarYmd = this._p.solar.toYmd();
  1470. var dongZhi = this._getJieQiSolar(I18n.getMessage('jq.dongZhi'));
  1471. var dongZhi2 = this._getJieQiSolar('DONG_ZHI');
  1472. var xiaZhi = this._getJieQiSolar(I18n.getMessage('jq.xiaZhi'));
  1473. var dongZhiIndex = LunarUtil.getJiaZiIndex(dongZhi.getLunar().getDayInGanZhi());
  1474. var dongZhiIndex2 = LunarUtil.getJiaZiIndex(dongZhi2.getLunar().getDayInGanZhi());
  1475. var xiaZhiIndex = LunarUtil.getJiaZiIndex(xiaZhi.getLunar().getDayInGanZhi());
  1476. var solarShunBai;
  1477. var solarShunBai2;
  1478. var solarNiZi;
  1479. if (dongZhiIndex>29) {
  1480. solarShunBai = dongZhi.next(60 - dongZhiIndex);
  1481. } else {
  1482. solarShunBai = dongZhi.next(-dongZhiIndex);
  1483. }
  1484. var solarShunBaiYmd = solarShunBai.toYmd();
  1485. if (dongZhiIndex2>29) {
  1486. solarShunBai2 = dongZhi2.next(60 - dongZhiIndex2);
  1487. } else {
  1488. solarShunBai2 = dongZhi2.next(-dongZhiIndex2);
  1489. }
  1490. var solarShunBaiYmd2 = solarShunBai2.toYmd();
  1491. if (xiaZhiIndex>29) {
  1492. solarNiZi = xiaZhi.next(60 - xiaZhiIndex);
  1493. } else {
  1494. solarNiZi = xiaZhi.next(-xiaZhiIndex);
  1495. }
  1496. var solarNiZiYmd = solarNiZi.toYmd();
  1497. var offset = 0;
  1498. if (solarYmd >= solarShunBaiYmd && solarYmd < solarNiZiYmd) {
  1499. offset = this._p.solar.subtract(solarShunBai) % 9;
  1500. } else if (solarYmd >= solarNiZiYmd && solarYmd < solarShunBaiYmd2){
  1501. offset = 8 - (this._p.solar.subtract(solarNiZi) % 9);
  1502. } else if (solarYmd >= solarShunBaiYmd2) {
  1503. offset = this._p.solar.subtract(solarShunBai2) % 9;
  1504. } else if (solarYmd < solarShunBaiYmd) {
  1505. offset = (8 + solarShunBai.subtract(this._p.solar)) % 9;
  1506. }
  1507. return NineStar.fromIndex(offset);
  1508. },
  1509. getTimeNineStar:function(){
  1510. var solarYmd = this._p.solar.toYmd();
  1511. var asc = false;
  1512. if((solarYmd >= this._getJieQiSolar(I18n.getMessage('jq.dongZhi')).toYmd() && solarYmd < this._getJieQiSolar(I18n.getMessage('jq.xiaZhi')).toYmd()) || solarYmd >= this._getJieQiSolar('DONG_ZHI').toYmd()){
  1513. asc = true;
  1514. }
  1515. var offset = asc ? [0, 3, 6] : [8, 5, 2];
  1516. var start = offset[this.getDayZhiIndex() % 3];
  1517. var timeZhiIndex = this.getTimeZhiIndex();
  1518. var index = asc ? (start + timeZhiIndex) : (start + 9 - timeZhiIndex);
  1519. return NineStar.fromIndex(index % 9);
  1520. },
  1521. getSolar:function(){
  1522. return this._p.solar;
  1523. },
  1524. getJieQiTable:function(){
  1525. this._checkLang();
  1526. return this._p.jieQi;
  1527. },
  1528. getJieQiList:function(){
  1529. return this._p.jieQiList;
  1530. },
  1531. getNextJie:function(wholeDay){
  1532. var conditions = [];
  1533. for(var i=0,j=LunarUtil.JIE_QI_IN_USE.length/2;i<j;i++){
  1534. conditions.push(LunarUtil.JIE_QI_IN_USE[i*2]);
  1535. }
  1536. return this._getNearJieQi(true, conditions, wholeDay);
  1537. },
  1538. getPrevJie:function(wholeDay) {
  1539. var conditions = [];
  1540. for (var i = 0, j = LunarUtil.JIE_QI_IN_USE.length / 2; i < j; i++) {
  1541. conditions.push(LunarUtil.JIE_QI_IN_USE[i * 2]);
  1542. }
  1543. return this._getNearJieQi(false, conditions, wholeDay);
  1544. },
  1545. getNextQi:function(wholeDay) {
  1546. var conditions = [];
  1547. for (var i = 0, j = LunarUtil.JIE_QI_IN_USE.length / 2; i < j; i++) {
  1548. conditions.push(LunarUtil.JIE_QI_IN_USE[i * 2 + 1]);
  1549. }
  1550. return this._getNearJieQi(true, conditions, wholeDay);
  1551. },
  1552. getPrevQi:function(wholeDay) {
  1553. var conditions = [];
  1554. for (var i = 0, j = LunarUtil.JIE_QI_IN_USE.length / 2; i < j; i++) {
  1555. conditions.push(LunarUtil.JIE_QI_IN_USE[i * 2 + 1]);
  1556. }
  1557. return this._getNearJieQi(false, conditions, wholeDay);
  1558. },
  1559. getNextJieQi:function(wholeDay){return this._getNearJieQi(true, null, wholeDay);},
  1560. getPrevJieQi:function(wholeDay){return this._getNearJieQi(false, null, wholeDay);},
  1561. _buildJieQi:function(name, solar){
  1562. var jie=false;
  1563. var qi=false;
  1564. for(var i=0,j=LunarUtil.JIE_QI.length;i<j;i++){
  1565. if(LunarUtil.JIE_QI[i]===name){
  1566. if(i%2===0){
  1567. qi = true;
  1568. }else{
  1569. jie = true;
  1570. }
  1571. break;
  1572. }
  1573. }
  1574. return {
  1575. _p: {
  1576. name: name,
  1577. solar: solar,
  1578. jie: jie,
  1579. qi: qi
  1580. },
  1581. getName: function(){return this._p.name;},
  1582. getSolar: function(){return this._p.solar;},
  1583. setName: function(name){this._p.name=name;},
  1584. setSolar: function(solar){this._p.solar=solar;},
  1585. isJie: function(){return this._p.jie;},
  1586. isQi: function(){return this._p.qi;},
  1587. toString: function(){return this.getName();}
  1588. };
  1589. },
  1590. _getNearJieQi:function(forward, conditions, wholeDay){
  1591. var name = null;
  1592. var near = null;
  1593. var filters = {};
  1594. var filter = false;
  1595. if(null!=conditions){
  1596. for(var i=0,j=conditions.length;i<j;i++){
  1597. filters[conditions[i]] = true;
  1598. filter = true;
  1599. }
  1600. }
  1601. var today = this._p.solar[wholeDay ? 'toYmd' : 'toYmdHms']();
  1602. for(var key in this._p.jieQi){
  1603. var jq = this._convertJieQi(key);
  1604. if(filter){
  1605. if(!filters[jq]){
  1606. continue;
  1607. }
  1608. }
  1609. var solar = this._getJieQiSolar(key);
  1610. var day = solar[wholeDay ? 'toYmd' : 'toYmdHms']();
  1611. if(forward){
  1612. if(day<today){
  1613. continue;
  1614. }
  1615. if(null == near || day < near[wholeDay ? 'toYmd' : 'toYmdHms']()){
  1616. name = jq;
  1617. near = solar;
  1618. }
  1619. }else{
  1620. if(day>today){
  1621. continue;
  1622. }
  1623. if(null == near || day > near[wholeDay ? 'toYmd' : 'toYmdHms']()) {
  1624. name = jq;
  1625. near = solar;
  1626. }
  1627. }
  1628. }
  1629. if(null==near){
  1630. return null;
  1631. }
  1632. return this._buildJieQi(name, near);
  1633. },
  1634. getCurrentJieQi:function(){
  1635. for(var key in this._p.jieQi){
  1636. var d = this._getJieQiSolar(key);
  1637. if(d.getYear() === this._p.solar.getYear() && d.getMonth() === this._p.solar.getMonth() && d.getDay() === this._p.solar.getDay()){
  1638. return this._buildJieQi(this._convertJieQi(key), d);
  1639. }
  1640. }
  1641. return null;
  1642. },
  1643. getCurrentJie:function(){
  1644. for(var i=0, j=LunarUtil.JIE_QI_IN_USE.length; i<j; i+=2){
  1645. var key = LunarUtil.JIE_QI_IN_USE[i];
  1646. var d = this._getJieQiSolar(key);
  1647. if(d.getYear() === this._p.solar.getYear() && d.getMonth() === this._p.solar.getMonth() && d.getDay() === this._p.solar.getDay()){
  1648. return this._buildJieQi(this._convertJieQi(key), d);
  1649. }
  1650. }
  1651. return null;
  1652. },
  1653. getCurrentQi:function(){
  1654. for(var i=1, j=LunarUtil.JIE_QI_IN_USE.length; i<j; i+=2){
  1655. var key = LunarUtil.JIE_QI_IN_USE[i];
  1656. var d = this._getJieQiSolar(key);
  1657. if(d.getYear() === this._p.solar.getYear() && d.getMonth() === this._p.solar.getMonth() && d.getDay() === this._p.solar.getDay()){
  1658. return this._buildJieQi(this._convertJieQi(key), d);
  1659. }
  1660. }
  1661. return null;
  1662. },
  1663. getEightChar:function(){
  1664. if(!this._p.eightChar){
  1665. this._p.eightChar=EightChar.fromLunar(this);
  1666. }
  1667. return this._p.eightChar;
  1668. },
  1669. next:function(days){
  1670. return this._p.solar.next(days).getLunar();
  1671. },
  1672. getYearXun:function(){
  1673. return LunarUtil.getXun(this.getYearInGanZhi());
  1674. },
  1675. getMonthXun:function(){
  1676. return LunarUtil.getXun(this.getMonthInGanZhi());
  1677. },
  1678. getDayXun:function(){
  1679. return LunarUtil.getXun(this.getDayInGanZhi());
  1680. },
  1681. getTimeXun:function(){
  1682. return LunarUtil.getXun(this.getTimeInGanZhi());
  1683. },
  1684. getYearXunByLiChun:function(){
  1685. return LunarUtil.getXun(this.getYearInGanZhiByLiChun());
  1686. },
  1687. getYearXunExact:function(){
  1688. return LunarUtil.getXun(this.getYearInGanZhiExact());
  1689. },
  1690. getMonthXunExact:function(){
  1691. return LunarUtil.getXun(this.getMonthInGanZhiExact());
  1692. },
  1693. getDayXunExact:function(){
  1694. return LunarUtil.getXun(this.getDayInGanZhiExact());
  1695. },
  1696. getDayXunExact2:function(){
  1697. return LunarUtil.getXun(this.getDayInGanZhiExact2());
  1698. },
  1699. getYearXunKong:function(){
  1700. return LunarUtil.getXunKong(this.getYearInGanZhi());
  1701. },
  1702. getMonthXunKong:function(){
  1703. return LunarUtil.getXunKong(this.getMonthInGanZhi());
  1704. },
  1705. getDayXunKong:function(){
  1706. return LunarUtil.getXunKong(this.getDayInGanZhi());
  1707. },
  1708. getTimeXunKong:function(){
  1709. return LunarUtil.getXunKong(this.getTimeInGanZhi());
  1710. },
  1711. getYearXunKongByLiChun:function(){
  1712. return LunarUtil.getXunKong(this.getYearInGanZhiByLiChun());
  1713. },
  1714. getYearXunKongExact:function(){
  1715. return LunarUtil.getXunKong(this.getYearInGanZhiExact());
  1716. },
  1717. getMonthXunKongExact:function(){
  1718. return LunarUtil.getXunKong(this.getMonthInGanZhiExact());
  1719. },
  1720. getDayXunKongExact:function(){
  1721. return LunarUtil.getXunKong(this.getDayInGanZhiExact());
  1722. },
  1723. getDayXunKongExact2:function(){
  1724. return LunarUtil.getXunKong(this.getDayInGanZhiExact2());
  1725. },
  1726. toString:function(){
  1727. return this.getYearInChinese()+'年'+this.getMonthInChinese()+'月'+this.getDayInChinese();
  1728. },
  1729. toFullString:function(){
  1730. var s = this.toString();
  1731. s += ' '+this.getYearInGanZhi()+'('+this.getYearShengXiao()+')年';
  1732. s += ' '+this.getMonthInGanZhi()+'('+this.getMonthShengXiao()+')月';
  1733. s += ' '+this.getDayInGanZhi()+'('+this.getDayShengXiao()+')日';
  1734. s += ' '+this.getTimeZhi()+'('+this.getTimeShengXiao()+')时';
  1735. s += ' 纳音['+this.getYearNaYin()+' '+this.getMonthNaYin()+' '+this.getDayNaYin()+' '+this.getTimeNaYin()+']';
  1736. s += ' 星期'+this.getWeekInChinese();
  1737. var festivals = this.getFestivals();
  1738. var i;
  1739. var j;
  1740. for(i=0,j=festivals.length;i<j;i++){
  1741. s += ' ('+festivals[i]+')';
  1742. }
  1743. festivals = this.getOtherFestivals();
  1744. for(i=0,j=festivals.length;i<j;i++){
  1745. s += ' ('+festivals[i]+')';
  1746. }
  1747. var jq = this.getJieQi();
  1748. if(jq.length>0){
  1749. s += ' ['+jq+']';
  1750. }
  1751. s += ' '+this.getGong()+'方'+this.getShou();
  1752. s += ' 星宿['+this.getXiu()+this.getZheng()+this.getAnimal()+']('+this.getXiuLuck()+')';
  1753. s += ' 彭祖百忌['+this.getPengZuGan()+' '+this.getPengZuZhi()+']';
  1754. s += ' 喜神方位['+this.getDayPositionXi()+']('+this.getDayPositionXiDesc()+')';
  1755. s += ' 阳贵神方位['+this.getDayPositionYangGui()+']('+this.getDayPositionYangGuiDesc()+')';
  1756. s += ' 阴贵神方位['+this.getDayPositionYinGui()+']('+this.getDayPositionYinGuiDesc()+')';
  1757. s += ' 福神方位['+this.getDayPositionFu()+']('+this.getDayPositionFuDesc()+')';
  1758. s += ' 财神方位['+this.getDayPositionCai()+']('+this.getDayPositionCaiDesc()+')';
  1759. s += ' 冲['+this.getDayChongDesc()+']';
  1760. s += ' 煞['+this.getDaySha()+']';
  1761. return s;
  1762. },
  1763. _buildNameAndIndex: function(name, index){
  1764. return {
  1765. _p:{
  1766. name: name,
  1767. index: index
  1768. },
  1769. getName: function(){return this._p.name;},
  1770. setName: function(name){this._p.name = name;},
  1771. getIndex: function(){return this._p.index;},
  1772. setIndex: function(index){this._p.index = index;},
  1773. toString: function(){return this.getName();},
  1774. toFullString: function(){return this.getName()+'第'+this.getIndex()+'天';}
  1775. };
  1776. },
  1777. getShuJiu:function(){
  1778. var currentDay = Solar.fromYmd(this._p.solar.getYear(), this._p.solar.getMonth(), this._p.solar.getDay());
  1779. var start = this._getJieQiSolar('DONG_ZHI');
  1780. var startDay = Solar.fromYmd(start.getYear(), start.getMonth(), start.getDay());
  1781. if (currentDay.isBefore(startDay)) {
  1782. start = this._getJieQiSolar(I18n.getMessage('jq.dongZhi'));
  1783. startDay = Solar.fromYmd(start.getYear(), start.getMonth(), start.getDay());
  1784. }
  1785. var endDay = Solar.fromYmd(start.getYear(), start.getMonth(), start.getDay()).next(81);
  1786. if (currentDay.isBefore(startDay) || (!currentDay.isBefore(endDay))) {
  1787. return null;
  1788. }
  1789. var days = currentDay.subtract(startDay);
  1790. return this._buildNameAndIndex(LunarUtil.NUMBER[Math.floor(days / 9) + 1] + '九', days % 9 + 1);
  1791. },
  1792. getFu:function(){
  1793. var currentDay = Solar.fromYmd(this._p.solar.getYear(), this._p.solar.getMonth(), this._p.solar.getDay());
  1794. var xiaZhi = this._getJieQiSolar(I18n.getMessage('jq.xiaZhi'));
  1795. var liQiu = this._getJieQiSolar(I18n.getMessage('jq.liQiu'));
  1796. var startDay = Solar.fromYmd(xiaZhi.getYear(), xiaZhi.getMonth(), xiaZhi.getDay());
  1797. // 第1个庚日
  1798. var add = 6 - xiaZhi.getLunar().getDayGanIndex();
  1799. if (add < 0) {
  1800. add += 10;
  1801. }
  1802. // 第3个庚日,即初伏第1天
  1803. add += 20;
  1804. startDay = startDay.next(add);
  1805. // 初伏以前
  1806. if (currentDay.isBefore(startDay)) {
  1807. return null;
  1808. }
  1809. var days = currentDay.subtract(startDay);
  1810. if (days < 10) {
  1811. return this._buildNameAndIndex('初伏', days + 1);
  1812. }
  1813. // 第4个庚日,中伏第1天
  1814. startDay = startDay.next(10);
  1815. days = currentDay.subtract(startDay);
  1816. if (days < 10) {
  1817. return this._buildNameAndIndex('中伏', days + 1);
  1818. }
  1819. // 第5个庚日,中伏第11天或末伏第1天
  1820. startDay = startDay.next(10);
  1821. var liQiuDay = Solar.fromYmd(liQiu.getYear(),liQiu.getMonth(),liQiu.getDay());
  1822. days = currentDay.subtract(startDay);
  1823. // 末伏
  1824. if (!liQiuDay.isAfter(startDay)) {
  1825. if (days < 10) {
  1826. return this._buildNameAndIndex('末伏', days + 1);
  1827. }
  1828. } else {
  1829. // 中伏
  1830. if (days < 10) {
  1831. return this._buildNameAndIndex('中伏', days + 11);
  1832. }
  1833. // 末伏第1天
  1834. startDay = startDay.next(10);
  1835. days = currentDay.subtract(startDay);
  1836. if (days < 10) {
  1837. return this._buildNameAndIndex('末伏', days + 1);
  1838. }
  1839. }
  1840. return null;
  1841. },
  1842. getLiuYao:function(){
  1843. return LunarUtil.LIU_YAO[(Math.abs(this._p.month)+this._p.day-2)%6];
  1844. },
  1845. getWuHou:function(){
  1846. var jieQi = this.getPrevJieQi(true);
  1847. var jq = LunarUtil.find(jieQi.getName(), LunarUtil.JIE_QI);
  1848. var current = Solar.fromYmd(this._p.solar.getYear(),this._p.solar.getMonth(),this._p.solar.getDay());
  1849. var startSolar = jieQi.getSolar();
  1850. var start = Solar.fromYmd(startSolar.getYear(),startSolar.getMonth(),startSolar.getDay());
  1851. var index = Math.floor(current.subtract(start) / 5);
  1852. if (index > 2) {
  1853. index = 2;
  1854. }
  1855. return LunarUtil.WU_HOU[(jq.index * 3 + index) % LunarUtil.WU_HOU.length];
  1856. },
  1857. getHou:function(){
  1858. var jieQi = this.getPrevJieQi(true);
  1859. var days = this._p.solar.subtract(jieQi.getSolar());
  1860. var max = LunarUtil.HOU.length - 1;
  1861. var offset = Math.floor(days / 5);
  1862. if (offset > max) {
  1863. offset = max;
  1864. }
  1865. return jieQi.getName() + ' ' + LunarUtil.HOU[offset];
  1866. },
  1867. getDayLu:function(){
  1868. var gan = LunarUtil.LU[this.getDayGan()];
  1869. var zhi = LunarUtil.LU[this.getDayZhi()];
  1870. var lu = gan + '命互禄';
  1871. if (zhi) {
  1872. lu += ' ' + zhi + '命进禄';
  1873. }
  1874. return lu;
  1875. },
  1876. getTime:function(){
  1877. return LunarTime.fromYmdHms(this._p.year, this._p.month, this._p.day, this._p.hour, this._p.minute, this._p.second);
  1878. },
  1879. getTimes:function(){
  1880. var l = [];
  1881. l.push(LunarTime.fromYmdHms(this._p.year, this._p.month, this._p.day, 0, 0, 0));
  1882. for(var i = 0; i < 12; i++){
  1883. l.push(LunarTime.fromYmdHms(this._p.year, this._p.month, this._p.day, (i+1)*2-1, 0, 0));
  1884. }
  1885. return l;
  1886. },
  1887. getFoto:function(){return Foto.fromLunar(this);},
  1888. getTao:function(){return Tao.fromLunar(this);}
  1889. };
  1890. };
  1891. return {
  1892. fromYmdHms:function(y,m,d,hour,minute,second){return _fromYmdHms(y,m,d,hour,minute,second);},
  1893. fromYmd:function(y,m,d){return _fromYmdHms(y,m,d,0,0,0);},
  1894. fromSolar:function(solar){return _fromSolar(solar);},
  1895. fromDate:function(date){return _fromDate(date);}
  1896. };
  1897. })();
  1898. var SolarWeek = (function(){
  1899. var _fromDate = function(date,start){
  1900. var solar = Solar.fromDate(date);
  1901. return _fromYmd(solar.getYear(),solar.getMonth(), solar.getDay(), start);
  1902. };
  1903. var _fromYmd = function(y,m,d,start){
  1904. var oy = y;
  1905. var om = m;
  1906. var od = d;
  1907. y *= 1;
  1908. if(isNaN(y)){
  1909. throw new Error('wrong solar year '+oy);
  1910. }
  1911. m *= 1;
  1912. if(isNaN(m)){
  1913. throw new Error('wrong solar month '+om);
  1914. }
  1915. d *= 1;
  1916. if(isNaN(d)){
  1917. throw new Error('wrong solar day '+od);
  1918. }
  1919. start *= 1;
  1920. if(isNaN(start)){
  1921. start = 0;
  1922. }
  1923. return {
  1924. _p:{
  1925. year:y,
  1926. month:m,
  1927. day:d,
  1928. start:start
  1929. },
  1930. getYear:function(){
  1931. return this._p.year;
  1932. },
  1933. getMonth:function(){
  1934. return this._p.month;
  1935. },
  1936. getDay:function(){
  1937. return this._p.day;
  1938. },
  1939. getStart:function(){
  1940. return this._p.start;
  1941. },
  1942. /**
  1943. * 获取当前日期是在当月第几周
  1944. * @return number 周序号,从1开始
  1945. */
  1946. getIndex:function(){
  1947. var offset = Solar.fromYmd(this._p.year,this._p.month,1).getWeek() - this._p.start;
  1948. if(offset < 0) {
  1949. offset += 7;
  1950. }
  1951. return Math.ceil((this._p.day + offset)/7);
  1952. },
  1953. /**
  1954. * 获取当前日期是在当年第几周
  1955. * @return number 周序号,从1开始
  1956. */
  1957. getIndexInYear:function(){
  1958. var offset = Solar.fromYmd(this._p.year,1,1).getWeek() - this._p.start;
  1959. if(offset < 0) {
  1960. offset += 7;
  1961. }
  1962. return Math.ceil((SolarUtil.getDaysInYear(this._p.year, this._p.month, this._p.day) + offset)/7);
  1963. },
  1964. /**
  1965. * 周推移
  1966. * @param weeks 推移的周数,负数为倒推
  1967. * @param separateMonth 是否按月单独计算
  1968. * @return object 推移后的阳历周
  1969. */
  1970. next: function (weeks, separateMonth) {
  1971. var ow = weeks;
  1972. weeks *= 1;
  1973. if(isNaN(weeks)){
  1974. throw new Error('wrong weeks ' + ow);
  1975. }
  1976. var start = this._p.start;
  1977. if (0 === weeks) {
  1978. return _fromYmd(this._p.year, this._p.month, this._p.day, start);
  1979. }
  1980. var solar = Solar.fromYmd(this._p.year, this._p.month, this._p.day);
  1981. if (separateMonth) {
  1982. var n = weeks;
  1983. var week = _fromYmd(this._p.year, this._p.month, this._p.day, start);
  1984. var month = this._p.month;
  1985. var plus = n > 0;
  1986. while (0 !== n) {
  1987. solar = solar.next(plus ? 7 : -7);
  1988. week = _fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
  1989. var weekMonth = week.getMonth();
  1990. if (month !== weekMonth) {
  1991. var index = week.getIndex();
  1992. if (plus) {
  1993. if (1 === index) {
  1994. var firstDay = week.getFirstDay();
  1995. week = _fromYmd(firstDay.getYear(), firstDay.getMonth(), firstDay.getDay(), start);
  1996. weekMonth = week.getMonth();
  1997. } else {
  1998. solar = Solar.fromYmd(week.getYear(), week.getMonth(), 1);
  1999. week = _fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
  2000. }
  2001. } else {
  2002. var size = SolarUtil.getWeeksOfMonth(week.getYear(), week.getMonth(), start);
  2003. if (size === index) {
  2004. var lastDay = week.getFirstDay().next(6);
  2005. week = _fromYmd(lastDay.getYear(), lastDay.getMonth(), lastDay.getDay(), start);
  2006. weekMonth = week.getMonth();
  2007. } else {
  2008. solar = Solar.fromYmd(week.getYear(), week.getMonth(), SolarUtil.getDaysOfMonth(week.getYear(), week.getMonth()));
  2009. week = _fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
  2010. }
  2011. }
  2012. month = weekMonth;
  2013. }
  2014. n -= plus ? 1 : -1;
  2015. }
  2016. return week;
  2017. } else {
  2018. solar = solar.next(weeks * 7);
  2019. return _fromYmd(solar.getYear(), solar.getMonth(), solar.getDay(), start);
  2020. }
  2021. },
  2022. /**
  2023. * 获取本周第一天的阳历日期(可能跨月)
  2024. * @return object 本周第一天的阳历日期
  2025. */
  2026. getFirstDay:function(){
  2027. var solar = Solar.fromYmd(this._p.year, this._p.month, this._p.day);
  2028. var prev = solar.getWeek() - this._p.start;
  2029. if(prev < 0){
  2030. prev += 7;
  2031. }
  2032. return solar.next(-prev);
  2033. },
  2034. /**
  2035. * 获取本周第一天的阳历日期(仅限当月)
  2036. * @return object 本周第一天的阳历日期
  2037. */
  2038. getFirstDayInMonth:function(){
  2039. var index = 0;
  2040. var days = this.getDays();
  2041. for(var i = 0;i<days.length;i++){
  2042. if(this._p.month===days[i].getMonth()){
  2043. index = i;
  2044. break;
  2045. }
  2046. }
  2047. return days[index];
  2048. },
  2049. /**
  2050. * 获取本周的阳历日期列表(可能跨月)
  2051. * @return Array 本周的阳历日期列表
  2052. */
  2053. getDays:function(){
  2054. var firstDay = this.getFirstDay();
  2055. var l = [];
  2056. l.push(firstDay);
  2057. for(var i = 1;i<7;i++){
  2058. l.push(firstDay.next(i));
  2059. }
  2060. return l;
  2061. },
  2062. /**
  2063. * 获取本周的阳历日期列表(仅限当月)
  2064. * @return Array 本周的阳历日期列表(仅限当月)
  2065. */
  2066. getDaysInMonth:function(){
  2067. var days = this.getDays();
  2068. var l = [];
  2069. for(var i = 0;i<days.length;i++){
  2070. var day = days[i];
  2071. if(this._p.month!==day.getMonth()){
  2072. continue;
  2073. }
  2074. l.push(day);
  2075. }
  2076. return l;
  2077. },
  2078. toString:function(){
  2079. return this.getYear()+'.'+this.getMonth()+'.'+this.getIndex();
  2080. },
  2081. toFullString:function(){
  2082. return this.getYear()+'年'+this.getMonth()+'月第'+this.getIndex()+'周';
  2083. }
  2084. };
  2085. };
  2086. return {
  2087. /**
  2088. * 指定年月日生成当天所在的阳历周
  2089. * @param y 年份
  2090. * @param m 月份
  2091. * @param d 日期
  2092. * @param start 星期几作为一周的开始,1234560分别代表星期一至星期天
  2093. * @return object 阳历周
  2094. */
  2095. fromYmd:function(y,m,d,start){return _fromYmd(y,m,d,start);},
  2096. /**
  2097. * 指定日期生成当天所在的阳历周
  2098. * @param date 日期
  2099. * @param start 星期几作为一周的开始,1234560分别代表星期一至星期天
  2100. * @return object 阳历周
  2101. */
  2102. fromDate:function(date,start){return _fromDate(date,start);}
  2103. };
  2104. })();
  2105. var SolarMonth = (function(){
  2106. var _fromDate = function(date){
  2107. var solar = Solar.fromDate(date);
  2108. return _fromYm(solar.getYear(),solar.getMonth());
  2109. };
  2110. var _fromYm = function(y,m){
  2111. var oy = y;
  2112. var om = m;
  2113. y *= 1;
  2114. if(isNaN(y)){
  2115. throw new Error('wrong solar year '+oy);
  2116. }
  2117. m *= 1;
  2118. if(isNaN(m)){
  2119. throw new Error('wrong solar month '+om);
  2120. }
  2121. return {
  2122. _p:{
  2123. year:y,
  2124. month:m
  2125. },
  2126. getYear:function(){
  2127. return this._p.year;
  2128. },
  2129. getMonth:function(){
  2130. return this._p.month;
  2131. },
  2132. next:function(months){
  2133. var om = months;
  2134. months *= 1;
  2135. if(isNaN(months)){
  2136. throw new Error('wrong months ' + om);
  2137. }
  2138. var n = months < 0 ? -1 : 1;
  2139. var m = Math.abs(months);
  2140. var y = this._p.year + Math.floor(m / 12) * n;
  2141. m = this._p.month + m % 12 * n;
  2142. if (m > 12) {
  2143. m -= 12;
  2144. y++;
  2145. } else if (m < 1) {
  2146. m += 12;
  2147. y--;
  2148. }
  2149. return _fromYm(y, m);
  2150. },
  2151. getDays:function(){
  2152. var l = [];
  2153. var d = Solar.fromYmd(this._p.year,this._p.month,1);
  2154. l.push(d);
  2155. var days = SolarUtil.getDaysOfMonth(this._p.year,this._p.month);
  2156. for(var i = 1;i<days;i++){
  2157. l.push(d.next(i));
  2158. }
  2159. return l;
  2160. },
  2161. getWeeks:function(start){
  2162. start *= 1;
  2163. if(isNaN(start)){
  2164. start = 0;
  2165. }
  2166. var l = [];
  2167. var week = SolarWeek.fromYmd(this._p.year, this._p.month, 1, start);
  2168. while (true) {
  2169. l.push(week);
  2170. week = week.next(1, false);
  2171. var firstDay = week.getFirstDay();
  2172. // if (firstDay.getYear() > this._p.year || firstDay.getMonth() > this._p.month) {
  2173. // break;
  2174. // }
  2175. if (l.length === 6) {
  2176. break;
  2177. }
  2178. }
  2179. return l;
  2180. },
  2181. toString:function(){
  2182. return this.getYear()+'-'+this.getMonth();
  2183. },
  2184. toFullString:function(){
  2185. return this.getYear()+'年'+this.getMonth()+'月';
  2186. }
  2187. };
  2188. };
  2189. return {
  2190. fromYm:function(y,m){return _fromYm(y,m);},
  2191. fromDate:function(date){return _fromDate(date);}
  2192. };
  2193. })();
  2194. var SolarSeason = (function(){
  2195. var _fromDate = function(date){
  2196. var solar = Solar.fromDate(date);
  2197. return _fromYm(solar.getYear(),solar.getMonth());
  2198. };
  2199. var _fromYm = function(y,m){
  2200. var oy = y;
  2201. var om = m;
  2202. y *= 1;
  2203. if(isNaN(y)){
  2204. throw new Error('wrong solar year '+oy);
  2205. }
  2206. m *= 1;
  2207. if(isNaN(m)){
  2208. throw new Error('wrong solar month '+om);
  2209. }
  2210. return {
  2211. _p:{
  2212. year:y,
  2213. month:m
  2214. },
  2215. getYear:function(){
  2216. return this._p.year;
  2217. },
  2218. getMonth:function(){
  2219. return this._p.month;
  2220. },
  2221. /**
  2222. * 获取当月是第几季度
  2223. * @return number 季度序号,从1开始
  2224. */
  2225. getIndex:function(){
  2226. return Math.ceil(this._p.month/3);
  2227. },
  2228. /**
  2229. * 季度推移
  2230. * @param seasons 推移的季度数,负数为倒推
  2231. * @return object 推移后的季度
  2232. */
  2233. next:function(seasons){
  2234. var os = seasons;
  2235. seasons *= 1;
  2236. if(isNaN(seasons)){
  2237. throw new Error('wrong seasons ' + os);
  2238. }
  2239. var month = SolarMonth.fromYm(this._p.year, this._p.month).next(3 * seasons);
  2240. return _fromYm(month.getYear(), month.getMonth());
  2241. },
  2242. /**
  2243. * 获取本季度的月份
  2244. * @return Array 本季度的月份列表
  2245. */
  2246. getMonths:function(){
  2247. var l = [];
  2248. var index = this.getIndex()-1;
  2249. for(var i=0;i<3;i++){
  2250. l.push(SolarMonth.fromYm(this._p.year,3*index+i+1));
  2251. }
  2252. return l;
  2253. },
  2254. toString:function(){
  2255. return this.getYear()+'.'+this.getIndex();
  2256. },
  2257. toFullString:function(){
  2258. return this.getYear()+'年'+this.getIndex()+'季度';
  2259. }
  2260. };
  2261. };
  2262. return {
  2263. fromYm:function(y,m){return _fromYm(y,m);},
  2264. fromDate:function(date){return _fromDate(date);}
  2265. };
  2266. })();
  2267. var SolarHalfYear = (function(){
  2268. var _fromDate = function(date){
  2269. var solar = Solar.fromDate(date);
  2270. return _fromYm(solar.getYear(),solar.getMonth());
  2271. };
  2272. var _fromYm = function(y,m){
  2273. var oy = y;
  2274. var om = m;
  2275. y *= 1;
  2276. if(isNaN(y)){
  2277. throw new Error('wrong solar year '+oy);
  2278. }
  2279. m *= 1;
  2280. if(isNaN(m)){
  2281. throw new Error('wrong solar month '+om);
  2282. }
  2283. return {
  2284. _p:{
  2285. year:y,
  2286. month:m
  2287. },
  2288. getYear:function(){
  2289. return this._p.year;
  2290. },
  2291. getMonth:function(){
  2292. return this._p.month;
  2293. },
  2294. /**
  2295. * 获取当月是第几半年
  2296. * @return number 半年序号,从1开始
  2297. */
  2298. getIndex:function(){
  2299. return Math.ceil(this._p.month/6);
  2300. },
  2301. /**
  2302. * 半年推移
  2303. * @param halfYears 推移的半年数,负数为倒推
  2304. * @return object 推移后的半年
  2305. */
  2306. next:function(halfYears){
  2307. var oh = halfYears;
  2308. halfYears *= 1;
  2309. if(isNaN(halfYears)){
  2310. throw new Error('wong halfYears ' + oh);
  2311. }
  2312. var month = SolarMonth.fromYm(this._p.year, this._p.month).next(6 * halfYears);
  2313. return _fromYm(month.getYear(), month.getMonth());
  2314. },
  2315. /**
  2316. * 获取本半年的月份
  2317. * @return Array 本半年的月份列表
  2318. */
  2319. getMonths:function(){
  2320. var l = [];
  2321. var index = this.getIndex()-1;
  2322. for(var i=0;i<6;i++){
  2323. l.push(SolarMonth.fromYm(this._p.year,6*index+i+1));
  2324. }
  2325. return l;
  2326. },
  2327. toString:function(){
  2328. return this.getYear()+'.'+this.getIndex();
  2329. },
  2330. toFullString:function(){
  2331. return this.getYear()+'年'+['上','下'][this.getIndex()-1]+'半年';
  2332. }
  2333. };
  2334. };
  2335. return {
  2336. fromYm:function(y,m){return _fromYm(y,m);},
  2337. fromDate:function(date){return _fromDate(date);}
  2338. };
  2339. })();
  2340. var SolarYear = (function(){
  2341. var _fromDate = function(date){
  2342. return _fromYear(Solar.fromDate(date).getYear());
  2343. };
  2344. var _fromYear = function(y){
  2345. var oy = y;
  2346. y *= 1;
  2347. if(isNaN(y)){
  2348. throw new Error('wrong solar year '+oy);
  2349. }
  2350. return {
  2351. _p:{
  2352. year:y
  2353. },
  2354. getYear:function(){
  2355. return this._p.year;
  2356. },
  2357. next:function(years){
  2358. var oy = years;
  2359. years *= 1;
  2360. if(isNaN(years)){
  2361. throw new Error('wrong years ' + oy);
  2362. }
  2363. return _fromYear(this._p.year + years);
  2364. },
  2365. getMonths:function(){
  2366. var l = [];
  2367. var m = SolarMonth.fromYm(this._p.year,1);
  2368. l.push(m);
  2369. for(var i = 1;i<12;i++){
  2370. l.push(m.next(i));
  2371. }
  2372. return l;
  2373. },
  2374. toString:function(){
  2375. return this.getYear()+'';
  2376. },
  2377. toFullString:function(){
  2378. return this.getYear()+'年';
  2379. }
  2380. };
  2381. };
  2382. return {
  2383. fromYear:function(y){return _fromYear(y);},
  2384. fromDate:function(date){return _fromDate(date);}
  2385. };
  2386. })();
  2387. var LunarYear = (function(){
  2388. var _YUAN = ['下','上','中'];
  2389. var _YUN = ['七','八','九','一','二','三','四','五','六'];
  2390. var _LEAP_11 = [75, 94, 170, 238, 265, 322, 389, 469, 553, 583, 610, 678, 735, 754, 773, 849, 887, 936, 1050, 1069, 1126, 1145, 1164, 1183, 1259, 1278, 1308, 1373, 1403, 1441, 1460, 1498, 1555, 1593, 1612, 1631, 1642, 2033, 2128, 2147, 2242, 2614, 2728, 2910, 3062, 3244, 3339, 3616, 3711, 3730, 3825, 4007, 4159, 4197, 4322, 4341, 4379, 4417, 4531, 4599, 4694, 4713, 4789, 4808, 4971, 5085, 5104, 5161, 5180, 5199, 5294, 5305, 5476, 5677, 5696, 5772, 5791, 5848, 5886, 6049, 6068, 6144, 6163, 6258, 6402, 6440, 6497, 6516, 6630, 6641, 6660, 6679, 6736, 6774, 6850, 6869, 6899, 6918, 6994, 7013, 7032, 7051, 7070, 7089, 7108, 7127, 7146, 7222, 7271, 7290, 7309, 7366, 7385, 7404, 7442, 7461, 7480, 7491, 7499, 7594, 7624, 7643, 7662, 7681, 7719, 7738, 7814, 7863, 7882, 7901, 7939, 7958, 7977, 7996, 8034, 8053, 8072, 8091, 8121, 8159, 8186, 8216, 8235, 8254, 8273, 8311, 8330, 8341, 8349, 8368, 8444, 8463, 8474, 8493, 8531, 8569, 8588, 8626, 8664, 8683, 8694, 8702, 8713, 8721, 8751, 8789, 8808, 8816, 8827, 8846, 8884, 8903, 8922, 8941, 8971, 9036, 9066, 9085, 9104, 9123, 9142, 9161, 9180, 9199, 9218, 9256, 9294, 9313, 9324, 9343, 9362, 9381, 9419, 9438, 9476, 9514, 9533, 9544, 9552, 9563, 9571, 9582, 9601, 9639, 9658, 9666, 9677, 9696, 9734, 9753, 9772, 9791, 9802, 9821, 9886, 9897, 9916, 9935, 9954, 9973, 9992];
  2391. var _LEAP_12 = [37, 56, 113, 132, 151, 189, 208, 227, 246, 284, 303, 341, 360, 379, 417, 436, 458, 477, 496, 515, 534, 572, 591, 629, 648, 667, 697, 716, 792, 811, 830, 868, 906, 925, 944, 963, 982, 1001, 1020, 1039, 1058, 1088, 1153, 1202, 1221, 1240, 1297, 1335, 1392, 1411, 1422, 1430, 1517, 1525, 1536, 1574, 3358, 3472, 3806, 3988, 4751, 4941, 5066, 5123, 5275, 5343, 5438, 5457, 5495, 5533, 5552, 5715, 5810, 5829, 5905, 5924, 6421, 6535, 6793, 6812, 6888, 6907, 7002, 7184, 7260, 7279, 7374, 7556, 7746, 7757, 7776, 7833, 7852, 7871, 7966, 8015, 8110, 8129, 8148, 8224, 8243, 8338, 8406, 8425, 8482, 8501, 8520, 8558, 8596, 8607, 8615, 8645, 8740, 8778, 8835, 8865, 8930, 8960, 8979, 8998, 9017, 9055, 9074, 9093, 9112, 9150, 9188, 9237, 9275, 9332, 9351, 9370, 9408, 9427, 9446, 9457, 9465, 9495, 9560, 9590, 9628, 9647, 9685, 9715, 9742, 9780, 9810, 9818, 9829, 9848, 9867, 9905, 9924, 9943, 9962, 10000];
  2392. var _LEAP = {};
  2393. var _CACHE = {};
  2394. var _initLeap = function() {
  2395. var i;
  2396. var j;
  2397. for (i = 0, j = _LEAP_11.length; i < j; i++) {
  2398. _LEAP['_' + _LEAP_11[i]] = 13;
  2399. }
  2400. for (i = 0, j = _LEAP_12.length; i < j; i++) {
  2401. _LEAP['_' + _LEAP_12[i]] = 14;
  2402. }
  2403. };
  2404. _initLeap();
  2405. var _fromYear = function(lunarYear){
  2406. var oy = lunarYear;
  2407. lunarYear *= 1;
  2408. if(isNaN(lunarYear)){
  2409. throw new Error('wrong lunar year '+oy);
  2410. }
  2411. var _y = (function(){
  2412. var offset = lunarYear - 4;
  2413. var yearGanIndex = offset % 10;
  2414. var yearZhiIndex = offset % 12;
  2415. if (yearGanIndex < 0) {
  2416. yearGanIndex += 10;
  2417. }
  2418. if (yearZhiIndex < 0) {
  2419. yearZhiIndex += 12;
  2420. }
  2421. return {
  2422. ganIndex: yearGanIndex,
  2423. zhiIndex: yearZhiIndex
  2424. }
  2425. })();
  2426. return {
  2427. _p: {
  2428. year: lunarYear,
  2429. ganIndex: _y.ganIndex,
  2430. zhiIndex: _y.zhiIndex,
  2431. months: [],
  2432. jieQiJulianDays: []
  2433. },
  2434. getYear:function(){return this._p.year;},
  2435. getGanIndex:function(){return this._p.ganIndex;},
  2436. getZhiIndex:function(){return this._p.zhiIndex;},
  2437. getGan:function(){return LunarUtil.GAN[this._p.ganIndex+1];},
  2438. getZhi:function(){return LunarUtil.ZHI[this._p.zhiIndex+1];},
  2439. getGanZhi:function(){return this.getGan()+this.getZhi();},
  2440. getJieQiJulianDays:function(){return this._p.jieQiJulianDays;},
  2441. getDayCount:function(){
  2442. var n = 0;
  2443. for (var i = 0, j = this._p.months.length; i < j; i++) {
  2444. var m = this._p.months[i];
  2445. if (m.getYear() === this._p.year) {
  2446. n += m.getDayCount();
  2447. }
  2448. }
  2449. return n;
  2450. },
  2451. getMonthsInYear:function(){
  2452. var l = [];
  2453. for (var i = 0, j = this._p.months.length; i < j; i++) {
  2454. var m = this._p.months[i];
  2455. if (m.getYear() === this._p.year) {
  2456. l.push(m);
  2457. }
  2458. }
  2459. return l;
  2460. },
  2461. getMonths:function(){return this._p.months;},
  2462. getMonth:function(lunarMonth){
  2463. var om = lunarMonth;
  2464. lunarMonth *= 1;
  2465. if(isNaN(lunarMonth)){
  2466. throw new Error('wrong lunarMonth ' + om);
  2467. }
  2468. for (var i = 0, j = this._p.months.length; i < j; i++) {
  2469. var m = this._p.months[i];
  2470. if (m.getYear() === this._p.year && m.getMonth() === lunarMonth) {
  2471. return m;
  2472. }
  2473. }
  2474. return null;
  2475. },
  2476. getLeapMonth:function(){
  2477. for (var i = 0, j = this._p.months.length; i < j; i++) {
  2478. var m = this._p.months[i];
  2479. if (m.getYear() === this._p.year && m.isLeap()) {
  2480. return Math.abs(m.getMonth());
  2481. }
  2482. }
  2483. return 0;
  2484. },
  2485. _getZaoByGan:function(index, name){
  2486. var offset = index - Solar.fromJulianDay(this.getMonth(1).getFirstJulianDay()).getLunar().getDayGanIndex();
  2487. if (offset < 0) {
  2488. offset += 10;
  2489. }
  2490. return name.replace('几', LunarUtil.NUMBER[offset+1]);
  2491. },
  2492. _getZaoByZhi:function(index, name){
  2493. var offset = index - Solar.fromJulianDay(this.getMonth(1).getFirstJulianDay()).getLunar().getDayZhiIndex();
  2494. if (offset < 0) {
  2495. offset += 12;
  2496. }
  2497. return name.replace('几', LunarUtil.NUMBER[offset+1]);
  2498. },
  2499. getTouLiang:function(){
  2500. return this._getZaoByZhi(0, '几鼠偷粮');
  2501. },
  2502. getCaoZi:function(){
  2503. return this._getZaoByZhi(0, '草子几分');
  2504. },
  2505. getGengTian:function(){
  2506. return this._getZaoByZhi(1, '几牛耕田');
  2507. },
  2508. getHuaShou:function(){
  2509. return this._getZaoByZhi(3, '花收几分');
  2510. },
  2511. getZhiShui:function(){
  2512. return this._getZaoByZhi(4, '几龙治水');
  2513. },
  2514. getTuoGu:function(){
  2515. return this._getZaoByZhi(6, '几马驮谷');
  2516. },
  2517. getQiangMi:function(){
  2518. return this._getZaoByZhi(9, '几鸡抢米');
  2519. },
  2520. getKanCan:function(){
  2521. return this._getZaoByZhi(9, '几姑看蚕');
  2522. },
  2523. getGongZhu:function(){
  2524. return this._getZaoByZhi(11, '几屠共猪');
  2525. },
  2526. getJiaTian:function(){
  2527. return this._getZaoByGan(0, '甲田几分');
  2528. },
  2529. getFenBing:function(){
  2530. return this._getZaoByGan(2, '几人分饼');
  2531. },
  2532. getDeJin:function(){
  2533. return this._getZaoByGan(7, '几日得金');
  2534. },
  2535. getRenBing:function(){
  2536. return this._getZaoByGan(2, this._getZaoByZhi(2, '几人几丙'));
  2537. },
  2538. getRenChu:function(){
  2539. return this._getZaoByGan(3, this._getZaoByZhi(2, '几人几锄'));
  2540. },
  2541. getYuan:function(){
  2542. return _YUAN[Math.floor((this._p.year+2696)/60)%3]+'元';
  2543. },
  2544. getYun:function(){
  2545. return _YUN[Math.floor((this._p.year+2696)/20)%9]+'运';
  2546. },
  2547. getNineStar:function(){
  2548. var index = LunarUtil.getJiaZiIndex(this.getGanZhi()) + 1;
  2549. var yuan = Math.floor((this._p.year + 2696) / 60) % 3;
  2550. var offset = (62 + yuan * 3 - index) % 9;
  2551. if(0 === offset){
  2552. offset = 9;
  2553. }
  2554. return NineStar.fromIndex(offset - 1);
  2555. },
  2556. getPositionXi:function(){
  2557. return LunarUtil.POSITION_XI[this._p.ganIndex+1];
  2558. },
  2559. getPositionXiDesc:function(){
  2560. return LunarUtil.POSITION_DESC[this.getPositionXi()];
  2561. },
  2562. getPositionYangGui:function(){
  2563. return LunarUtil.POSITION_YANG_GUI[this._p.ganIndex+1];
  2564. },
  2565. getPositionYangGuiDesc:function(){
  2566. return LunarUtil.POSITION_DESC[this.getPositionYangGui()];
  2567. },
  2568. getPositionYinGui:function(){
  2569. return LunarUtil.POSITION_YIN_GUI[this._p.ganIndex+1];
  2570. },
  2571. getPositionYinGuiDesc:function(){
  2572. return LunarUtil.POSITION_DESC[this.getPositionYinGui()];
  2573. },
  2574. getPositionFu:function(sect){
  2575. return (1===sect?LunarUtil.POSITION_FU:LunarUtil.POSITION_FU_2)[this._p.ganIndex+1];
  2576. },
  2577. getPositionFuDesc:function(sect){
  2578. return LunarUtil.POSITION_DESC[this.getPositionFu(sect)];
  2579. },
  2580. getPositionCai:function(){
  2581. return LunarUtil.POSITION_CAI[this._p.ganIndex+1];
  2582. },
  2583. getPositionCaiDesc:function(){
  2584. return LunarUtil.POSITION_DESC[this.getPositionCai()];
  2585. },
  2586. getPositionTaiSui:function(){
  2587. return LunarUtil.POSITION_TAI_SUI_YEAR[this._p.zhiIndex];
  2588. },
  2589. getPositionTaiSuiDesc:function(){
  2590. return LunarUtil.POSITION_DESC[this.getPositionTaiSui()];
  2591. },
  2592. toString:function(){
  2593. return this.getYear()+'';
  2594. },
  2595. toFullString:function(){
  2596. return this.getYear()+'年';
  2597. },
  2598. next:function(years){
  2599. var oy = years;
  2600. years *= 1;
  2601. if(isNaN(years)){
  2602. throw new Error('wrong years ' + oy);
  2603. }
  2604. return LunarYear.fromYear(this._p.year + years);
  2605. },
  2606. _compute:function(){
  2607. this._p.months = [];
  2608. this._p.jieQiJulianDays = [];
  2609. // 节气(中午12点),长度25
  2610. var jq = [];
  2611. // 合朔,即每月初一(中午12点),长度16
  2612. var hs = [];
  2613. // 每月天数,长度15
  2614. var dayCounts = [];
  2615. var i;
  2616. var j;
  2617. var currentYear = this._p.year;
  2618. var year = currentYear - 2000;
  2619. // 从上年的大雪到下年的大寒
  2620. for (i = 0, j = LunarUtil.JIE_QI_IN_USE.length; i < j; i++) {
  2621. // 精确的节气
  2622. var t = 36525 * ShouXingUtil.saLonT((year + (17 + i) * 15.0 / 360) * ShouXingUtil.PI_2);
  2623. t += ShouXingUtil.ONE_THIRD - ShouXingUtil.dtT(t);
  2624. this._p.jieQiJulianDays.push(t + Solar.J2000);
  2625. // 按中午12点算的节气
  2626. if (i > 0 && i < 26) {
  2627. jq[i - 1] = Math.round(t);
  2628. }
  2629. }
  2630. // 冬至前的初一
  2631. var w = ShouXingUtil.calcShuo(jq[0]);
  2632. if (w > jq[0]) {
  2633. if (currentYear !== 41 && currentYear !== 193 && currentYear !== 288 && currentYear !== 345 && currentYear !== 918 && currentYear !== 1013) {
  2634. w -= 29.5306;
  2635. }
  2636. }
  2637. // 递推每月初一
  2638. for (i = 0; i < 16; i++) {
  2639. hs.push(ShouXingUtil.calcShuo(w + 29.5306 * i));
  2640. }
  2641. // 每月天数
  2642. for (i = 0; i < 15; i++) {
  2643. dayCounts.push(Math.floor(hs[i + 1] - hs[i]));
  2644. }
  2645. var prevYear = currentYear - 1;
  2646. var leapYear = -1;
  2647. var leapIndex = -1;
  2648. var leap = _LEAP['_' + currentYear];
  2649. if (!leap) {
  2650. leap = _LEAP['_' + prevYear];
  2651. if (!leap) {
  2652. if (hs[13] <= jq[24]) {
  2653. i = 1;
  2654. while (hs[i + 1] > jq[2 * i] && i < 13) {
  2655. i++;
  2656. }
  2657. leapYear = currentYear;
  2658. leapIndex = i;
  2659. }
  2660. } else {
  2661. leapYear = prevYear;
  2662. leapIndex = leap - 12;
  2663. }
  2664. } else {
  2665. leapYear = currentYear;
  2666. leapIndex = leap;
  2667. }
  2668. var y = prevYear;
  2669. var m = 11;
  2670. var index = m;
  2671. for (i = 0, j = dayCounts.length; i < j; i++) {
  2672. var cm = m;
  2673. if (y === leapYear && i === leapIndex) {
  2674. cm = -cm;
  2675. }
  2676. this._p.months.push(LunarMonth._(y, cm, dayCounts[i], hs[i] + Solar.J2000, index));
  2677. if (y !== leapYear || i + 1 !== leapIndex) {
  2678. m++;
  2679. }
  2680. index++;
  2681. if (m === 13) {
  2682. m = 1;
  2683. index = 1;
  2684. y++;
  2685. }
  2686. }
  2687. return this;
  2688. }
  2689. }._compute();
  2690. };
  2691. var _fromCachedYear = function(lunarYear) {
  2692. var key = '_' + lunarYear;
  2693. var obj = _CACHE[key];
  2694. if (!obj) {
  2695. obj = _fromYear(lunarYear);
  2696. _CACHE[key] = obj;
  2697. }
  2698. return obj;
  2699. };
  2700. return {
  2701. fromYear:function(lunarYear){return _fromCachedYear(lunarYear);}
  2702. };
  2703. })();
  2704. var LunarMonth = (function(){
  2705. var _fromYm = function(lunarYear,lunarMonth){
  2706. var oy = lunarYear;
  2707. var om = lunarMonth;
  2708. lunarYear *= 1;
  2709. if(isNaN(lunarYear)){
  2710. throw new Error('wrong lunar year '+oy);
  2711. }
  2712. lunarMonth *= 1;
  2713. if(isNaN(lunarMonth)){
  2714. throw new Error('wrong lunar month '+om);
  2715. }
  2716. return LunarYear.fromYear(lunarYear).getMonth(lunarMonth);
  2717. };
  2718. var _new = function(lunarYear, lunarMonth, dayCount, firstJulianDay, index){
  2719. return {
  2720. _p: {
  2721. year: lunarYear,
  2722. month: lunarMonth,
  2723. dayCount: dayCount,
  2724. firstJulianDay: firstJulianDay,
  2725. index: index,
  2726. zhiIndex: (index - 1 + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12
  2727. },
  2728. getIndex:function(){return this._p.index;},
  2729. getGanIndex:function(){
  2730. var offset = (LunarYear.fromYear(this._p.year).getGanIndex() + 1) % 5 * 2;
  2731. return (this._p.index - 1 + offset) % 10;
  2732. },
  2733. getZhiIndex:function(){return this._p.zhiIndex;},
  2734. getGan:function(){return LunarUtil.GAN[this.getGanIndex() + 1];},
  2735. getZhi:function(){return LunarUtil.ZHI[this._p.zhiIndex + 1];},
  2736. getGanZhi:function(){return this.getGan() + this.getZhi();},
  2737. getYear:function(){return this._p.year;},
  2738. getMonth:function(){return this._p.month;},
  2739. getDayCount:function(){return this._p.dayCount;},
  2740. getFirstJulianDay:function(){return this._p.firstJulianDay;},
  2741. isLeap:function(){return this._p.month<0;},
  2742. getPositionXi:function(){
  2743. return LunarUtil.POSITION_XI[this.getGanIndex() + 1];
  2744. },
  2745. getPositionXiDesc:function(){
  2746. return LunarUtil.POSITION_DESC.get(this.getPositionXi());
  2747. },
  2748. getPositionYangGui:function(){
  2749. return LunarUtil.POSITION_YANG_GUI[this.getGanIndex() + 1];
  2750. },
  2751. getPositionYangGuiDesc:function(){
  2752. return LunarUtil.POSITION_DESC.get(this.getPositionYangGui());
  2753. },
  2754. getPositionYinGui:function(){
  2755. return LunarUtil.POSITION_YIN_GUI[this.getGanIndex() + 1];
  2756. },
  2757. getPositionYinGuiDesc:function(){
  2758. return LunarUtil.POSITION_DESC.get(this.getPositionYinGui());
  2759. },
  2760. getPositionFu:function(sect){
  2761. return (1 === sect ? LunarUtil.POSITION_FU : LunarUtil.POSITION_FU_2)[this.getGanIndex() + 1];
  2762. },
  2763. getPositionFuDesc:function(sect){
  2764. return LunarUtil.POSITION_DESC.get(this.getPositionFu(sect));
  2765. },
  2766. getPositionCai:function(){
  2767. return LunarUtil.POSITION_CAI[this.getGanIndex() + 1];
  2768. },
  2769. getPositionCaiDesc:function(){
  2770. return LunarUtil.POSITION_DESC.get(this.getPositionCai());
  2771. },
  2772. getPositionTaiSui:function(){
  2773. var p;
  2774. var m = Math.abs(this._p.month);
  2775. switch(m) {
  2776. case 1:
  2777. case 5:
  2778. case 9:
  2779. p = '艮';
  2780. break;
  2781. case 3:
  2782. case 7:
  2783. case 11:
  2784. p = '坤';
  2785. break;
  2786. case 4:
  2787. case 8:
  2788. case 12:
  2789. p = '巽';
  2790. break;
  2791. default:
  2792. p = LunarUtil.POSITION_GAN[Solar.fromJulianDay(this.getFirstJulianDay()).getLunar().getMonthGanIndex()];
  2793. }
  2794. return p;
  2795. },
  2796. getPositionTaiSuiDesc:function(){
  2797. return LunarUtil.POSITION_DESC[this.getPositionTaiSui()];
  2798. },
  2799. getNineStar:function(){
  2800. var index = LunarYear.fromYear(this._p.year).getZhiIndex() % 3;
  2801. var m = this._p.month;
  2802. if (m < 0) {
  2803. m = -m;
  2804. }
  2805. var monthZhiIndex = (13 + m) % 12;
  2806. var n = 27 - (index * 3);
  2807. if (monthZhiIndex < LunarUtil.BASE_MONTH_ZHI_INDEX) {
  2808. n -= 3;
  2809. }
  2810. var offset = (n - monthZhiIndex) % 9;
  2811. return NineStar.fromIndex(offset);
  2812. },
  2813. next:function(n){
  2814. var on = n;
  2815. n *= 1;
  2816. if(isNaN(n)){
  2817. throw new Error('wrong days ' + on);
  2818. }
  2819. if (0 === n) {
  2820. return LunarMonth.fromYm(this._p.year, this._p.month);
  2821. } else {
  2822. var rest = Math.abs(n);
  2823. var ny = this._p.year;
  2824. var iy = ny;
  2825. var im = this._p.month;
  2826. var index = 0;
  2827. var months = LunarYear.fromYear(ny).getMonths();
  2828. var i;
  2829. var m;
  2830. var size;
  2831. if (n > 0) {
  2832. while (true) {
  2833. size = months.length;
  2834. for (i = 0; i < size; i++) {
  2835. m = months[i];
  2836. if (m.getYear() === iy && m.getMonth() === im) {
  2837. index = i;
  2838. break;
  2839. }
  2840. }
  2841. var more = size - index - 1;
  2842. if (rest < more) {
  2843. break;
  2844. }
  2845. rest -= more;
  2846. var lastMonth = months[size - 1];
  2847. iy = lastMonth.getYear();
  2848. im = lastMonth.getMonth();
  2849. ny++;
  2850. months = LunarYear.fromYear(ny).getMonths();
  2851. }
  2852. return months[index + rest];
  2853. } else {
  2854. while (true) {
  2855. size = months.length;
  2856. for (i = 0; i < size; i++) {
  2857. m = months[i];
  2858. if (m.getYear() === iy && m.getMonth() === im) {
  2859. index = i;
  2860. break;
  2861. }
  2862. }
  2863. if (rest <= index) {
  2864. break;
  2865. }
  2866. rest -= index;
  2867. var firstMonth = months[0];
  2868. iy = firstMonth.getYear();
  2869. im = firstMonth.getMonth();
  2870. ny--;
  2871. months = LunarYear.fromYear(ny).getMonths();
  2872. }
  2873. return months[index - rest];
  2874. }
  2875. }
  2876. },
  2877. toString:function(){return this.getYear()+'年'+(this.isLeap()?'闰':'')+LunarUtil.MONTH[Math.abs(this.getMonth())]+'月('+this.getDayCount()+')天';}
  2878. };
  2879. };
  2880. return {
  2881. fromYm:function(lunarYear,lunarMonth){return _fromYm(lunarYear,lunarMonth);},
  2882. _:function(lunarYear, lunarMonth, dayCount, firstJulianDay, index){return _new(lunarYear, lunarMonth, dayCount, firstJulianDay, index);}
  2883. };
  2884. })();
  2885. var ShouXingUtil = (function(){
  2886. return {
  2887. PI_2: 2*Math.PI,
  2888. ONE_THIRD: 1.0/3,
  2889. SECOND_PER_DAY: 86400,
  2890. SECOND_PER_RAD: 648000 / Math.PI,
  2891. NUT_B:[2.1824, -33.75705, 36e-6, -1720, 920, 3.5069, 1256.66393, 11e-6, -132, 57, 1.3375, 16799.4182, -51e-6, -23, 10, 4.3649, -67.5141, 72e-6, 21, -9, 0.04, -628.302, 0, -14, 0, 2.36, 8328.691, 0, 7, 0, 3.46, 1884.966, 0, -5, 2, 5.44, 16833.175, 0, -4, 2, 3.69, 25128.110, 0, -3, 0, 3.55, 628.362, 0, 2, 0],
  2892. DT_AT:[-4000, 108371.7, -13036.80, 392.000, 0.0000, -500, 17201.0, -627.82, 16.170, -0.3413, -150, 12200.6, -346.41, 5.403, -0.1593, 150, 9113.8, -328.13, -1.647, 0.0377, 500, 5707.5, -391.41, 0.915, 0.3145, 900, 2203.4, -283.45, 13.034, -0.1778, 1300, 490.1, -57.35, 2.085, -0.0072, 1600, 120.0, -9.81, -1.532, 0.1403, 1700, 10.2, -0.91, 0.510, -0.0370, 1800, 13.4, -0.72, 0.202, -0.0193, 1830, 7.8, -1.81, 0.416, -0.0247, 1860, 8.3, -0.13, -0.406, 0.0292, 1880, -5.4, 0.32, -0.183, 0.0173, 1900, -2.3, 2.06, 0.169, -0.0135, 1920, 21.2, 1.69, -0.304, 0.0167, 1940, 24.2, 1.22, -0.064, 0.0031, 1960, 33.2, 0.51, 0.231, -0.0109, 1980, 51.0, 1.29, -0.026, 0.0032, 2000, 63.87, 0.1, 0, 0, 2005, 64.7, 0.4, 0, 0, 2015, 69],
  2893. XL0:[10000000000, 20, 578, 920, 1100, 1124, 1136, 1148, 1217, 1226, 1229, 1229, 1229, 1229, 1937, 2363, 2618, 2633, 2660, 2666, 17534704567, 0.00000000000, 0.00000000000, 334165646, 4.669256804, 6283.075849991, 3489428, 4.6261024, 12566.1517000, 349706, 2.744118, 5753.384885, 341757, 2.828866, 3.523118, 313590, 3.627670, 77713.771468, 267622, 4.418084, 7860.419392, 234269, 6.135162, 3930.209696, 132429, 0.742464, 11506.769770, 127317, 2.037097, 529.690965, 119917, 1.109629, 1577.343542, 99025, 5.23268, 5884.92685, 90186, 2.04505, 26.29832, 85722, 3.50849, 398.14900, 77979, 1.17883, 5223.69392, 75314, 2.53339, 5507.55324, 50526, 4.58293, 18849.22755, 49238, 4.20507, 775.52261, 35666, 2.91954, 0.06731, 31709, 5.84902, 11790.62909, 28413, 1.89869, 796.29801, 27104, 0.31489, 10977.07880, 24281, 0.34481, 5486.77784, 20616, 4.80647, 2544.31442, 20539, 1.86948, 5573.14280, 20226, 2.45768, 6069.77675, 15552, 0.83306, 213.29910, 13221, 3.41118, 2942.46342, 12618, 1.08303, 20.77540, 11513, 0.64545, 0.98032, 10285, 0.63600, 4694.00295, 10190, 0.97569, 15720.83878, 10172, 4.26680, 7.11355, 9921, 6.2099, 2146.1654, 9761, 0.6810, 155.4204, 8580, 5.9832, 161000.6857, 8513, 1.2987, 6275.9623, 8471, 3.6708, 71430.6956, 7964, 1.8079, 17260.1547, 7876, 3.0370, 12036.4607, 7465, 1.7551, 5088.6288, 7387, 3.5032, 3154.6871, 7355, 4.6793, 801.8209, 6963, 0.8330, 9437.7629, 6245, 3.9776, 8827.3903, 6115, 1.8184, 7084.8968, 5696, 2.7843, 6286.5990, 5612, 4.3869, 14143.4952, 5558, 3.4701, 6279.5527, 5199, 0.1891, 12139.5535, 5161, 1.3328, 1748.0164, 5115, 0.2831, 5856.4777, 4900, 0.4874, 1194.4470, 4104, 5.3682, 8429.2413, 4094, 2.3985, 19651.0485, 3920, 6.1683, 10447.3878, 3677, 6.0413, 10213.2855, 3660, 2.5696, 1059.3819, 3595, 1.7088, 2352.8662, 3557, 1.7760, 6812.7668, 3329, 0.5931, 17789.8456, 3041, 0.4429, 83996.8473, 3005, 2.7398, 1349.8674, 2535, 3.1647, 4690.4798, 2474, 0.2148, 3.5904, 2366, 0.4847, 8031.0923, 2357, 2.0653, 3340.6124, 2282, 5.2220, 4705.7323, 2189, 5.5559, 553.5694, 2142, 1.4256, 16730.4637, 2109, 4.1483, 951.7184, 2030, 0.3713, 283.8593, 1992, 5.2221, 12168.0027, 1986, 5.7747, 6309.3742, 1912, 3.8222, 23581.2582, 1889, 5.3863, 149854.4001, 1790, 2.2149, 13367.9726, 1748, 4.5605, 135.0651, 1622, 5.9884, 11769.8537, 1508, 4.1957, 6256.7775, 1442, 4.1932, 242.7286, 1435, 3.7236, 38.0277, 1397, 4.4014, 6681.2249, 1362, 1.8893, 7632.9433, 1250, 1.1305, 5.5229, 1205, 2.6223, 955.5997, 1200, 1.0035, 632.7837, 1129, 0.1774, 4164.3120, 1083, 0.3273, 103.0928, 1052, 0.9387, 11926.2544, 1050, 5.3591, 1592.5960, 1033, 6.1998, 6438.4962, 1001, 6.0291, 5746.2713, 980, 0.999, 11371.705, 980, 5.244, 27511.468, 938, 2.624, 5760.498, 923, 0.483, 522.577, 922, 4.571, 4292.331, 905, 5.337, 6386.169, 862, 4.165, 7058.598, 841, 3.299, 7234.794, 836, 4.539, 25132.303, 813, 6.112, 4732.031, 812, 6.271, 426.598, 801, 5.821, 28.449, 787, 0.996, 5643.179, 776, 2.957, 23013.540, 769, 3.121, 7238.676, 758, 3.974, 11499.656, 735, 4.386, 316.392, 731, 0.607, 11513.883, 719, 3.998, 74.782, 706, 0.323, 263.084, 676, 5.911, 90955.552, 663, 3.665, 17298.182, 653, 5.791, 18073.705, 630, 4.717, 6836.645, 615, 1.458, 233141.314, 612, 1.075, 19804.827, 596, 3.321, 6283.009, 596, 2.876, 6283.143, 555, 2.452, 12352.853, 541, 5.392, 419.485, 531, 0.382, 31441.678, 519, 4.065, 6208.294, 513, 2.361, 10973.556, 494, 5.737, 9917.697, 450, 3.272, 11015.106, 449, 3.653, 206.186, 447, 2.064, 7079.374, 435, 4.423, 5216.580, 421, 1.906, 245.832, 413, 0.921, 3738.761, 402, 0.840, 20.355, 387, 1.826, 11856.219, 379, 2.344, 3.881, 374, 2.954, 3128.389, 370, 5.031, 536.805, 365, 1.018, 16200.773, 365, 1.083, 88860.057, 352, 5.978, 3894.182, 352, 2.056, 244287.600, 351, 3.713, 6290.189, 340, 1.106, 14712.317, 339, 0.978, 8635.942, 339, 3.202, 5120.601, 333, 0.837, 6496.375, 325, 3.479, 6133.513, 316, 5.089, 21228.392, 316, 1.328, 10873.986, 309, 3.646, 10.637, 303, 1.802, 35371.887, 296, 3.397, 9225.539, 288, 6.026, 154717.610, 281, 2.585, 14314.168, 262, 3.856, 266.607, 262, 2.579, 22483.849, 257, 1.561, 23543.231, 255, 3.949, 1990.745, 251, 3.744, 10575.407, 240, 1.161, 10984.192, 238, 0.106, 7.046, 236, 4.272, 6040.347, 234, 3.577, 10969.965, 211, 3.714, 65147.620, 210, 0.754, 13521.751, 207, 4.228, 5650.292, 202, 0.814, 170.673, 201, 4.629, 6037.244, 200, 0.381, 6172.870, 199, 3.933, 6206.810, 199, 5.197, 6262.300, 197, 1.046, 18209.330, 195, 1.070, 5230.807, 195, 4.869, 36.028, 194, 4.313, 6244.943, 192, 1.229, 709.933, 192, 5.595, 6282.096, 192, 0.602, 6284.056, 189, 3.744, 23.878, 188, 1.904, 15.252, 188, 0.867, 22003.915, 182, 3.681, 15110.466, 181, 0.491, 1.484, 179, 3.222, 39302.097, 179, 1.259, 12559.038, 62833196674749, 0.000000000000, 0.000000000000, 20605886, 2.67823456, 6283.07584999, 430343, 2.635127, 12566.151700, 42526, 1.59047, 3.52312, 11926, 5.79557, 26.29832, 10898, 2.96618, 1577.34354, 9348, 2.5921, 18849.2275, 7212, 1.1385, 529.6910, 6777, 1.8747, 398.1490, 6733, 4.4092, 5507.5532, 5903, 2.8880, 5223.6939, 5598, 2.1747, 155.4204, 4541, 0.3980, 796.2980, 3637, 0.4662, 775.5226, 2896, 2.6471, 7.1135, 2084, 5.3414, 0.9803, 1910, 1.8463, 5486.7778, 1851, 4.9686, 213.2991, 1729, 2.9912, 6275.9623, 1623, 0.0322, 2544.3144, 1583, 1.4305, 2146.1654, 1462, 1.2053, 10977.0788, 1246, 2.8343, 1748.0164, 1188, 3.2580, 5088.6288, 1181, 5.2738, 1194.4470, 1151, 2.0750, 4694.0030, 1064, 0.7661, 553.5694, 997, 1.303, 6286.599, 972, 4.239, 1349.867, 945, 2.700, 242.729, 858, 5.645, 951.718, 758, 5.301, 2352.866, 639, 2.650, 9437.763, 610, 4.666, 4690.480, 583, 1.766, 1059.382, 531, 0.909, 3154.687, 522, 5.661, 71430.696, 520, 1.854, 801.821, 504, 1.425, 6438.496, 433, 0.241, 6812.767, 426, 0.774, 10447.388, 413, 5.240, 7084.897, 374, 2.001, 8031.092, 356, 2.429, 14143.495, 350, 4.800, 6279.553, 337, 0.888, 12036.461, 337, 3.862, 1592.596, 325, 3.400, 7632.943, 322, 0.616, 8429.241, 318, 3.188, 4705.732, 297, 6.070, 4292.331, 295, 1.431, 5746.271, 290, 2.325, 20.355, 275, 0.935, 5760.498, 270, 4.804, 7234.794, 253, 6.223, 6836.645, 228, 5.003, 17789.846, 225, 5.672, 11499.656, 215, 5.202, 11513.883, 208, 3.955, 10213.286, 208, 2.268, 522.577, 206, 2.224, 5856.478, 206, 2.550, 25132.303, 203, 0.910, 6256.778, 189, 0.532, 3340.612, 188, 4.735, 83996.847, 179, 1.474, 4164.312, 178, 3.025, 5.523, 177, 3.026, 5753.385, 159, 4.637, 3.286, 157, 6.124, 5216.580, 155, 3.077, 6681.225, 154, 4.200, 13367.973, 143, 1.191, 3894.182, 138, 3.093, 135.065, 136, 4.245, 426.598, 134, 5.765, 6040.347, 128, 3.085, 5643.179, 127, 2.092, 6290.189, 125, 3.077, 11926.254, 125, 3.445, 536.805, 114, 3.244, 12168.003, 112, 2.318, 16730.464, 111, 3.901, 11506.770, 111, 5.320, 23.878, 105, 3.750, 7860.419, 103, 2.447, 1990.745, 96, 0.82, 3.88, 96, 4.08, 6127.66, 91, 5.42, 206.19, 91, 0.42, 7079.37, 88, 5.17, 11790.63, 81, 0.34, 9917.70, 80, 3.89, 10973.56, 78, 2.40, 1589.07, 78, 2.58, 11371.70, 77, 3.98, 955.60, 77, 3.36, 36.03, 76, 1.30, 103.09, 75, 5.18, 10969.97, 75, 4.96, 6496.37, 73, 5.21, 38.03, 72, 2.65, 6309.37, 70, 5.61, 3738.76, 69, 2.60, 3496.03, 69, 0.39, 15.25, 69, 2.78, 20.78, 65, 1.13, 7058.60, 64, 4.28, 28.45, 61, 5.63, 10984.19, 60, 0.73, 419.48, 60, 5.28, 10575.41, 58, 5.55, 17298.18, 58, 3.19, 4732.03, 5291887, 0.0000000, 0.0000000, 871984, 1.072097, 6283.075850, 30913, 0.86729, 12566.15170, 2734, 0.0530, 3.5231, 1633, 5.1883, 26.2983, 1575, 3.6846, 155.4204, 954, 0.757, 18849.228, 894, 2.057, 77713.771, 695, 0.827, 775.523, 506, 4.663, 1577.344, 406, 1.031, 7.114, 381, 3.441, 5573.143, 346, 5.141, 796.298, 317, 6.053, 5507.553, 302, 1.192, 242.729, 289, 6.117, 529.691, 271, 0.306, 398.149, 254, 2.280, 553.569, 237, 4.381, 5223.694, 208, 3.754, 0.980, 168, 0.902, 951.718, 153, 5.759, 1349.867, 145, 4.364, 1748.016, 134, 3.721, 1194.447, 125, 2.948, 6438.496, 122, 2.973, 2146.165, 110, 1.271, 161000.686, 104, 0.604, 3154.687, 100, 5.986, 6286.599, 92, 4.80, 5088.63, 89, 5.23, 7084.90, 83, 3.31, 213.30, 76, 3.42, 5486.78, 71, 6.19, 4690.48, 68, 3.43, 4694.00, 65, 1.60, 2544.31, 64, 1.98, 801.82, 61, 2.48, 10977.08, 50, 1.44, 6836.65, 49, 2.34, 1592.60, 46, 1.31, 4292.33, 46, 3.81, 149854.40, 43, 0.04, 7234.79, 40, 4.94, 7632.94, 39, 1.57, 71430.70, 38, 3.17, 6309.37, 35, 0.99, 6040.35, 35, 0.67, 1059.38, 31, 3.18, 2352.87, 31, 3.55, 8031.09, 30, 1.92, 10447.39, 30, 2.52, 6127.66, 28, 4.42, 9437.76, 28, 2.71, 3894.18, 27, 0.67, 25132.30, 26, 5.27, 6812.77, 25, 0.55, 6279.55, 23, 1.38, 4705.73, 22, 0.64, 6256.78, 20, 6.07, 640.88, 28923, 5.84384, 6283.07585, 3496, 0.0000, 0.0000, 1682, 5.4877, 12566.1517, 296, 5.196, 155.420, 129, 4.722, 3.523, 71, 5.30, 18849.23, 64, 5.97, 242.73, 40, 3.79, 553.57, 11408, 3.14159, 0.00000, 772, 4.134, 6283.076, 77, 3.84, 12566.15, 42, 0.42, 155.42, 88, 3.14, 0.00, 17, 2.77, 6283.08, 5, 2.01, 155.42, 3, 2.21, 12566.15, 27962, 3.19870, 84334.66158, 10164, 5.42249, 5507.55324, 8045, 3.8801, 5223.6939, 4381, 3.7044, 2352.8662, 3193, 4.0003, 1577.3435, 2272, 3.9847, 1047.7473, 1814, 4.9837, 6283.0758, 1639, 3.5646, 5856.4777, 1444, 3.7028, 9437.7629, 1430, 3.4112, 10213.2855, 1125, 4.8282, 14143.4952, 1090, 2.0857, 6812.7668, 1037, 4.0566, 71092.8814, 971, 3.473, 4694.003, 915, 1.142, 6620.890, 878, 4.440, 5753.385, 837, 4.993, 7084.897, 770, 5.554, 167621.576, 719, 3.602, 529.691, 692, 4.326, 6275.962, 558, 4.410, 7860.419, 529, 2.484, 4705.732, 521, 6.250, 18073.705, 903, 3.897, 5507.553, 618, 1.730, 5223.694, 380, 5.244, 2352.866, 166, 1.627, 84334.662, 10001398880, 0.00000000000, 0.00000000000, 167069963, 3.098463508, 6283.075849991, 1395602, 3.0552461, 12566.1517000, 308372, 5.198467, 77713.771468, 162846, 1.173877, 5753.384885, 157557, 2.846852, 7860.419392, 92480, 5.45292, 11506.76977, 54244, 4.56409, 3930.20970, 47211, 3.66100, 5884.92685, 34598, 0.96369, 5507.55324, 32878, 5.89984, 5223.69392, 30678, 0.29867, 5573.14280, 24319, 4.27350, 11790.62909, 21183, 5.84715, 1577.34354, 18575, 5.02194, 10977.07880, 17484, 3.01194, 18849.22755, 10984, 5.05511, 5486.77784, 9832, 0.8868, 6069.7768, 8650, 5.6896, 15720.8388, 8583, 1.2708, 161000.6857, 6490, 0.2725, 17260.1547, 6292, 0.9218, 529.6910, 5706, 2.0137, 83996.8473, 5574, 5.2416, 71430.6956, 4938, 3.2450, 2544.3144, 4696, 2.5781, 775.5226, 4466, 5.5372, 9437.7629, 4252, 6.0111, 6275.9623, 3897, 5.3607, 4694.0030, 3825, 2.3926, 8827.3903, 3749, 0.8295, 19651.0485, 3696, 4.9011, 12139.5535, 3566, 1.6747, 12036.4607, 3454, 1.8427, 2942.4634, 3319, 0.2437, 7084.8968, 3192, 0.1837, 5088.6288, 3185, 1.7778, 398.1490, 2846, 1.2134, 6286.5990, 2779, 1.8993, 6279.5527, 2628, 4.5890, 10447.3878, 2460, 3.7866, 8429.2413, 2393, 4.9960, 5856.4777, 2359, 0.2687, 796.2980, 2329, 2.8078, 14143.4952, 2210, 1.9500, 3154.6871, 2035, 4.6527, 2146.1654, 1951, 5.3823, 2352.8662, 1883, 0.6731, 149854.4001, 1833, 2.2535, 23581.2582, 1796, 0.1987, 6812.7668, 1731, 6.1520, 16730.4637, 1717, 4.4332, 10213.2855, 1619, 5.2316, 17789.8456, 1381, 5.1896, 8031.0923, 1364, 3.6852, 4705.7323, 1314, 0.6529, 13367.9726, 1041, 4.3329, 11769.8537, 1017, 1.5939, 4690.4798, 998, 4.201, 6309.374, 966, 3.676, 27511.468, 874, 6.064, 1748.016, 779, 3.674, 12168.003, 771, 0.312, 7632.943, 756, 2.626, 6256.778, 746, 5.648, 11926.254, 693, 2.924, 6681.225, 680, 1.423, 23013.540, 674, 0.563, 3340.612, 663, 5.661, 11371.705, 659, 3.136, 801.821, 648, 2.650, 19804.827, 615, 3.029, 233141.314, 612, 5.134, 1194.447, 563, 4.341, 90955.552, 552, 2.091, 17298.182, 534, 5.100, 31441.678, 531, 2.407, 11499.656, 523, 4.624, 6438.496, 513, 5.324, 11513.883, 477, 0.256, 11856.219, 461, 1.722, 7234.794, 458, 3.766, 6386.169, 458, 4.466, 5746.271, 423, 1.055, 5760.498, 422, 1.557, 7238.676, 415, 2.599, 7058.598, 401, 3.030, 1059.382, 397, 1.201, 1349.867, 379, 4.907, 4164.312, 360, 5.707, 5643.179, 352, 3.626, 244287.600, 348, 0.761, 10973.556, 342, 3.001, 4292.331, 336, 4.546, 4732.031, 334, 3.138, 6836.645, 324, 4.164, 9917.697, 316, 1.691, 11015.106, 307, 0.238, 35371.887, 298, 1.306, 6283.143, 298, 1.750, 6283.009, 293, 5.738, 16200.773, 286, 5.928, 14712.317, 281, 3.515, 21228.392, 280, 5.663, 8635.942, 277, 0.513, 26.298, 268, 4.207, 18073.705, 266, 0.900, 12352.853, 260, 2.962, 25132.303, 255, 2.477, 6208.294, 242, 2.800, 709.933, 231, 1.054, 22483.849, 229, 1.070, 14314.168, 216, 1.314, 154717.610, 215, 6.038, 10873.986, 200, 0.561, 7079.374, 198, 2.614, 951.718, 197, 4.369, 167283.762, 186, 2.861, 5216.580, 183, 1.660, 39302.097, 183, 5.912, 3738.761, 175, 2.145, 6290.189, 173, 2.168, 10575.407, 171, 3.702, 1592.596, 171, 1.343, 3128.389, 164, 5.550, 6496.375, 164, 5.856, 10984.192, 161, 1.998, 10969.965, 161, 1.909, 6133.513, 157, 4.955, 25158.602, 154, 6.216, 23543.231, 153, 5.357, 13521.751, 150, 5.770, 18209.330, 150, 5.439, 155.420, 139, 1.778, 9225.539, 139, 1.626, 5120.601, 128, 2.460, 13916.019, 123, 0.717, 143571.324, 122, 2.654, 88860.057, 121, 4.414, 3894.182, 121, 1.192, 3.523, 120, 4.030, 553.569, 119, 1.513, 17654.781, 117, 3.117, 14945.316, 113, 2.698, 6040.347, 110, 3.085, 43232.307, 109, 0.998, 955.600, 108, 2.939, 17256.632, 107, 5.285, 65147.620, 103, 0.139, 11712.955, 103, 5.850, 213.299, 102, 3.046, 6037.244, 101, 2.842, 8662.240, 100, 3.626, 6262.300, 98, 2.36, 6206.81, 98, 5.11, 6172.87, 98, 2.00, 15110.47, 97, 2.67, 5650.29, 97, 2.75, 6244.94, 96, 4.02, 6282.10, 96, 5.31, 6284.06, 92, 0.10, 29088.81, 85, 3.26, 20426.57, 84, 2.60, 28766.92, 81, 3.58, 10177.26, 80, 5.81, 5230.81, 78, 2.53, 16496.36, 77, 4.06, 6127.66, 73, 0.04, 5481.25, 72, 5.96, 12559.04, 72, 5.92, 4136.91, 71, 5.49, 22003.91, 70, 3.41, 7.11, 69, 0.62, 11403.68, 69, 3.90, 1589.07, 69, 1.96, 12416.59, 69, 4.51, 426.60, 67, 1.61, 11087.29, 66, 4.50, 47162.52, 66, 5.08, 283.86, 66, 4.32, 16858.48, 65, 1.04, 6062.66, 64, 1.59, 18319.54, 63, 5.70, 45892.73, 63, 4.60, 66567.49, 63, 3.82, 13517.87, 62, 2.62, 11190.38, 61, 1.54, 33019.02, 60, 5.58, 10344.30, 60, 5.38, 316428.23, 60, 5.78, 632.78, 59, 6.12, 9623.69, 57, 0.16, 17267.27, 57, 3.86, 6076.89, 57, 1.98, 7668.64, 56, 4.78, 20199.09, 55, 4.56, 18875.53, 55, 3.51, 17253.04, 54, 3.07, 226858.24, 54, 4.83, 18422.63, 53, 5.02, 12132.44, 52, 3.63, 5333.90, 52, 0.97, 155427.54, 51, 3.36, 20597.24, 50, 0.99, 11609.86, 50, 2.21, 1990.75, 48, 1.62, 12146.67, 48, 1.17, 12569.67, 47, 4.62, 5436.99, 47, 1.81, 12562.63, 47, 0.59, 21954.16, 47, 0.76, 7342.46, 46, 0.27, 4590.91, 46, 3.77, 156137.48, 45, 5.66, 10454.50, 44, 5.84, 3496.03, 43, 0.24, 17996.03, 41, 5.93, 51092.73, 41, 4.21, 12592.45, 40, 5.14, 1551.05, 40, 5.28, 15671.08, 39, 3.69, 18052.93, 39, 4.94, 24356.78, 38, 2.72, 11933.37, 38, 5.23, 7477.52, 38, 4.99, 9779.11, 37, 3.70, 9388.01, 37, 4.44, 4535.06, 36, 2.16, 28237.23, 36, 2.54, 242.73, 36, 0.22, 5429.88, 35, 6.15, 19800.95, 35, 2.92, 36949.23, 34, 5.63, 2379.16, 34, 5.73, 16460.33, 34, 5.11, 5849.36, 33, 6.19, 6268.85, 10301861, 1.10748970, 6283.07584999, 172124, 1.064423, 12566.151700, 70222, 3.14159, 0.00000, 3235, 1.0217, 18849.2275, 3080, 2.8435, 5507.5532, 2497, 1.3191, 5223.6939, 1849, 1.4243, 1577.3435, 1008, 5.9138, 10977.0788, 865, 1.420, 6275.962, 863, 0.271, 5486.778, 507, 1.686, 5088.629, 499, 6.014, 6286.599, 467, 5.987, 529.691, 440, 0.518, 4694.003, 410, 1.084, 9437.763, 387, 4.750, 2544.314, 375, 5.071, 796.298, 352, 0.023, 83996.847, 344, 0.949, 71430.696, 341, 5.412, 775.523, 322, 6.156, 2146.165, 286, 5.484, 10447.388, 284, 3.420, 2352.866, 255, 6.132, 6438.496, 252, 0.243, 398.149, 243, 3.092, 4690.480, 225, 3.689, 7084.897, 220, 4.952, 6812.767, 219, 0.420, 8031.092, 209, 1.282, 1748.016, 193, 5.314, 8429.241, 185, 1.820, 7632.943, 175, 3.229, 6279.553, 173, 1.537, 4705.732, 158, 4.097, 11499.656, 158, 5.539, 3154.687, 150, 3.633, 11513.883, 148, 3.222, 7234.794, 147, 3.653, 1194.447, 144, 0.817, 14143.495, 135, 6.151, 5746.271, 134, 4.644, 6836.645, 128, 2.693, 1349.867, 123, 5.650, 5760.498, 118, 2.577, 13367.973, 113, 3.357, 17789.846, 110, 4.497, 4292.331, 108, 5.828, 12036.461, 102, 5.621, 6256.778, 99, 1.14, 1059.38, 98, 0.66, 5856.48, 93, 2.32, 10213.29, 92, 0.77, 16730.46, 88, 1.50, 11926.25, 86, 1.42, 5753.38, 85, 0.66, 155.42, 81, 1.64, 6681.22, 80, 4.11, 951.72, 66, 4.55, 5216.58, 65, 0.98, 25132.30, 64, 4.19, 6040.35, 64, 0.52, 6290.19, 63, 1.51, 5643.18, 59, 6.18, 4164.31, 57, 2.30, 10973.56, 55, 2.32, 11506.77, 55, 2.20, 1592.60, 55, 5.27, 3340.61, 54, 5.54, 553.57, 53, 5.04, 9917.70, 53, 0.92, 11371.70, 52, 3.98, 17298.18, 52, 3.60, 10969.97, 49, 5.91, 3894.18, 49, 2.51, 6127.66, 48, 1.67, 12168.00, 46, 0.31, 801.82, 42, 3.70, 10575.41, 42, 4.05, 10984.19, 40, 2.17, 7860.42, 40, 4.17, 26.30, 38, 5.82, 7058.60, 37, 3.39, 6496.37, 36, 1.08, 6309.37, 36, 5.34, 7079.37, 34, 3.62, 11790.63, 32, 0.32, 16200.77, 31, 4.24, 3738.76, 29, 4.55, 11856.22, 29, 1.26, 8635.94, 27, 3.45, 5884.93, 26, 5.08, 10177.26, 26, 5.38, 21228.39, 24, 2.26, 11712.96, 24, 1.05, 242.73, 24, 5.59, 6069.78, 23, 3.63, 6284.06, 23, 1.64, 4732.03, 22, 3.46, 213.30, 21, 1.05, 3496.03, 21, 3.92, 13916.02, 21, 4.01, 5230.81, 20, 5.16, 12352.85, 20, 0.69, 1990.75, 19, 2.73, 6062.66, 19, 5.01, 11015.11, 18, 6.04, 6283.01, 18, 2.85, 7238.68, 18, 5.60, 6283.14, 18, 5.16, 17253.04, 18, 2.54, 14314.17, 17, 1.58, 7.11, 17, 0.98, 3930.21, 17, 4.75, 17267.27, 16, 2.19, 6076.89, 16, 2.19, 18073.70, 16, 6.12, 3.52, 16, 4.61, 9623.69, 16, 3.40, 16496.36, 15, 0.19, 9779.11, 15, 5.30, 13517.87, 15, 4.26, 3128.39, 15, 0.81, 709.93, 14, 0.50, 25158.60, 14, 4.38, 4136.91, 13, 0.98, 65147.62, 13, 3.31, 154717.61, 13, 2.11, 1589.07, 13, 1.92, 22483.85, 12, 6.03, 9225.54, 12, 1.53, 12559.04, 12, 5.82, 6282.10, 12, 5.61, 5642.20, 12, 2.38, 167283.76, 12, 0.39, 12132.44, 12, 3.98, 4686.89, 12, 5.81, 12569.67, 12, 0.56, 5849.36, 11, 0.45, 6172.87, 11, 5.80, 16858.48, 11, 6.22, 12146.67, 11, 2.27, 5429.88, 435939, 5.784551, 6283.075850, 12363, 5.57935, 12566.15170, 1234, 3.1416, 0.0000, 879, 3.628, 77713.771, 569, 1.870, 5573.143, 330, 5.470, 18849.228, 147, 4.480, 5507.553, 110, 2.842, 161000.686, 101, 2.815, 5223.694, 85, 3.11, 1577.34, 65, 5.47, 775.52, 61, 1.38, 6438.50, 50, 4.42, 6286.60, 47, 3.66, 7084.90, 46, 5.39, 149854.40, 42, 0.90, 10977.08, 40, 3.20, 5088.63, 35, 1.81, 5486.78, 32, 5.35, 3154.69, 30, 3.52, 796.30, 29, 4.62, 4690.48, 28, 1.84, 4694.00, 27, 3.14, 71430.70, 27, 6.17, 6836.65, 26, 1.42, 2146.17, 25, 2.81, 1748.02, 24, 2.18, 155.42, 23, 4.76, 7234.79, 21, 3.38, 7632.94, 21, 0.22, 4705.73, 20, 4.22, 1349.87, 20, 2.01, 1194.45, 20, 4.58, 529.69, 19, 1.59, 6309.37, 18, 5.70, 6040.35, 18, 6.03, 4292.33, 17, 2.90, 9437.76, 17, 2.00, 8031.09, 17, 5.78, 83996.85, 16, 0.05, 2544.31, 15, 0.95, 6127.66, 14, 0.36, 10447.39, 14, 1.48, 2352.87, 13, 0.77, 553.57, 13, 5.48, 951.72, 13, 5.27, 6279.55, 13, 3.76, 6812.77, 11, 5.41, 6256.78, 10, 0.68, 1592.60, 10, 4.95, 398.15, 10, 1.15, 3894.18, 10, 5.20, 244287.60, 10, 1.94, 11856.22, 9, 5.39, 25132.30, 8, 6.18, 1059.38, 8, 0.69, 8429.24, 8, 5.85, 242.73, 7, 5.26, 14143.50, 7, 0.52, 801.82, 6, 2.24, 8635.94, 6, 4.00, 13367.97, 6, 2.77, 90955.55, 6, 5.17, 7058.60, 5, 1.46, 233141.31, 5, 4.13, 7860.42, 5, 3.91, 26.30, 5, 3.89, 12036.46, 5, 5.58, 6290.19, 5, 5.54, 1990.75, 5, 0.83, 11506.77, 5, 6.22, 6681.22, 4, 5.26, 10575.41, 4, 1.91, 7477.52, 4, 0.43, 10213.29, 4, 1.09, 709.93, 4, 5.09, 11015.11, 4, 4.22, 88860.06, 4, 3.57, 7079.37, 4, 1.98, 6284.06, 4, 3.93, 10973.56, 4, 6.18, 9917.70, 4, 0.36, 10177.26, 4, 2.75, 3738.76, 4, 3.33, 5643.18, 4, 5.36, 25158.60, 14459, 4.27319, 6283.07585, 673, 3.917, 12566.152, 77, 0.00, 0.00, 25, 3.73, 18849.23, 4, 2.80, 6286.60, 386, 2.564, 6283.076, 31, 2.27, 12566.15, 5, 3.44, 5573.14, 2, 2.05, 18849.23, 1, 2.06, 77713.77, 1, 4.41, 161000.69, 1, 3.82, 149854.40, 1, 4.08, 6127.66, 1, 5.26, 6438.50, 9, 1.22, 6283.08, 1, 0.66, 12566.15],
  2894. XL1:[
  2895. [22639.586, 0.78475822, 8328.691424623, 1.5229241, 25.0719, -0.123598, 4586.438, 0.1873974, 7214.06286536, -2.184756, -18.860, 0.08280, 2369.914, 2.5429520, 15542.75428998, -0.661832, 6.212, -0.04080, 769.026, 3.140313, 16657.38284925, 3.04585, 50.144, -0.2472, 666.418, 1.527671, 628.30195521, -0.02664, 0.062, -0.0054, 411.596, 4.826607, 16866.9323150, -1.28012, -1.07, -0.0059, 211.656, 4.115028, -1114.6285593, -3.70768, -43.93, 0.2064, 205.436, 0.230523, 6585.7609101, -2.15812, -18.92, 0.0882, 191.956, 4.898507, 23871.4457146, 0.86109, 31.28, -0.164, 164.729, 2.586078, 14914.4523348, -0.6352, 6.15, -0.035, 147.321, 5.45530, -7700.3894694, -1.5496, -25.01, 0.118, 124.988, 0.48608, 7771.3771450, -0.3309, 3.11, -0.020, 109.380, 3.88323, 8956.9933798, 1.4963, 25.13, -0.129, 55.177, 5.57033, -1324.1780250, 0.6183, 7.3, -0.035, 45.100, 0.89898, 25195.623740, 0.2428, 24.0, -0.129, 39.533, 3.81213, -8538.240890, 2.8030, 26.1, -0.118, 38.430, 4.30115, 22756.817155, -2.8466, -12.6, 0.042, 36.124, 5.49587, 24986.074274, 4.5688, 75.2, -0.371, 30.773, 1.94559, 14428.125731, -4.3695, -37.7, 0.166, 28.397, 3.28586, 7842.364821, -2.2114, -18.8, 0.077, 24.358, 5.64142, 16171.056245, -0.6885, 6.3, -0.046, 18.585, 4.41371, -557.314280, -1.8538, -22.0, 0.10, 17.954, 3.58454, 8399.679100, -0.3576, 3.2, -0.03, 14.530, 4.9416, 23243.143759, 0.888, 31.2, -0.16, 14.380, 0.9709, 32200.137139, 2.384, 56.4, -0.29, 14.251, 5.7641, -2.301200, 1.523, 25.1, -0.12, 13.899, 0.3735, 31085.508580, -1.324, 12.4, -0.08, 13.194, 1.7595, -9443.319984, -5.231, -69.0, 0.33, 9.679, 3.0997, -16029.080894, -3.072, -50.1, 0.24, 9.366, 0.3016, 24080.995180, -3.465, -19.9, 0.08, 8.606, 4.1582, -1742.930514, -3.681, -44.0, 0.21, 8.453, 2.8416, 16100.068570, 1.192, 28.2, -0.14, 8.050, 2.6292, 14286.150380, -0.609, 6.1, -0.03, 7.630, 6.2388, 17285.684804, 3.019, 50.2, -0.25, 7.447, 1.4845, 1256.603910, -0.053, 0.1, -0.01, 7.371, 0.2736, 5957.458955, -2.131, -19.0, 0.09, 7.063, 5.6715, 33.757047, -0.308, -3.6, 0.02, 6.383, 4.7843, 7004.513400, 2.141, 32.4, -0.16, 5.742, 2.6572, 32409.686605, -1.942, 5, -0.05, 4.374, 4.3443, 22128.51520, -2.820, -13, 0.05, 3.998, 3.2545, 33524.31516, 1.766, 49, -0.25, 3.210, 2.2443, 14985.44001, -2.516, -16, 0.06, 2.915, 1.7138, 24499.74767, 0.834, 31, -0.17, 2.732, 1.9887, 13799.82378, -4.343, -38, 0.17, 2.568, 5.4122, -7072.08751, -1.576, -25, 0.11, 2.521, 3.2427, 8470.66678, -2.238, -19, 0.07, 2.489, 4.0719, -486.32660, -3.734, -44, 0.20, 2.146, 5.6135, -1952.47998, 0.645, 7, -0.03, 1.978, 2.7291, 39414.20000, 0.199, 37, -0.21, 1.934, 1.5682, 33314.76570, 6.092, 100, -0.5, 1.871, 0.4166, 30457.20662, -1.297, 12, -0.1, 1.753, 2.0582, -8886.00570, -3.38, -47, 0.2, 1.437, 2.386, -695.87607, 0.59, 7, 0, 1.373, 3.026, -209.54947, 4.33, 51, -0.2, 1.262, 5.940, 16728.37052, 1.17, 28, -0.1, 1.224, 6.172, 6656.74859, -4.04, -41, 0.2, 1.187, 5.873, 6099.43431, -5.89, -63, 0.3, 1.177, 1.014, 31571.83518, 2.41, 56, -0.3, 1.162, 3.840, 9585.29534, 1.47, 25, -0.1, 1.143, 5.639, 8364.73984, -2.18, -19, 0.1, 1.078, 1.229, 70.98768, -1.88, -22, 0.1, 1.059, 3.326, 40528.82856, 3.91, 81, -0.4, 0.990, 5.013, 40738.37803, -0.42, 30, -0.2, 0.948, 5.687, -17772.01141, -6.75, -94, 0.5, 0.876, 0.298, -0.35232, 0, 0, 0, 0.822, 2.994, 393.02097, 0, 0, 0, 0.788, 1.836, 8326.39022, 3.05, 50, -0.2, 0.752, 4.985, 22614.84180, 0.91, 31, -0.2, 0.740, 2.875, 8330.99262, 0, 0, 0, 0.669, 0.744, -24357.77232, -4.60, -75, 0.4, 0.644, 1.314, 8393.12577, -2.18, -19, 0.1, 0.639, 5.888, 575.33849, 0, 0, 0, 0.635, 1.116, 23385.11911, -2.87, -13, 0, 0.584, 5.197, 24428.75999, 2.71, 53, -0.3, 0.583, 3.513, -9095.55517, 0.95, 4, 0, 0.572, 6.059, 29970.88002, -5.03, -32, 0.1, 0.565, 2.960, 0.32863, 1.52, 25, -0.1, 0.561, 4.001, -17981.56087, -2.43, -43, 0.2, 0.557, 0.529, 7143.07519, -0.30, 3, 0, 0.546, 2.311, 25614.37623, 4.54, 75, -0.4, 0.536, 4.229, 15752.30376, -4.99, -45, 0.2, 0.493, 3.316, -8294.9344, -1.83, -29, 0.1, 0.491, 1.744, 8362.4485, 1.21, 21, -0.1, 0.478, 1.803, -10071.6219, -5.20, -69, 0.3, 0.454, 0.857, 15333.2048, 3.66, 57, -0.3, 0.445, 2.071, 8311.7707, -2.18, -19, 0.1, 0.426, 0.345, 23452.6932, -3.44, -20, 0.1, 0.420, 4.941, 33733.8646, -2.56, -2, 0, 0.413, 1.642, 17495.2343, -1.31, -1, 0, 0.404, 1.458, 23314.1314, -0.99, 9, -0.1, 0.395, 2.132, 38299.5714, -3.51, -6, 0, 0.382, 2.700, 31781.3846, -1.92, 5, 0, 0.375, 4.827, 6376.2114, 2.17, 32, -0.2, 0.361, 3.867, 16833.1753, -0.97, 3, 0, 0.358, 5.044, 15056.4277, -4.40, -38, 0.2, 0.350, 5.157, -8257.7037, -3.40, -47, 0.2, 0.344, 4.233, 157.7344, 0, 0, 0, 0.340, 2.672, 13657.8484, -0.58, 6, 0, 0.329, 5.610, 41853.0066, 3.29, 74, -0.4, 0.325, 5.895, -39.8149, 0, 0, 0, 0.309, 4.387, 21500.2132, -2.79, -13, 0.1, 0.302, 1.278, 786.0419, 0, 0, 0, 0.302, 5.341, -24567.3218, -0.27, -24, 0.1, 0.301, 1.045, 5889.8848, -1.57, -12, 0, 0.294, 4.201, -2371.2325, -3.65, -44, 0.2, 0.293, 3.704, 21642.1886, -6.55, -57, 0.2, 0.290, 4.069, 32828.4391, 2.36, 56, -0.3, 0.289, 3.472, 31713.8105, -1.35, 12, -0.1, 0.285, 5.407, -33.7814, 0.31, 4, 0, 0.283, 5.998, -16.9207, -3.71, -44, 0.2, 0.283, 2.772, 38785.8980, 0.23, 37, -0.2, 0.274, 5.343, 15613.7420, -2.54, -16, 0.1, 0.263, 3.997, 25823.9257, 0.22, 24, -0.1, 0.254, 0.600, 24638.3095, -1.61, 2, 0, 0.253, 1.344, 6447.1991, 0.29, 10, -0.1, 0.250, 0.887, 141.9754, -3.76, -44, 0.2, 0.247, 0.317, 5329.1570, -2.10, -19, 0.1, 0.245, 0.141, 36.0484, -3.71, -44, 0.2, 0.231, 2.287, 14357.1381, -2.49, -16, 0.1, 0.227, 5.158, 2.6298, 0, 0, 0, 0.219, 5.085, 47742.8914, 1.72, 63, -0.3, 0.211, 2.145, 6638.7244, -2.18, -19, 0.1, 0.201, 4.415, 39623.7495, -4.13, -14, 0, 0.194, 2.091, 588.4927, 0, 0, 0, 0.193, 3.057, -15400.7789, -3.10, -50, 0, 0.186, 5.598, 16799.3582, -0.72, 6, 0, 0.185, 3.886, 1150.6770, 0, 0, 0, 0.183, 1.619, 7178.0144, 1.52, 25, 0, 0.181, 2.635, 8328.3391, 1.52, 25, 0, 0.181, 2.077, 8329.0437, 1.52, 25, 0, 0.179, 3.215, -9652.8694, -0.90, -18, 0, 0.176, 1.716, -8815.0180, -5.26, -69, 0, 0.175, 5.673, 550.7553, 0, 0, 0, 0.170, 2.060, 31295.0580, -5.6, -39, 0, 0.167, 1.239, 7211.7617, -0.7, 6, 0, 0.165, 4.499, 14967.4158, -0.7, 6, 0, 0.164, 3.595, 15540.4531, 0.9, 31, 0, 0.164, 4.237, 522.3694, 0, 0, 0, 0.163, 4.633, 15545.0555, -2.2, -19, 0, 0.161, 0.478, 6428.0209, -2.2, -19, 0, 0.158, 2.03, 13171.5218, -4.3, -38, 0, 0.157, 2.28, 7216.3641, -3.7, -44, 0, 0.154, 5.65, 7935.6705, 1.5, 25, 0, 0.152, 0.46, 29828.9047, -1.3, 12, 0, 0.151, 1.19, -0.7113, 0, 0, 0, 0.150, 1.42, 23942.4334, -1.0, 9, 0, 0.144, 2.75, 7753.3529, 1.5, 25, 0, 0.137, 2.08, 7213.7105, -2.2, -19, 0, 0.137, 1.44, 7214.4152, -2.2, -19, 0, 0.136, 4.46, -1185.6162, -1.8, -22, 0, 0.136, 3.03, 8000.1048, -2.2, -19, 0, 0.134, 2.83, 14756.7124, -0.7, 6, 0, 0.131, 5.05, 6821.0419, -2.2, -19, 0, 0.128, 5.99, -17214.6971, -4.9, -72, 0, 0.127, 5.35, 8721.7124, 1.5, 25, 0, 0.126, 4.49, 46628.2629, -2.0, 19, 0, 0.125, 5.94, 7149.6285, 1.5, 25, 0, 0.124, 1.09, 49067.0695, 1.1, 55, 0, 0.121, 2.88, 15471.7666, 1.2, 28, 0, 0.111, 3.92, 41643.4571, 7.6, 125, -1, 0.110, 1.96, 8904.0299, 1.5, 25, 0, 0.106, 3.30, -18.0489, -2.2, -19, 0, 0.105, 2.30, -4.9310, 1.5, 25, 0, 0.104, 2.22, -6.5590, -1.9, -22, 0, 0.101, 1.44, 1884.9059, -0.1, 0, 0, 0.100, 5.92, 5471.1324, -5.9, -63, 0, 0.099, 1.12, 15149.7333, -0.7, 6, 0, 0.096, 4.73, 15508.9972, -0.4, 10, 0, 0.095, 5.18, 7230.9835, 1.5, 25, 0, 0.093, 3.37, 39900.5266, 3.9, 81, 0, 0.092, 2.01, 25057.0619, 2.7, 53, 0, 0.092, 1.21, -79.6298, 0, 0, 0, 0.092, 1.65, -26310.2523, -4.0, -68, 0, 0.091, 1.01, 42062.5561, -1.0, 23, 0, 0.090, 6.10, 29342.5781, -5.0, -32, 0, 0.090, 4.43, 15542.4020, -0.7, 6, 0, 0.090, 3.80, 15543.1066, -0.7, 6, 0, 0.089, 4.15, 6063.3859, -2.2, -19, 0, 0.086, 4.03, 52.9691, 0, 0, 0, 0.085, 0.49, 47952.4409, -2.6, 11, 0, 0.085, 1.60, 7632.8154, 2.1, 32, 0, 0.084, 0.22, 14392.0773, -0.7, 6, 0, 0.083, 6.22, 6028.4466, -4.0, -41, 0, 0.083, 0.63, -7909.9389, 2.8, 26, 0, 0.083, 5.20, -77.5523, 0, 0, 0, 0.082, 2.74, 8786.1467, -2.2, -19, 0, 0.080, 2.43, 9166.5428, -2.8, -26, 0, 0.080, 3.70, -25405.1732, 4.1, 27, 0, 0.078, 5.68, 48857.5200, 5.4, 106, -1, 0.077, 1.85, 8315.5735, -2.2, -19, 0, 0.075, 5.46, -18191.1103, 1.9, 8, 0, 0.075, 1.41, -16238.6304, 1.3, 1, 0, 0.074, 5.06, 40110.0761, -0.4, 30, 0, 0.072, 2.10, 64.4343, -3.7, -44, 0, 0.071, 2.17, 37671.2695, -3.5, -6, 0, 0.069, 1.71, 16693.4313, -0.7, 6, 0, 0.069, 3.33, -26100.7028, -8.3, -119, 1, 0.068, 1.09, 8329.4028, 1.5, 25, 0, 0.068, 3.62, 8327.9801, 1.5, 25, 0, 0.068, 2.41, 16833.1509, -1.0, 3, 0, 0.067, 3.40, 24709.2971, -3.5, -20, 0, 0.067, 1.65, 8346.7156, -0.3, 3, 0, 0.066, 2.61, 22547.2677, 1.5, 39, 0, 0.066, 3.50, 15576.5113, -1.0, 3, 0, 0.065, 5.76, 33037.9886, -2.0, 5, 0, 0.065, 4.58, 8322.1325, -0.3, 3, 0, 0.065, 6.20, 17913.9868, 3.0, 50, 0, 0.065, 1.50, 22685.8295, -1.0, 9, 0, 0.065, 2.37, 7180.3058, -1.9, -15, 0, 0.064, 1.06, 30943.5332, 2.4, 56, 0, 0.064, 1.89, 8288.8765, 1.5, 25, 0, 0.064, 4.70, 6.0335, 0.3, 4, 0, 0.063, 2.83, 8368.5063, 1.5, 25, 0, 0.063, 5.66, -2580.7819, 0.7, 7, 0, 0.062, 3.78, 7056.3285, -2.2, -19, 0, 0.061, 1.49, 8294.9100, 1.8, 29, 0, 0.061, 0.12, -10281.1714, -0.9, -18, 0, 0.061, 3.06, -8362.4729, -1.2, -21, 0, 0.061, 4.43, 8170.9571, 1.5, 25, 0, 0.059, 5.78, -13.1179, -3.7, -44, 0, 0.059, 5.97, 6625.5702, -2.2, -19, 0, 0.058, 5.01, -0.5080, -0.3, 0, 0, 0.058, 2.73, 7161.0938, -2.2, -19, 0, 0.057, 0.19, 7214.0629, -2.2, -19, 0, 0.057, 4.00, 22199.5029, -4.7, -35, 0, 0.057, 5.38, 8119.1420, 5.8, 76, 0, 0.056, 1.07, 7542.6495, 1.5, 25, 0, 0.056, 0.28, 8486.4258, 1.5, 25, 0, 0.054, 4.19, 16655.0816, 4.6, 75, 0, 0.053, 0.72, 7267.0320, -2.2, -19, 0, 0.053, 3.12, 12.6192, 0.6, 7, 0, 0.052, 2.99, -32896.013, -1.8, -49, 0, 0.052, 3.46, 1097.708, 0, 0, 0, 0.051, 5.37, -6443.786, -1.6, -25, 0, 0.051, 1.35, 7789.401, -2.2, -19, 0, 0.051, 5.83, 40042.502, 0.2, 38, 0, 0.051, 3.63, 9114.733, 1.5, 25, 0, 0.050, 1.51, 8504.484, -2.5, -22, 0, 0.050, 5.23, 16659.684, 1.5, 25, 0, 0.050, 1.15, 7247.820, -2.5, -23, 0, 0.047, 0.25, -1290.421, 0.3, 0, 0, 0.047, 4.67, -32686.464, -6.1, -100, 0, 0.047, 3.49, 548.678, 0, 0, 0, 0.047, 2.37, 6663.308, -2.2, -19, 0, 0.046, 0.98, 1572.084, 0, 0, 0, 0.046, 2.04, 14954.262, -0.7, 6, 0, 0.046, 3.72, 6691.693, -2.2, -19, 0, 0.045, 6.19, -235.287, 0, 0, 0, 0.044, 2.96, 32967.001, -0.1, 27, 0, 0.044, 3.82, -1671.943, -5.6, -66, 0, 0.043, 5.82, 1179.063, 0, 0, 0, 0.043, 0.07, 34152.617, 1.7, 49, 0, 0.043, 3.71, 6514.773, -0.3, 0, 0, 0.043, 5.62, 15.732, -2.5, -23, 0, 0.043, 5.80, 8351.233, -2.2, -19, 0, 0.042, 0.27, 7740.199, 1.5, 25, 0, 0.042, 6.14, 15385.020, -0.7, 6, 0, 0.042, 6.13, 7285.051, -4.1, -41, 0, 0.041, 1.27, 32757.451, 4.2, 78, 0, 0.041, 4.46, 8275.722, 1.5, 25, 0, 0.040, 0.23, 8381.661, 1.5, 25, 0, 0.040, 5.87, -766.864, 2.5, 29, 0, 0.040, 1.66, 254.431, 0, 0, 0, 0.040, 0.40, 9027.981, -0.4, 0, 0, 0.040, 2.96, 7777.936, 1.5, 25, 0, 0.039, 4.67, 33943.068, 6.1, 100, 0, 0.039, 3.52, 8326.062, 1.5, 25, 0, 0.039, 3.75, 21013.887, -6.5, -57, 0, 0.039, 5.60, 606.978, 0, 0, 0, 0.039, 1.19, 8331.321, 1.5, 25, 0, 0.039, 2.84, 7211.433, -2.2, -19, 0, 0.038, 0.67, 7216.693, -2.2, -19, 0, 0.038, 6.22, 25161.867, 0.6, 28, 0, 0.038, 4.40, 7806.322, 1.5, 25, 0, 0.038, 4.16, 9179.168, -2.2, -19, 0, 0.037, 4.73, 14991.999, -0.7, 6, 0, 0.036, 0.35, 67.514, -0.6, -7, 0, 0.036, 3.70, 25266.611, -1.6, 0, 0, 0.036, 5.39, 16328.796, -0.7, 6, 0, 0.035, 1.44, 7174.248, -2.2, -19, 0, 0.035, 5.00, 15684.730, -4.4, -38, 0, 0.035, 0.39, -15.419, -2.2, -19, 0, 0.035, 6.07, 15020.385, -0.7, 6, 0, 0.034, 6.01, 7371.797, -2.2, -19, 0, 0.034, 0.96, -16623.626, -3.4, -54, 0, 0.033, 6.24, 9479.368, 1.5, 25, 0, 0.033, 3.21, 23661.896, 5.2, 82, 0, 0.033, 4.06, 8311.418, -2.2, -19, 0, 0.033, 2.40, 1965.105, 0, 0, 0, 0.033, 5.17, 15489.785, -0.7, 6, 0, 0.033, 5.03, 21986.540, 0.9, 31, 0, 0.033, 4.10, 16691.140, 2.7, 46, 0, 0.033, 5.13, 47114.589, 1.7, 63, 0, 0.033, 4.45, 8917.184, 1.5, 25, 0, 0.033, 4.23, 2.078, 0, 0, 0, 0.032, 2.33, 75.251, 1.5, 25, 0, 0.032, 2.10, 7253.878, -2.2, -19, 0, 0.032, 3.11, -0.224, 1.5, 25, 0, 0.032, 4.43, 16640.462, -0.7, 6, 0, 0.032, 5.68, 8328.363, 0, 0, 0, 0.031, 5.32, 8329.020, 3.0, 50, 0, 0.031, 3.70, 16118.093, -0.7, 6, 0, 0.030, 3.67, 16721.817, -0.7, 6, 0, 0.030, 5.27, -1881.492, -1.2, -15, 0, 0.030, 5.72, 8157.839, -2.2, -19, 0, 0.029, 5.73, -18400.313, -6.7, -94, 0, 0.029, 2.76, 16.000, -2.2, -19, 0, 0.029, 1.75, 8879.447, 1.5, 25, 0, 0.029, 0.32, 8851.061, 1.5, 25, 0, 0.029, 0.90, 14704.903, 3.7, 57, 0, 0.028, 2.90, 15595.723, -0.7, 6, 0, 0.028, 5.88, 16864.631, 0.2, 24, 0, 0.028, 0.63, 16869.234, -2.8, -26, 0, 0.028, 4.04, -18609.863, -2.4, -43, 0, 0.027, 5.83, 6727.736, -5.9, -63, 0, 0.027, 6.12, 418.752, 4.3, 51, 0, 0.027, 0.14, 41157.131, 3.9, 81, 0, 0.026, 3.80, 15.542, 0, 0, 0, 0.026, 1.68, 50181.698, 4.8, 99, -1, 0.026, 0.32, 315.469, 0, 0, 0, 0.025, 5.67, 19.188, 0.3, 0, 0, 0.025, 3.16, 62.133, -2.2, -19, 0, 0.025, 3.76, 15502.939, -0.7, 6, 0, 0.025, 4.53, 45999.961, -2.0, 19, 0, 0.024, 3.21, 837.851, -4.4, -51, 0, 0.024, 2.82, 38157.596, 0.3, 37, 0, 0.024, 5.21, 15540.124, -0.7, 6, 0, 0.024, 0.26, 14218.576, 0, 13, 0, 0.024, 3.01, 15545.384, -0.7, 6, 0, 0.024, 1.16, -17424.247, -0.6, -21, 0, 0.023, 2.34, -67.574, 0.6, 7, 0, 0.023, 2.44, 18.024, -1.9, -22, 0, 0.023, 3.70, 469.400, 0, 0, 0, 0.023, 0.72, 7136.511, -2.2, -19, 0, 0.023, 4.50, 15582.569, -0.7, 6, 0, 0.023, 2.80, -16586.395, -4.9, -72, 0, 0.023, 1.51, 80.182, 0, 0, 0, 0.023, 1.09, 5261.583, -1.5, -12, 0, 0.023, 0.56, 54956.954, -0.5, 44, 0, 0.023, 4.01, 8550.860, -2.2, -19, 0, 0.023, 4.46, 38995.448, -4.1, -14, 0, 0.023, 3.82, 2358.126, 0, 0, 0, 0.022, 3.77, 32271.125, 0.5, 34, 0, 0.022, 0.82, 15935.775, -0.7, 6, 0, 0.022, 1.07, 24013.421, -2.9, -13, 0, 0.022, 0.40, 8940.078, -2.2, -19, 0, 0.022, 2.06, 15700.489, -0.7, 6, 0, 0.022, 4.27, 15124.002, -5.0, -45, 0, 0.021, 1.16, 56071.583, 3.2, 88, 0, 0.021, 5.58, 9572.189, -2.2, -19, 0, 0.020, 1.70, -17.273, -3.7, -44, 0, 0.020, 3.05, 214.617, 0, 0, 0, 0.020, 4.41, 8391.048, -2.2, -19, 0, 0.020, 5.95, 23869.145, 2.4, 56, 0, 0.020, 0.42, 40947.927, -4.7, -21, 0, 0.019, 1.39, 5818.897, 0.3, 10, 0, 0.019, 0.71, 23873.747, -0.7, 6, 0, 0.019, 2.81, 7291.615, -2.2, -19, 0, 0.019, 5.09, 8428.018, -2.2, -19, 0, 0.019, 4.14, 6518.187, -1.6, -12, 0, 0.019, 3.85, 21.330, 0, 0, 0, 0.018, 0.66, 14445.046, -0.7, 6, 0, 0.018, 1.65, 0.966, -4.0, -48, 0, 0.018, 5.64, -17143.709, -6.8, -94, 0, 0.018, 6.01, 7736.432, -2.2, -19, 0, 0.018, 2.74, 31153.083, -1.9, 5, 0, 0.018, 4.58, 6116.355, -2.2, -19, 0, 0.018, 2.28, 46.401, 0.3, 0, 0, 0.018, 3.80, 10213.597, 1.4, 25, 0, 0.018, 2.84, 56281.132, -1.1, 36, 0, 0.018, 3.53, 8249.062, 1.5, 25, 0, 0.017, 4.43, 20871.911, -3, -13, 0, 0.017, 4.44, 627.596, 0, 0, 0, 0.017, 1.85, 628.308, 0, 0, 0, 0.017, 1.19, 8408.321, 2, 25, 0, 0.017, 1.95, 7214.056, -2, -19, 0, 0.017, 1.57, 7214.070, -2, -19, 0, 0.017, 1.65, 13870.811, -6, -60, 0, 0.017, 0.30, 22.542, -4, -44, 0, 0.017, 2.62, -119.445, 0, 0, 0, 0.016, 4.87, 5747.909, 2, 32, 0, 0.016, 4.45, 14339.108, -1, 6, 0, 0.016, 1.83, 41366.680, 0, 30, 0, 0.016, 4.53, 16309.618, -3, -23, 0, 0.016, 2.54, 15542.754, -1, 6, 0, 0.016, 6.05, 1203.646, 0, 0, 0, 0.015, 5.2, 2751.147, 0, 0, 0, 0.015, 1.8, -10699.924, -5, -69, 0, 0.015, 0.4, 22824.391, -3, -20, 0, 0.015, 2.1, 30666.756, -6, -39, 0, 0.015, 2.1, 6010.417, -2, -19, 0, 0.015, 0.7, -23729.470, -5, -75, 0, 0.015, 1.4, 14363.691, -1, 6, 0, 0.015, 5.8, 16900.689, -2, 0, 0, 0.015, 5.2, 23800.458, 3, 53, 0, 0.015, 5.3, 6035.000, -2, -19, 0, 0.015, 1.2, 8251.139, 2, 25, 0, 0.015, 3.6, -8.860, 0, 0, 0, 0.015, 0.8, 882.739, 0, 0, 0, 0.015, 3.0, 1021.329, 0, 0, 0, 0.015, 0.6, 23296.107, 1, 31, 0, 0.014, 5.4, 7227.181, 2, 25, 0, 0.014, 0.1, 7213.352, -2, -19, 0, 0.014, 4.0, 15506.706, 3, 50, 0, 0.014, 3.4, 7214.774, -2, -19, 0, 0.014, 4.6, 6665.385, -2, -19, 0, 0.014, 0.1, -8.636, -2, -22, 0, 0.014, 3.1, 15465.202, -1, 6, 0, 0.014, 4.9, 508.863, 0, 0, 0, 0.014, 3.5, 8406.244, 2, 25, 0, 0.014, 1.3, 13313.497, -8, -82, 0, 0.014, 2.8, 49276.619, -3, 0, 0, 0.014, 0.1, 30528.194, -3, -10, 0, 0.013, 1.7, 25128.050, 1, 31, 0, 0.013, 2.9, 14128.405, -1, 6, 0, 0.013, 3.4, 57395.761, 3, 80, 0, 0.013, 2.7, 13029.546, -1, 6, 0, 0.013, 3.9, 7802.556, -2, -19, 0, 0.013, 1.6, 8258.802, -2, -19, 0, 0.013, 2.2, 8417.709, -2, -19, 0, 0.013, 0.7, 9965.210, -2, -19, 0, 0.013, 3.4, 50391.247, 0, 48, 0, 0.013, 3.0, 7134.433, -2, -19, 0, 0.013, 2.9, 30599.182, -5, -31, 0, 0.013, 3.6, -9723.857, 1, 0, 0, 0.013, 4.8, 7607.084, -2, -19, 0, 0.012, 0.8, 23837.689, 1, 35, 0, 0.012, 3.6, 4.409, -4, -44, 0, 0.012, 5.0, 16657.031, 3, 50, 0, 0.012, 4.4, 16657.735, 3, 50, 0, 0.012, 1.1, 15578.803, -4, -38, 0, 0.012, 6.0, -11.490, 0, 0, 0, 0.012, 1.9, 8164.398, 0, 0, 0, 0.012, 2.4, 31852.372, -4, -17, 0, 0.012, 2.4, 6607.085, -2, -19, 0, 0.012, 4.2, 8359.870, 0, 0, 0, 0.012, 0.5, 5799.713, -2, -19, 0, 0.012, 2.7, 7220.622, 0, 0, 0, 0.012, 4.3, -139.720, 0, 0, 0, 0.012, 2.3, 13728.836, -2, -16, 0, 0.011, 3.6, 14912.146, 1, 31, 0, 0.011, 4.7, 14916.748, -2, -19, 0],
  2896. [1.67680, 4.66926, 628.301955, -0.0266, 0.1, -0.005, 0.51642, 3.3721, 6585.760910, -2.158, -18.9, 0.09, 0.41383, 5.7277, 14914.452335, -0.635, 6.2, -0.04, 0.37115, 3.9695, 7700.389469, 1.550, 25.0, -0.12, 0.27560, 0.7416, 8956.993380, 1.496, 25.1, -0.13, 0.24599, 4.2253, -2.301200, 1.523, 25.1, -0.12, 0.07118, 0.1443, 7842.36482, -2.211, -19, 0.08, 0.06128, 2.4998, 16171.05625, -0.688, 6, 0, 0.04516, 0.443, 8399.67910, -0.36, 3, 0, 0.04048, 5.771, 14286.15038, -0.61, 6, 0, 0.03747, 4.626, 1256.60391, -0.05, 0, 0, 0.03707, 3.415, 5957.45895, -2.13, -19, 0.1, 0.03649, 1.800, 23243.14376, 0.89, 31, -0.2, 0.02438, 0.042, 16029.08089, 3.07, 50, -0.2, 0.02165, 1.017, -1742.93051, -3.68, -44, 0.2, 0.01923, 3.097, 17285.68480, 3.02, 50, -0.3, 0.01692, 1.280, 0.3286, 1.52, 25, -0.1, 0.01361, 0.298, 8326.3902, 3.05, 50, -0.2, 0.01293, 4.013, 7072.0875, 1.58, 25, -0.1, 0.01276, 4.413, 8330.9926, 0, 0, 0, 0.01270, 0.101, 8470.6668, -2.24, -19, 0.1, 0.01097, 1.203, 22128.5152, -2.82, -13, 0, 0.01088, 2.545, 15542.7543, -0.66, 6, 0, 0.00835, 0.190, 7214.0629, -2.18, -19, 0.1, 0.00734, 4.855, 24499.7477, 0.83, 31, -0.2, 0.00686, 5.130, 13799.8238, -4.34, -38, 0.2, 0.00631, 0.930, -486.3266, -3.73, -44, 0, 0.00585, 0.699, 9585.2953, 1.5, 25, 0, 0.00566, 4.073, 8328.3391, 1.5, 25, 0, 0.00566, 0.638, 8329.0437, 1.5, 25, 0, 0.00539, 2.472, -1952.4800, 0.6, 7, 0, 0.00509, 2.88, -0.7113, 0, 0, 0, 0.00469, 3.56, 30457.2066, -1.3, 12, 0, 0.00387, 0.78, -0.3523, 0, 0, 0, 0.00378, 1.84, 22614.8418, 0.9, 31, 0, 0.00362, 5.53, -695.8761, 0.6, 7, 0, 0.00317, 2.80, 16728.3705, 1.2, 28, 0, 0.00303, 6.07, 157.7344, 0, 0, 0, 0.00300, 2.53, 33.7570, -0.3, -4, 0, 0.00295, 4.16, 31571.8352, 2.4, 56, 0, 0.00289, 5.98, 7211.7617, -0.7, 6, 0, 0.00285, 2.06, 15540.4531, 0.9, 31, 0, 0.00283, 2.65, 2.6298, 0, 0, 0, 0.00282, 6.17, 15545.0555, -2.2, -19, 0, 0.00278, 1.23, -39.8149, 0, 0, 0, 0.00272, 3.82, 7216.3641, -3.7, -44, 0, 0.00270, 4.37, 70.9877, -1.9, -22, 0, 0.00256, 5.81, 13657.8484, -0.6, 6, 0, 0.00244, 5.64, -0.2237, 1.5, 25, 0, 0.00240, 2.96, 8311.7707, -2.2, -19, 0, 0.00239, 0.87, -33.7814, 0.3, 4, 0, 0.00216, 2.31, 15.9995, -2.2, -19, 0, 0.00186, 3.46, 5329.1570, -2.1, -19, 0, 0.00169, 2.40, 24357.772, 4.6, 75, 0, 0.00161, 5.80, 8329.403, 1.5, 25, 0, 0.00161, 5.20, 8327.980, 1.5, 25, 0, 0.00160, 4.26, 23385.119, -2.9, -13, 0, 0.00156, 1.26, 550.755, 0, 0, 0, 0.00155, 1.25, 21500.213, -2.8, -13, 0, 0.00152, 0.60, -16.921, -3.7, -44, 0, 0.00150, 2.71, -79.630, 0, 0, 0, 0.00150, 5.29, 15.542, 0, 0, 0, 0.00148, 1.06, -2371.232, -3.7, -44, 0, 0.00141, 0.77, 8328.691, 1.5, 25, 0, 0.00141, 3.67, 7143.075, -0.3, 0, 0, 0.00138, 5.45, 25614.376, 4.5, 75, 0, 0.00129, 4.90, 23871.446, 0.9, 31, 0, 0.00126, 4.03, 141.975, -3.8, -44, 0, 0.00124, 6.01, 522.369, 0, 0, 0, 0.00120, 4.94, -10071.622, -5.2, -69, 0, 0.00118, 5.07, -15.419, -2.2, -19, 0, 0.00107, 3.49, 23452.693, -3.4, -20, 0, 0.00104, 4.78, 17495.234, -1.3, 0, 0, 0.00103, 1.44, -18.049, -2.2, -19, 0, 0.00102, 5.63, 15542.402, -0.7, 6, 0, 0.00102, 2.59, 15543.107, -0.7, 6, 0, 0.00100, 4.11, -6.559, -1.9, -22, 0, 0.00097, 0.08, 15400.779, 3.1, 50, 0, 0.00096, 5.84, 31781.385, -1.9, 5, 0, 0.00094, 1.08, 8328.363, 0, 0, 0, 0.00094, 2.46, 16799.358, -0.7, 6, 0, 0.00094, 1.69, 6376.211, 2.2, 32, 0, 0.00093, 3.64, 8329.020, 3.0, 50, 0, 0.00093, 2.65, 16655.082, 4.6, 75, 0, 0.00090, 1.90, 15056.428, -4.4, -38, 0, 0.00089, 1.59, 52.969, 0, 0, 0, 0.00088, 2.02, -8257.704, -3.4, -47, 0, 0.00088, 3.02, 7213.711, -2.2, -19, 0, 0.00087, 0.50, 7214.415, -2.2, -19, 0, 0.00087, 0.49, 16659.684, 1.5, 25, 0, 0.00082, 5.64, -4.931, 1.5, 25, 0, 0.00079, 5.17, 13171.522, -4.3, -38, 0, 0.00076, 3.60, 29828.905, -1.3, 12, 0, 0.00076, 4.08, 24567.322, 0.3, 24, 0, 0.00076, 4.58, 1884.906, -0.1, 0, 0, 0.00073, 0.33, 31713.811, -1.4, 12, 0, 0.00073, 0.93, 32828.439, 2.4, 56, 0, 0.00071, 5.91, 38785.898, 0.2, 37, 0, 0.00069, 2.20, 15613.742, -2.5, -16, 0, 0.00066, 3.87, 15.732, -2.5, -23, 0, 0.00066, 0.86, 25823.926, 0.2, 24, 0, 0.00065, 2.52, 8170.957, 1.5, 25, 0, 0.00063, 0.18, 8322.132, -0.3, 0, 0, 0.00060, 5.84, 8326.062, 1.5, 25, 0, 0.00060, 5.15, 8331.321, 1.5, 25, 0, 0.00060, 2.18, 8486.426, 1.5, 25, 0, 0.00058, 2.30, -1.731, -4, -44, 0, 0.00058, 5.43, 14357.138, -2, -16, 0, 0.00057, 3.09, 8294.910, 2, 29, 0, 0.00057, 4.67, -8362.473, -1, -21, 0, 0.00056, 4.15, 16833.151, -1, 0, 0, 0.00054, 1.93, 7056.329, -2, -19, 0, 0.00054, 5.27, 8315.574, -2, -19, 0, 0.00052, 5.6, 8311.418, -2, -19, 0, 0.00052, 2.7, -77.552, 0, 0, 0, 0.00051, 4.3, 7230.984, 2, 25, 0, 0.00050, 0.4, -0.508, 0, 0, 0, 0.00049, 5.4, 7211.433, -2, -19, 0, 0.00049, 4.4, 7216.693, -2, -19, 0, 0.00049, 4.3, 16864.631, 0, 24, 0, 0.00049, 2.2, 16869.234, -3, -26, 0, 0.00047, 6.1, 627.596, 0, 0, 0, 0.00047, 5.0, 12.619, 1, 7, 0, 0.00045, 4.9, -8815.018, -5, -69, 0, 0.00044, 1.6, 62.133, -2, -19, 0, 0.00042, 2.9, -13.118, -4, -44, 0, 0.00042, 4.1, -119.445, 0, 0, 0, 0.00041, 4.3, 22756.817, -3, -13, 0, 0.00041, 3.6, 8288.877, 2, 25, 0, 0.00040, 0.5, 6663.308, -2, -19, 0, 0.00040, 1.1, 8368.506, 2, 25, 0, 0.00039, 4.1, 6443.786, 2, 25, 0, 0.00039, 3.1, 16657.383, 3, 50, 0, 0.00038, 0.1, 16657.031, 3, 50, 0, 0.00038, 3.0, 16657.735, 3, 50, 0, 0.00038, 4.6, 23942.433, -1, 9, 0, 0.00037, 4.3, 15385.020, -1, 6, 0, 0.00037, 5.0, 548.678, 0, 0, 0, 0.00036, 1.8, 7213.352, -2, -19, 0, 0.00036, 1.7, 7214.774, -2, -19, 0, 0.00035, 1.1, 7777.936, 2, 25, 0, 0.00035, 1.6, -8.860, 0, 0, 0, 0.00035, 4.4, 23869.145, 2, 56, 0, 0.00035, 2.0, 6691.693, -2, -19, 0, 0.00034, 1.3, -1185.616, -2, -22, 0, 0.00034, 2.2, 23873.747, -1, 6, 0, 0.00033, 2.0, -235.287, 0, 0, 0, 0.00033, 3.1, 17913.987, 3, 50, 0, 0.00033, 1.0, 8351.233, -2, -19, 0],
  2897. [0.004870, 4.6693, 628.30196, -0.027, 0, -0.01, 0.002280, 2.6746, -2.30120, 1.523, 25, -0.12, 0.001500, 3.372, 6585.76091, -2.16, -19, 0.1, 0.001200, 5.728, 14914.45233, -0.64, 6, 0, 0.001080, 3.969, 7700.38947, 1.55, 25, -0.1, 0.000800, 0.742, 8956.99338, 1.50, 25, -0.1, 0.000254, 6.002, 0.3286, 1.52, 25, -0.1, 0.000210, 0.144, 7842.3648, -2.21, -19, 0, 0.000180, 2.500, 16171.0562, -0.7, 6, 0, 0.000130, 0.44, 8399.6791, -0.4, 3, 0, 0.000126, 5.03, 8326.3902, 3.0, 50, 0, 0.000120, 5.77, 14286.1504, -0.6, 6, 0, 0.000118, 5.96, 8330.9926, 0, 0, 0, 0.000110, 1.80, 23243.1438, 0.9, 31, 0, 0.000110, 3.42, 5957.4590, -2.1, -19, 0, 0.000110, 4.63, 1256.6039, -0.1, 0, 0, 0.000099, 4.70, -0.7113, 0, 0, 0, 0.000070, 0.04, 16029.0809, 3.1, 50, 0, 0.000070, 5.14, 8328.3391, 1.5, 25, 0, 0.000070, 5.85, 8329.0437, 1.5, 25, 0, 0.000060, 1.02, -1742.9305, -3.7, -44, 0, 0.000060, 3.10, 17285.6848, 3.0, 50, 0, 0.000054, 5.69, -0.352, 0, 0, 0, 0.000043, 0.52, 15.542, 0, 0, 0, 0.000041, 2.03, 2.630, 0, 0, 0, 0.000040, 0.10, 8470.667, -2.2, -19, 0, 0.000040, 4.01, 7072.088, 1.6, 25, 0, 0.000036, 2.93, -8.860, -0.3, 0, 0, 0.000030, 1.20, 22128.515, -2.8, -13, 0, 0.000030, 2.54, 15542.754, -0.7, 6, 0, 0.000027, 4.43, 7211.762, -0.7, 6, 0, 0.000026, 0.51, 15540.453, 0.9, 31, 0, 0.000026, 1.44, 15545.055, -2.2, -19, 0, 0.000025, 5.37, 7216.364, -3.7, -44, 0],
  2898. [0.00001200, 1.041, -2.3012, 1.52, 25, -0.1, 0.00000170, 0.31, -0.711, 0, 0, 0]
  2899. ],
  2900. SHUO_KB:[1457698.231017, 29.53067166, 1546082.512234, 29.53085106, 1640640.735300, 29.53060000, 1642472.151543, 29.53085439, 1683430.509300, 29.53086148, 1752148.041079, 29.53085097, 1807665.420323, 29.53059851, 1883618.114100, 29.53060000, 1907360.704700, 29.53060000, 1936596.224900, 29.53060000, 1939135.675300, 29.53060000, 1947168.00],
  2901. SB:'00000000000000000000000020000002000000000000200000001000000000000000000000000000000000000010002000000000000000200000000200000000000000000000002000000000020000000000000000000000000000000000100000000000010000001000001000000000000000100000000020000000000000002000000000000001000000000000001000000000000100000000010010000020000202001101002020200101000002020010100002000000010100202000001010000202020001010000202020001010000202000001010020202001010000020200101000022000010101002020001010100002020201010100002020200010100002020000010100202000010100000202001010000220200101010020200010101001000000000001001000200000000000020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000020010000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000010001000000100001001010010101000000000000100001000001000100000000001000000000000100100000000010010100010000000000000000000100011000000000000000000002000000001020000000001001000001000001001000000001000100010010000100001000000100000100100010000000000000010000200000000000000000000000000000000001000000000100100000000000000000000000000000000000000000000000000010000000000101000000000000000000000000000001001010010010100100010000010010000001001001001001000000100100000100010000000100000000000000100000000010100000000001000100010100100000010000000010010000000001000001000000101002000000000100000000000000100001000000010100000101001000000100100100100100000010010010000001001010000000100101001000000000101001000000010101000000000010000001000001000001000000100000000000010010000000000000000010000000100010010000000100000010000010100010010000000000000000001001000000000100101000000010000100110100000000100000000000010000000010000010000100010000000000000000000000010000000000000000100000001000000000001000000000000000100000000000100000010000000100001010000000000101000010100000001001000000010100000000000000000000001000000000001000000000000000000000000000000000000000100000001000000000000100000000000000000000000010000000010010000000001000001010100000001000000000000001000010000101001001010000001000101000000000100100000100110000010010010010001001010010010000001000000000000101000010000000101000000000010000001001001001001000000100101000000010000100010101001010010010000101010010000000101010010000000100010010000010010010000001001010000000100101000100010000000100100001000100100000101010000000000101010100100000100000000000010010000010001001010001000100000001001010000000000000001000100100000100010100001010100000100000000100100100100010010100010001000000010010100000010001010000000001000000000001001010100000001000010100000001001010000101000000010010000100101001000100010100000000010000010000010010001000001000010100000001000000100001000000010000101001001010000001000101000001000100100000100100000010010010010101000000010000000000000010000000001010010010000100010000010010000001001000001001000000100100000100010010100100100001010000100000001010000100000001010100000000100000010000010010010000001001010001000100101000101000010100100000001010100100000001010100000000001000000100000000100100000010010100000000000010001000100000001001000010001001000001010101001000001000101001000100000001000000100100000100010000100010001000000010010100000010000000010001000010001000001000010101000000000010100001000001000100101000100010000000100101000000100010000000000010000010000010010101000000010000101000000010010100001010000010100000001001010000001000101000000000100000000100100101000000000000101000000000100001000010000000100001010010010100000010001010000010001000000001001000000000100000101000010100100000000010100100000001010100100100001000100002000000100002200001010010000000001010001010000101001001000010100001000000010101001000001010001000000000000000100000000100100000001000100010000000010000010000001000000000010101001010000010101000000001000000001000000001001000000000101000100000000100010100000000010000000100010010000010101010010101010100010010001000010010000000001010001000100001000100010000000100100000000100000000000010000101010000010000101010000000000101000010000010100000010001010100000001001000000001000000000000000100000000000100101010000000100001010000100100101000010100000100000000010010000010010001000001010001000000001001001010000100101001000000100001000000010101000001000000000100100000000100010000010100010000001010010000100001001000010000101001000000000101000000000010101001001000000001000000000101000100000010100110000001010110010100001010010000000101010010000000101010010000010000010000000000010001000000101001000000010001000101001000100100100000010000000000101010000100010100010000100010000000010000001010010000000100010001000010001000101001000000100000000000100100000101000100101010100000100100010000100100201001000100010000100000000010010000001001001000001001000100000000001010100000101001010100000001001010010000000101001000100010100100000010010010010010000001000000001000100000001000010100000000000010100101001001010010001000001001000000100100000100000000000010100010001001010010010100001000010000000001000010000100101010010010010000001001001001001000000000101000100000010100100101001010100000000001010010000000001010000000000101000010010010000010000000001010001000000101001000010010001000101001000100100000001010100100000101010100100000100000100000010010100010000001000010000000100010001010010001001000001000001001000001010100001000101000101001000100000000100010010100100000001000100010100100000000010010000001000001000001001010101000001000010101000001001010100101001001010010001000101001000000000100100000010010010000010010001000000010010100000000010010100001000010010100101010001010010000000001001001001100100100100100000010010100010101000010010000100000000010000000001010000010100100010010010010000011001001001000000000100101000100010010100100101000010000100000000010100100000001010100100100100000000010010010000000001001010001000100101001001010010101000000000010100001000001010100001000001000000000000100100100000010010100010001001000010000100100010001010010001001000000010101001000001010001001000001000001001000100101000100010010000100001001000100010100100000010010010000010010001010001000010101010000010010001001000001000100101001000010010001000101001000000100100100000100000010000010010101000000010000101000000000000101001010010010100100010001010010000001001001001001100000100100100100010000000100101000000000100001000010100100101001000100010100100000010010010010011001001001001001000100101000001010000100100000000000100000000000010100000001001000000100100100100110010010010200000001001010001000100101001001010000101001000000010101001000000010001001001001000001000000100100000000010010100010001001010010010100101010000000010101000010000010101000010000010000000000001001000000000100101000100010010000100101001000100010100100010010000010101010010100010100010010000010000010010001001010001000100100001000010010001000101001000100100000100000100100010000010100101010000000100101010010100010001001000010010100100010001010010000001000001000001000000100000100101010100000100001010000100000001010010100100101001000100010100100000010010010010011000001001001001010100000001001010000000001000010000101001001010010001000101001000000100100100100110010010010010010001001010010010100101000000000000101000010000000101000000010010000001001001001001100100100100000000010010100010101001010010010000101010010000000101010010000000100010010000010010010000001001010000000100101000100010010000100101001000100100000101010000100000101010100100000100000000000010010000010001001010001000100100001001010010001000100001000100100100100010100001010100000100101010100100100100010010100010001001000010010100100010001010010001001000001000001001010100000001001010100000001001010000101002001010010000100101001000100010100100000010000010010010000001000001001010100000001000010000001000000010100101001001010010001000101001001000100100100100110000010010010010101001010010000100001000010000100001010010010020000000000000000020001000000000000000000000002000000000000000000000000000000100000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000020000000000000000000002000000000000002000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000200000000000000000000000002000000000000000000000000000000000020000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000010000200000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000100000000000000000200000000000000000000000002000000000000000000000000000000000020000000200000000000000000000000000002000000000000200000000000020000000000000000000000000000000000000000000000000000000000000000000000000000020000000002000000000200000000000000000000000000000000000000000000000000000000001000000000000000000200000000000000000000000000000000200000000000000000000000000000000100000000000000000000000000000000000000000200000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000100000200000000000000000000000002000000000200000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000001000000000000000000000000002000000000000002000000000002000000000000000000000000200200000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000000000100000010100000000000000000000000100000000200000000000000000000020000000000000000000000200000000000000000000000000000000000000000200000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000002000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000020000000000000020000000000000000000000000000000000000000100000000001000000000000000000000000000000000200000000000200000000000000000000000000000000000000000000000000000000002000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000100000020000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000010000002000000000002000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000001000000002000000000000002000000000000000000000000000000000000000000000000000000220000000010000020000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201000020000000200000000000000000000000001000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000200010000000000000000000000000000000000100000000000000100000000000000000000000000000000000000000002000100000000000000000000000000010000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000100000000000000000000000000000000000000000200000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000200000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000002000000000000000000000000000000000020000020000000000000020000000000000000000000000000200000000000020000000000000000000000000000000000000000000001000000000000000000000000000000020000000000000000000200000000000000000000000000000000000000000000010000000000000000000000000000000200000020000000000000000000000000200000000000000000000000000000000000000000000000002000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000020000000000002000000000000002000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000020000000000000001000000000000000000000000000000000000000002000000000002000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000200000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000020000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000100000000000000000000000000000000000000000000000',
  2902. nutationLon2:function(t){
  2903. var a = -1.742 * t;
  2904. var t2 = t * t;
  2905. var dl = 0;
  2906. for (var i = 0, j = this.NUT_B.length; i < j; i += 5) {
  2907. dl += (this.NUT_B[i + 3] + a) * Math.sin(this.NUT_B[i] + this.NUT_B[i + 1] * t + this.NUT_B[i + 2] * t2);
  2908. a = 0;
  2909. }
  2910. return dl / 100 / this.SECOND_PER_RAD;
  2911. },
  2912. eLon:function(t,n){
  2913. t /= 10;
  2914. var v = 0;
  2915. var tn = 1;
  2916. var n1;
  2917. var n2;
  2918. var m;
  2919. var c;
  2920. var pn = 1;
  2921. var n0;
  2922. var m0 = this.XL0[pn + 1] - this.XL0[pn];
  2923. for (var i = 0; i < 6; i++, tn *= t) {
  2924. n1 = Math.floor(this.XL0[pn + i]);
  2925. n2 = Math.floor(this.XL0[pn + 1 + i]);
  2926. n0 = n2 - n1;
  2927. if (n0 === 0) {
  2928. continue;
  2929. }
  2930. if (n < 0) {
  2931. m = n2;
  2932. } else {
  2933. m = Math.floor((3 * n * n0 / m0 + 0.5) + n1);
  2934. if (i !== 0) {
  2935. m += 3;
  2936. }
  2937. if (m > n2) {
  2938. m = n2;
  2939. }
  2940. }
  2941. c = 0;
  2942. for (var j = n1; j < m; j += 3) {
  2943. c += this.XL0[j] * Math.cos(this.XL0[j + 1] + t * this.XL0[j + 2]);
  2944. }
  2945. v += c * tn;
  2946. }
  2947. v /= this.XL0[0];
  2948. var t2 = t * t;
  2949. v += (-0.0728 - 2.7702 * t - 1.1019 * t2 - 0.0996 * t2 * t) / this.SECOND_PER_RAD;
  2950. return v;
  2951. },
  2952. mLon:function(t,n){
  2953. var ob = this.XL1;
  2954. var obl = ob[0].length;
  2955. var tn = 1;
  2956. var v = 0;
  2957. var j;
  2958. var c;
  2959. var t2 = t * t;
  2960. var t3 = t2 * t;
  2961. var t4 = t3 * t;
  2962. var t5 = t4 * t;
  2963. var tx = t - 10;
  2964. v += (3.81034409 + 8399.684730072 * t - 3.319e-05 * t2 + 3.11e-08 * t3 - 2.033e-10 * t4) * this.SECOND_PER_RAD;
  2965. v += 5028.792262 * t + 1.1124406 * t2 + 0.00007699 * t3 - 0.000023479 * t4 - 0.0000000178 * t5;
  2966. if (tx > 0) {
  2967. v += -0.866 + 1.43 * tx + 0.054 * tx * tx;
  2968. }
  2969. t2 /= 1e4;
  2970. t3 /= 1e8;
  2971. t4 /= 1e8;
  2972. n *= 6;
  2973. if (n < 0) {
  2974. n = obl;
  2975. }
  2976. for (var i = 0, x = ob.length; i < x; i++, tn *= t) {
  2977. var f = ob[i];
  2978. var l = f.length;
  2979. var m = Math.floor((n * l / obl + 0.5));
  2980. if (i > 0) {
  2981. m += 6;
  2982. }
  2983. if (m >= l) {
  2984. m = l;
  2985. }
  2986. for (j = 0, c = 0; j < m; j += 6) {
  2987. c += f[j] * Math.cos(f[j + 1] + t * f[j + 2] + t2 * f[j + 3] + t3 * f[j + 4] + t4 * f[j + 5]);
  2988. }
  2989. v += c * tn;
  2990. }
  2991. v /= this.SECOND_PER_RAD;
  2992. return v;
  2993. },
  2994. gxcSunLon:function(t){
  2995. var t2 = t * t;
  2996. var v = -0.043126 + 628.301955 * t - 0.000002732 * t2;
  2997. var e = 0.016708634 - 0.000042037 * t - 0.0000001267 * t2;
  2998. return -20.49552 * (1 + e * Math.cos(v)) / this.SECOND_PER_RAD;
  2999. },
  3000. ev:function(t){
  3001. var f = 628.307585 * t;
  3002. return 628.332 + 21 * Math.sin(1.527 + f) + 0.44 * Math.sin(1.48 + f * 2) + 0.129 * Math.sin(5.82 + f) * t + 0.00055 * Math.sin(4.21 + f) * t * t;
  3003. },
  3004. saLon:function(t,n){
  3005. return this.eLon(t, n) + this.nutationLon2(t) + this.gxcSunLon(t) + Math.PI;
  3006. },
  3007. dtExt:function(y,jsd){
  3008. var dy = (y - 1820) / 100;
  3009. return -20 + jsd * dy * dy;
  3010. },
  3011. dtCalc:function(y){
  3012. var size = this.DT_AT.length;
  3013. var y0 = this.DT_AT[size - 2];
  3014. var t0 = this.DT_AT[size - 1];
  3015. if (y >= y0) {
  3016. var jsd = 31;
  3017. if (y > y0 + 100) {
  3018. return this.dtExt(y, jsd);
  3019. }
  3020. return this.dtExt(y, jsd) - (this.dtExt(y0, jsd) - t0) * (y0 + 100 - y) / 100;
  3021. }
  3022. var i;
  3023. for (i = 0; i < size; i += 5) {
  3024. if (y < this.DT_AT[i + 5]) {
  3025. break;
  3026. }
  3027. }
  3028. var t1 = (y - this.DT_AT[i]) / (this.DT_AT[i + 5] - this.DT_AT[i]) * 10;
  3029. var t2 = t1 * t1;
  3030. var t3 = t2 * t1;
  3031. return this.DT_AT[i + 1] + this.DT_AT[i + 2] * t1 + this.DT_AT[i + 3] * t2 + this.DT_AT[i + 4] * t3;
  3032. },
  3033. dtT:function(t){
  3034. return this.dtCalc(t / 365.2425 + 2000) / this.SECOND_PER_DAY;
  3035. },
  3036. mv:function(t){
  3037. var v = 8399.71 - 914 * Math.sin(0.7848 + 8328.691425 * t + 0.0001523 * t * t);
  3038. v -= 179 * Math.sin(2.543 + 15542.7543 * t) + 160 * Math.sin(0.1874 + 7214.0629 * t) + 62 * Math.sin(3.14 + 16657.3828 * t) + 34 * Math.sin(4.827 + 16866.9323 * t) + 22 * Math.sin(4.9 + 23871.4457 * t) + 12 * Math.sin(2.59 + 14914.4523 * t) + 7 * Math.sin(0.23 + 6585.7609 * t) + 5 * Math.sin(0.9 + 25195.624 * t) + 5 * Math.sin(2.32 - 7700.3895 * t) + 5 * Math.sin(3.88 + 8956.9934 * t) + 5 * Math.sin(0.49 + 7771.3771 * t);
  3039. return v;
  3040. },
  3041. saLonT:function(w){
  3042. var t;
  3043. var v = 628.3319653318;
  3044. t = (w - 1.75347 - Math.PI) / v;
  3045. v = this.ev(t);
  3046. t += (w - this.saLon(t, 10)) / v;
  3047. v = this.ev(t);
  3048. t += (w - this.saLon(t, -1)) / v;
  3049. return t;
  3050. },
  3051. msaLon:function(t,mn,sn){
  3052. return this.mLon(t, mn) + (-3.4E-6) - (this.eLon(t, sn) + this.gxcSunLon(t) + Math.PI);
  3053. },
  3054. msaLonT:function(w){
  3055. var t;
  3056. var v = 7771.37714500204;
  3057. t = (w + 1.08472) / v;
  3058. t += (w - this.msaLon(t, 3, 3)) / v;
  3059. v = this.mv(t) - this.ev(t);
  3060. t += (w - this.msaLon(t, 20, 10)) / v;
  3061. t += (w - this.msaLon(t, -1, 60)) / v;
  3062. return t;
  3063. },
  3064. msaLonT2:function(w){
  3065. var t;
  3066. var l;
  3067. var v = 7771.37714500204;
  3068. t = (w + 1.08472) / v;
  3069. var t2 = t * t;
  3070. t -= (-0.00003309 * t2 + 0.10976 * Math.cos(0.784758 + 8328.6914246 * t + 0.000152292 * t2) + 0.02224 * Math.cos(0.18740 + 7214.0628654 * t - 0.00021848 * t2) - 0.03342 * Math.cos(4.669257 + 628.307585 * t)) / v;
  3071. t2 = t * t;
  3072. l = this.mLon(t, 20) - (4.8950632 + 628.3319653318 * t + 0.000005297 * t2 + 0.0334166 * Math.cos(4.669257 + 628.307585 * t) + 0.0002061 * Math.cos(2.67823 + 628.307585 * t) * t + 0.000349 * Math.cos(4.6261 + 1256.61517 * t) - 20.5 / this.SECOND_PER_RAD);
  3073. v = 7771.38 - 914 * Math.sin(0.7848 + 8328.691425 * t + 0.0001523 * t2) - 179 * Math.sin(2.543 + 15542.7543 * t) - 160 * Math.sin(0.1874 + 7214.0629 * t);
  3074. t += (w - l) / v;
  3075. return t;
  3076. },
  3077. shuoHigh:function(w){
  3078. var t = this.msaLonT2(w) * 36525;
  3079. t = t - this.dtT(t) + this.ONE_THIRD;
  3080. var v = ((t + 0.5) % 1) * this.SECOND_PER_DAY;
  3081. if (v < 1800 || v > this.SECOND_PER_DAY - 1800) {
  3082. t = this.msaLonT(w) * 36525 - this.dtT(t) + this.ONE_THIRD;
  3083. }
  3084. return t;
  3085. },
  3086. shuoLow:function(w){
  3087. var v = 7771.37714500204;
  3088. var t = (w + 1.08472) / v;
  3089. t -= (-0.0000331 * t * t + 0.10976 * Math.cos(0.785 + 8328.6914 * t) + 0.02224 * Math.cos(0.187 + 7214.0629 * t) - 0.03342 * Math.cos(4.669 + 628.3076 * t)) / v + (32 * (t + 1.8) * (t + 1.8) - 20) / this.SECOND_PER_DAY / 36525;
  3090. return t * 36525 + this.ONE_THIRD;
  3091. },
  3092. calcShuo:function(jd){
  3093. var size = this.SHUO_KB.length;
  3094. var d = 0;
  3095. var pc = 14;
  3096. var i;
  3097. jd += Solar.J2000;
  3098. var f1 = this.SHUO_KB[0] - pc, f2 = this.SHUO_KB[size - 1] - pc, f3 = 2436935;
  3099. if (jd < f1 || jd >= f3) {
  3100. d = Math.floor(this.shuoHigh(Math.floor((jd + pc - 2451551) / 29.5306) * Math.PI * 2) + 0.5);
  3101. } else if (jd >= f1 && jd < f2) {
  3102. for (i = 0; i < size; i += 2) {
  3103. if (jd + pc < this.SHUO_KB[i + 2]) {
  3104. break;
  3105. }
  3106. }
  3107. d = this.SHUO_KB[i] + this.SHUO_KB[i + 1] * Math.floor((jd + pc - this.SHUO_KB[i]) / this.SHUO_KB[i + 1]);
  3108. d = Math.floor(d + 0.5);
  3109. if (d === 1683460) {
  3110. d++;
  3111. }
  3112. d -= Solar.J2000;
  3113. } else if (jd >= f2 && jd < f3) {
  3114. d = Math.floor(this.shuoLow(Math.floor((jd + pc - 2451551) / 29.5306) * Math.PI * 2) + 0.5);
  3115. var from = Math.floor((jd - f2) / 29.5306);
  3116. var n = this.SB.substr(from, 1);
  3117. if ('1' === n) {
  3118. d += 1;
  3119. } else if ('2' === n) {
  3120. d -= 1;
  3121. }
  3122. }
  3123. return d;
  3124. }
  3125. };
  3126. })();
  3127. var SolarUtil = (function(){
  3128. return {
  3129. WEEK:['{w.sun}', '{w.mon}', '{w.tues}', '{w.wed}', '{w.thur}', '{w.fri}', '{w.sat}'],
  3130. DAYS_OF_MONTH:[31,28,31,30,31,30,31,31,30,31,30,31],
  3131. XINGZUO:['{xz.aries}', '{xz.taurus}', '{xz.gemini}', '{xz.cancer}', '{xz.leo}', '{xz.virgo}', '{xz.libra}', '{xz.scorpio}', '{xz.sagittarius}', '{xz.capricornus}', '{xz.aquarius}', '{xz.pisces}'],
  3132. FESTIVAL: {
  3133. '1-1': '{jr.yuanDan}',
  3134. '2-14': '{jr.qingRen}',
  3135. '3-8': '{jr.fuNv}',
  3136. '3-12': '{jr.zhiShu}',
  3137. '3-15': '{jr.xiaoFei}',
  3138. '4-1': '{jr.yuRen}',
  3139. '5-1': '{jr.wuYi}',
  3140. '5-4': '{jr.qingNian}',
  3141. '6-1': '{jr.erTong}',
  3142. '7-1': '{jr.jianDang}',
  3143. '8-1': '{jr.jianJun}',
  3144. '9-10': '{jr.jiaoShi}',
  3145. '10-1': '{jr.guoQing}',
  3146. '10-31': '{jr.wanShengYe}',
  3147. '11-1': '{jr.wanSheng}',
  3148. '12-24': '{jr.pingAn}',
  3149. '12-25': '{jr.shengDan}'
  3150. },
  3151. OTHER_FESTIVAL:{
  3152. '1-8':['周恩来逝世纪念日'],
  3153. '1-10':['中国人民警察节'],
  3154. '1-14':['日记情人节'],
  3155. '1-21':['列宁逝世纪念日'],
  3156. '1-26':['国际海关日'],
  3157. '1-27':['国际大屠杀纪念日'],
  3158. '2-2':['世界湿地日'],
  3159. '2-4':['世界抗癌日'],
  3160. '2-7':['京汉铁路罢工纪念日'],
  3161. '2-10':['国际气象节'],
  3162. '2-19':['邓小平逝世纪念日'],
  3163. '2-20':['世界社会公正日'],
  3164. '2-21':['国际母语日'],
  3165. '2-24':['第三世界青年日'],
  3166. '3-1':['国际海豹日'],
  3167. '3-3':['世界野生动植物日', '全国爱耳日'],
  3168. '3-5':['周恩来诞辰纪念日', '中国青年志愿者服务日'],
  3169. '3-6':['世界青光眼日'],
  3170. '3-7':['女生节'],
  3171. '3-12':['孙中山逝世纪念日'],
  3172. '3-14':['马克思逝世纪念日', '白色情人节'],
  3173. '3-17':['国际航海日'],
  3174. '3-18':['全国科技人才活动日', '全国爱肝日'],
  3175. '3-20':['国际幸福日'],
  3176. '3-21':['世界森林日', '世界睡眠日', '国际消除种族歧视日'],
  3177. '3-22':['世界水日'],
  3178. '3-23':['世界气象日'],
  3179. '3-24':['世界防治结核病日'],
  3180. '3-29':['中国黄花岗七十二烈士殉难纪念日'],
  3181. '4-2':['国际儿童图书日', '世界自闭症日'],
  3182. '4-4':['国际地雷行动日'],
  3183. '4-7':['世界卫生日'],
  3184. '4-8':['国际珍稀动物保护日'],
  3185. '4-12':['世界航天日'],
  3186. '4-14':['黑色情人节'],
  3187. '4-15':['全民国家安全教育日'],
  3188. '4-22':['世界地球日', '列宁诞辰纪念日'],
  3189. '4-23':['世界读书日'],
  3190. '4-24':['中国航天日'],
  3191. '4-25':['儿童预防接种宣传日'],
  3192. '4-26':['世界知识产权日', '全国疟疾日'],
  3193. '4-28':['世界安全生产与健康日'],
  3194. '4-30':['全国交通安全反思日'],
  3195. '5-2':['世界金枪鱼日'],
  3196. '5-3':['世界新闻自由日'],
  3197. '5-5':['马克思诞辰纪念日'],
  3198. '5-8':['世界红十字日'],
  3199. '5-11':['世界肥胖日'],
  3200. '5-12':['全国防灾减灾日', '护士节'],
  3201. '5-14':['玫瑰情人节'],
  3202. '5-15':['国际家庭日'],
  3203. '5-19':['中国旅游日'],
  3204. '5-20':['网络情人节'],
  3205. '5-22':['国际生物多样性日'],
  3206. '5-25':['525心理健康节'],
  3207. '5-27':['上海解放日'],
  3208. '5-29':['国际维和人员日'],
  3209. '5-30':['中国五卅运动纪念日'],
  3210. '5-31':['世界无烟日'],
  3211. '6-3':['世界自行车日'],
  3212. '6-5':['世界环境日'],
  3213. '6-6':['全国爱眼日'],
  3214. '6-8':['世界海洋日'],
  3215. '6-11':['中国人口日'],
  3216. '6-14':['世界献血日', '亲亲情人节'],
  3217. '6-17':['世界防治荒漠化与干旱日'],
  3218. '6-20':['世界难民日'],
  3219. '6-21':['国际瑜伽日'],
  3220. '6-25':['全国土地日'],
  3221. '6-26':['国际禁毒日', '联合国宪章日'],
  3222. '7-1':['香港回归纪念日'],
  3223. '7-6':['国际接吻日', '朱德逝世纪念日'],
  3224. '7-7':['七七事变纪念日'],
  3225. '7-11':['世界人口日', '中国航海日'],
  3226. '7-14':['银色情人节'],
  3227. '7-18':['曼德拉国际日'],
  3228. '7-30':['国际友谊日'],
  3229. '8-3':['男人节'],
  3230. '8-5':['恩格斯逝世纪念日'],
  3231. '8-6':['国际电影节'],
  3232. '8-8':['全民健身日'],
  3233. '8-9':['国际土著人日'],
  3234. '8-12':['国际青年节'],
  3235. '8-14':['绿色情人节'],
  3236. '8-19':['世界人道主义日', '中国医师节'],
  3237. '8-22':['邓小平诞辰纪念日'],
  3238. '8-29':['全国测绘法宣传日'],
  3239. '9-3':['中国抗日战争胜利纪念日'],
  3240. '9-5':['中华慈善日'],
  3241. '9-8':['世界扫盲日'],
  3242. '9-9':['毛泽东逝世纪念日', '全国拒绝酒驾日'],
  3243. '9-14':['世界清洁地球日', '相片情人节'],
  3244. '9-15':['国际民主日'],
  3245. '9-16':['国际臭氧层保护日'],
  3246. '9-17':['世界骑行日'],
  3247. '9-18':['九一八事变纪念日'],
  3248. '9-20':['全国爱牙日'],
  3249. '9-21':['国际和平日'],
  3250. '9-27':['世界旅游日'],
  3251. '9-30':['中国烈士纪念日'],
  3252. '10-1':['国际老年人日'],
  3253. '10-2':['国际非暴力日'],
  3254. '10-4':['世界动物日'],
  3255. '10-11':['国际女童日'],
  3256. '10-10':['辛亥革命纪念日'],
  3257. '10-13':['国际减轻自然灾害日', '中国少年先锋队诞辰日'],
  3258. '10-14':['葡萄酒情人节'],
  3259. '10-16':['世界粮食日'],
  3260. '10-17':['全国扶贫日'],
  3261. '10-20':['世界统计日'],
  3262. '10-24':['世界发展信息日', '程序员节'],
  3263. '10-25':['抗美援朝纪念日'],
  3264. '11-5':['世界海啸日'],
  3265. '11-8':['记者节'],
  3266. '11-9':['全国消防日'],
  3267. '11-11':['光棍节'],
  3268. '11-12':['孙中山诞辰纪念日'],
  3269. '11-14':['电影情人节'],
  3270. '11-16':['国际宽容日'],
  3271. '11-17':['国际大学生节'],
  3272. '11-19':['世界厕所日'],
  3273. '11-28':['恩格斯诞辰纪念日'],
  3274. '11-29':['国际声援巴勒斯坦人民日'],
  3275. '12-1':['世界艾滋病日'],
  3276. '12-2':['全国交通安全日'],
  3277. '12-3':['世界残疾人日'],
  3278. '12-4':['全国法制宣传日'],
  3279. '12-5':['世界弱能人士日', '国际志愿人员日'],
  3280. '12-7':['国际民航日'],
  3281. '12-9':['世界足球日', '国际反腐败日'],
  3282. '12-10':['世界人权日'],
  3283. '12-11':['国际山岳日'],
  3284. '12-12':['西安事变纪念日'],
  3285. '12-13':['国家公祭日'],
  3286. '12-14':['拥抱情人节'],
  3287. '12-18':['国际移徙者日'],
  3288. '12-26':['毛泽东诞辰纪念日']
  3289. },
  3290. WEEK_FESTIVAL:{'3-0-1':'全国中小学生安全教育日','5-2-0':'母亲节','5-3-0':'全国助残日','6-3-0':'父亲节','9-3-6':'全民国防教育日','10-1-1':'世界住房日','11-4-4':'感恩节'},
  3291. isLeapYear:function(year){return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);},
  3292. getDaysOfMonth:function(year, month){
  3293. var oy = year;
  3294. var om = month;
  3295. year *= 1;
  3296. if(isNaN(year)){
  3297. throw new Error('wrong solar year '+oy);
  3298. }
  3299. month *= 1;
  3300. if(isNaN(month)){
  3301. throw new Error('wrong solar month '+om);
  3302. }
  3303. if (1582 === year && 10 === month) {
  3304. return 21;
  3305. }
  3306. var m = month-1;
  3307. var d = this.DAYS_OF_MONTH[m];
  3308. if (m === 1 && this.isLeapYear(year)) {
  3309. d++;
  3310. }
  3311. return d;
  3312. },
  3313. getDaysOfYear:function(year){
  3314. var oy = year;
  3315. year *= 1;
  3316. if(isNaN(year)){
  3317. throw new Error('wrong solar year '+oy);
  3318. }
  3319. if (1582 === year) {
  3320. return 355;
  3321. }
  3322. return this.isLeapYear(year) ? 366: 365;
  3323. },
  3324. getDaysInYear:function(year, month, day){
  3325. var oy = year;
  3326. var om = month;
  3327. var od = day;
  3328. year *= 1;
  3329. if(isNaN(year)){
  3330. throw new Error('wrong solar year '+oy);
  3331. }
  3332. month *= 1;
  3333. if(isNaN(month)){
  3334. throw new Error('wrong solar month '+om);
  3335. }
  3336. day *= 1;
  3337. if(isNaN(day)){
  3338. throw new Error('wrong solar day '+od);
  3339. }
  3340. var days = 0;
  3341. for (var i = 1; i < month; i++) {
  3342. days += this.getDaysOfMonth(year, i);
  3343. }
  3344. var d = day;
  3345. if (1582 === year && 10 === month) {
  3346. if (day >= 15) {
  3347. d -= 10;
  3348. } else if (day > 4) {
  3349. throw new Error('wrong solar year '+year+' month '+month+' day '+day);
  3350. }
  3351. }
  3352. days += d;
  3353. return days;
  3354. },
  3355. getDaysBetween:function(ay, am, ad, by, bm, bd){
  3356. var oay = ay;
  3357. var oam = am;
  3358. var oad = ad;
  3359. var oby = by;
  3360. var obm = bm;
  3361. var obd = bd;
  3362. ay *= 1;
  3363. if(isNaN(ay)){
  3364. throw new Error('wrong solar year '+oay);
  3365. }
  3366. am *= 1;
  3367. if(isNaN(am)){
  3368. throw new Error('wrong solar month '+oam);
  3369. }
  3370. ad *= 1;
  3371. if(isNaN(ad)){
  3372. throw new Error('wrong solar day '+oad);
  3373. }
  3374. by *= 1;
  3375. if(isNaN(by)){
  3376. throw new Error('wrong solar year '+oby);
  3377. }
  3378. bm *= 1;
  3379. if(isNaN(bm)){
  3380. throw new Error('wrong solar month '+obm);
  3381. }
  3382. bd *= 1;
  3383. if(isNaN(bd)){
  3384. throw new Error('wrong solar day '+obd);
  3385. }
  3386. var n;
  3387. var days;
  3388. var i;
  3389. if (ay === by) {
  3390. n = this.getDaysInYear(by, bm, bd) - this.getDaysInYear(ay, am, ad);
  3391. } else if (ay > by) {
  3392. days = this.getDaysOfYear(by) - this.getDaysInYear(by, bm, bd);
  3393. for (i = by + 1; i < ay; i++) {
  3394. days += this.getDaysOfYear(i);
  3395. }
  3396. days += this.getDaysInYear(ay, am, ad);
  3397. n = -days;
  3398. } else {
  3399. days = this.getDaysOfYear(ay) - this.getDaysInYear(ay, am, ad);
  3400. for (i = ay + 1; i < by; i++) {
  3401. days += this.getDaysOfYear(i);
  3402. }
  3403. days += this.getDaysInYear(by, bm, bd);
  3404. n = days;
  3405. }
  3406. return n;
  3407. },
  3408. getWeeksOfMonth:function(year, month, start){
  3409. return Math.ceil((this.getDaysOfMonth(year, month) + Solar.fromYmd(year, month, 1).getWeek() - start)/7);
  3410. }
  3411. };
  3412. })();
  3413. var LunarUtil = (function(){
  3414. return {
  3415. BASE_MONTH_ZHI_INDEX:2,
  3416. JIE_QI: ['{jq.dongZhi}', '{jq.xiaoHan}', '{jq.daHan}', '{jq.liChun}', '{jq.yuShui}', '{jq.jingZhe}', '{jq.chunFen}', '{jq.qingMing}', '{jq.guYu}', '{jq.liXia}', '{jq.xiaoMan}', '{jq.mangZhong}', '{jq.xiaZhi}', '{jq.xiaoShu}', '{jq.daShu}', '{jq.liQiu}', '{jq.chuShu}', '{jq.baiLu}', '{jq.qiuFen}', '{jq.hanLu}', '{jq.shuangJiang}', '{jq.liDong}', '{jq.xiaoXue}', '{jq.daXue}'],
  3417. JIE_QI_IN_USE: ['DA_XUE', '{jq.dongZhi}', '{jq.xiaoHan}', '{jq.daHan}', '{jq.liChun}', '{jq.yuShui}', '{jq.jingZhe}', '{jq.chunFen}', '{jq.qingMing}', '{jq.guYu}', '{jq.liXia}', '{jq.xiaoMan}', '{jq.mangZhong}', '{jq.xiaZhi}', '{jq.xiaoShu}', '{jq.daShu}', '{jq.liQiu}', '{jq.chuShu}', '{jq.baiLu}', '{jq.qiuFen}', '{jq.hanLu}', '{jq.shuangJiang}', '{jq.liDong}', '{jq.xiaoXue}', '{jq.daXue}', 'DONG_ZHI', 'XIAO_HAN', 'DA_HAN', 'LI_CHUN', 'YU_SHUI', 'JING_ZHE'],
  3418. CHANG_SHENG_OFFSET: {
  3419. '{tg.jia}':1,
  3420. '{tg.bing}':10,
  3421. '{tg.wu}':10,
  3422. '{tg.geng}':7,
  3423. '{tg.ren}':4,
  3424. '{tg.yi}':6,
  3425. '{tg.ding}':9,
  3426. '{tg.ji}':9,
  3427. '{tg.xin}':0,
  3428. '{tg.gui}':3
  3429. },
  3430. MONTH_ZHI:['', '{dz.yin}', '{dz.mao}', '{dz.chen}', '{dz.si}', '{dz.wu}', '{dz.wei}', '{dz.shen}', '{dz.you}', '{dz.xu}', '{dz.hai}', '{dz.zi}', '{dz.chou}'],
  3431. CHANG_SHENG:['{ds.changSheng}', '{ds.muYu}', '{ds.guanDai}', '{ds.linGuan}', '{ds.diWang}', '{ds.shuai}', '{ds.bing}', '{ds.si}', '{ds.mu}', '{ds.jue}', '{ds.tai}', '{ds.yang}'],
  3432. XUN:[
  3433. '{jz.jiaZi}',
  3434. '{jz.jiaXu}',
  3435. '{jz.jiaShen}',
  3436. '{jz.jiaWu}',
  3437. '{jz.jiaChen}',
  3438. '{jz.jiaYin}'
  3439. ],
  3440. XUN_KONG:[
  3441. '{dz.xu}{dz.hai}',
  3442. '{dz.shen}{dz.you}',
  3443. '{dz.wu}{dz.wei}',
  3444. '{dz.chen}{dz.si}',
  3445. '{dz.yin}{dz.mao}',
  3446. '{dz.zi}{dz.chou}'
  3447. ],
  3448. LIU_YAO:[
  3449. '{ly.xianSheng}',
  3450. '{ly.youYin}',
  3451. '{ly.xianFu}',
  3452. '{ly.foMie}',
  3453. '{ly.daAn}',
  3454. '{ly.chiKou}'
  3455. ],
  3456. HOU:['{h.first}', '{h.second}', '{h.third}'],
  3457. WU_HOU:[
  3458. '{h.qiuYinJie}',
  3459. '{h.miJiao}',
  3460. '{h.shuiQuan}',
  3461. '{h.yanBei}',
  3462. '{h.queShi}',
  3463. '{h.zhiShi}',
  3464. '{h.jiShi}',
  3465. '{h.zhengNiao}',
  3466. '{h.shuiZe}',
  3467. '{h.dongFeng}',
  3468. '{h.zheChongShiZhen}',
  3469. '{h.yuZhi}',
  3470. '{h.taJi}',
  3471. '{h.houYan}',
  3472. '{h.caoMuMengDong}',
  3473. '{h.taoShi}',
  3474. '{h.cangGeng}',
  3475. '{h.yingHua}',
  3476. '{h.xuanNiaoZhi}',
  3477. '{h.leiNai}',
  3478. '{h.shiDian}',
  3479. '{h.tongShi}',
  3480. '{h.tianShu}',
  3481. '{h.hongShi}',
  3482. '{h.pingShi}',
  3483. '{h.mingJiu}',
  3484. '{h.daiSheng}',
  3485. '{h.louGuo}',
  3486. '{h.qiuYinChu}',
  3487. '{h.wangGua}',
  3488. '{h.kuCai}',
  3489. '{h.miCao}',
  3490. '{h.maiQiu}',
  3491. '{h.tangLang}',
  3492. '{h.juShi}',
  3493. '{h.fanShe}',
  3494. '{h.luJia}',
  3495. '{h.tiaoShi}',
  3496. '{h.banXia}',
  3497. '{h.wenFeng}',
  3498. '{h.xiShuai}',
  3499. '{h.yingShi}',
  3500. '{h.fuCao}',
  3501. '{h.tuRun}',
  3502. '{h.daYu}',
  3503. '{h.liangFeng}',
  3504. '{h.baiLu}',
  3505. '{h.hanChan}',
  3506. '{h.yingNai}',
  3507. '{h.tianDi}',
  3508. '{h.heNai}',
  3509. '{h.hongYanLai}',
  3510. '{h.xuanNiaoGui}',
  3511. '{h.qunNiao}',
  3512. '{h.leiShi}',
  3513. '{h.zheChongPiHu}',
  3514. '{h.shuiShiHe}',
  3515. '{h.hongYanLaiBin}',
  3516. '{h.queRu}',
  3517. '{h.juYou}',
  3518. '{h.caiNai}',
  3519. '{h.caoMuHuangLuo}',
  3520. '{h.zheChongXianFu}',
  3521. '{h.shuiShiBing}',
  3522. '{h.diShi}',
  3523. '{h.zhiRu}',
  3524. '{h.hongCang}',
  3525. '{h.tianQi}',
  3526. '{h.biSe}',
  3527. '{h.heDan}',
  3528. '{h.huShi}',
  3529. '{h.liTing}'
  3530. ],
  3531. GAN:['', '{tg.jia}', '{tg.yi}', '{tg.bing}', '{tg.ding}', '{tg.wu}', '{tg.ji}', '{tg.geng}', '{tg.xin}', '{tg.ren}', '{tg.gui}'],
  3532. POSITION_XI:['', '{bg.gen}', '{bg.qian}', '{bg.kun}', '{bg.li}', '{bg.xun}', '{bg.gen}', '{bg.qian}', '{bg.kun}', '{bg.li}', '{bg.xun}'],
  3533. POSITION_YANG_GUI:['', '{bg.kun}', '{bg.kun}', '{bg.dui}', '{bg.qian}', '{bg.gen}', '{bg.kan}', '{bg.li}', '{bg.gen}', '{bg.zhen}', '{bg.xun}'],
  3534. POSITION_YIN_GUI:['', '{bg.gen}', '{bg.kan}', '{bg.qian}', '{bg.dui}', '{bg.kun}', '{bg.kun}', '{bg.gen}', '{bg.li}', '{bg.xun}', '{bg.zhen}'],
  3535. POSITION_FU:['', '{bg.xun}', '{bg.xun}', '{bg.zhen}', '{bg.zhen}', '{bg.kan}', '{bg.li}', '{bg.kun}', '{bg.kun}', '{bg.qian}', '{bg.dui}'],
  3536. POSITION_FU_2:['', '{bg.kan}', '{bg.kun}', '{bg.qian}', '{bg.xun}', '{bg.gen}', '{bg.kan}', '{bg.kun}', '{bg.qian}', '{bg.xun}', '{bg.gen}'],
  3537. POSITION_CAI:['', '{bg.gen}', '{bg.gen}', '{bg.kun}', '{bg.kun}', '{bg.kan}', '{bg.kan}', '{bg.zhen}', '{bg.zhen}', '{bg.li}', '{bg.li}'],
  3538. POSITION_TAI_SUI_YEAR: ['{bg.kan}', '{bg.gen}', '{bg.gen}', '{bg.zhen}', '{bg.xun}', '{bg.xun}', '{bg.li}', '{bg.kun}', '{bg.kun}', '{bg.dui}', '{bg.kan}', '{bg.kan}'],
  3539. POSITION_GAN: ['{bg.zhen}', '{bg.zhen}', '{bg.li}', '{bg.li}', '{ps.center}', '{ps.center}', '{bg.dui}', '{bg.dui}', '{bg.kan}', '{bg.kan}'],
  3540. POSITION_ZHI: ['{bg.kan}', '{ps.center}', '{bg.zhen}', '{bg.zhen}', '{ps.center}', '{bg.li}', '{bg.li}', '{ps.center}', '{bg.dui}', '{bg.dui}', '{ps.center}', '{bg.kan}'],
  3541. POSITION_TAI_DAY:[
  3542. '{ts.zhan}{ts.men}{ts.dui} {ps.wai}{ps.dongNan}',
  3543. '{ts.dui}{ts.mo}{ts.ce} {ps.wai}{ps.dongNan}',
  3544. '{ts.chu}{ts.zao}{ts.lu} {ps.wai}{ps.zhengNan}',
  3545. '{ts.cangKu}{ts.men} {ps.wai}{ps.zhengNan}',
  3546. '{ts.fang}{ts.chuang}{ts.xi} {ps.wai}{ps.zhengNan}',
  3547. '{ts.zhan}{ts.men}{ts.chuang} {ps.wai}{ps.zhengNan}',
  3548. '{ts.zhan}{ts.dui}{ts.mo} {ps.wai}{ps.zhengNan}',
  3549. '{ts.ce}{ts.zao}{ts.chu} {ps.wai}{ps.xiNan}',
  3550. '{ts.cangKu}{ts.lu} {ps.wai}{ps.xiNan}',
  3551. '{ts.fang}{ts.chuang}{ts.men} {ps.wai}{ps.xiNan}',
  3552. '{ts.men}{ts.dui}{ts.xi} {ps.wai}{ps.xiNan}',
  3553. '{ts.dui}{ts.mo}{ts.chuang} {ps.wai}{ps.xiNan}',
  3554. '{ts.chu}{ts.zao}{ts.dui} {ps.wai}{ps.xiNan}',
  3555. '{ts.cangKu}{ts.ce} {ps.wai}{ps.zhengXi}',
  3556. '{ts.fang}{ts.chuang}{ts.lu} {ps.wai}{ps.zhengXi}',
  3557. '{ts.zhan}{ts.daMen} {ps.wai}{ps.zhengXi}',
  3558. '{ts.dui}{ts.mo}{ts.xi} {ps.wai}{ps.zhengXi}',
  3559. '{ts.chu}{ts.fang}{ts.chuang} {ps.wai}{ps.zhengXi}',
  3560. '{ts.cangKu}{ts.dui} {ps.wai}{ps.xiBei}',
  3561. '{ts.fang}{ts.chuang}{ts.ce} {ps.wai}{ps.xiBei}',
  3562. '{ts.zhan}{ts.men}{ts.lu} {ps.wai}{ps.xiBei}',
  3563. '{ts.men}{ts.dui}{ts.mo} {ps.wai}{ps.xiBei}',
  3564. '{ts.chu}{ts.zao}{ts.xi} {ps.wai}{ps.xiBei}',
  3565. '{ts.cangKu}{ts.chuang} {ps.wai}{ps.xiBei}',
  3566. '{ts.fang}{ts.chuang}{ts.dui} {ps.wai}{ps.zhengBei}',
  3567. '{ts.zhan}{ts.men}{ts.ce} {ps.wai}{ps.zhengBei}',
  3568. '{ts.dui}{ts.mo}{ts.lu} {ps.wai}{ps.zhengBei}',
  3569. '{ts.chu}{ts.zao}{ts.men} {ps.wai}{ps.zhengBei}',
  3570. '{ts.cangKu}{ts.xi} {ps.wai}{ps.zhengBei}',
  3571. '{ts.zhan}{ts.fang}{ts.chuang} {ps.fangNei}{ps.bei}',
  3572. '{ts.zhan}{ts.men}{ts.dui} {ps.fangNei}{ps.bei}',
  3573. '{ts.dui}{ts.mo}{ts.ce} {ps.fangNei}{ps.bei}',
  3574. '{ts.chu}{ts.zao}{ts.lu} {ps.fangNei}{ps.bei}',
  3575. '{ts.men}{ts.cangKu} {ps.fangNei}{ps.bei}',
  3576. '{ts.chuang}{ts.fang}{ts.xi} {ps.fangNei}{ps.center}',
  3577. '{ts.zhan}{ts.men}{ts.chuang} {ps.fangNei}{ps.center}',
  3578. '{ts.zhan}{ts.dui}{ts.mo} {ps.fangNei}{ps.nan}',
  3579. '{ts.chu}{ts.mo}{ts.ce} {ps.fangNei}{ps.nan}',
  3580. '{ts.cangKu}{ts.lu} {ps.fangNei}{ps.nan}',
  3581. '{ts.fang}{ts.chuang}{ts.men} {ps.fangNei}{ps.xi}',
  3582. '{ts.men}{ts.dui}{ts.xi} {ps.fangNei}{ps.dong}',
  3583. '{ts.dui}{ts.mo}{ts.chuang} {ps.fangNei}{ps.dong}',
  3584. '{ts.chu}{ts.zao}{ts.dui} {ps.fangNei}{ps.dong}',
  3585. '{ts.cangKu}{ts.ce} {ps.fangNei}{ps.dong}',
  3586. '{ts.fang}{ts.chuang}{ts.lu} {ps.fangNei}{ps.center}',
  3587. '{ts.zhan}{ts.daMen} {ps.wai}{ps.dongBei}',
  3588. '{ts.dui}{ts.mo}{ts.xi} {ps.wai}{ps.dongBei}',
  3589. '{ts.chu}{ts.zao}{ts.chuang} {ps.wai}{ps.dongBei}',
  3590. '{ts.cangKu}{ts.dui} {ps.wai}{ps.dongBei}',
  3591. '{ts.fang}{ts.chuang}{ts.ce} {ps.wai}{ps.dongBei}',
  3592. '{ts.zhan}{ts.men}{ts.lu} {ps.wai}{ps.dongBei}',
  3593. '{ts.men}{ts.dui}{ts.mo} {ps.wai}{ps.zhengDong}',
  3594. '{ts.chu}{ts.zao}{ts.xi} {ps.wai}{ps.zhengDong}',
  3595. '{ts.cangKu}{ts.chuang} {ps.wai}{ps.zhengDong}',
  3596. '{ts.fang}{ts.chuang}{ts.dui} {ps.wai}{ps.zhengDong}',
  3597. '{ts.zhan}{ts.men}{ts.ce} {ps.wai}{ps.zhengDong}',
  3598. '{ts.dui}{ts.mo}{ts.lu} {ps.wai}{ps.dongNan}',
  3599. '{ts.chu}{ts.zao}{ts.men} {ps.wai}{ps.dongNan}',
  3600. '{ts.cangKu}{ts.xi} {ps.wai}{ps.dongNan}',
  3601. '{ts.zhan}{ts.fang}{ts.chuang} {ps.wai}{ps.dongNan}'
  3602. ],
  3603. POSITION_TAI_MONTH:[
  3604. '{ts.zhan}{ts.fang}{ts.chuang}',
  3605. '{ts.zhan}{ts.hu}{ts.win}',
  3606. '{ts.zhan}{ts.men}{ts.tang}',
  3607. '{ts.zhan}{ts.chu}{ts.zao}',
  3608. '{ts.zhan}{ts.fang}{ts.chuang}',
  3609. '{ts.zhan}{ts.chuang}{ts.cang}',
  3610. '{ts.zhan}{ts.dui}{ts.mo}',
  3611. '{ts.zhan}{ts.ce}{ts.hu}',
  3612. '{ts.zhan}{ts.men}{ts.fang}',
  3613. '{ts.zhan}{ts.fang}{ts.chuang}',
  3614. '{ts.zhan}{ts.zao}{ts.lu}',
  3615. '{ts.zhan}{ts.fang}{ts.chuang}'
  3616. ],
  3617. ZHI:['', '{dz.zi}', '{dz.chou}', '{dz.yin}', '{dz.mao}', '{dz.chen}', '{dz.si}', '{dz.wu}', '{dz.wei}', '{dz.shen}', '{dz.you}', '{dz.xu}', '{dz.hai}'],
  3618. ZHI_XING:[
  3619. '',
  3620. '{zx.jian}',
  3621. '{zx.chu}',
  3622. '{zx.man}',
  3623. '{zx.ping}',
  3624. '{zx.ding}',
  3625. '{zx.zhi}',
  3626. '{zx.po}',
  3627. '{zx.wei}',
  3628. '{zx.cheng}',
  3629. '{zx.shou}',
  3630. '{zx.kai}',
  3631. '{zx.bi}'
  3632. ],
  3633. JIA_ZI:[
  3634. '{jz.jiaZi}',
  3635. '{jz.yiChou}',
  3636. '{jz.bingYin}',
  3637. '{jz.dingMao}',
  3638. '{jz.wuChen}',
  3639. '{jz.jiSi}',
  3640. '{jz.gengWu}',
  3641. '{jz.xinWei}',
  3642. '{jz.renShen}',
  3643. '{jz.guiYou}',
  3644. '{jz.jiaXu}',
  3645. '{jz.yiHai}',
  3646. '{jz.bingZi}',
  3647. '{jz.dingChou}',
  3648. '{jz.wuYin}',
  3649. '{jz.jiMao}',
  3650. '{jz.gengChen}',
  3651. '{jz.xinSi}',
  3652. '{jz.renWu}',
  3653. '{jz.guiWei}',
  3654. '{jz.jiaShen}',
  3655. '{jz.yiYou}',
  3656. '{jz.bingXu}',
  3657. '{jz.dingHai}',
  3658. '{jz.wuZi}',
  3659. '{jz.jiChou}',
  3660. '{jz.gengYin}',
  3661. '{jz.xinMao}',
  3662. '{jz.renChen}',
  3663. '{jz.guiSi}',
  3664. '{jz.jiaWu}',
  3665. '{jz.yiWei}',
  3666. '{jz.bingShen}',
  3667. '{jz.dingYou}',
  3668. '{jz.wuXu}',
  3669. '{jz.jiHai}',
  3670. '{jz.gengZi}',
  3671. '{jz.xinChou}',
  3672. '{jz.renYin}',
  3673. '{jz.guiMao}',
  3674. '{jz.jiaChen}',
  3675. '{jz.yiSi}',
  3676. '{jz.bingWu}',
  3677. '{jz.dingWei}',
  3678. '{jz.wuShen}',
  3679. '{jz.jiYou}',
  3680. '{jz.gengXu}',
  3681. '{jz.xinHai}',
  3682. '{jz.renZi}',
  3683. '{jz.guiChou}',
  3684. '{jz.jiaYin}',
  3685. '{jz.yiMao}',
  3686. '{jz.bingChen}',
  3687. '{jz.dingSi}',
  3688. '{jz.wuWu}',
  3689. '{jz.jiWei}',
  3690. '{jz.gengShen}',
  3691. '{jz.xinYou}',
  3692. '{jz.renXu}',
  3693. '{jz.guiHai}'
  3694. ],
  3695. TIAN_SHEN:['', '{sn.qingLong}', '{sn.mingTang}', '{sn.tianXing}', '{sn.zhuQue}', '{sn.jinKui}', '{sn.tianDe}', '{sn.baiHu}', '{sn.yuTang}', '{sn.tianLao}', '{sn.xuanWu}', '{sn.siMing}', '{sn.gouChen}'],
  3696. ZHI_TIAN_SHEN_OFFSET: {
  3697. '{dz.zi}': 4,
  3698. '{dz.chou}': 2,
  3699. '{dz.yin}': 0,
  3700. '{dz.mao}': 10,
  3701. '{dz.chen}': 8,
  3702. '{dz.si}': 6,
  3703. '{dz.wu}': 4,
  3704. '{dz.wei}': 2,
  3705. '{dz.shen}': 0,
  3706. '{dz.you}': 10,
  3707. '{dz.xu}': 8,
  3708. '{dz.hai}': 6
  3709. },
  3710. TIAN_SHEN_TYPE: {
  3711. '{sn.qingLong}': '{s.huangDao}',
  3712. '{sn.mingTang}': '{s.huangDao}',
  3713. '{sn.jinKui}': '{s.huangDao}',
  3714. '{sn.tianDe}': '{s.huangDao}',
  3715. '{sn.yuTang}': '{s.huangDao}',
  3716. '{sn.siMing}': '{s.huangDao}',
  3717. '{sn.tianXing}': '{s.heiDao}',
  3718. '{sn.zhuQue}': '{s.heiDao}',
  3719. '{sn.baiHu}': '{s.heiDao}',
  3720. '{sn.tianLao}': '{s.heiDao}',
  3721. '{sn.xuanWu}': '{s.heiDao}',
  3722. '{sn.gouChen}': '{s.heiDao}'
  3723. },
  3724. TIAN_SHEN_TYPE_LUCK:{
  3725. '{s.huangDao}': '{s.goodLuck}',
  3726. '{s.heiDao}': '{s.badLuck}'
  3727. },
  3728. PENGZU_GAN:['', '{tg.jia}不开仓财物耗散', '{tg.yi}不栽植千株不长', '{tg.bing}不修灶必见灾殃', '{tg.ding}不剃头头必生疮', '{tg.wu}不受田田主不祥', '{tg.ji}不破券二比并亡', '{tg.geng}不经络织机虚张', '{tg.xin}不合酱主人不尝', '{tg.ren}不泱水更难提防', '{tg.gui}不词讼理弱敌强'],
  3729. PENGZU_ZHI:['', '{dz.zi}不问卜自惹祸殃', '{dz.chou}不冠带主不还乡', '{dz.yin}不祭祀神鬼不尝', '{dz.mao}不穿井水泉不香', '{dz.chen}不哭泣必主重丧', '{dz.si}不远行财物伏藏', '{dz.wu}不苫盖屋主更张', '{dz.wei}不服药毒气入肠', '{dz.shen}不安床鬼祟入房', '{dz.you}不会客醉坐颠狂', '{dz.xu}不吃犬作怪上床', '{dz.hai}不嫁娶不利新郎'],
  3730. NUMBER:['{n.zero}', '{n.one}', '{n.two}', '{n.three}', '{n.four}', '{n.five}', '{n.six}', '{n.seven}', '{n.eight}', '{n.nine}', '{n.ten}', '{n.eleven}', '{n.twelve}'],
  3731. MONTH:[
  3732. '',
  3733. '{m.one}',
  3734. '{m.two}',
  3735. '{m.three}',
  3736. '{m.four}',
  3737. '{m.five}',
  3738. '{m.six}',
  3739. '{m.seven}',
  3740. '{m.eight}',
  3741. '{m.nine}',
  3742. '{m.ten}',
  3743. '{m.eleven}',
  3744. '{m.twelve}'
  3745. ],
  3746. SEASON:[
  3747. '',
  3748. '{od.first}{sz.chun}',
  3749. '{od.second}{sz.chun}',
  3750. '{od.third}{sz.chun}',
  3751. '{od.first}{sz.xia}',
  3752. '{od.second}{sz.xia}',
  3753. '{od.third}{sz.xia}',
  3754. '{od.first}{sz.qiu}',
  3755. '{od.second}{sz.qiu}',
  3756. '{od.third}{sz.qiu}',
  3757. '{od.first}{sz.dong}',
  3758. '{od.second}{sz.dong}',
  3759. '{od.third}{sz.dong}'
  3760. ],
  3761. SHENGXIAO:['', '{sx.rat}', '{sx.ox}', '{sx.tiger}', '{sx.rabbit}', '{sx.dragon}', '{sx.snake}', '{sx.horse}', '{sx.goat}', '{sx.monkey}', '{sx.rooster}', '{sx.dog}', '{sx.pig}'],
  3762. DAY:[
  3763. '',
  3764. '{d.one}',
  3765. '{d.two}',
  3766. '{d.three}',
  3767. '{d.four}',
  3768. '{d.five}',
  3769. '{d.six}',
  3770. '{d.seven}',
  3771. '{d.eight}',
  3772. '{d.nine}',
  3773. '{d.ten}',
  3774. '{d.eleven}',
  3775. '{d.twelve}',
  3776. '{d.thirteen}',
  3777. '{d.fourteen}',
  3778. '{d.fifteen}',
  3779. '{d.sixteen}',
  3780. '{d.seventeen}',
  3781. '{d.eighteen}',
  3782. '{d.nighteen}',
  3783. '{d.twenty}',
  3784. '{d.twentyOne}',
  3785. '{d.twentyTwo}',
  3786. '{d.twentyThree}',
  3787. '{d.twentyFour}',
  3788. '{d.twentyFive}',
  3789. '{d.twentySix}',
  3790. '{d.twentySeven}',
  3791. '{d.twentyEight}',
  3792. '{d.twentyNine}',
  3793. '{d.thirty}'
  3794. ],
  3795. YUE_XIANG:[
  3796. '',
  3797. '{yx.shuo}',
  3798. '{yx.jiShuo}',
  3799. '{yx.eMeiXin}',
  3800. '{yx.eMeiXin}',
  3801. '{yx.eMei}',
  3802. '{yx.xi}',
  3803. '{yx.shangXian}',
  3804. '{yx.shangXian}',
  3805. '{yx.jiuYe}',
  3806. '{yx.night}',
  3807. '{yx.night}',
  3808. '{yx.night}',
  3809. '{yx.jianYingTu}',
  3810. '{yx.xiaoWang}',
  3811. '{yx.wang}',
  3812. '{yx.jiWang}',
  3813. '{yx.liDai}',
  3814. '{yx.juDai}',
  3815. '{yx.qinDai}',
  3816. '{yx.gengDai}',
  3817. '{yx.jianKuiTu}',
  3818. '{yx.xiaXian}',
  3819. '{yx.xiaXian}',
  3820. '{yx.youMing}',
  3821. '{yx.youMing}',
  3822. '{yx.eMeiCan}',
  3823. '{yx.eMeiCan}',
  3824. '{yx.can}',
  3825. '{yx.xiao}',
  3826. '{yx.hui}'
  3827. ],
  3828. XIU: {
  3829. '{dz.shen}1': '{xx.bi}',
  3830. '{dz.shen}2': '{xx.yi}',
  3831. '{dz.shen}3': '{xx.ji}',
  3832. '{dz.shen}4': '{xx.kui}',
  3833. '{dz.shen}5': '{xx.gui}',
  3834. '{dz.shen}6': '{xx.di}',
  3835. '{dz.shen}0': '{xx.xu}',
  3836. '{dz.zi}1': '{xx.bi}',
  3837. '{dz.zi}2': '{xx.yi}',
  3838. '{dz.zi}3': '{xx.ji}',
  3839. '{dz.zi}4': '{xx.kui}',
  3840. '{dz.zi}5': '{xx.gui}',
  3841. '{dz.zi}6': '{xx.di}',
  3842. '{dz.zi}0': '{xx.xu}',
  3843. '{dz.chen}1': '{xx.bi}',
  3844. '{dz.chen}2': '{xx.yi}',
  3845. '{dz.chen}3': '{xx.ji}',
  3846. '{dz.chen}4': '{xx.kui}',
  3847. '{dz.chen}5': '{xx.gui}',
  3848. '{dz.chen}6': '{xx.di}',
  3849. '{dz.chen}0': '{xx.xu}',
  3850. '{dz.si}1': '{xx.wei}',
  3851. '{dz.si}2': '{xx.zi}',
  3852. '{dz.si}3': '{xx.zhen}',
  3853. '{dz.si}4': '{xx.dou}',
  3854. '{dz.si}5': '{xx.lou}',
  3855. '{dz.si}6': '{xx.liu}',
  3856. '{dz.si}0': '{xx.fang}',
  3857. '{dz.you}1': '{xx.wei}',
  3858. '{dz.you}2': '{xx.zi}',
  3859. '{dz.you}3': '{xx.zhen}',
  3860. '{dz.you}4': '{xx.dou}',
  3861. '{dz.you}5': '{xx.lou}',
  3862. '{dz.you}6': '{xx.liu}',
  3863. '{dz.you}0': '{xx.fang}',
  3864. '{dz.chou}1': '{xx.wei}',
  3865. '{dz.chou}2': '{xx.zi}',
  3866. '{dz.chou}3': '{xx.zhen}',
  3867. '{dz.chou}4': '{xx.dou}',
  3868. '{dz.chou}5': '{xx.lou}',
  3869. '{dz.chou}6': '{xx.liu}',
  3870. '{dz.chou}0': '{xx.fang}',
  3871. '{dz.yin}1': '{xx.xin}',
  3872. '{dz.yin}2': '{xx.shi}',
  3873. '{dz.yin}3': '{xx.can}',
  3874. '{dz.yin}4': '{xx.jiao}',
  3875. '{dz.yin}5': '{xx.niu}',
  3876. '{dz.yin}6': '{xx.vei}',
  3877. '{dz.yin}0': '{xx.xing}',
  3878. '{dz.wu}1': '{xx.xin}',
  3879. '{dz.wu}2': '{xx.shi}',
  3880. '{dz.wu}3': '{xx.can}',
  3881. '{dz.wu}4': '{xx.jiao}',
  3882. '{dz.wu}5': '{xx.niu}',
  3883. '{dz.wu}6': '{xx.vei}',
  3884. '{dz.wu}0': '{xx.xing}',
  3885. '{dz.xu}1': '{xx.xin}',
  3886. '{dz.xu}2': '{xx.shi}',
  3887. '{dz.xu}3': '{xx.can}',
  3888. '{dz.xu}4': '{xx.jiao}',
  3889. '{dz.xu}5': '{xx.niu}',
  3890. '{dz.xu}6': '{xx.vei}',
  3891. '{dz.xu}0': '{xx.xing}',
  3892. '{dz.hai}1': '{xx.zhang}',
  3893. '{dz.hai}2': '{xx.tail}',
  3894. '{dz.hai}3': '{xx.qiang}',
  3895. '{dz.hai}4': '{xx.jing}',
  3896. '{dz.hai}5': '{xx.kang}',
  3897. '{dz.hai}6': '{xx.nv}',
  3898. '{dz.hai}0': '{xx.mao}',
  3899. '{dz.mao}1': '{xx.zhang}',
  3900. '{dz.mao}2': '{xx.tail}',
  3901. '{dz.mao}3': '{xx.qiang}',
  3902. '{dz.mao}4': '{xx.jing}',
  3903. '{dz.mao}5': '{xx.kang}',
  3904. '{dz.mao}6': '{xx.nv}',
  3905. '{dz.mao}0': '{xx.mao}',
  3906. '{dz.wei}1': '{xx.zhang}',
  3907. '{dz.wei}2': '{xx.tail}',
  3908. '{dz.wei}3': '{xx.qiang}',
  3909. '{dz.wei}4': '{xx.jing}',
  3910. '{dz.wei}5': '{xx.kang}',
  3911. '{dz.wei}6': '{xx.nv}',
  3912. '{dz.wei}0': '{xx.mao}'
  3913. },
  3914. XIU_LUCK:{
  3915. '{xx.jiao}': '{s.goodLuck}',
  3916. '{xx.kang}': '{s.badLuck}',
  3917. '{xx.di}': '{s.badLuck}',
  3918. '{xx.fang}': '{s.goodLuck}',
  3919. '{xx.xin}': '{s.badLuck}',
  3920. '{xx.tail}': '{s.goodLuck}',
  3921. '{xx.ji}': '{s.goodLuck}',
  3922. '{xx.dou}': '{s.goodLuck}',
  3923. '{xx.niu}': '{s.badLuck}',
  3924. '{xx.nv}': '{s.badLuck}',
  3925. '{xx.xu}': '{s.badLuck}',
  3926. '{xx.wei}': '{s.badLuck}',
  3927. '{xx.shi}': '{s.goodLuck}',
  3928. '{xx.qiang}': '{s.goodLuck}',
  3929. '{xx.kui}': '{s.badLuck}',
  3930. '{xx.lou}': '{s.goodLuck}',
  3931. '{xx.vei}': '{s.goodLuck}',
  3932. '{xx.mao}': '{s.badLuck}',
  3933. '{xx.bi}': '{s.goodLuck}',
  3934. '{xx.zi}': '{s.badLuck}',
  3935. '{xx.can}': '{s.goodLuck}',
  3936. '{xx.jing}': '{s.goodLuck}',
  3937. '{xx.gui}': '{s.badLuck}',
  3938. '{xx.liu}': '{s.badLuck}',
  3939. '{xx.xing}': '{s.badLuck}',
  3940. '{xx.zhang}': '{s.goodLuck}',
  3941. '{xx.yi}': '{s.badLuck}',
  3942. '{xx.zhen}': '{s.goodLuck}'
  3943. },
  3944. XIU_SONG:{
  3945. '{xx.jiao}': '角星造作主荣昌,外进田财及女郎,嫁娶婚姻出贵子,文人及第见君王,惟有埋葬不可用,三年之后主瘟疫,起工修筑坟基地,堂前立见主人凶。',
  3946. '{xx.kang}': '亢星造作长房当,十日之中主有殃,田地消磨官失职,接运定是虎狼伤,嫁娶婚姻用此日,儿孙新妇守空房,埋葬若还用此日,当时害祸主重伤。',
  3947. '{xx.di}': '氐星造作主灾凶,费尽田园仓库空,埋葬不可用此日,悬绳吊颈祸重重,若是婚姻离别散,夜招浪子入房中,行船必定遭沉没,更生聋哑子孙穷。',
  3948. '{xx.fang}': '房星造作田园进,钱财牛马遍山岗,更招外处田庄宅,荣华富贵福禄康,埋葬若然用此日,高官进职拜君王,嫁娶嫦娥至月殿,三年抱子至朝堂。',
  3949. '{xx.xin}': '心星造作大为凶,更遭刑讼狱囚中,忤逆官非宅产退,埋葬卒暴死相从,婚姻若是用此日,子死儿亡泪满胸,三年之内连遭祸,事事教君没始终。',
  3950. '{xx.tail}': '尾星造作主天恩,富贵荣华福禄增,招财进宝兴家宅,和合婚姻贵子孙,埋葬若能依此日,男清女正子孙兴,开门放水招田宅,代代公侯远播名。',
  3951. '{xx.ji}': '箕星造作主高强,岁岁年年大吉昌,埋葬修坟大吉利,田蚕牛马遍山岗,开门放水招田宅,箧满金银谷满仓,福荫高官加禄位,六亲丰禄乐安康。',
  3952. '{xx.dou}': '斗星造作主招财,文武官员位鼎台,田宅家财千万进,坟堂修筑贵富来,开门放水招牛马,旺蚕男女主和谐,遇此吉宿来照护,时支福庆永无灾。',
  3953. '{xx.niu}': '牛星造作主灾危,九横三灾不可推,家宅不安人口退,田蚕不利主人衰,嫁娶婚姻皆自损,金银财谷渐无之,若是开门并放水,牛猪羊马亦伤悲。',
  3954. '{xx.nv}': '女星造作损婆娘,兄弟相嫌似虎狼,埋葬生灾逢鬼怪,颠邪疾病主瘟惶,为事遭官财失散,泻利留连不可当,开门放水用此日,全家财散主离乡。',
  3955. '{xx.xu}': '虚星造作主灾殃,男女孤眠不一双,内乱风声无礼节,儿孙媳妇伴人床,开门放水遭灾祸,虎咬蛇伤又卒亡,三三五五连年病,家破人亡不可当。',
  3956. '{xx.wei}': '危星不可造高楼,自遭刑吊见血光,三年孩子遭水厄,后生出外永不还,埋葬若还逢此日,周年百日取高堂,三年两载一悲伤,开门放水到官堂。',
  3957. '{xx.shi}': '室星修造进田牛,儿孙代代近王侯,家贵荣华天上至,寿如彭祖八千秋,开门放水招财帛,和合婚姻生贵儿,埋葬若能依此日,门庭兴旺福无休。',
  3958. '{xx.qiang}': '壁星造作主增财,丝蚕大熟福滔天,奴婢自来人口进,开门放水出英贤,埋葬招财官品进,家中诸事乐陶然,婚姻吉利主贵子,早播名誉著祖鞭。',
  3959. '{xx.kui}': '奎星造作得祯祥,家内荣和大吉昌,若是埋葬阴卒死,当年定主两三伤,看看军令刑伤到,重重官事主瘟惶,开门放水遭灾祸,三年两次损儿郎。',
  3960. '{xx.lou}': '娄星修造起门庭,财旺家和事事兴,外进钱财百日进,一家兄弟播高名,婚姻进益生贵子,玉帛金银箱满盈,放水开门皆吉利,男荣女贵寿康宁。',
  3961. '{xx.vei}': '胃星造作事如何,家贵荣华喜气多,埋葬贵临官禄位,夫妇齐眉永保康,婚姻遇此家富贵,三灾九祸不逢他,从此门前多吉庆,儿孙代代拜金阶。',
  3962. '{xx.mao}': '昴星造作进田牛,埋葬官灾不得休,重丧二日三人死,尽卖田园不记增,开门放水招灾祸,三岁孩儿白了头,婚姻不可逢此日,死别生离是可愁。',
  3963. '{xx.bi}': '毕星造作主光前,买得田园有余钱,埋葬此日添官职,田蚕大熟永丰年,开门放水多吉庆,合家人口得安然,婚姻若得逢此日,生得孩儿福寿全。',
  3964. '{xx.zi}': '觜星造作有徒刑,三年必定主伶丁,埋葬卒死多因此,取定寅年使杀人,三丧不止皆由此,一人药毒二人身,家门田地皆退败,仓库金银化作尘。',
  3965. '{xx.can}': '参星造作旺人家,文星照耀大光华,只因造作田财旺,埋葬招疾哭黄沙,开门放水加官职,房房子孙见田加,婚姻许遁遭刑克,男女朝开幕落花。',
  3966. '{xx.jing}': '井星造作旺蚕田,金榜题名第一光,埋葬须防惊卒死,狂颠风疾入黄泉,开门放水招财帛,牛马猪羊旺莫言,贵人田塘来入宅,儿孙兴旺有余钱。',
  3967. '{xx.gui}': '鬼星起造卒人亡,堂前不见主人郎,埋葬此日官禄至,儿孙代代近君王,开门放水须伤死,嫁娶夫妻不久长,修土筑墙伤产女,手扶双女泪汪汪。',
  3968. '{xx.liu}': '柳星造作主遭官,昼夜偷闭不暂安,埋葬瘟惶多疾病,田园退尽守冬寒,开门放水遭聋瞎,腰驼背曲似弓弯,更有棒刑宜谨慎,妇人随客走盘桓。',
  3969. '{xx.xing}': '星宿日好造新房,进职加官近帝王,不可埋葬并放水,凶星临位女人亡,生离死别无心恋,要自归休别嫁郎,孔子九曲殊难度,放水开门天命伤。',
  3970. '{xx.zhang}': '张星日好造龙轩,年年并见进庄田,埋葬不久升官职,代代为官近帝前,开门放水招财帛,婚姻和合福绵绵,田蚕人满仓库满,百般顺意自安然。',
  3971. '{xx.yi}': '翼星不利架高堂,三年二载见瘟惶,埋葬若还逢此日,子孙必定走他乡,婚姻此日不宜利,归家定是不相当,开门放水家须破,少女恋花贪外郎。',
  3972. '{xx.zhen}': '轸星临水造龙宫,代代为官受皇封,富贵荣华增寿禄,库满仓盈自昌隆,埋葬文昌来照助,宅舍安宁不见凶,更有为官沾帝宠,婚姻龙子入龙宫。'
  3973. },
  3974. ZHENG:{
  3975. '{xx.jiao}': '{wx.mu}',
  3976. '{xx.jing}': '{wx.mu}',
  3977. '{xx.kui}': '{wx.mu}',
  3978. '{xx.dou}': '{wx.mu}',
  3979. '{xx.kang}': '{wx.jin}',
  3980. '{xx.gui}': '{wx.jin}',
  3981. '{xx.lou}': '{wx.jin}',
  3982. '{xx.niu}': '{wx.jin}',
  3983. '{xx.di}': '{wx.tu}',
  3984. '{xx.liu}': '{wx.tu}',
  3985. '{xx.vei}': '{wx.tu}',
  3986. '{xx.nv}': '{wx.tu}',
  3987. '{xx.fang}': '{wx.ri}',
  3988. '{xx.xing}': '{wx.ri}',
  3989. '{xx.mao}': '{wx.ri}',
  3990. '{xx.xu}': '{wx.ri}',
  3991. '{xx.xin}': '{wx.yue}',
  3992. '{xx.zhang}': '{wx.yue}',
  3993. '{xx.bi}': '{wx.yue}',
  3994. '{xx.wei}': '{wx.yue}',
  3995. '{xx.tail}': '{wx.huo}',
  3996. '{xx.yi}': '{wx.huo}',
  3997. '{xx.zi}': '{wx.huo}',
  3998. '{xx.shi}': '{wx.huo}',
  3999. '{xx.ji}': '{wx.shui}',
  4000. '{xx.zhen}': '{wx.shui}',
  4001. '{xx.can}': '{wx.shui}',
  4002. '{xx.qiang}': '{wx.shui}'
  4003. },
  4004. ANIMAL:{
  4005. '{xx.jiao}': '{dw.jiao}',
  4006. '{xx.dou}': '{dw.xie}',
  4007. '{xx.kui}': '{dw.lang}',
  4008. '{xx.jing}': '{dw.han}',
  4009. '{xx.kang}': '{dw.long}',
  4010. '{xx.niu}': '{dw.niu}',
  4011. '{xx.lou}': '{dw.gou}',
  4012. '{xx.gui}': '{dw.yang}',
  4013. '{xx.nv}': '{dw.fu}',
  4014. '{xx.di}': '{dw.he}',
  4015. '{xx.vei}': '{dw.zhi}',
  4016. '{xx.liu}': '{dw.zhang}',
  4017. '{xx.fang}': '{dw.tu}',
  4018. '{xx.xu}': '{dw.shu}',
  4019. '{xx.mao}': '{dw.ji}',
  4020. '{xx.xing}': '{dw.ma}',
  4021. '{xx.xin}': '{dw.huLi}',
  4022. '{xx.wei}': '{dw.yan}',
  4023. '{xx.bi}': '{dw.wu}',
  4024. '{xx.zhang}': '{dw.lu}',
  4025. '{xx.tail}': '{dw.hu}',
  4026. '{xx.shi}': '{dw.zhu}',
  4027. '{xx.zi}': '{dw.hou}',
  4028. '{xx.yi}': '{dw.she}',
  4029. '{xx.ji}': '{dw.bao}',
  4030. '{xx.qiang}': '{dw.xu}',
  4031. '{xx.can}': '{dw.yuan}',
  4032. '{xx.zhen}': '{dw.yin}'
  4033. },
  4034. GONG:{
  4035. '{xx.jiao}': '{ps.dong}',
  4036. '{xx.jing}': '{ps.nan}',
  4037. '{xx.kui}': '{ps.xi}',
  4038. '{xx.dou}': '{ps.bei}',
  4039. '{xx.kang}': '{ps.dong}',
  4040. '{xx.gui}': '{ps.nan}',
  4041. '{xx.lou}': '{ps.xi}',
  4042. '{xx.niu}': '{ps.bei}',
  4043. '{xx.di}': '{ps.dong}',
  4044. '{xx.liu}': '{ps.nan}',
  4045. '{xx.vei}': '{ps.xi}',
  4046. '{xx.nv}': '{ps.bei}',
  4047. '{xx.fang}': '{ps.dong}',
  4048. '{xx.xing}': '{ps.nan}',
  4049. '{xx.mao}': '{ps.xi}',
  4050. '{xx.xu}': '{ps.bei}',
  4051. '{xx.xin}': '{ps.dong}',
  4052. '{xx.zhang}': '{ps.nan}',
  4053. '{xx.bi}': '{ps.xi}',
  4054. '{xx.wei}': '{ps.bei}',
  4055. '{xx.tail}': '{ps.dong}',
  4056. '{xx.yi}': '{ps.nan}',
  4057. '{xx.zi}': '{ps.xi}',
  4058. '{xx.shi}': '{ps.bei}',
  4059. '{xx.ji}': '{ps.dong}',
  4060. '{xx.zhen}': '{ps.nan}',
  4061. '{xx.can}': '{ps.xi}',
  4062. '{xx.qiang}': '{ps.bei}'
  4063. },
  4064. SHOU:{
  4065. '{ps.dong}':'{sn.qingLong}',
  4066. '{ps.nan}':'{sn.zhuQue}',
  4067. '{ps.xi}':'{sn.baiHu}',
  4068. '{ps.bei}':'{sn.xuanWu}'
  4069. },
  4070. FESTIVAL:{
  4071. '1-1':'{jr.chunJie}',
  4072. '1-15':'{jr.yuanXiao}',
  4073. '2-2':'{jr.longTou}',
  4074. '5-5':'{jr.duanWu}',
  4075. '7-7':'{jr.qiXi}',
  4076. '8-15':'{jr.zhongQiu}',
  4077. '9-9':'{jr.chongYang}',
  4078. '12-8':'{jr.laBa}'
  4079. },
  4080. OTHER_FESTIVAL:{'1-4':['接神日'],'1-5':['隔开日'],'1-7':['人日'],'1-8':['谷日','顺星节'],'1-9':['天日'],'1-10':['地日'],'1-20':['天穿节'],'1-25':['填仓节'],'1-30':['正月晦'],'2-1':['中和节'],'2-2':['社日节'],'3-3':['上巳节'],'5-20':['分龙节'],'5-25':['会龙节'],'6-6':['天贶节'],'6-24':['观莲节'],'6-25':['五谷母节'],'7-14':['中元节'],'7-22':['财神节'],'7-29':['地藏节'],'8-1':['天灸日'],'10-1':['寒衣节'],'10-10':['十成节'],'10-15':['下元节'],'12-7':['驱傩日'],'12-16':['尾牙'],'12-24':['祭灶日']},
  4081. CHONG:['{dz.wu}', '{dz.wei}', '{dz.shen}', '{dz.you}', '{dz.xu}', '{dz.hai}', '{dz.zi}', '{dz.chou}', '{dz.yin}', '{dz.mao}', '{dz.chen}', '{dz.si}'],
  4082. CHONG_GAN:['{tg.wu}', '{tg.ji}', '{tg.geng}', '{tg.xin}', '{tg.ren}', '{tg.gui}', '{tg.jia}', '{tg.yi}', '{tg.bing}', '{tg.ding}'],
  4083. CHONG_GAN_TIE:['{tg.ji}', '{tg.wu}', '{tg.xin}', '{tg.geng}', '{tg.gui}', '{tg.ren}', '{tg.yi}', '{tg.jia}', '{tg.ding}', '{tg.bing}'],
  4084. CHONG_GAN_4:['{tg.geng}', '{tg.xin}', '{tg.ren}', '{tg.gui}', '', '', '{tg.jia}', '{tg.yi}', '{tg.bing}', '{tg.ding}'],
  4085. HE_GAN_5:['{tg.ji}', '{tg.geng}', '{tg.xin}', '{tg.ren}', '{tg.gui}', '{tg.jia}', '{tg.yi}', '{tg.bing}', '{tg.ding}', '{tg.wu}'],
  4086. HE_ZHI_6:['{dz.chou}', '{dz.zi}', '{dz.hai}', '{dz.xu}', '{dz.you}', '{dz.shen}', '{dz.wei}', '{dz.wu}', '{dz.si}', '{dz.chen}', '{dz.mao}', '{dz.yin}'],
  4087. SHA:{
  4088. '{dz.zi}':'{ps.nan}',
  4089. '{dz.chou}':'{ps.dong}',
  4090. '{dz.yin}':'{ps.bei}',
  4091. '{dz.mao}':'{ps.xi}',
  4092. '{dz.chen}':'{ps.nan}',
  4093. '{dz.si}':'{ps.dong}',
  4094. '{dz.wu}':'{ps.bei}',
  4095. '{dz.wei}':'{ps.xi}',
  4096. '{dz.shen}':'{ps.nan}',
  4097. '{dz.you}':'{ps.dong}',
  4098. '{dz.xu}':'{ps.bei}',
  4099. '{dz.hai}':'{ps.xi}'
  4100. },
  4101. POSITION_DESC:{
  4102. '{bg.kan}':'{ps.zhengBei}',
  4103. '{bg.gen}':'{ps.dongBei}',
  4104. '{bg.zhen}':'{ps.zhengDong}',
  4105. '{bg.xun}':'{ps.dongNan}',
  4106. '{bg.li}':'{ps.zhengNan}',
  4107. '{bg.kun}':'{ps.xiNan}',
  4108. '{bg.dui}':'{ps.zhengXi}',
  4109. '{bg.qian}':'{ps.xiBei}',
  4110. '{ps.center}':'{ps.zhong}'
  4111. },
  4112. NAYIN:{
  4113. '{jz.jiaZi}': '{ny.haiZhong}{wx.jin}',
  4114. '{jz.jiaWu}': '{ny.shaZhong}{wx.jin}',
  4115. '{jz.bingYin}': '{ny.luZhong}{wx.huo}',
  4116. '{jz.bingShen}': '{ny.shanXia}{wx.huo}',
  4117. '{jz.wuChen}': '{ny.daLin}{wx.mu}',
  4118. '{jz.wuXu}': '{ny.pingDi}{wx.mu}',
  4119. '{jz.gengWu}': '{ny.luPang}{wx.tu}',
  4120. '{jz.gengZi}': '{ny.biShang}{wx.tu}',
  4121. '{jz.renShen}': '{ny.jianFeng}{wx.jin}',
  4122. '{jz.renYin}': '{ny.jinBo}{wx.jin}',
  4123. '{jz.jiaXu}': '{ny.shanTou}{wx.huo}',
  4124. '{jz.jiaChen}': '{ny.fuDeng}{wx.huo}',
  4125. '{jz.bingZi}': '{ny.jianXia}{wx.shui}',
  4126. '{jz.bingWu}': '{ny.tianHe}{wx.shui}',
  4127. '{jz.wuYin}': '{ny.chengTou}{wx.tu}',
  4128. '{jz.wuShen}': '{ny.daYi}{wx.tu}',
  4129. '{jz.gengChen}': '{ny.baiLa}{wx.jin}',
  4130. '{jz.gengXu}': '{ny.chaiChuan}{wx.jin}',
  4131. '{jz.renWu}': '{ny.yangLiu}{wx.mu}',
  4132. '{jz.renZi}': '{ny.sangZhe}{wx.mu}',
  4133. '{jz.jiaShen}': '{ny.quanZhong}{wx.shui}',
  4134. '{jz.jiaYin}': '{ny.daXi}{wx.shui}',
  4135. '{jz.bingXu}': '{ny.wuShang}{wx.tu}',
  4136. '{jz.bingChen}': '{ny.shaZhong}{wx.tu}',
  4137. '{jz.wuZi}': '{ny.piLi}{wx.huo}',
  4138. '{jz.wuWu}': '{ny.tianShang}{wx.huo}',
  4139. '{jz.gengYin}': '{ny.songBo}{wx.mu}',
  4140. '{jz.gengShen}': '{ny.shiLiu}{wx.mu}',
  4141. '{jz.renChen}': '{ny.changLiu}{wx.shui}',
  4142. '{jz.renXu}': '{ny.daHai}{wx.shui}',
  4143. '{jz.yiChou}': '{ny.haiZhong}{wx.jin}',
  4144. '{jz.yiWei}': '{ny.shaZhong}{wx.jin}',
  4145. '{jz.dingMao}': '{ny.luZhong}{wx.huo}',
  4146. '{jz.dingYou}': '{ny.shanXia}{wx.huo}',
  4147. '{jz.jiSi}': '{ny.daLin}{wx.mu}',
  4148. '{jz.jiHai}': '{ny.pingDi}{wx.mu}',
  4149. '{jz.xinWei}': '{ny.luPang}{wx.tu}',
  4150. '{jz.xinChou}': '{ny.biShang}{wx.tu}',
  4151. '{jz.guiYou}': '{ny.jianFeng}{wx.jin}',
  4152. '{jz.guiMao}': '{ny.jinBo}{wx.jin}',
  4153. '{jz.yiHai}': '{ny.shanTou}{wx.huo}',
  4154. '{jz.yiSi}': '{ny.fuDeng}{wx.huo}',
  4155. '{jz.dingChou}': '{ny.jianXia}{wx.shui}',
  4156. '{jz.dingWei}': '{ny.tianHe}{wx.shui}',
  4157. '{jz.jiMao}': '{ny.chengTou}{wx.tu}',
  4158. '{jz.jiYou}': '{ny.daYi}{wx.tu}',
  4159. '{jz.xinSi}': '{ny.baiLa}{wx.jin}',
  4160. '{jz.xinHai}': '{ny.chaiChuan}{wx.jin}',
  4161. '{jz.guiWei}': '{ny.yangLiu}{wx.mu}',
  4162. '{jz.guiChou}': '{ny.sangZhe}{wx.mu}',
  4163. '{jz.yiYou}': '{ny.quanZhong}{wx.shui}',
  4164. '{jz.yiMao}': '{ny.daXi}{wx.shui}',
  4165. '{jz.dingHai}': '{ny.wuShang}{wx.tu}',
  4166. '{jz.dingSi}': '{ny.shaZhong}{wx.tu}',
  4167. '{jz.jiChou}': '{ny.piLi}{wx.huo}',
  4168. '{jz.jiWei}': '{ny.tianShang}{wx.huo}',
  4169. '{jz.xinMao}': '{ny.songBo}{wx.mu}',
  4170. '{jz.xinYou}': '{ny.shiLiu}{wx.mu}',
  4171. '{jz.guiSi}': '{ny.changLiu}{wx.shui}',
  4172. '{jz.guiHai}': '{ny.daHai}{wx.shui}'
  4173. },
  4174. WU_XING_GAN:{
  4175. '{tg.jia}':'{wx.mu}',
  4176. '{tg.yi}':'{wx.mu}',
  4177. '{tg.bing}':'{wx.huo}',
  4178. '{tg.ding}':'{wx.huo}',
  4179. '{tg.wu}':'{wx.tu}',
  4180. '{tg.ji}':'{wx.tu}',
  4181. '{tg.geng}':'{wx.jin}',
  4182. '{tg.xin}':'{wx.jin}',
  4183. '{tg.ren}':'{wx.shui}',
  4184. '{tg.gui}':'{wx.shui}'
  4185. },
  4186. WU_XING_ZHI:{
  4187. '{dz.yin}':'{wx.mu}',
  4188. '{dz.mao}':'{wx.mu}',
  4189. '{dz.si}':'{wx.huo}',
  4190. '{dz.wu}':'{wx.huo}',
  4191. '{dz.chen}':'{wx.tu}',
  4192. '{dz.chou}':'{wx.tu}',
  4193. '{dz.xu}':'{wx.tu}',
  4194. '{dz.wei}':'{wx.tu}',
  4195. '{dz.shen}':'{wx.jin}',
  4196. '{dz.you}':'{wx.jin}',
  4197. '{dz.hai}':'{wx.shui}',
  4198. '{dz.zi}':'{wx.shui}'
  4199. },
  4200. SHI_SHEN_GAN:{
  4201. '{tg.jia}{tg.jia}':'{ss.biJian}',
  4202. '{tg.jia}{tg.yi}':'{ss.jieCai}',
  4203. '{tg.jia}{tg.bing}':'{ss.shiShen}',
  4204. '{tg.jia}{tg.ding}':'{ss.shangGuan}',
  4205. '{tg.jia}{tg.wu}':'{ss.pianCai}',
  4206. '{tg.jia}{tg.ji}':'{ss.zhengCai}',
  4207. '{tg.jia}{tg.geng}':'{ss.qiSha}',
  4208. '{tg.jia}{tg.xin}':'{ss.zhengGuan}',
  4209. '{tg.jia}{tg.ren}':'{ss.pianYin}',
  4210. '{tg.jia}{tg.gui}':'{ss.zhengYin}',
  4211. '{tg.yi}{tg.yi}':'{ss.biJian}',
  4212. '{tg.yi}{tg.jia}':'{ss.jieCai}',
  4213. '{tg.yi}{tg.ding}':'{ss.shiShen}',
  4214. '{tg.yi}{tg.bing}':'{ss.shangGuan}',
  4215. '{tg.yi}{tg.ji}':'{ss.pianCai}',
  4216. '{tg.yi}{tg.wu}':'{ss.zhengCai}',
  4217. '{tg.yi}{tg.xin}':'{ss.qiSha}',
  4218. '{tg.yi}{tg.geng}':'{ss.zhengGuan}',
  4219. '{tg.yi}{tg.gui}':'{ss.pianYin}',
  4220. '{tg.yi}{tg.ren}':'{ss.zhengYin}',
  4221. '{tg.bing}{tg.bing}':'{ss.biJian}',
  4222. '{tg.bing}{tg.ding}':'{ss.jieCai}',
  4223. '{tg.bing}{tg.wu}':'{ss.shiShen}',
  4224. '{tg.bing}{tg.ji}':'{ss.shangGuan}',
  4225. '{tg.bing}{tg.geng}':'{ss.pianCai}',
  4226. '{tg.bing}{tg.xin}':'{ss.zhengCai}',
  4227. '{tg.bing}{tg.ren}':'{ss.qiSha}',
  4228. '{tg.bing}{tg.gui}':'{ss.zhengGuan}',
  4229. '{tg.bing}{tg.jia}':'{ss.pianYin}',
  4230. '{tg.bing}{tg.yi}':'{ss.zhengYin}',
  4231. '{tg.ding}{tg.ding}':'{ss.biJian}',
  4232. '{tg.ding}{tg.bing}':'{ss.jieCai}',
  4233. '{tg.ding}{tg.ji}':'{ss.shiShen}',
  4234. '{tg.ding}{tg.wu}':'{ss.shangGuan}',
  4235. '{tg.ding}{tg.xin}':'{ss.pianCai}',
  4236. '{tg.ding}{tg.geng}':'{ss.zhengCai}',
  4237. '{tg.ding}{tg.gui}':'{ss.qiSha}',
  4238. '{tg.ding}{tg.ren}':'{ss.zhengGuan}',
  4239. '{tg.ding}{tg.yi}':'{ss.pianYin}',
  4240. '{tg.ding}{tg.jia}':'{ss.zhengYin}',
  4241. '{tg.wu}{tg.wu}':'{ss.biJian}',
  4242. '{tg.wu}{tg.ji}':'{ss.jieCai}',
  4243. '{tg.wu}{tg.geng}':'{ss.shiShen}',
  4244. '{tg.wu}{tg.xin}':'{ss.shangGuan}',
  4245. '{tg.wu}{tg.ren}':'{ss.pianCai}',
  4246. '{tg.wu}{tg.gui}':'{ss.zhengCai}',
  4247. '{tg.wu}{tg.jia}':'{ss.qiSha}',
  4248. '{tg.wu}{tg.yi}':'{ss.zhengGuan}',
  4249. '{tg.wu}{tg.bing}':'{ss.pianYin}',
  4250. '{tg.wu}{tg.ding}':'{ss.zhengYin}',
  4251. '{tg.ji}{tg.ji}':'{ss.biJian}',
  4252. '{tg.ji}{tg.wu}':'{ss.jieCai}',
  4253. '{tg.ji}{tg.xin}':'{ss.shiShen}',
  4254. '{tg.ji}{tg.geng}':'{ss.shangGuan}',
  4255. '{tg.ji}{tg.gui}':'{ss.pianCai}',
  4256. '{tg.ji}{tg.ren}':'{ss.zhengCai}',
  4257. '{tg.ji}{tg.yi}':'{ss.qiSha}',
  4258. '{tg.ji}{tg.jia}':'{ss.zhengGuan}',
  4259. '{tg.ji}{tg.ding}':'{ss.pianYin}',
  4260. '{tg.ji}{tg.bing}':'{ss.zhengYin}',
  4261. '{tg.geng}{tg.geng}':'{ss.biJian}',
  4262. '{tg.geng}{tg.xin}':'{ss.jieCai}',
  4263. '{tg.geng}{tg.ren}':'{ss.shiShen}',
  4264. '{tg.geng}{tg.gui}':'{ss.shangGuan}',
  4265. '{tg.geng}{tg.jia}':'{ss.pianCai}',
  4266. '{tg.geng}{tg.yi}':'{ss.zhengCai}',
  4267. '{tg.geng}{tg.bing}':'{ss.qiSha}',
  4268. '{tg.geng}{tg.ding}':'{ss.zhengGuan}',
  4269. '{tg.geng}{tg.wu}':'{ss.pianYin}',
  4270. '{tg.geng}{tg.ji}':'{ss.zhengYin}',
  4271. '{tg.xin}{tg.xin}':'{ss.biJian}',
  4272. '{tg.xin}{tg.geng}':'{ss.jieCai}',
  4273. '{tg.xin}{tg.gui}':'{ss.shiShen}',
  4274. '{tg.xin}{tg.ren}':'{ss.shangGuan}',
  4275. '{tg.xin}{tg.yi}':'{ss.pianCai}',
  4276. '{tg.xin}{tg.jia}':'{ss.zhengCai}',
  4277. '{tg.xin}{tg.ding}':'{ss.qiSha}',
  4278. '{tg.xin}{tg.bing}':'{ss.zhengGuan}',
  4279. '{tg.xin}{tg.ji}':'{ss.pianYin}',
  4280. '{tg.xin}{tg.wu}':'{ss.zhengYin}',
  4281. '{tg.ren}{tg.ren}':'{ss.biJian}',
  4282. '{tg.ren}{tg.gui}':'{ss.jieCai}',
  4283. '{tg.ren}{tg.jia}':'{ss.shiShen}',
  4284. '{tg.ren}{tg.yi}':'{ss.shangGuan}',
  4285. '{tg.ren}{tg.bing}':'{ss.pianCai}',
  4286. '{tg.ren}{tg.ding}':'{ss.zhengCai}',
  4287. '{tg.ren}{tg.wu}':'{ss.qiSha}',
  4288. '{tg.ren}{tg.ji}':'{ss.zhengGuan}',
  4289. '{tg.ren}{tg.geng}':'{ss.pianYin}',
  4290. '{tg.ren}{tg.xin}':'{ss.zhengYin}',
  4291. '{tg.gui}{tg.gui}':'{ss.biJian}',
  4292. '{tg.gui}{tg.ren}':'{ss.jieCai}',
  4293. '{tg.gui}{tg.yi}':'{ss.shiShen}',
  4294. '{tg.gui}{tg.jia}':'{ss.shangGuan}',
  4295. '{tg.gui}{tg.ding}':'{ss.pianCai}',
  4296. '{tg.gui}{tg.bing}':'{ss.zhengCai}',
  4297. '{tg.gui}{tg.ji}':'{ss.qiSha}',
  4298. '{tg.gui}{tg.wu}':'{ss.zhengGuan}',
  4299. '{tg.gui}{tg.xin}':'{ss.pianYin}',
  4300. '{tg.gui}{tg.geng}':'{ss.zhengYin}'
  4301. },
  4302. SHI_SHEN_ZHI:{
  4303. '{tg.jia}{dz.zi}{tg.gui}':'{ss.zhengYin}',
  4304. '{tg.jia}{dz.chou}{tg.gui}':'{ss.zhengYin}',
  4305. '{tg.jia}{dz.chou}{tg.ji}':'{ss.zhengCai}',
  4306. '{tg.jia}{dz.chou}{tg.xin}':'{ss.zhengGuan}',
  4307. '{tg.jia}{dz.yin}{tg.bing}':'{ss.shiShen}',
  4308. '{tg.jia}{dz.yin}{tg.jia}':'{ss.biJian}',
  4309. '{tg.jia}{dz.yin}{tg.wu}':'{ss.pianCai}',
  4310. '{tg.jia}{dz.mao}{tg.yi}':'{ss.jieCai}',
  4311. '{tg.jia}{dz.chen}{tg.yi}':'{ss.jieCai}',
  4312. '{tg.jia}{dz.chen}{tg.wu}':'{ss.pianCai}',
  4313. '{tg.jia}{dz.chen}{tg.gui}':'{ss.zhengYin}',
  4314. '{tg.jia}{dz.si}{tg.wu}':'{ss.pianCai}',
  4315. '{tg.jia}{dz.si}{tg.bing}':'{ss.shiShen}',
  4316. '{tg.jia}{dz.si}{tg.geng}':'{ss.qiSha}',
  4317. '{tg.jia}{dz.wu}{tg.ding}':'{ss.shangGuan}',
  4318. '{tg.jia}{dz.wu}{tg.ji}':'{ss.zhengCai}',
  4319. '{tg.jia}{dz.wei}{tg.yi}':'{ss.jieCai}',
  4320. '{tg.jia}{dz.wei}{tg.ji}':'{ss.zhengCai}',
  4321. '{tg.jia}{dz.wei}{tg.ding}':'{ss.shangGuan}',
  4322. '{tg.jia}{dz.shen}{tg.wu}':'{ss.pianCai}',
  4323. '{tg.jia}{dz.shen}{tg.geng}':'{ss.qiSha}',
  4324. '{tg.jia}{dz.shen}{tg.ren}':'{ss.pianYin}',
  4325. '{tg.jia}{dz.you}{tg.xin}':'{ss.zhengGuan}',
  4326. '{tg.jia}{dz.xu}{tg.xin}':'{ss.zhengGuan}',
  4327. '{tg.jia}{dz.xu}{tg.wu}':'{ss.pianCai}',
  4328. '{tg.jia}{dz.xu}{tg.ding}':'{ss.shangGuan}',
  4329. '{tg.jia}{dz.hai}{tg.ren}':'{ss.pianYin}',
  4330. '{tg.jia}{dz.hai}{tg.jia}':'{ss.biJian}',
  4331. '{tg.yi}{dz.zi}{tg.gui}':'{ss.pianYin}',
  4332. '{tg.yi}{dz.chou}{tg.gui}':'{ss.pianYin}',
  4333. '{tg.yi}{dz.chou}{tg.ji}':'{ss.pianCai}',
  4334. '{tg.yi}{dz.chou}{tg.xin}':'{ss.qiSha}',
  4335. '{tg.yi}{dz.yin}{tg.bing}':'{ss.shangGuan}',
  4336. '{tg.yi}{dz.yin}{tg.jia}':'{ss.jieCai}',
  4337. '{tg.yi}{dz.yin}{tg.wu}':'{ss.zhengCai}',
  4338. '{tg.yi}{dz.mao}{tg.yi}':'{ss.biJian}',
  4339. '{tg.yi}{dz.chen}{tg.yi}':'{ss.biJian}',
  4340. '{tg.yi}{dz.chen}{tg.wu}':'{ss.zhengCai}',
  4341. '{tg.yi}{dz.chen}{tg.gui}':'{ss.pianYin}',
  4342. '{tg.yi}{dz.si}{tg.wu}':'{ss.zhengCai}',
  4343. '{tg.yi}{dz.si}{tg.bing}':'{ss.shangGuan}',
  4344. '{tg.yi}{dz.si}{tg.geng}':'{ss.zhengGuan}',
  4345. '{tg.yi}{dz.wu}{tg.ding}':'{ss.shiShen}',
  4346. '{tg.yi}{dz.wu}{tg.ji}':'{ss.pianCai}',
  4347. '{tg.yi}{dz.wei}{tg.yi}':'{ss.biJian}',
  4348. '{tg.yi}{dz.wei}{tg.ji}':'{ss.pianCai}',
  4349. '{tg.yi}{dz.wei}{tg.ding}':'{ss.shiShen}',
  4350. '{tg.yi}{dz.shen}{tg.wu}':'{ss.zhengCai}',
  4351. '{tg.yi}{dz.shen}{tg.geng}':'{ss.zhengGuan}',
  4352. '{tg.yi}{dz.shen}{tg.ren}':'{ss.zhengYin}',
  4353. '{tg.yi}{dz.you}{tg.xin}':'{ss.qiSha}',
  4354. '{tg.yi}{dz.xu}{tg.xin}':'{ss.qiSha}',
  4355. '{tg.yi}{dz.xu}{tg.wu}':'{ss.zhengCai}',
  4356. '{tg.yi}{dz.xu}{tg.ding}':'{ss.shiShen}',
  4357. '{tg.yi}{dz.hai}{tg.ren}':'{ss.zhengYin}',
  4358. '{tg.yi}{dz.hai}{tg.jia}':'{ss.jieCai}',
  4359. '{tg.bing}{dz.zi}{tg.gui}':'{ss.zhengGuan}',
  4360. '{tg.bing}{dz.chou}{tg.gui}':'{ss.zhengGuan}',
  4361. '{tg.bing}{dz.chou}{tg.ji}':'{ss.shangGuan}',
  4362. '{tg.bing}{dz.chou}{tg.xin}':'{ss.zhengCai}',
  4363. '{tg.bing}{dz.yin}{tg.bing}':'{ss.biJian}',
  4364. '{tg.bing}{dz.yin}{tg.jia}':'{ss.pianYin}',
  4365. '{tg.bing}{dz.yin}{tg.wu}':'{ss.shiShen}',
  4366. '{tg.bing}{dz.mao}{tg.yi}':'{ss.zhengYin}',
  4367. '{tg.bing}{dz.chen}{tg.yi}':'{ss.zhengYin}',
  4368. '{tg.bing}{dz.chen}{tg.wu}':'{ss.shiShen}',
  4369. '{tg.bing}{dz.chen}{tg.gui}':'{ss.zhengGuan}',
  4370. '{tg.bing}{dz.si}{tg.wu}':'{ss.shiShen}',
  4371. '{tg.bing}{dz.si}{tg.bing}':'{ss.biJian}',
  4372. '{tg.bing}{dz.si}{tg.geng}':'{ss.pianCai}',
  4373. '{tg.bing}{dz.wu}{tg.ding}':'{ss.jieCai}',
  4374. '{tg.bing}{dz.wu}{tg.ji}':'{ss.shangGuan}',
  4375. '{tg.bing}{dz.wei}{tg.yi}':'{ss.zhengYin}',
  4376. '{tg.bing}{dz.wei}{tg.ji}':'{ss.shangGuan}',
  4377. '{tg.bing}{dz.wei}{tg.ding}':'{ss.jieCai}',
  4378. '{tg.bing}{dz.shen}{tg.wu}':'{ss.shiShen}',
  4379. '{tg.bing}{dz.shen}{tg.geng}':'{ss.pianCai}',
  4380. '{tg.bing}{dz.shen}{tg.ren}':'{ss.qiSha}',
  4381. '{tg.bing}{dz.you}{tg.xin}':'{ss.zhengCai}',
  4382. '{tg.bing}{dz.xu}{tg.xin}':'{ss.zhengCai}',
  4383. '{tg.bing}{dz.xu}{tg.wu}':'{ss.shiShen}',
  4384. '{tg.bing}{dz.xu}{tg.ding}':'{ss.jieCai}',
  4385. '{tg.bing}{dz.hai}{tg.ren}':'{ss.qiSha}',
  4386. '{tg.bing}{dz.hai}{tg.jia}':'{ss.pianYin}',
  4387. '{tg.ding}{dz.zi}{tg.gui}':'{ss.qiSha}',
  4388. '{tg.ding}{dz.chou}{tg.gui}':'{ss.qiSha}',
  4389. '{tg.ding}{dz.chou}{tg.ji}':'{ss.shiShen}',
  4390. '{tg.ding}{dz.chou}{tg.xin}':'{ss.pianCai}',
  4391. '{tg.ding}{dz.yin}{tg.bing}':'{ss.jieCai}',
  4392. '{tg.ding}{dz.yin}{tg.jia}':'{ss.zhengYin}',
  4393. '{tg.ding}{dz.yin}{tg.wu}':'{ss.shangGuan}',
  4394. '{tg.ding}{dz.mao}{tg.yi}':'{ss.pianYin}',
  4395. '{tg.ding}{dz.chen}{tg.yi}':'{ss.pianYin}',
  4396. '{tg.ding}{dz.chen}{tg.wu}':'{ss.shangGuan}',
  4397. '{tg.ding}{dz.chen}{tg.gui}':'{ss.qiSha}',
  4398. '{tg.ding}{dz.si}{tg.wu}':'{ss.shangGuan}',
  4399. '{tg.ding}{dz.si}{tg.bing}':'{ss.jieCai}',
  4400. '{tg.ding}{dz.si}{tg.geng}':'{ss.zhengCai}',
  4401. '{tg.ding}{dz.wu}{tg.ding}':'{ss.biJian}',
  4402. '{tg.ding}{dz.wu}{tg.ji}':'{ss.shiShen}',
  4403. '{tg.ding}{dz.wei}{tg.yi}':'{ss.pianYin}',
  4404. '{tg.ding}{dz.wei}{tg.ji}':'{ss.shiShen}',
  4405. '{tg.ding}{dz.wei}{tg.ding}':'{ss.biJian}',
  4406. '{tg.ding}{dz.shen}{tg.wu}':'{ss.shangGuan}',
  4407. '{tg.ding}{dz.shen}{tg.geng}':'{ss.zhengCai}',
  4408. '{tg.ding}{dz.shen}{tg.ren}':'{ss.zhengGuan}',
  4409. '{tg.ding}{dz.you}{tg.xin}':'{ss.pianCai}',
  4410. '{tg.ding}{dz.xu}{tg.xin}':'{ss.pianCai}',
  4411. '{tg.ding}{dz.xu}{tg.wu}':'{ss.shangGuan}',
  4412. '{tg.ding}{dz.xu}{tg.ding}':'{ss.biJian}',
  4413. '{tg.ding}{dz.hai}{tg.ren}':'{ss.zhengGuan}',
  4414. '{tg.ding}{dz.hai}{tg.jia}':'{ss.zhengYin}',
  4415. '{tg.wu}{dz.zi}{tg.gui}':'{ss.zhengCai}',
  4416. '{tg.wu}{dz.chou}{tg.gui}':'{ss.zhengCai}',
  4417. '{tg.wu}{dz.chou}{tg.ji}':'{ss.jieCai}',
  4418. '{tg.wu}{dz.chou}{tg.xin}':'{ss.shangGuan}',
  4419. '{tg.wu}{dz.yin}{tg.bing}':'{ss.pianYin}',
  4420. '{tg.wu}{dz.yin}{tg.jia}':'{ss.qiSha}',
  4421. '{tg.wu}{dz.yin}{tg.wu}':'{ss.biJian}',
  4422. '{tg.wu}{dz.mao}{tg.yi}':'{ss.zhengGuan}',
  4423. '{tg.wu}{dz.chen}{tg.yi}':'{ss.zhengGuan}',
  4424. '{tg.wu}{dz.chen}{tg.wu}':'{ss.biJian}',
  4425. '{tg.wu}{dz.chen}{tg.gui}':'{ss.zhengCai}',
  4426. '{tg.wu}{dz.si}{tg.wu}':'{ss.biJian}',
  4427. '{tg.wu}{dz.si}{tg.bing}':'{ss.pianYin}',
  4428. '{tg.wu}{dz.si}{tg.geng}':'{ss.shiShen}',
  4429. '{tg.wu}{dz.wu}{tg.ding}':'{ss.zhengYin}',
  4430. '{tg.wu}{dz.wu}{tg.ji}':'{ss.jieCai}',
  4431. '{tg.wu}{dz.wei}{tg.yi}':'{ss.zhengGuan}',
  4432. '{tg.wu}{dz.wei}{tg.ji}':'{ss.jieCai}',
  4433. '{tg.wu}{dz.wei}{tg.ding}':'{ss.zhengYin}',
  4434. '{tg.wu}{dz.shen}{tg.wu}':'{ss.biJian}',
  4435. '{tg.wu}{dz.shen}{tg.geng}':'{ss.shiShen}',
  4436. '{tg.wu}{dz.shen}{tg.ren}':'{ss.pianCai}',
  4437. '{tg.wu}{dz.you}{tg.xin}':'{ss.shangGuan}',
  4438. '{tg.wu}{dz.xu}{tg.xin}':'{ss.shangGuan}',
  4439. '{tg.wu}{dz.xu}{tg.wu}':'{ss.biJian}',
  4440. '{tg.wu}{dz.xu}{tg.ding}':'{ss.zhengYin}',
  4441. '{tg.wu}{dz.hai}{tg.ren}':'{ss.pianCai}',
  4442. '{tg.wu}{dz.hai}{tg.jia}':'{ss.qiSha}',
  4443. '{tg.ji}{dz.zi}{tg.gui}':'{ss.pianCai}',
  4444. '{tg.ji}{dz.chou}{tg.gui}':'{ss.pianCai}',
  4445. '{tg.ji}{dz.chou}{tg.ji}':'{ss.biJian}',
  4446. '{tg.ji}{dz.chou}{tg.xin}':'{ss.shiShen}',
  4447. '{tg.ji}{dz.yin}{tg.bing}':'{ss.zhengYin}',
  4448. '{tg.ji}{dz.yin}{tg.jia}':'{ss.zhengGuan}',
  4449. '{tg.ji}{dz.yin}{tg.wu}':'{ss.jieCai}',
  4450. '{tg.ji}{dz.mao}{tg.yi}':'{ss.qiSha}',
  4451. '{tg.ji}{dz.chen}{tg.yi}':'{ss.qiSha}',
  4452. '{tg.ji}{dz.chen}{tg.wu}':'{ss.jieCai}',
  4453. '{tg.ji}{dz.chen}{tg.gui}':'{ss.pianCai}',
  4454. '{tg.ji}{dz.si}{tg.wu}':'{ss.jieCai}',
  4455. '{tg.ji}{dz.si}{tg.bing}':'{ss.zhengYin}',
  4456. '{tg.ji}{dz.si}{tg.geng}':'{ss.shangGuan}',
  4457. '{tg.ji}{dz.wu}{tg.ding}':'{ss.pianYin}',
  4458. '{tg.ji}{dz.wu}{tg.ji}':'{ss.biJian}',
  4459. '{tg.ji}{dz.wei}{tg.yi}':'{ss.qiSha}',
  4460. '{tg.ji}{dz.wei}{tg.ji}':'{ss.biJian}',
  4461. '{tg.ji}{dz.wei}{tg.ding}':'{ss.pianYin}',
  4462. '{tg.ji}{dz.shen}{tg.wu}':'{ss.jieCai}',
  4463. '{tg.ji}{dz.shen}{tg.geng}':'{ss.shangGuan}',
  4464. '{tg.ji}{dz.shen}{tg.ren}':'{ss.zhengCai}',
  4465. '{tg.ji}{dz.you}{tg.xin}':'{ss.shiShen}',
  4466. '{tg.ji}{dz.xu}{tg.xin}':'{ss.shiShen}',
  4467. '{tg.ji}{dz.xu}{tg.wu}':'{ss.jieCai}',
  4468. '{tg.ji}{dz.xu}{tg.ding}':'{ss.pianYin}',
  4469. '{tg.ji}{dz.hai}{tg.ren}':'{ss.zhengCai}',
  4470. '{tg.ji}{dz.hai}{tg.jia}':'{ss.zhengGuan}',
  4471. '{tg.geng}{dz.zi}{tg.gui}':'{ss.shangGuan}',
  4472. '{tg.geng}{dz.chou}{tg.gui}':'{ss.shangGuan}',
  4473. '{tg.geng}{dz.chou}{tg.ji}':'{ss.zhengYin}',
  4474. '{tg.geng}{dz.chou}{tg.xin}':'{ss.jieCai}',
  4475. '{tg.geng}{dz.yin}{tg.bing}':'{ss.qiSha}',
  4476. '{tg.geng}{dz.yin}{tg.jia}':'{ss.pianCai}',
  4477. '{tg.geng}{dz.yin}{tg.wu}':'{ss.pianYin}',
  4478. '{tg.geng}{dz.mao}{tg.yi}':'{ss.zhengCai}',
  4479. '{tg.geng}{dz.chen}{tg.yi}':'{ss.zhengCai}',
  4480. '{tg.geng}{dz.chen}{tg.wu}':'{ss.pianYin}',
  4481. '{tg.geng}{dz.chen}{tg.gui}':'{ss.shangGuan}',
  4482. '{tg.geng}{dz.si}{tg.wu}':'{ss.pianYin}',
  4483. '{tg.geng}{dz.si}{tg.bing}':'{ss.qiSha}',
  4484. '{tg.geng}{dz.si}{tg.geng}':'{ss.biJian}',
  4485. '{tg.geng}{dz.wu}{tg.ding}':'{ss.zhengGuan}',
  4486. '{tg.geng}{dz.wu}{tg.ji}':'{ss.zhengYin}',
  4487. '{tg.geng}{dz.wei}{tg.yi}':'{ss.zhengCai}',
  4488. '{tg.geng}{dz.wei}{tg.ji}':'{ss.zhengYin}',
  4489. '{tg.geng}{dz.wei}{tg.ding}':'{ss.zhengGuan}',
  4490. '{tg.geng}{dz.shen}{tg.wu}':'{ss.pianYin}',
  4491. '{tg.geng}{dz.shen}{tg.geng}':'{ss.biJian}',
  4492. '{tg.geng}{dz.shen}{tg.ren}':'{ss.shiShen}',
  4493. '{tg.geng}{dz.you}{tg.xin}':'{ss.jieCai}',
  4494. '{tg.geng}{dz.xu}{tg.xin}':'{ss.jieCai}',
  4495. '{tg.geng}{dz.xu}{tg.wu}':'{ss.pianYin}',
  4496. '{tg.geng}{dz.xu}{tg.ding}':'{ss.zhengGuan}',
  4497. '{tg.geng}{dz.hai}{tg.ren}':'{ss.shiShen}',
  4498. '{tg.geng}{dz.hai}{tg.jia}':'{ss.pianCai}',
  4499. '{tg.xin}{dz.zi}{tg.gui}':'{ss.shiShen}',
  4500. '{tg.xin}{dz.chou}{tg.gui}':'{ss.shiShen}',
  4501. '{tg.xin}{dz.chou}{tg.ji}':'{ss.pianYin}',
  4502. '{tg.xin}{dz.chou}{tg.xin}':'{ss.biJian}',
  4503. '{tg.xin}{dz.yin}{tg.bing}':'{ss.zhengGuan}',
  4504. '{tg.xin}{dz.yin}{tg.jia}':'{ss.zhengCai}',
  4505. '{tg.xin}{dz.yin}{tg.wu}':'{ss.zhengYin}',
  4506. '{tg.xin}{dz.mao}{tg.yi}':'{ss.pianCai}',
  4507. '{tg.xin}{dz.chen}{tg.yi}':'{ss.pianCai}',
  4508. '{tg.xin}{dz.chen}{tg.wu}':'{ss.zhengYin}',
  4509. '{tg.xin}{dz.chen}{tg.gui}':'{ss.shiShen}',
  4510. '{tg.xin}{dz.si}{tg.wu}':'{ss.zhengYin}',
  4511. '{tg.xin}{dz.si}{tg.bing}':'{ss.zhengGuan}',
  4512. '{tg.xin}{dz.si}{tg.geng}':'{ss.jieCai}',
  4513. '{tg.xin}{dz.wu}{tg.ding}':'{ss.qiSha}',
  4514. '{tg.xin}{dz.wu}{tg.ji}':'{ss.pianYin}',
  4515. '{tg.xin}{dz.wei}{tg.yi}':'{ss.pianCai}',
  4516. '{tg.xin}{dz.wei}{tg.ji}':'{ss.pianYin}',
  4517. '{tg.xin}{dz.wei}{tg.ding}':'{ss.qiSha}',
  4518. '{tg.xin}{dz.shen}{tg.wu}':'{ss.zhengYin}',
  4519. '{tg.xin}{dz.shen}{tg.geng}':'{ss.jieCai}',
  4520. '{tg.xin}{dz.shen}{tg.ren}':'{ss.shangGuan}',
  4521. '{tg.xin}{dz.you}{tg.xin}':'{ss.biJian}',
  4522. '{tg.xin}{dz.xu}{tg.xin}':'{ss.biJian}',
  4523. '{tg.xin}{dz.xu}{tg.wu}':'{ss.zhengYin}',
  4524. '{tg.xin}{dz.xu}{tg.ding}':'{ss.qiSha}',
  4525. '{tg.xin}{dz.hai}{tg.ren}':'{ss.shangGuan}',
  4526. '{tg.xin}{dz.hai}{tg.jia}':'{ss.zhengCai}',
  4527. '{tg.ren}{dz.zi}{tg.gui}':'{ss.jieCai}',
  4528. '{tg.ren}{dz.chou}{tg.gui}':'{ss.jieCai}',
  4529. '{tg.ren}{dz.chou}{tg.ji}':'{ss.zhengGuan}',
  4530. '{tg.ren}{dz.chou}{tg.xin}':'{ss.zhengYin}',
  4531. '{tg.ren}{dz.yin}{tg.bing}':'{ss.pianCai}',
  4532. '{tg.ren}{dz.yin}{tg.jia}':'{ss.shiShen}',
  4533. '{tg.ren}{dz.yin}{tg.wu}':'{ss.qiSha}',
  4534. '{tg.ren}{dz.mao}{tg.yi}':'{ss.shangGuan}',
  4535. '{tg.ren}{dz.chen}{tg.yi}':'{ss.shangGuan}',
  4536. '{tg.ren}{dz.chen}{tg.wu}':'{ss.qiSha}',
  4537. '{tg.ren}{dz.chen}{tg.gui}':'{ss.jieCai}',
  4538. '{tg.ren}{dz.si}{tg.wu}':'{ss.qiSha}',
  4539. '{tg.ren}{dz.si}{tg.bing}':'{ss.pianCai}',
  4540. '{tg.ren}{dz.si}{tg.geng}':'{ss.pianYin}',
  4541. '{tg.ren}{dz.wu}{tg.ding}':'{ss.zhengCai}',
  4542. '{tg.ren}{dz.wu}{tg.ji}':'{ss.zhengGuan}',
  4543. '{tg.ren}{dz.wei}{tg.yi}':'{ss.shangGuan}',
  4544. '{tg.ren}{dz.wei}{tg.ji}':'{ss.zhengGuan}',
  4545. '{tg.ren}{dz.wei}{tg.ding}':'{ss.zhengCai}',
  4546. '{tg.ren}{dz.shen}{tg.wu}':'{ss.qiSha}',
  4547. '{tg.ren}{dz.shen}{tg.geng}':'{ss.pianYin}',
  4548. '{tg.ren}{dz.shen}{tg.ren}':'{ss.biJian}',
  4549. '{tg.ren}{dz.you}{tg.xin}':'{ss.zhengYin}',
  4550. '{tg.ren}{dz.xu}{tg.xin}':'{ss.zhengYin}',
  4551. '{tg.ren}{dz.xu}{tg.wu}':'{ss.qiSha}',
  4552. '{tg.ren}{dz.xu}{tg.ding}':'{ss.zhengCai}',
  4553. '{tg.ren}{dz.hai}{tg.ren}':'{ss.biJian}',
  4554. '{tg.ren}{dz.hai}{tg.jia}':'{ss.shiShen}',
  4555. '{tg.gui}{dz.zi}{tg.gui}':'{ss.biJian}',
  4556. '{tg.gui}{dz.chou}{tg.gui}':'{ss.biJian}',
  4557. '{tg.gui}{dz.chou}{tg.ji}':'{ss.qiSha}',
  4558. '{tg.gui}{dz.chou}{tg.xin}':'{ss.pianYin}',
  4559. '{tg.gui}{dz.yin}{tg.bing}':'{ss.zhengCai}',
  4560. '{tg.gui}{dz.yin}{tg.jia}':'{ss.shangGuan}',
  4561. '{tg.gui}{dz.yin}{tg.wu}':'{ss.zhengGuan}',
  4562. '{tg.gui}{dz.mao}{tg.yi}':'{ss.shiShen}',
  4563. '{tg.gui}{dz.chen}{tg.yi}':'{ss.shiShen}',
  4564. '{tg.gui}{dz.chen}{tg.wu}':'{ss.zhengGuan}',
  4565. '{tg.gui}{dz.chen}{tg.gui}':'{ss.biJian}',
  4566. '{tg.gui}{dz.si}{tg.wu}':'{ss.zhengGuan}',
  4567. '{tg.gui}{dz.si}{tg.bing}':'{ss.zhengCai}',
  4568. '{tg.gui}{dz.si}{tg.geng}':'{ss.zhengYin}',
  4569. '{tg.gui}{dz.wu}{tg.ding}':'{ss.pianCai}',
  4570. '{tg.gui}{dz.wu}{tg.ji}':'{ss.qiSha}',
  4571. '{tg.gui}{dz.wei}{tg.yi}':'{ss.shiShen}',
  4572. '{tg.gui}{dz.wei}{tg.ji}':'{ss.qiSha}',
  4573. '{tg.gui}{dz.wei}{tg.ding}':'{ss.pianCai}',
  4574. '{tg.gui}{dz.shen}{tg.wu}':'{ss.zhengGuan}',
  4575. '{tg.gui}{dz.shen}{tg.geng}':'{ss.zhengYin}',
  4576. '{tg.gui}{dz.shen}{tg.ren}':'{ss.jieCai}',
  4577. '{tg.gui}{dz.you}{tg.xin}':'{ss.pianYin}',
  4578. '{tg.gui}{dz.xu}{tg.xin}':'{ss.pianYin}',
  4579. '{tg.gui}{dz.xu}{tg.wu}':'{ss.zhengGuan}',
  4580. '{tg.gui}{dz.xu}{tg.ding}':'{ss.pianCai}',
  4581. '{tg.gui}{dz.hai}{tg.ren}':'{ss.jieCai}',
  4582. '{tg.gui}{dz.hai}{tg.jia}':'{ss.shangGuan}'
  4583. },
  4584. ZHI_HIDE_GAN:{
  4585. '{dz.zi}': ['{tg.gui}'],
  4586. '{dz.chou}': ['{tg.ji}', '{tg.gui}', '{tg.xin}'],
  4587. '{dz.yin}': ['{tg.jia}', '{tg.bing}', '{tg.wu}'],
  4588. '{dz.mao}': ['{tg.yi}'],
  4589. '{dz.chen}': ['{tg.wu}', '{tg.yi}', '{tg.gui}'],
  4590. '{dz.si}': ['{tg.bing}', '{tg.geng}', '{tg.wu}'],
  4591. '{dz.wu}': ['{tg.ding}', '{tg.ji}'],
  4592. '{dz.wei}': ['{tg.ji}', '{tg.ding}', '{tg.yi}'],
  4593. '{dz.shen}': ['{tg.geng}', '{tg.ren}', '{tg.wu}'],
  4594. '{dz.you}': ['{tg.xin}'],
  4595. '{dz.xu}': ['{tg.wu}', '{tg.xin}', '{tg.ding}'],
  4596. '{dz.hai}': ['{tg.ren}', '{tg.jia}']
  4597. },
  4598. YI_JI:[
  4599. '{yj.jiSi}',
  4600. '{yj.qiFu}',
  4601. '{yj.qiuSi}',
  4602. '{yj.kaiGuang}',
  4603. '{yj.suHui}',
  4604. '{yj.qiJiao}',
  4605. '{yj.zhaiJiao}',
  4606. '{yj.muYu}',
  4607. '{yj.chouShen}',
  4608. '{yj.zaoMiao}',
  4609. '{yj.siZhao}',
  4610. '{yj.fenXiang}',
  4611. '{yj.xieTu}',
  4612. '{yj.chuHuo}',
  4613. '{yj.diaoKe}',
  4614. '{yj.jiaQu}',
  4615. '{yj.DingHun}',
  4616. '{yj.naCai}',
  4617. '{yj.wenMing}',
  4618. '{yj.naXu}',
  4619. '{yj.guiNing}',
  4620. '{yj.anChuang}',
  4621. '{yj.heZhang}',
  4622. '{yj.guanJi}',
  4623. '{yj.dingMeng}',
  4624. '{yj.jinRenKou}',
  4625. '{yj.caiYi}',
  4626. '{yj.wanMian}',
  4627. '{yj.kaiRong}',
  4628. '{yj.xiuFen}',
  4629. '{yj.qiZuan}',
  4630. '{yj.poTu}',
  4631. '{yj.anZang}',
  4632. '{yj.liBei}',
  4633. '{yj.chengFu}',
  4634. '{yj.chuFu}',
  4635. '{yj.kaiShengFen}',
  4636. '{yj.heShouMu}',
  4637. '{yj.ruLian}',
  4638. '{yj.yiJiu}',
  4639. '{yj.puDu}',
  4640. '{yj.ruZhai}',
  4641. '{yj.anXiang}',
  4642. '{yj.anMen}',
  4643. '{yj.xiuZao}',
  4644. '{yj.qiJi}',
  4645. '{yj.dongTu}',
  4646. '{yj.shangLiang}',
  4647. '{yj.shuZhu}',
  4648. '{yj.kaiJing}',
  4649. '{yj.zuoBei}',
  4650. '{yj.chaiXie}',
  4651. '{yj.poWu}',
  4652. '{yj.huaiYuan}',
  4653. '{yj.buYuan}',
  4654. '{yj.faMuZuoLiang}',
  4655. '{yj.zuoZhao}',
  4656. '{yj.jieChu}',
  4657. '{yj.kaiZhuYan}',
  4658. '{yj.chuanPing}',
  4659. '{yj.gaiWuHeJi}',
  4660. '{yj.kaiCe}',
  4661. '{yj.zaoCang}',
  4662. '{yj.saiXue}',
  4663. '{yj.pingZhi}',
  4664. '{yj.zaoQiao}',
  4665. '{yj.zuoCe}',
  4666. '{yj.zhuDi}',
  4667. '{yj.kaiChi}',
  4668. '{yj.faMu}',
  4669. '{yj.kaiQu}',
  4670. '{yj.jueJing}',
  4671. '{yj.saoShe}',
  4672. '{yj.fangShui}',
  4673. '{yj.zaoWu}',
  4674. '{yj.heJi}',
  4675. '{yj.zaoChuChou}',
  4676. '{yj.xiuMen}',
  4677. '{yj.dingSang}',
  4678. '{yj.zuoLiang}',
  4679. '{yj.xiuShi}',
  4680. '{yj.jiaMa}',
  4681. '{yj.kaiShi}',
  4682. '{yj.guaBian}',
  4683. '{yj.naChai}',
  4684. '{yj.qiuCai}',
  4685. '{yj.kaiCang}',
  4686. '{yj.maiChe}',
  4687. '{yj.zhiChan}',
  4688. '{yj.guYong}',
  4689. '{yj.chuHuoCai}',
  4690. '{yj.anJiXie}',
  4691. '{yj.zaoCheQi}',
  4692. '{yj.jingLuo}',
  4693. '{yj.yunNiang}',
  4694. '{yj.zuoRan}',
  4695. '{yj.guZhu}',
  4696. '{yj.zaoChuan}',
  4697. '{yj.geMi}',
  4698. '{yj.zaiZhong}',
  4699. '{yj.quYu}',
  4700. '{yj.jieWang}',
  4701. '{yj.muYang}',
  4702. '{yj.anDuiWei}',
  4703. '{yj.xiYi}',
  4704. '{yj.ruXue}',
  4705. '{yj.liFa}',
  4706. '{yj.tanBing}',
  4707. '{yj.jianGui}',
  4708. '{yj.chengChuan}',
  4709. '{yj.duShui}',
  4710. '{yj.zhenJiu}',
  4711. '{yj.chuXing}',
  4712. '{yj.yiXi}',
  4713. '{yj.fenJu}',
  4714. '{yj.TiTou}',
  4715. '{yj.zhengShou}',
  4716. '{yj.naChu}',
  4717. '{yj.buZhuo}',
  4718. '{yj.tianLie}',
  4719. '{yj.jiaoNiuMa}',
  4720. '{yj.huiQinYou}',
  4721. '{yj.fuRen}',
  4722. '{yj.qiuYi}',
  4723. '{yj.zhiBing}',
  4724. '{yj.ciSong}',
  4725. '{yj.qiJiDongTu}',
  4726. '{yj.poWuHuaiYuan}',
  4727. '{yj.gaiWu}',
  4728. '{yj.zaoCangKu}',
  4729. '{yj.liQuanJiaoYi}',
  4730. '{yj.jiaoYi}',
  4731. '{yj.liQuan}',
  4732. '{yj.anJi}',
  4733. '{yj.huiYou}',
  4734. '{yj.qiuYiLiaoBing}',
  4735. '{yj.zhuShi}',
  4736. '{yj.yuShi}',
  4737. '{yj.xingSang}',
  4738. '{yj.duanYi}',
  4739. '{yj.guiXiu}',
  4740. '{s.none}'
  4741. ],
  4742. LU:{
  4743. '{tg.jia}':'{dz.yin}',
  4744. '{tg.yi}':'{dz.mao}',
  4745. '{tg.bing}':'{dz.si}',
  4746. '{tg.ding}':'{dz.wu}',
  4747. '{tg.wu}':'{dz.si}',
  4748. '{tg.ji}':'{dz.wu}',
  4749. '{tg.geng}':'{dz.shen}',
  4750. '{tg.xin}':'{dz.you}',
  4751. '{tg.ren}':'{dz.hai}',
  4752. '{tg.gui}':'{dz.zi}',
  4753. '{dz.yin}':'{tg.jia}',
  4754. '{dz.mao}':'{tg.yi}',
  4755. '{dz.si}':'{tg.bing},{tg.wu}',
  4756. '{dz.wu}':'{tg.ding},{tg.ji}',
  4757. '{dz.shen}':'{tg.geng}',
  4758. '{dz.you}':'{tg.xin}',
  4759. '{dz.hai}':'{tg.ren}',
  4760. '{dz.zi}':'{tg.gui}'
  4761. },
  4762. DAY_YI_JI:'30=192531010D:838454151A4C200C1E23221D212726,030F522E1F00=2430000C18:8319000776262322200C1E1D,06292C2E1F04=32020E1A26:791715795B0001025D,0F522E38201D=162E3A0A22:790F181113332C2E2D302F157954,7001203810=0E1A263202:79026A176576036A,522E201F05=0D19250131:7911192C2E302F00030401060F1571292A75,707C20522F=0C18243000:4F2C2E2B383F443D433663,0F01478A20151D=0E1A320226:3840,0001202B892F=14202C3808:3807504089,8829=0E1A263202:383940,6370018A75202B454F6605=32020E1A26:38394089,0001202B22=16223A0A2E:384C,8A2020=2B3707131F:2C2E5B000739337C38802D44484C2425201F1E272621,5229701535=121E2A3606:2C2E2D2B156343364C,0F4729710D708A20036A1904=0D19250131:5040262789,0F7129033B=202C380814:5040000738,0F7D7C584F012063452B35=1A2632020E:50400089,8813=1A2632020E:69687011180F791966762627201E,0352292E8034=182430000C:291503000D332E53261F2075,0F5238584F450B=000C182430:297170192C2E2D2F2B3E363F4C,0F52156320010347200B=131F2B3707:297115030102195283840D332C2E,0F1F5863201D8A02=222E3A0A16:261F1E20232289,52290058363F32=16222E3A0A:261F201E232289,8D39=0D19310125:262322271E201D21,52450F4F09=0D19253101:262322271E202189,1F4526=16222E3A0A:262322271F1E20,712906=0F1B273303:17262322274050,80387C6B2C=0915212D39:1707702C2E71291F20,0F52000106111D15=16222E3A0A:170007386A7448363F261F1E,030F79636F2026=030F1B2733:1784832C2E5B26201F,0F010D2913=182430000C:175447440D15838477656A49,2B2E1F8A202228=101C283404:70504C7889,8803=0D19250131:700F181126151E20001A7919,8D2F=0915212D39:705283845B0D2F71,0F202E4106=3606121E2A:70786289,06802E1F23=1824000C30:70076A363F,292017=202C380814:700718111A302F717566,0F2B2E2026=3B0B17232F:70545283842E71291A7933192A5D5A5040,090C384F45208A1D6B38=212D390915:7039170F45513A2C2E7129242526271F201D,00010352153A=15212D3909:703911170E2C2E2D2F4B15712952633D,092B8A2027=010D192531:702D155483840F63262720,53292F017D4F38442B2E1F4717=16222E3A0A:705C4C39171A4F0E7971295B4C5248,0F2E1F1D37=1A2632020E:2E260F27201F,523815292F1A22=0E1A260232:64262322271F2021,0F2F293822=2F3B0B1723:161A0F1526271F4C,586103473818=2430000C18:161A7889,292E1F0F386131=17232F3B0B:04795B3F651A5D,0F5201062016=14202C3808:04170F79195D1A637566363F76,01522E8A2039=132B37071F:0470170F191A134C8384662426232227201E,8D08=0D19253101:040370181123220F1326271E2021,29153B=0D19310125:040307177938494C,0F26207017=0E2632021A:0403010218111A17332C2E2D2B15713E6575,45382064291D=142C380820:04033918110F0D2C2E7129332D2B72528384547566,8D1C=1830000C24:040318111A17332C15290D200C7A,4745063835=0F2733031B:040318111A16175B795452848315302F6563395D,387029202E=14202C3808:04031975363F6366,0F5401202C5283842E2F1E=0E1A320226:0403080618111A16332E2F152A09537919702C5445490D75072B,8063203820=182430000C:04067033392C7161262322271E1D210C,8D2F=101C283404:3F4889,881C=2733030F1B:3F74397677658988,0F3847201D=293505111D:3F8B657789,0F2029702E7D35=111D293505:3F8B6589,1F200A=020E1A2632:3F656477,0F2B71292005=111D290535:3F6589,8810=0F1B273303:3F88,2B38200F1C=293505111D:0F83843D363F776424,15462F2C52032971152A=0F1B273303:0F17795B54838458,52807C3811=121E2A3606:0F172C2E387129363F7566512C2E2D4E4461,01034752203A=172F3B0B23:0F171511793F76584C,0347200C1D20=2D39091521:0F175B3975660745514F2B4825201E211D,010352292E2E=0F1B273303:0F170070792C2E261F,040341232228=05111D2935:0F1700707129385C363F3D1F1E232226,80412B202F14=14202C3808:0F17000728705448757A,522E1F15562F05=30000C1824:0F17000102061979454F3A15477677,241F8A2021=2F3B0B1723:0F17000102060370392E52838453331F,452F2C266A79292B203810=0C18243000:0F170001020E032A70692C2E302F802D2B0D7129474C201F2322,5211183809615D34=1A2632020E:0F171170792F5B1566770001032C2B802D,29387C207134=14202C3808:0F0D33000103452E528384297115752620,63386F7014=15212D3909:0F7045332C2E71201F1D21,4701155229530327=101C283404:0F70161715232238838426271F20,7D035219=121E2A3606:0F705B0004037C5D15653F1F26,522B473809=131F2B0737:0F705215261E20,012E1F25=182430000C:0F707B7C00012F75,52201B=2531010D19:0F706A151E201D528384544466,47010C2E292F2C3820=14202C3808:0F707500261E20,382E1F05=3606121E2A:0F161A17452F0D33712C2E2B5443633F,150170208A0327=0E1A263202:0F150370002E0D3979528384532971331F1E20,477D0D=06121E2A36:0F5B8370000102060403161A494447,386A418A201A=17232F3B0B:0F03700D332C2E2971152F52838463,01004547380C26=101C283404:0F03700D33195284835329711563,01260038206B0E=131F2B3707:0F03706A4F0D332C528384532E29711563,450075000F=131F2B3707:0F0370010239332E2C19528384532971156375262720,8D18=17232F3B0B:0F0370390D332C192E2971637547202322,581528=0E1A263202:0F0302791566046F,29710D722A38528384202E4530=0E1A263202:0F030102392E15634447001F1E,293845200D707538=1E2A360612:0F0300017039712952542D2C302F80380D2A363F3349483E616320,1118150C1F2E20=33030F1B27:0F03000102700D29713963451F0C20,528338542F15806128=121E2A3606:0F030001027039452971150D332C2F6327,2052838403=2C38081420:0F030001022A0D3945297115528384630D7020,476A382E1F4426=010D192531:0F03390D332C1929711563261D2E2322,382000521118750C706B15=131F2B3707:0F033915666A52261E272048,382E2F6329712C0114=0D19253101:0F52838403700D332C29712E1F27201E2322,1545017505=131F2B3707:0F528400012E7129,092026=3707131F2B:0F528471295B795D2B155333565A446375661F201E272621,00016B0C4113=14202C3808:0F280001363F8B4326232220,2E1F47032F7D35=16222E3A0A:0F0211195465756679,2F384570202B6A10=15212D3909:0F0102700D332C2E2F0319528384531529716345261F2322,8D32=101C283404:0F0102037039330D5284832971152E1F0C,0026206B37=16222E3A0A:0F003854,20521D2106=020E1A2632:0F00175058,5D6B80382E16=1B2733030F:0F00701784831952712C2E1526271F,033806201F=2B3707131F:0F00701A17830E544C5C0E78,7129632E1F38208A452F16=15212D3909:0F00040370396A742E15444948,458A384F2021=16222E3A0A:0F005B261F20,2E2F1D=2531010D19:0F0003450D3329712C2E2F1575,528A63705A20587D7C12=17232F3B0B:0F00030D70332C2E3952838453542971156375,6B2019=1B2733030F:0F000301020D297115332E1F0C,165220262E=121E2A3606:0F00030102700D332E2C192971155383846375261F1E20,8D1F=33030F1B27:0F00030102700D19297115332C2B535448,2E45208A00=2632020E1A:0F00030102705283842E544779,2920454F754C3836=16222E3A0A:0F0052037029710D332C15,7545584F8A201D2121=121E2A3606:0F00074850,8A2036=0D25310119:0F00071A706A717677492923221E202726,80522E1F39=1E2A360612:0F006A385040740717,1F70631E=212D390915:0F006A1938271779,565A4575522F801F1E632B=121E2A3606:0F00010D0302703352838453297115632E,208A454F2B=0E1A263202:0F000170390D332E2971152F63751F1E20,52846A381F=14202C3808:0F000106387129,2E1F24=14202C3808:0F0001062E7129,522010=0814202C38:0F0001062871292E7C528384032C5C2A15767765,11185D8A206B08=131F2B0737:0F0001067C1F20,522900=202C380814:0F0001020D700339332C192A83842971152E1F0C20262322,065256386110=111D293505:0F000102700D332C2E297115383F631F20,0347562B=14202C3808:0F000102700D332C712E15261F201E,80036A61473831=0C18243000:0F000102700D335283845329711563,38048A7D45202A=14202C3808:0F000102702E15471F1E,294F2B452C2F268011=0D19253101:0F0001022E792D3E75663D19,472063703852292B39=222E3A0A16:0F0001022E154826271F1E203874362322,036312=0D19253101:0F000102032971152C2E19,4720637038522B15=111D293505:0F000102030D70332E3919528384532971152B2F201F0C,8D1B=232F3B0B17:0F000102030D7033528384534529711520,63475814=131F2B3707:0F000102030D332C2E195283845329716375261E2322,8D19=15212D3909:0F00010203700D332C2E1929711552838453637526202322,8D09=111D293505:0F00010203700D332E2F192971152B52838453631F20,8D33=1A2632020E:0F00010203700D332E2F1929711552838453261F201E2322,8D03=2E3A0A1622:0F0001020370332C2E2F1575261F,2971476A458352380C=111D293505:0F0001020370332E2F0D19297115637566302B2C3979,8D08=000C182430:0F000102037039297175261F1D21,454F2E1563410F=17232F3B0B:0F0001020370390D3319297115632E2C752620212322,8D07=3606121E2A:0F0001020370390D332C1929712E157563548384534C,20248A38=16222E3A0A:0F0001020370390D1952838453542971631F0C,152036=14202C3808:0F00010203703915632719792322,80262045297158750F=111D293505:0F00010203528384157033,752971206B452F2B262E05=3404101C28:0F00010206030D7129302F79802D7C7C2B5C4744,11701D2052843833=111D293505:0F00010206181139702E1F686F6A792D2C2E304E15337566491F23221D21,52296B0D800D=15212D3909:0F000102070D70332C2E19528384297115637526201E2322,8D05=2C38081420:0F0001021A175D2C19152E302F7183846379,8A20704F7545410A=131F2B3707:0F001A651707,565A58202E1F476320=121E36062A:0F11707B7C5271291E20,2E1F39=111D293505:0F11700001522E71291F20,2B07=131F2B0737:0F11700001397129,2E2002=111D293505:0F11707129,2E1F2002=131F37072B:0F1152702E2F71291F20,000103=131F37072B:0F1152702E2F71291F20,7A3A=111D293505:0F117B7C2C2E71291F20,520300=111D350529:0F110001702E2F71291F20,0621=101C280434:0F11000170717B,522E1F0A=06121E2A36:0F110001708471292E1F20,03388051561C=121E2A3606:0F1100017B7C702E7129,522B22=2D39091521:0F110039702C2E522F1574487B7C2D4E804B,098A204538612B=05111D2935:0F1118795B65170002195D,52382E8A201E=2531010D19:0F111829711500010370390D332E750C201F,4552832F382B8004=2A3606121E:0F1118175C000301027039450D29332C2E2F15631F,8A582020=31010D1925:0F1118032A0D545283841A802D2C2E2B71296366774744201F26232221,010900150C06=2C38081420:0F11180300706A2E1549466319,292F26806B382B20754506=2E3A0A1622:0F1118528384530001035C53702971152B332C2E63201F1E23222621,6B75452D4F802E=111D293505:0F1118060300017B7C792E39767566261F20,7129805136=232F3B0B17:0F111800171A454F514E3A3871157765443D23221E262720,80612E1F1C=212D390915:0F11180003706A4F0D332C2E1929711571335363751F20262322,524746416128=3B0B17232F:0F111800037039450D2971332C632026,1F2E2B38528327=3B0B17232F:0F11180006032A0D700D332E011954838471152C202322,58477D630C=0814202C38:0F1118000106287129705B032C2E302F802D4E2B201F,528458384108=380814202C:0F11180001027039302971542F7526201E,63472E151F583A=1E2A360612:0F1118000102030D70332C2E192971158384535426201E2322,471F1B=1F2B370713:0F1118000102030D70332C2E195283845329711563261F0C20,4745752522=3505111D29:0F1118000102030D70332E2C192971153953631F0C262720,5284612528=390915212D:0F111800010203700D332C2E192971152F4B49471F270C2322,52562B2029=390915212D:0F111800010203391929710D1552838453,2075708A456309410F=0A16222E3A:0F111800010206032A0D09717029092D302F1575761320,521F47251D=1F2B370713:0F1118000102111A1703154F2C2E382D2F807566,7163708A1F207D2A=05111D2935:0F111800017C5C2C2E7129,527015382021=2B3707131F:0F11185C0370332D152322528384636626271E,2F292C2E1F00010601=2430000C18:0F11185C0001092A0D7014692983847B7C2C2E302F802D2B,06454F208A2E=0D19253101:0F11181200171A7919547638,5215201D09=3A0A16222E:0F1A1716007015713F261F2720,5263587D2B470304=111D293505:0F1A0070153871291F20,7A7629=010D192531:0F181179005B712980152D4E2A0D533358,5270208A11=0814202C38:0F181138171A7975665B52845415,47701F8A2013=121E2A3606:0F181117795B5C007054292A0D690403332D2C2E66632B3D,8A454F3822=121E2A3606:0F1811705200012E71291F20,382A=16222E0A3A:0F1811705200012E71291F20,062B27=14202C0838:0F18117052000171291E20,2E1F27=16222E0A3A:0F18117000012E71291F20,527A06=111D290535:0F1811700001062E2F1F20,712912=14202C3808:0F181100062839707952542C2E302F03565A7566441F1E,0D29802B2029=1824300C00:0F181100012C2E7129,522025=121E2A0636:0F18110001261F20,03522E=0915212D39:0F18110001702C2E7129,6F454F098A2025=030F1B2733:0F18110001702C2E71291F0D2B152F2127,5283162014=16222E3A0A:0F18110001707B7C0D7129,52565A152B2034=17232F3B0B:0F1811000104037115454F7677657B7C392023222726210C,52092E1F27=3707131F2B:0F181100010603797B7C802D302F2B6743441F202322,2952477D2528=14202C0838:0F181100017B7C2E71291F20,036F33=0D19253101:0F18110001027939706954528384685D15565A75201E1D26,29032E11=182430000C:0F1811000102062A0D2C2D804B2B672E2F7129,70471F8A2030=17232F3B0B:0F5C707971292C2E0E032A0D6A79804B2D8C2B3348634C,52110915462031=15212D3909:0F5C5B0001032A0D7052842C2E71291F20,1118517D462B=0F1B273303:0F5C111800015B712952841F20,756A251A=2733030F1B:1545332C2E2F84836375662620,0F0003700D71292B1C=0E1A320226:1516291211020056,06382007=000C182430:1551000403706A454F3A3D771F262322271E1D21,382B41522016=17232F3B0B:1500443626271F1E,29710F47380D19520337=182430000C:150001021745512E443D65262322,2B63387C18=192531010D:151A83842627202322,580F7003632E1F297C26=0E1A263202:15391A302F83845475662627201E,0F702E4629004708=3606121E2A:5B000102073911522C302F3A678C363F33490D482425200C1E2322,0F15382E1F6116=1E2A360612:5B71297000010611182A0D39792C2E332D4E712980152C1F202621,52454F3804=2C38081420:5B11180001020328700D332C2E195283847115632F751F2720,290F476630=0C18243000:201E27262322,8902=3404101C28:2A0D11180F52848353037039156358332C2E,3820002628=010D192531:4089,030F565A61206B27=1824300C00:4089,8836=1C28340410:0370833F0F6A5215,010D582E1F202C2F582938=112935051D:03700F,79192C2E2D715275262322271F201D217936=112935051D:0370110F45510D3371290941614C522623222720,8D3B=152D390921:03047039171A533852443D363F,8D11=0F1B273303:030402111A16175B4F3A2B153E0079015D5452848369026A51,7006200F05=0F1B270333:03041A174533302F56795B3E808339528454,700F292026=121E2A3606:037B7C2E2F261F20,0F14=1E2A360612:030270170F45513A2C7129528384702A0D532D2C24252623222720,155A382E1F2F=1B2733030F:03027011170D332D2C2E2F716152838454,010F201F2C=121E2A3606:03027039450D332C2F2D2971528384636626202322,581535=212D390915:03020E0F18110D332C2E2D2F4971293E615244756653,8A202531=1B2733030F:030102703945802D2C512B7129092322270C7566,112E528325=2D39091521:030102062C2E543E3D636679,380D19462971001F=293505111D:03111A171538193E3F,0F632C2E70454F200C19=17232F3B0B:031A2B7915656A,0F177001204529710D632E2F02=32020E1A26:033945302F838475262720,297071000F2E1F3810=17232F3B0B:0339332C2E1575201E26,0F520D631F29712A72473826=390915212D:0339332C2E302B66201D1F27,0D2971010015520F6B0E=15212D3909:03392D2E332F211D201F1E27,0F7015380029710D195824=16223A0A2E:036F791E20,522E1F31=1D29350511:5283845B79037B7C802D2C2E4E302F2B38493D4463664C1F2021,0F0D712917=15212D3909:5283845303702971150D2F,388A6A6D0F2012=111D293505:528384530370331929272E2B2F631F1D20,0F156B380E=0D19253101:528384530339454F0D297115332E2F637520,0F00705802=2A3606121E:528384530339332E152C2F58631F20,380D000F2900=283404101C:528384530003010215392C20,1112180F29560D2E1F754511=15212D3909:5283845300031929150D332C2E63,0F217045208A717521=3505111D29:5283845300010670528384802D2C2E4E155B201F1E232221,380F71296A0E=17232F3B0B:5283845354037029711575262720,631F58000F2E38010D=111D293505:528384000103451915332C2E631F2720,29716A0D0F7019=1D29350511:5283840001032E1570637566302F391F,0F4729712030=16222E3A0A:5283845479036A2627201E,0F380D70297115012F1A=1F2B370713:528384542E03700F1118705469565A7566631F1E2021,297138000C31=121E2A3606:52838454443D65002C2E15495D1F,0F417D712B38630F=0D19253101:5283845444360F11756415,2C2F29016B472E2B20381D=212D390915:528384545363000103332E15,0F1F197029710D757D2032=121E2A3606:528384546315332C2E2F26201F2322,0F0D45002971756B17=192531010D:52838454754C2971150301022E,0F63206A0938268A4117=1B2733030F:52848353000103297115332E2F19,0F8A514F6A6620754526=1824300C00:528403395B2F1E20,0F012D=0B17232F3B:5254700001020612692D4E584647336375662E1F1E,71290D262037=131F2B3707:525400045B17791A565D754C7866,2E1F207C34=0F2733031B:483F89,8838=232F3B0B17:767779392623222789,152B1F1D200E=0A16222E3A:767789,528300292025=14202C3808:7665261F20,0F291A=222E3A0A16:7665262322271F201E21,0F0029807124=1824000C30:7889,292E1F24=101C283404:8D,8832=1D29350511:63767789,522E0006206B31=131F2B3707:7B7C343589,0F7038=2632020E1A:7B7C343589,520F20=0E1A260232:7B34,8812=1C28340410:02703918110F7919155283756626232227201E,012C2E1F0C29=121E2A3606:020F11161A17454F2C2E2D302F2B38434C,2070016328=1824300C00:02060418110D332C2E415B637566262322271F20,520F23=142038082C:07504089,0F010C=15212D3909:07262723221F40,0F7129523B=2430000C18:0717363F1A2C4F3A67433D8B,71290F0103471A=2531010D19:0704031118528384542D2E4E49201F1E1D2127,292B000C3B=283404101C:073F7765644889,012014=111D293505:074048261F202322,0F71454F1500018008=111D293505:07404826271F1E2089,882C=0D19253101:07565A5283845463756677261F20,010F15296120=2F3B0B1723:07487677393F89,0F2952151F1D30=111D293505:074889,06520F3808=17232F3B0B:074889,883B=131F2B3707:074889,8832=15212D3909:07762623221F1E20,000F1552296B2F2A=0D19253101:0776776A742623221F200C211D1E,11180F2F5206802B0B=04101C2834:0776776564,000F29382011=101C283404:0706397B7C794C636A48,520F7129472026=14202C3808:077C343589,880A=380814202C:076A79040363660F5D363F,52292E1F20382F15560123=16223A0A2E:076A696819,0F2918=222E3A0A16:076A171552847983546578,712970010F2D=182430000C:076A48,45752F29384C0F204F612B30=131F2B3707:076A7626271F1E20,0D0F29382F2E0E=0814202C38:07343589,065238=1C28340410:070039201F0C2789,06030F292F23=101C280434:076564,0F292002=0D19253101:073918111A17332C2E71292322271F1E20481D45548384,38002F702A=1824300C00:7C343589,8801=172F3B0B23:6A79363F65,0F292B7118=1B2733030F:6A170F19,5845754C201F4F382430=1B2733030F:6A170F1963766F,5452201F32=0C18243000:6A0339332C20528384531563,29713801000F0C47806B3B=2A3606121E:77766564000789,0F52201E8A01=202C380814:1F2027260076232289,0F29528339=0F1B330327:3435,8809=0F1B273303:34357B7C,8818=121E2A3606:34357B7C7789,0F291D=232F3B0B17:34357B7C89,0F2021=33030F1B27:34357B7C89,030F27=390915212D:34357B7C89,712917=1D29350511:3435073989,8802=2C38081420:34357C89,0111180F292006=30000C1824:34357C89,71291A=14202C3808:34357C89,8A2036=182430000C:3435000789,8835=232F3B0B17:34350089,0F2025=3707131F2B:34353989,0F2037=0D25310119:343589,0F52202D=0F1B273303:343589,0F7152290D=131F2B3707:343589,8830=121E2A3606:343589,881C=16222E3A0A:343589,8819=131F2B3707:343589,880F=15212D3909:343589,8832=14202C3808:343589,8813=0D19253101:343589,8811=17232F3B0B:343589,881E=142C380820:017018110F1A2E15495247838463462322271F,8D03=0F1B270333:0103040818111A155284262322271E20217A79708330,38472E631B=14202C3808:010670170F0E3A294152838454262322271F201E,2E1815442C=0F1B273303:01067071292C2E1F20,1103150F520A=17232F0B3B:010670181126271F202165,293816=182430000C:0106111839513A2C2E2D2F8C804B4723221F63,7152292037=0F2733031B:010203040618110F3315292A271D200C6339171A712C2E30491E21,7A21=0E1A260232:010206040318110F2E292A27200C70072C302F541F392B49,381512=1A2632020E:010206110F452C2E7129095B5226232227201F0C,58804B036B2B381C=142C380820:01023918112E2D493E52756624262322271F20,8D12=121E2A3606:008354,06462F2E1F27=030F1B2733:00797084831754,0F2E472D4E1F06=0D19250131:0079701811072C2E01060F33152627200C7A1A302F4576631F2B,8052382900=172F3B0B23:00790F072C2E0103047018111A262322271E7A302F5448637545,293815561E=101C340428:007952151E20,0F2E1F33=0F1B273303:007984831A160F1719,632E20471D6B01=152D390921:0079110F0304062A528423222627207A19701A2C2E2F5D83,294513=0F1B273303:0079181A165B332F2B262322271E2021030469702D4E49712930845D,454F05=152139092D:0079192E2F030417332D1552847A5D,4E201F=162E3A0A22:003826232277,632E20523A=0D19310125:0038262389,521513=1C28340410:00384089,0F202E157C07=04101C2834:00384089,152967631F=101C283404:00384740,0F2037=1C28340410:00387765504089,0F157C04=131F37072B:00385476,521F13=16222E3A0A:003854767789,2E1F522010=131F2B3707:003854637519,205D1D1F52151E210F=121E2A3606:003889,52201F1D4733=121E2A3606:003889,881F=212D390915:001D23221E2789,52290F2E1F202B=07131F2B37:002C7080305C784C62,2E1F472001=283404101C:004D64547589,0F292E=131F2B3707:005040,522E1F0F2C2004=3404101C28:005089,032C2E1F33=182430000C:005089,8815=192531010D:00261F23221E201D2189,8D12=131F2B3707:00261F2322271E200C89,8D1E=121E2A3606:0026271E20,2F2E1F33=16222E3A0A:002627241F1E20232289,8D33=14202C3808:002627651E2027232289,881B=182430000C:00262789,292C2E1F2B2F2A=07131F2B37:00262322271F1E203F8B65,52290F038002=15212D3909:001779332D2322271E2007760304,38290F1C=1F2B370713:00173883546365756619,466115201F701D47522434=0D25310119:00170F79191A6540,712909387C2015=0E1A263202:00170F332C2E2D2F802952443F26232227201F,15637C383A=132B37071F:00170F7665776489,8D2A=390915212D:00177689,0F52804F2507=2E3A0A1622:00177179546A76,0F52443D1F2D=0915212D39:0070,0F292C2E791F13=131F2B3707:007083624C,0F38202E7D4F45471F7107=380814202C:00704F0D332C2E2D15363F261F20274C,0F2906036F4703=3404101C28:00702C2E164C157126271F1E202425363F,29386A032B0F=0F1B273303:00700F1715262720,472E386309=15212D0939:007022230726,2E17712952302F15=15212D3909:00704889,8834=1C28340410:0070784889,0345201F21=2D39091521:007007482089,2E1F58470B=0D19253101:0070071A010618110F5B52846775,6326202E=16222E3A0A:00701A17794C0F302F715475,2E454F8A20243A=0F1B330327:007018111A1617192E15382627201F656477,4F090A=0F1B273303:002E2F18110F5B3315292A26271F20210C7A70710102393E19,035A37=14202C3808:002E4344793F26271F20,03702C2F292B381A31=0E1A263202:00161A5D454F153826201E27,7D0D2904=152139092D:0004037039180F332D152952262322271F0C533A83,4117804735=1F2B370713:0004037B7C0F79494766754667,80293869208A1E=162E3A0A22:00040301067018111A0F332C15292A261E200C7A791970712F5D52838454,5617454F06=3404101C28:000403110F527079156523221E2027,0129802E1F6B1D=1830000C24:0004031A170F11332C2E302F1571292A657677451949,70201D5218=102834041C:0004031811171A5B332C2E155D52,0D29204504=17233B0B2F:00040318110F1519262322271E2021,52831F3825=3B0B17232F:00046A7966444C7765,010C202F38520F70292E31=14202C3808:003F261F202789,8836=131F2B3707:003F657789,7152290F032B3A=2632020E1A:003F651F0C2027232289,0F292B=16222E3A0A:003F89,8836=212D390915:000F76,032E1F522C292B22=2B3707131F:000F7765,2E1F7C4607=0F1B273303:000F01111A1615292A2627200C2C670279538384543E49,634512=0F1B273303:000F1320,6380382936=0F2733031B:000F1323222627,2E3829031535=0D25310119:00676589,0F200F=0C18243000:00401D232289,71290F47202B=101C283404:0040395089,8803=30000C1824:004023222089,0F291118470D=0A16222E3A:004089,0F5211=1A2632020E:004089,0F0147200B=3A0A16222E:00037039454F0D332971152C4C48,090F476341382E0A=111D293505:00037039041A26271F1E202322,0F2F2C335129452E0D3A3B=222E3A0A16:000370396A450D332F4B154C,0F208A7D41381F2E14=0F1B273303:00030401061A16170F332E71292627200C02696A45514F0D2C2D4E497A,2B0B=0F1B273303:000304111A33152D2E302F71292A5284530770022B,0F6345203B=0F1B330327:00030418111617332E2D2F292A52845407020D302B,090F452001=0F1B273303:000304080618110F1A2E2D0D3371292A2C302F7566010239454E802B,632039=2430000C18:00036A7415384878,45751F20240F522E834F2E=182430000C:000301394F2E154763751F27,0F707A802629710D192035=14202C3808:0003391983845475,2E1F0F6A702971722A0D04=0F1B270333:00483F,6338200F2A=3B0B17232F:00481F2023221E27262189,0F292C2E1B=122A36061E:0076645089,8819=202C380814:0076777566262322271F201E,0F111852290D=101C283404:00763989,0F2036=1E2A360612:00788B89,0671292E25=010D192531:00784C00793989,0F29702E1F208A21=31010D1925:0006261F1E201D212322,0F2938111801=2A3606121E:00060403702C2E4C154947443D651F,0D2920=101C283404:0006522E261F20,0F712939=2632020E1A:00060724232227261F2025,520F157929382F22=31010D1925:0006547677,0F5229151F201B=0E1A320226:00061A161718110F292A0C26271F212A79700102212F49,470D=0814202C38:002876396577261F20,5283290F37=212D390915:0028397976771E232227,0F522E47442027=121E2A3606:006389,8822=101C280434:007B7C3989,881E=1830000C24:007B343589,8805=2E3A0A1622:00021719792B155D5466774962,010611180F292030=14202C3808:00020370454F0D3933192C2E2D156375261F202322,0F7123=0E1A260232:0002070818111A16175B153E445D5452848365647576,2038454F15=182430000C:0007385476771548,52061F2024=2D39091521:0007504089,0F29157030=15212D3909:0007504089,060F71702F2918=15212D3909:0007504089,880B=17232F0B3B:000770171989,0F2E20382F=0B17232F3B:00077089,522E1F8A202C=07131F2B37:000704036939487C4466,0F7011293821=1824000C30:000715547776,521F18=0E2632021A:0007030401021811171A0F2E2322271F1E706749528483,202F293800=0F1B330327:00077663,0F297138202C=0B17232F3B:000776776548,0F1118152E1F2017=121E2A3606:00077665776489,52830F208A14=1A2632020E:00077B7C4834353989,2952203B=2632020E1A:00076A386563,0F7D8A2066454F52754C15=1E2A360612:00076A0F3874485040,06707C2509=3606121E2A:00076A74504089,5229702C7D15=14202C3808:00076A74173926271F1E20,0F7029522B09=000C182430:00076A54196348767765,7920297115528A0D382B16=101C283404:000734357B7C3989,0F528329200C=06121E2A36:0007343589,290F7104=2E3A0A1622:0007343589,0F292F702012=182430000C:0007343589,0F71296B708003=15212D3909:0007343589,7129706300=0D19310125:0007010618111A332D302F15262322271E530270164C,560F712924=0E1A263202:000701020618111A175284835407230C7027,262038292C=111D293505:0007711F204840,010F29153814=17232F3B0B:00076527262322,1552835A201D0F382D=0D19253101:0007363F8B3989,09292C208A0F28=030F1B2733:000739483F66,0F208A2B0A=04101C2834:0007397B7C343589,0106522008=020E1A2632:0007396A48343589,0F203A=283404101C:00073934357B7C89,0F5223=3505111D29:000739343589,032010=0A16222E3A:000739343589,520F2F=111D293505:000739343589,8A200A=15212D0939:00077A7089,8817=17232F3B0B:000789,8D3B=172F3B0B23:000789,8815=1B2733030F:007C343589,881B=212D390915:007C343589,8812=15212D3909:006A79190F6F2627,6B46204538290B=380814202C:006A38075040,0F630141202B454F2D=121E2A3606:006A5040077448,702B2C0F2F292E=0B17232F3B:006A583F232227261F20,0F291547031C=232F3B0B17:006A6F391974,0F2E614447702C292F71201F38521F=31010D1925:0034353989,522E1F2B=0D19253101:00343589,060F5200=2A3606121E:00343589,7129565A01=131F2B3707:00343589,883B=111D350529:00343589,8800=152D390921:000150402627,0F292F2B1E=2733030F1B:00010F17505840,565A80385283846315=101C283404:000103020611187B7C2D4E616439201E0C26,522E474429=101C283404:0001030239450D297115332C2E4C,0F542070528438632C=101C283404:000103392E54837548,19700F58157A20381F=1830000C24:00010670175B71292A152322271E,03637C2B380F=0E1A263202:0001067052842E71291F20,030F38477533=131F2B3707:0001067011185B0D332C2E2D712909262322271F200C,0F5263250C=17232F0B3B:000106040318111A170F33292A26276A201D0C7A71077C1F1E74694F,520A=0D19253101:0001060403232226380F767754,568020152D=111D293505:000106025B7571295B04032D302F382B2A0D801E20,2E1F0F0F0C=0D19253101:00010607155B5C26271E2021165D83,38470F2920=16222E3A0A:000106073018110F3329271E0C7A0D75,3826201508=0F1B273303:00010618111A16332C2E2F2D27200C07483A450D,1552843825=0E1A263202:000102261E2027,03476F700F2971382E39=15212D3909:0001027007834878,2E388A201D17=131F2B3707:00010203450D3329152C2E2F5375,0F638A6A1D8A382D=0E1A263202:000102030D70332C2E29712F534426201F1E,0F38152F=121E2A3606:0001020370450D332C2E2D152971,0F52838A201D1B=1D29350511:0001020370528384631575712D2E4E3E581F1E1D,292C2B452620803A=222E3A0A16:0001020370392F2971152B54754C,458A1F0F20462C=14202C3808:0001020370392F80712B546675201E26,1F58472E152F=16222E3A0A:000102037039714515750D33,201D381F092E0F1103=32020E1A26:000102030F7039453319152E2D2F63751F0C1E20,71290D38472C=16222E3A0A:000102035270392E2D5863,0F381D2B2921201511=131F2B3707:0001020352666A,0F7020262938172F3A=2430000C18:00010203332C2E2F1558631F,0F1920707A2971264627=05111D2935:0001020311180F702E1F7952838468332D6749443E46630C1E1D21,292B2035=1C28340410:000102031118396375664819,1D4138702080291F=232F3B0B17:000102033945332C6375201D21,0F1929710D702D=101C283404:00010203390D3329152C2B751E20,2E1F54475352458316=111D293505:0001020339161745514F2C190F1A16152E2D2F304979,8D13=17232F3B0B:00010203396A79637566201D211E,29387D71707A30=101C283404:000102033911170D3319152E2F0947442627201F,8D25=3505111D29:000102031811392E2D19528384543E4463751F20,152F1A290F0D=0E1A263202:0001020626232227201E,0F2E03801F0F=101C283404:0001020617385483,030F47202B6B1B=2733030F1B:000102060F17705283797823221E2027,2E712910=121E2A3606:000102062A397129797B7C2E1F2425,162F5D20262B=182430000C:0001020603691817452C2E2D498344,412B6A09633808=3A0A16222E:0001020603700F7B7C2E1F692D48302F565A586366240C21,2B151A292039=17232F3B0B:000102060717706A33392D2E4E674447482322271E210C,71292B4F2023=33030F1B27:0001020607036A5D397C7C2163664744,0F4E25208A08=04101C2834:000102060775261F20,71290F70150C=101C283404:00010206111803302F565A802D4E2B881F261E0C,0D0F521B=16222E3A0A:00010206090D5B7952838454685D7B7C443D77656366201F1E,030F47454F24=010D192531:000102071283542627201D210C4C78,29580F2E6352032E1F01=32020E1A26:00010275261E0C2322,6303706F0F292E1F19=0E2632021A:000102081A158483262322270C1E,700F292E1B=101C283404:00011A1615262322271F1E200C214C,472B0F1124=3707131F2B:00013974150726271F1E200C,0F06520D297170382B4507=17233B0B2F:000118111A16175B154C26271E200C232279302F5D528384547543,0F297C7A03=17232F3B0B:000118111A332C2E2D1571292A2627200C7A1979,387C02=172F3B0B23:000118111A332C2E2D1571292A23222627200C7A791970302F5D5283845456,387C454F1F=0E1A263202:0001081811171A160F1571292A26271E20396476452B0D,632E523813=15212D3909:00211D1E232289,8D16=0E2632021A:006526232227201F,8926=05111D2935:00657689,6B0F5225=16223A0A2E:00654C89,8D03=2A3606121E:006589,2970472008=15212D3909:001A170F5B332E2D7129261E203E5D,1503528306=152139092D:001A170F1379232227761926,71293833=1C28340410:001A1715838444363F261F1E200C2322,0F476B52036338=14202C3808:001A2B5448701938754C,152E20242510=0D19253101:0039504089,8D39=283404101C:003926271E20747677642322480C06,2E1F38=0F1B273303:0039262322271E201D210C0748766465776A,150F382939=202C380814:0039332C2E2D2F152B4644261F1E,0F7019382971637A31=192531010D:0039787989,1F2E2010=101C283404:0039787089,2E1F8A034F206B29=05111D2935:00398B7989,0F200C=131F2B3707:0039077426271F1E20,0F29713852832B632D=14202C3808:0039076A7426271F2048,0F79197029717A382C=0E1A263202:00397C343548,8929=3B0B17232F:003934357B7C89,0F2028=16222E0A3A:0039343589,8D34=16222E3A0A:0039343589,880B=111D293505:0039343589,8805=17233B0B2F:0039343589,882E=101C283404:0039343589,8806=17233B0B2F:00390103040618111A17332C2E262322271E157A7071302F45631F2075,807C2B=0915212D39:00396577647969271E2322,52012E1F2620612D=16222E3A0A:00391A6A15384C4943363F7448,0F0379472B6319=192531010D:00394C786F89,0F2E442035=182430000C:003989,882A=121E2A3606:003989,8816=13191F252B313701070D:003989,8801=0D19310125:003989,880D=0F1B273303:0018112C2E01040607332D292A09270C2322696870302F47023945,382052801C=101C340428:00190F153917701A48,472E1F200334=1F2B370713:00195475667689,5229152E2019=222E3A0A16:004C504089,0F5215470A=3A0A16222E:005C702C2F802B154C78,5A562E1F208A45466319=102834041C:0089,090F1538=131F2B3707:71297C790001062A710F802D,5215705D2F=0E1A263202:7100030170391959152E2D2F2B39,0F201F4F75668A3824=030F1B2733:5483846376656419786A,298030201A=2430000C18:5452838479195D00012A0D7B7C2C2E3348156366242526201E,0F71292D=07131F2B37:54528384700001020339482D301571565A363F637566,06292B201F8A29=030F1B2733:54528384036F796A153E65,7129631D=2733030F1B:5452848303152F802C2D,2E1F208A7A700F29710C7D22=33030F1B27:118384155B20272E1F21,0F03380E=0E1A263202:1179302F842627201E,0071292E1F0E=06121E2A36:11177B7C52842C2E5B1F20,060071292F0F0E=101C283404:110F70528475660D7129,012E1F20262A=101C283404:110F03706A795215636626271E,0C012F38062C292B07=020E1A2632:110F0001702C2E7129201F,52060C=0E1A263202:110F00017052792E1F1E,71290D2B2020=293505111D:110F1A6A702C2E1952838453712F6375,45201500011D=101C340428:11037B7C2E2F7129,0F52200B=0E1A263202:11000170792C2E7129,0F52201F01=111D350529:110001527B7C2E75,0F2009=04101C2834:1100010206702D804E2B2620,0F52540D00=131F2B3707:110001392E1F20,0F712932=17232F3B0B:11715452838454292C2E302D4E092A0D50407970443D,5680410023=2B3707131F:111879690001020370396A2E2D528384543E637566,0F380D580F292000=222E3A0A16:111879076A1A171523221E27207924,5229700F1D012E292B0C2F0B=06121E2A36:111817000106702C2E71292A0D33802D302F4E2B44,0F52252029=07131F2B37:11180F000704030D7C684580302F153867534775,70204119=2430000C18:11180F00012A0D70795D7B7C39332D2C2E4E4863664C,064F478A2037=1E2A360612:11180F000152548471702C2E2D4E303348492A156144474C63,8A201F38450618=202C380814:11180F000128032A0D7129302C2E302F2D802B09411F1E20,5284543824=2F3B0B1723:11180F0001020370391952845329712B632E7B7C792D2C8020,385D151E=293505111D:11180F0001020339700D29716375662E1F2620,3815568016=16222E3A0A:11180F000102587B7C5283847971302F804B2B497675,09612E1F201E=232F3B0B17:11180F00010E715229702E79692C2E2D2B15093954444C6666,2F565A806132=131F2B3707:11180F71297052838454792A0D33802D153853201F1E212627,012F56476628=3707131F2B:11180F71297000010604032A0D793969302F33802D636675,201F52565A1E18=1D29350511:11180F5C000102030D332C2E195329711563261F202322,52843A=202C380814:11180370392A0D3329712C2F156375795B5D,450C8A00382E1F20010C=3A0A16222E:11185283847975661271393D692D15565A201E262322,292F060D0C02=30000C1824:111852838470795B302F404533802D152B39201E23221D212726,0F2E1F010D2923=2D39091521:111852838453546319297115030D332B2C,060F8A2E38201F38=0D19253101:111800020D041A796933483E5347446563751F1D212026,010F09150C17=2430000C18:1118000717161A2C2E3371292B56433D6375363F,0F010347208A09=020E1A2632:111800012A0D2C705271292E201F,1538617904=30000C1824:11180001032A0D70795B2C2E302F802D4E152B33714161201F26,520958470A=000C182430:11180001020439332C2E302F2B5844477515634C1F2721,0F520D19267A2971702037=232F3B0B17:111800010206037939695483845D2D2E4E446375661F262120,0F52290D7123=31010D1925:111800010206071979697C67474475664C,0F16298A2014=182430000C:11187129705B79000106032A0D397B6F7C802D2C2B61756627261E0C1D21,0F2E15414732=192531010D:111871545283842979397B7C69152B2A0D3348295324251F1D1E26,6B00702F800C201E=1F2B370713:5D0007363F232227261E21,037C0F471F202E=0E1A263202:6526232227201F,880E=111D293505:653989,8806=131F2B3707:363F6526232227201E89,8832=1A2632020E:1A454F548384,881D=121E2A3606:1A38712975,0F201A=0E1A263202:1A162623227954,0001710F290C=0F1B273303:1A16170F13152654,3852204F32=0F1B273303:1A5D453A332C2E2F4B25262322271F201E1D21,000F704723=2F3B0B1723:3950177089,522E1F0F201A=1D29350511:39701117302F713819297566,004551152C2E201D1F34=121E2A3606:393589,881A=15212D3909:393589,882C=182430000C:393589,8825=101C283404:393589,881C=2531010D19:394089,71294709636F7C440D=0D19253101:3948007889,8D38=2430000C18:394889,8811=111D293505:394889,882A=0E1A263202:3907,8807=0D19253101:39343589,8831=101C283404:393489,8801=222E3A0A16:390050404C89,0F528329692018=131F2B3707:39006A26201F,0F520D38580629712B09=380814202C:390001022C2E302F1575804B2D261F20,0D0F0319707D5229717A15=17232F3B0B:3989,8D11=0A16222E3A:181179838454637566,0F5229012007=111D293505:18117915384C,52200E=0C18243000:1811795B032C2E302F802D4163754C27261E1D2120,010D0F29521F29=16222E0A3A:1811795B5466,01202F=192531010D:181179000607040D03302F5283844F3A45512B1533664C47,090F702E208A2B=0B17232F3B:18117900012C2E5B1F20,0F710D52291A=122A36061E:181179190E332C2E2D52637566262322271F20,8D02=0F1B273303:181117332C2E1526232227201F1E3E,38030F522922=142038082C:181170792C2F7129,52201F=121E36062A:18117001061579,71292023=121E2A3606:18117000012C2E7129,522024=3505111D29:18110F390001020370390D3329711563752E1F0C201D,38525D1A=101C283404:18110F197983842E230C271F1E7A70525463,2620291503=111D293505:1811002E1F8384,0F2022=1824000C30:181100012C2E2F1F,0F3821=142038082C:181100012C2E2F1F20,0F5229=14202C3808:181100015B3875,2E2034=15212D3909:181100012A0D2C2E2F2B2D302F4E447129841F,0F09416138200F=0814202C38:181100012A0D52842953411E20,2E1F0F47152F=131F2B3707:18110001032A0D845B7129302F791533536678,0F208A1F1D33=17232F3B0B:18115452840001712970802D2C2E302F2B2A0D78791F,0F204758610E=0F1B273303:18111A16175B3315262322271F1E201D215D838454433E363F754551,00030F290D=0C18243000:18115C0001702A2C2E2F5283847129795B6375802D154C,1F208A2407=15212D3909:88,262052830D=17232F3B0B:88,8D17=102834041C:88,8D0B=15212D0939:88,8D24=121E2A0636:88,8D09=17232F0B3B:88,8D13=111D293505:1979,3F2F2E45207D37=112935051D:1966583F6589,8831=16222E3A0A:4C4089,880C=0C18243000:4C78,297172380D2A2E0F47484112=16222E3A0A:5C0F1811790070528471291F20,2F0380512514=1C28340410:5C0001020652835B0E03804B2D4E2B752024210C06,292E565A36=1A2632020E:5C11180001027170520D298483292B15200C,03802E386333=15212D3909:89,6B34=111D293505:89,8D',
  4763. TIME_YI_JI:'0D28=,2C2E2128=,2C2E0110=,2C2E0C1F=,2C2E7A701B1C=,01022308=,01026D003026=,000106037A702D02=,000106037A702802=,000106037A703131=,000106037A70341B=,000106087A701F0E=,000106087A702E15=,000106087A702C2E0E39=,000106087A702C2E0D2B=,881727=,88032D=,88352F=,882B2F=,882125=,882A22=,880C1E=,880220=,88161A=,882018=,883422=,880113=,880B11=,883315=,882915=,881F17=,88150D=,88122E=,88302A=,88262A=,883A28=,880826=,881C2C=,881905=,882303=,880F09=,88050B=,883701=,882D01=,88060C=,882410=,881A12=,882E0E=,88380E=,881010=,883630=,881834=,880E38=,882232=,882C30=,88043A=,881E0A=,880006=,883208=,880A04=,881400=,882808=,883137=,883B35=,882737=,881D39=,88133B=,880933=,88251D=,882F1B=,881B1F=,88111D=,880719=,88391B=,88212D=,7A702C0B15=,7A70551515=,7A70552D00=,7A7D2C2E1334=382C,000106083528=382C,7A70000106080504=382C7A6C55700F197120,00010608223A=380006082C,01026D0D2C=380006082C,01027A70551D30=380006082C0F71295283,01027A703636=380006082C0F71295283,0102416D1226=380006082C7A706C550F297120,0102251C=380006082C7A6C55700F197120,01026D2300=3800010608,2C2E0324=3800010608,7A702C2E082E=3800010608,7A70552C2E3B34=38000106082C,2F8026330C=38000106082C,2F80267A701622=38000106082C7A70556C0F197120,1904=38000106082C7A6C55700F197120,1514=38000106087A70556C0F197120,2C2E3138=38000106087A70556C0F197120,2C2E0B10=38000106087A6C55700F197120,2C2E2B28=387A6C55700F197120,000106082C2E2E16=38082C,000106037A700E3A=38082C,000106037A703708=38082C6C550F197120,000106037A701B20=38082C6C550F197120,000106037A70111C=38082C6C550F197120,000106037A703A2D=2C38,000106082733=2C38,000106081015=2C38020F71295283,000106083817=2C2920,7A700F03=2C2920,616D1839=2C292070556C100F,00010608161B=2C2920020F7100010608,302B=2C2920556C0F1971,7A701E07=2C2920010F,1B1B=2C2920010670100F00,352B=2C292000010206100F70,082B=2C292000010206100F707A,0C21=2C292000010870556C100F7A,0617=2C29206C0F1971,7A70552807=2C29207A70556C0F197100010206,122F=2C29207A706C55100F1971,1017=2C29207A706C55100F1971,2731=2C20,616D0436=2C2070550F,7A7D01022E12=2C200F71295283,01021831=2C20556C0F1971,7A702912=2C20100F52,01026D1D33=2C807138152952,000106080E31=2C80713815295270556C100F,000106083201=2C80713815295270556C100F7A,000106080327=2C80713815295202100F,000106037A702B2B=2C80713815295202100F,000106037A702801=2C80713815295202100F,000106083639=2C80713815295202100F7A7055,00010608341D=2C807138152952556C100F,000106037A701B23=2C807138152952010F6C55,7A70302D=2C8071381529520102100F7A7055,2231=2C8071381529520102100F7A6C55,1F13=2C80713815295200010206100F20,7A70313B=2C8071381529526C550F,000106037A701A15=2C8071381529527A70550F,000106080219=2C8071381529527A70556C0F19,000106082E0D=2C80713815295208556C100F,000106037A70161F=2C80711529525670556C100F,000106083813=2C80711529525670556C100F,000106082D05=2C807115295256020F7A706C55,2237=2C80711529525602100F,000106081F0D=2C80711529525602100F55,000106037A702627=2C8071152952560102100F7A706C,2C33=2C8071152952560102100F7A706C,0939=2C80711529525601100F7A7055,416D021F=2C80711529525600010206100F70,0E37=2C80711529525600010870556C10,2129=2C8071152952566C550F,7A702519=2C8071152952566C550F19,7A702417=2C8071152952566C55100F19,000106037A70043B=2C8071152952566C55100F19,000106037A700C1B=2C8071152952566C55100F19,7A703B31=2C8071152952566C100F19,7A705500010603172D=2C8071152952567A70550F,416D3A2F=2C8071152952567A70556C100F,1901=2C8071152952567A706C55100F19,1119=2C8071152952567A6C55700F19,1C2B=2C80711529525608556C100F,000106037A701403=2C80711529525608556C100F,000106037A70071D=2C80711529525608100F55,000106037A701908=292C20,7A7D01026D2E0F=292C200102100F7A7055,032C=292C20000608,0102071C=292C206C550F1971,000106037A700E33=292C207A70556C000108,0503=2920550F,7A702C2E0721=2920556C100F,7A702C1225=2920000108556C100F,7A702C2E1F11=2900010870556C100F7A,032C201A11=297A70556C100F,032C200E35=297A70556C100F,032C20000A=70556C0F197120,7A7D3A29=70556C100F2C20,000106081C25=70556C100F2C20,000106082805=70556C100F2C20,000106082F20=70556C100F2C20,00010608150C=70556C100F29522002,7A7D000106033314=70556C100F,00010608032C20122A=70556C08,7A7D000106032415=70100F2C715220,000106081A0D=4B0F2C20,000106037A701902=4B0F2C20,000106080E3B=4B0F20,7A702C000106032E17=0F2C09382920,7A7000010603363B=0F2C093829206C55,000106037A70082C=0F29528320,7A2C71707D01026D0718=0F712952832C20,7A7D01021C26=0F712952832C20,7A7D01026D3918=0F712952832C2038000608,01027A70552126=0F712952832C2010,01021330=0F712952832C207A7055,01021118=0F712952832C207A7055,01023524=0F715220,7A70552C2E3419=20556C0F1971,7A702C2E1D31=2000010206100F,7A702C1E05=0270290F2C207A,00010608212C=0270550F,00010608032C200C23=0270550F,00010608032C203706=0270550F20,000106082C2E2520=0270550F20,7A7D000106032E13=0270550F202C807115295256,000106081620=020F29528320,000106087A2C71707D0112=020F2952832055,7A2C71707D000106030F08=020F20,7A7055000106032A23=020F712952832C20,2521=020F712952832C20,000106082F21=020F712952832C20,000106080003=020F712952832C20,7A700432=020F712952832C2038000106086C,7A701E03=020F712952832C2070556C10,000106081623=020F712952832C2001,2236=020F712952832C2001,000B=020F712952832C2001,7A70552C36=020F712952832C20013800,416D341E=020F712952832C20017055,7A7D0E32=020F712952832C200110,7A7D0329=020F712952832C2001107A706C55,262D=020F712952832C20017A7055,1229=020F712952832C2000010608,122D=020F712952832C2000010608,1011=020F712952832C2000010608,0A0B=020F712952832C2000010608,1F0F=020F712952832C2000010870556C,1A0E=020F712952832C206C55,7A703312=020F712952832C2010,000106037A70172A=020F712952832C2010,7A7055000106033B3B=020F712952832C2010,416D000106037A700B12=020F712952832C20106C55,000106037A700615=020F712952832C207A7055,3203=020F712952832C207A7055,201B=020F712952832C207A706C5510,2023=020F712952832C207A6C7055,2A1B=020F7129528320,000106087A702C2629=020F7129528320,7A702C2E3709=020F7129528320,7A702C000106083A24=020F7129528320,7A70552C2E341A=020F712952832038000106087A70,2C2E1C2D=020F712952832001,7A702C2E0611=020F712952832001,7A702C2E021A=020F712952832001,7A7D2C2E3815=020F71295283200100,7A702C2E3024=020F71295283200110,616D2C2E093B=020F71295283206C55,7A702C2E000106030505=020F71295283206C55,7A702C030C1A=020F71295283207A706C55,000106082C2E3705=020F712952837A706C55,032C201F0C=02550F20,000106037A700508=02550F20,000106037A703029=02550F20,000106087A702C2E3027=02550F202C807115295256,000106037A703526=02100F2C29528320,000106037A70150E=02100F2C29528320,00010608380F=02100F2C29528320,000106083527=02100F2C29528320,7A70000106031C27=02100F2C2955528320,000106081227=02100F2C29555283207A706C,00010608060F=02100F2C29555283207A706C,000106081D34=02100F7020,7A7D000106030F02=02100F7055528315,2F8026000106083920=02100F7055528315,2F802600010608212A=02100F7055528315,000106082A20=02100F7055528315,000106083A26=02100F7055528315,000106080439=02100F7055528315,000106080008=02100F7055528315,000106081B21=02100F7055528315,00010608071B=02100F7055528315,000106080D24=02100F7055528315,000106082C2E2C32=02100F7055528315,000106082C2E2B2C=02100F7055528315,00010608032C201402=02100F7055528315,00010608032C20391C=02100F7055528315,7A7D000106031F10=02100F705552831538,2F8026000106082D06=02100F70555283157A,2F802600010608290D=02100F20,7A702C000106032416=02100F20,616D000106037A702C34=02100F20292C,7A70000106031C2A=02100F528315,7A7055000106032234=02100F528315,7A7055000106032A21=02100F55528315,000106037A703313=02100F55528315,000106037A700509=02100F55528315,000106037A702D03=02100F55528315,000106037A700613=02100F55528315,000106037A702235=02100F55528315,000106037A70391D=02100F55528315,000106037A70100F=02100F55528315,000106087A702C111B=02100F55528315,000106087A702C2E2916=02100F55528315,7A2C71707D000106030430=02100F55528315,7A2C71707D000106033B32=02100F55528315,7A2C71707D000106081903=02100F55528315,7A702C2E000106033A27=02100F55528315,7A702C000106030931=02100F55528315,7A702C000106030C1C=02100F55528315,7A70000106032735=02100F555283152C8071,000106037A700B13=02100F555283152C807138,000106037A701517=02100F555283152C807138,000106037A702917=02100F555283156C,000106037A703136=550F522010,7A2C71707D01022A1E=550F715220,7A702C2E1333=550F715220,7A702C2E000106081405=556C,000106087A702C2E0433=556C,7A70000106083B38=556C0F197120,7A702C2E1E01=556C0F19712001,7A702C2E190B=556C000108,7A70230B=556C000108,7A702C2E1A0F=556C0001082C807115295256,7A701830=556C0008,7A2C71707D01023814=556C100F295220,7A2C71707D03082F=556C100F295220,7A702C0C1D=556C100F295220,7A702C2E00010603021D=556C100F295220,7A70000106031121=556C100F2952202C,7A701835=556C100F2952202C80713815,000106037A703B30=556C100F29522002,000106037A70290C=556C100F29522002,7A70000106030930=556C100F2952200238,000106037A702B27=556C100F2952200102,7A702C2E3812=556C08,000106037A701012=556C08,000106037A701621=556C08,7A702C2E000106033209=556C08,7A702C2E000106032021=556C082C807138152952,000106037A700009=556C082C807138152952,000106037A702A1D=807138152952000170100F,032C200A05=807138152952000170100F,032C20273B=8071381529527A706C550F,032C203423=80711529525600010870556C100F,032C201511=80711529525600010870556C100F,032C20183B=80711529525600010870556C100F,032C203311=010F2C80093829206C55,7A702B29=010F2C80093829206C55,7A70616D3A25=010F2C09382920,7A70550825=010F2C093829207A6C5570,201E=010F09382920,7A702C2E352E=010670100F2C71522000,1C28=010670100F7152207A6C55,2C2E2E11=0106100F7152,7A70032C203205=0106100F71526C,7A70032C202A19=0102290F20,7A702C2E2A1F=010270290F2C207A6C55,2413=010270290F2C207A6C55,0437=010270290F2C207A6C55,0935=010270550F,032C201B18=010270550F20,2B24=010270550F20,2F80261906=010270550F20,2C2E2732=010270550F20,2C2E071A=010270550F20,2C2E3700=010270550F20,7A7D1724=010270550F203800,2F80263921=010270550F202C29,416D290F=010270550F202C807138152952,1619=010270550F202C8071381529527A,3207=010270550F202C80711529525600,0829=010270550F2000,060D=010270550F2000,0001=010270550F2000,2736=010270550F207A,1B1E=010270550F207A,2C2E140B=010270550F207A6C,0114=010270550F7A6C,032C202C3B=010270550F7A6C,032C20201F=0102550F20,7A702C1A13=0102550F20,7A702C3637=0102550F20,7A702C280B=0102550F20,7A702C223B=0102550F20,7A702C032D04=0102100F2C29528320,7A701409=0102100F2C29528320,7A70552307=0102100F2C2952832000,0005=0102100F295283,032C207A700A00=0102100F2955528320,7A2C71707D082D=0102100F2955528320,7A702C2E2809=0102100F295552832000,7A702C2E2B2D=0102100F7055528315,021E=0102100F7055528315,0C20=0102100F7055528315,2F80263420=0102100F7055528315,2F80261510=0102100F7055528315,2F80262E10=0102100F7055528315,2F80262806=0102100F7055528315,2F80263134=0102100F7055528315,2F80261D38=0102100F7055528315,2F8026251A=0102100F7055528315,2F80263A2A=0102100F7055528315,2F80267A7D1120=0102100F7055528315,2F80267A7D0824=0102100F7055528315,2C2E1E00=0102100F7055528315,2C2E7A2F1D=0102100F7055528315,032C200A06=0102100F7055528315,7A7D2C2E1C2E=0102100F70555283153800,2F80261832=0102100F70555283153800,2C2E280A=0102100F70555283153800,2C2E320A=0102100F705552831538007A,2738=0102100F705552831538007A6C,2F80260720=0102100F705552831538007A6C,2F8026032B=0102100F70555283152C292000,1907=0102100F70555283152C292000,3703=0102100F70555283152C292000,2739=0102100F70555283152C29207A,251B=0102100F70555283152C29207A,2B25=0102100F70555283152C29207A6C,1331=0102100F70555283152C207A,0D29=0102100F70555283152C80717A,1B1D=0102100F70555283158071,032C200D2D=0102100F705552831500,1725=0102100F705552831500,352D=0102100F705552831500,0C19=0102100F705552831500,150F=0102100F705552831500,3025=0102100F705552831500,0F07=0102100F705552831500,1E09=0102100F705552831500,251F=0102100F705552831500,010C=0102100F705552831500,2F80261A10=0102100F705552831500,2F80261016=0102100F705552831500,2F80260934=0102100F705552831500,2F80262910=0102100F705552831500,2F80267A7D1A14=0102100F705552831500,2C2E2304=0102100F705552831500,7A7D3421=0102100F7055528315002C2920,212F=0102100F7055528315002C807138,111F=0102100F7055528315002C807138,3135=0102100F7055528315008071,032C200828=0102100F7055528315007A6C,2022=0102100F70555283156C,7A7D140A=0102100F70555283156C,7A7D2C2E2127=0102100F70555283157A,1618=0102100F70555283157A,0B0F=0102100F70555283157A,1836=0102100F70555283157A,172E=0102100F70555283157A,2F8026352A=0102100F70555283157A,2F80262B2E=0102100F70555283157A,2F8026082A=0102100F70555283157A,2F80262306=0102100F70555283157A,2F80263702=0102100F70555283157A,2F80262C38=0102100F70555283157A,2F80261E06=0102100F70555283157A,2F80261B1A=0102100F70555283157A,2F8026032A=0102100F70555283157A,2C2E1F14=0102100F70555283157A,2C2E3810=0102100F70555283157A,2C2E262C=0102100F70555283157A29,032C20201A=0102100F70555283157A00,2F80260A02=0102100F70555283157A00,2F80261838=0102100F70555283157A6C,2F80260E34=0102100F70555283157A6C,2F80260438=0102100F70555283157A6C,2C2E2F1A=0102100F70555283157A6C,2C2E2305=0102100F528315,7A70553525=0102100F5283152C8071,7A70550723=0102100F528315807138,7A7055032C200D2A=0102100F55528315,2F80267A2C71707D3316=0102100F55528315,2F80267A2C71707D1224=0102100F55528315,2F80267A2C71707D212E=0102100F55528315,2F80267A700616=0102100F55528315,2F80267A70380C=0102100F55528315,2F80267A700434=0102100F55528315,2F80267A702A18=0102100F55528315,7A2C71707D2628=0102100F55528315,7A2C71707D100C=0102100F55528315,7A2C71707D2F80261729=0102100F55528315,7A701F15=0102100F55528315,7A70240E=0102100F55528315,7A703632=0102100F55528315,7A701339=0102100F55528315,7A700115=0102100F55528315,7A702C2C37=0102100F55528315,7A702C320B=0102100F55528315,7A702C3206=0102100F55528315,7A702C2E2238=0102100F55528315,616D2F80267A2C71707D3816=0102100F555283153800,2F80267A701406=0102100F555283153800,2F80267A700111=0102100F555283152C8071,7A700501=0102100F555283152C8071,7A70370B=0102100F555283152C807138,7A703B37=0102100F555283152C80713800,7A701C2F=0102100F555283152920,7A702C240F=0102100F555283152920,7A702C0A03=0102100F555283152920,7A702C0221=0102100F55528315292000,7A702C2E3317=0102100F55528315292000,7A702C2E3634=0102100F5552831500,2F80267A2C71707D3028=0102100F5552831500,7A2C71707D111A=0102100F5552831500,7A2C71707D071E=0102100F5552831500,7A2C71707D2913=0102100F5552831500,7A702F19=0102100F5552831500,7A702301=0102100F5552831500,7A702C3919=0102100F5552831500,7A702C3B33=0102100F5552831500,7A702C2E0223=0102100F5552831500,7A702C03032F=0102100F55528315006C,7A702C2E262E=0102100F555283156C,2F80267A70032E=0102100F555283156C,7A2C71707D0F0B=0102100F555283156C,7A701D3B=0102100F555283156C,7A702C2E030116=01100F1571292C20,2F80267A703200=01100F1571292C20,7A7055370A=01100F1571292C2000,7A701B22=01100F1571292C2000,7A701E04=01100F1571292C2000,416D1336=01100F1571292C20007A70556C,391A=01100F1571292C20007A6C7055,1C24=01100F1571292C207A7055,2F80260D2E=01100F15712920,7A702C2E2D0A=01100F15712920,7A702C2E2800=01100F15712920027A7055,2C2E251E=01100F157129207A70556C,2C2E1228=01100F157129207A70556C,416D2C2E050A=01100F5220,7A70550000=01100F5220,616D2624=01100F5220,616D2F80267A702804=01100F5220006C,7A70550F06=01100F52207A70556C,2C2E2F1E=01100F52207A70556C,2C2E1014=01100F527A70556C,032C20161E=01100F712920,7A702C2E0A0A=01100F71522C2920,616D161C=0070100F292C20,01020F04=0006100F7020,7A7D01026D183A=0006100F7020,616D0102201C=0006100F20,7A2C71707D01026D1D37=000170100F292C20,2F18=000170100F292C802038,161D=00014B0F,032C201338=00014B0F2C2002,2F80261728=00014B0F20,2C2E0F0A=00014B0F20,7A2C71707D1833=00014B0F20,7A702C1407=00014B0F20,7A702C1401=0001060838,2C2E1123=0001060838,416D032C202019=000106082C38,2C31=000106082C38,391F=000106082C38,2523=000106082C38,7A70416D1C29=000106082C38020F71295283,3811=000106082C38020F71295283,7A700937=000106082C386C550F197120,7A700117=00010252100F29202C7A706C55,1337=00010206700F202C807138152952,3A2E=00010206100F7020,616D0610=00010206100F20,7A2C71707D0328=00010206100F20,7A700F01=00010206100F20,7A702C3310=00010206100F20,7A702C2E3139=0001100F298020,7A702C2625=00010870556C100F2C20,1909=00010870556C100F2C20,391E=00010870556C100F2C20,2124=00010870556C100F2C20,2F80267A7D0F00=00010870556C100F2C2038,2D09=00010870556C100F2C2002,0500=00010870556C100F2C207A,2C39=00010870556C100F2C207A,2518=00010870556C100F2C207A,0B0C=00010870556C100F2C207A,2F80262911=00010870556C100F7A,032C200007=000108556C100F2C2029,7A700A07=000108556C100F2C2029,7A701332=000108556C100F20,2C2E7A70100D=000108556C100F20,7A702C2E2239=000108556C100F20,7A702C2E0A01=000108556C100F20,7A702C2E380D=0001086C100F2C20,7A70551D36=0001086C100F2C20,7A70552F1F=000108100F70552920,010D=000108100F70552920,616D0507=000108100F705529202C80713815,0B0D=000108100F705529202C8071157A,3133=000108100F7055292002,2309=000108100F7055292002,416D0002=000108100F705529207A,2F80263202=000108100F705529207A,2F80263638=000108100F705529207A,2C2E2A1A=000108100F705529207A38,2F80262414=000108100F705529207A6C,2C2E2E14=000108100F552920,7A2C71707D1404=000108100F552920,7A2C71707D0B17=000108100F552920,7A70330D=000108100F552920,7A702C172F=000108100F552920,7A702C2E3707=000108100F5529206C,616D7A702C2E302E=6C55700F197120,2C2E7A7D0C22=6C55700F197120,7A7D01026D1E02=6C550F297120,000106037A703923=6C550F297120,7A702C2E03230A=6C550F1920,7A2C71707D240C=6C550F19200210,7A2C71707D000106031A16=6C550F197120,000106037A701513=6C550F197120,7A703A2B=6C550F197120,7A701837=6C550F197120,7A702F23=6C550F197120,7A702F22=6C550F197120,7A702D07=6C550F197120,7A702C2E3922=6C550F197120,7A700102093A=6C550F197120,7A70000106031B19=6C550F197120,616D7A70071F=6C550F197120,616D7A702C2E212B=6C550F197120,616D7A702C2E000106032734=6C550F197120292C,000106037A700325=6C550F1971200001020610,7A702C122B=6C550F19712008,000106037A702411=6C100F2952,7A7055032C20010E=100F2C29528320,01023704=100F2C29528320,0102363A=100F292C206C55,000106037A702B26=100F2920,7A2C71707D01026D302C=100F7055528315,01021E08=100F7055528315,01022730=100F7055528315,01021512=100F7055528315,010200352C=100F7055528315,7A7D01026D2F1C=100F7055528315,7A7D01026D0222=100F70555283153800,01026D2412=100F70555283157A,01022230=100F70555283157A,0102060E=100F70555283157A6C,01022C3A=100F70555283157A6C,01026D1F12=100F1571292C20,01026D3B36=100F1571292C20,01026D1516=100F1571292C20,000106037A702302=100F1571292C20,000106037A701D32=100F1571292C20,000106082F8026330E=100F1571292C20,000106086D2A1C=100F1571292C20,7A7001026D313A=100F1571292C20,7A7000010603341C=100F1571292C20,416D7A70000106032B2A=100F1571292C2002,000106037A700326=100F1571292C20556C,000106037A70273A=100F1571292C2000,01026D0722=100F1571292C2000,01026D2E0C=100F1571292C206C55,000106037A701408=100F1571292C207A706C55,01022020=100F1571292C207A706C55,000106081726=100F1571292C207A6C7055,0102290E=100F1571292C207A6C7055,000106080932=100F1571292C207A6C7055,000106080D26=100F52,00010608032C20100E=100F5283153800,01027A70550B16=100F5220,2F8026000106081122=100F5220,6D010200133A=100F5220,01026D1F16=100F5220,000106037A703132=100F5220,000106083B3A=100F5220,000106082522=100F5220,00010608190A=100F5220,000106082C2E021C=100F5220,7A70000106030936=100F52202C,01026D3A2C=100F52206C55,01027A701A0C=100F52206C55,000106037A700E30=100F52206C55,000106037A700A08=100F52207A706C55,000106083204=100F52207A6C5570,01026D0B0E=100F55528315,01027A2C71707D0004=100F55528315,7A2C71707D01026D1D3A=100F55528315,7A2C71707D01026D3418=100F5552831500,7A2C71707D0102201D=100F712920,7A702C2E00010608030E36=100F71522C2920,01023635=100F715229,00010608032C20021B=7A70550F2C715220,1900=7A70550F715220,2C2E0A09=7A70556C,00010608172C=7A70556C,00010608032C200B14=7A70556C,00010608032C202914=7A70556C0F197120,2C2E0938=7A70556C0F197120,000106082C2E111E=7A70556C000108,0502=7A70556C000108,2F80260D2F=7A70556C0001082C807138152952,2D0B=7A70556C0001082C807138152952,3633=7A70556C0001082C807115295256,0C18=7A70556C0008,01020218=7A70556C0008,0102302F=7A70556C100F295220,000106082C35=7A70556C100F295220,000106081E0B=7A70556C100F2952202C807115,3130=7A70556C100F29522002,000106080506=7A70556C100F29522001,2C2E330F=7A70556C100F29522001022C8071,010F=7A70556C100F295220010200,0435=7A70556C100F295280713815,032C200614=7A70556C100F295201,032C20122C=7A70556C100F29520102,032C203B39=7A706C550F297120,0F05=7A706C550F297102,032C200D25=7A706C550F19712001,616D2233=7A706C550F19712000010608,2626=7A6C70550F197120,01021A17=7A6C70550F197120,00010608262F=7A6C70550F1971202C29,000106083529=7A6C70550F19712002,616D000106082D08=7A6C70550F197120103800,0102341F=7A6C55700F197120,2C2E172B=082C38,7A7055000106030D27=082C38,7A70000106030827=08556C100F2C20,000106037A702803=08556C100F2C20,000106037A701013=08556C100F2C20,7A7000010603262B=08556C100F2C20,7A7000010603240D=08556C100F2C20,7A70000106033631=08556C100F2C20,7A70000106030431=08556C100F20,7A702C2E000106031D35=08100F552920,000106037A701335=08100F552920,000106037A700612=08100F55292038,000106037A70',
  4764. SHEN_SHA:[
  4765. '{s.none}',
  4766. '{sn.tianEn}',
  4767. '{sn.muCang}',
  4768. '{sn.shiYang}',
  4769. '{sn.shengQi}',
  4770. '{sn.yiHou}',
  4771. '{sn.qingLong}',
  4772. '{sn.zaiSha}',
  4773. '{sn.tianHuo}',
  4774. '{sn.siJi}',
  4775. '{sn.baLong}',
  4776. '{sn.fuRi}',
  4777. '{sn.xuShi}',
  4778. '{sn.mingTang}',
  4779. '{sn.yueSha}',
  4780. '{sn.yueXu}',
  4781. '{sn.xueZhi}',
  4782. '{sn.tianZei}',
  4783. '{sn.wuXu}',
  4784. '{sn.tuFu}',
  4785. '{sn.guiJi}',
  4786. '{sn.xueJi}',
  4787. '{sn.yueDe}',
  4788. '{sn.yueEn}',
  4789. '{sn.siXiang}',
  4790. '{sn.wangRi}',
  4791. '{sn.tianCang}',
  4792. '{sn.buJiang}',
  4793. '{sn.yaoAn}',
  4794. '{sn.wuHe}',
  4795. '{sn.mingFeiDui}',
  4796. '{sn.yueJian}',
  4797. '{sn.xiaoShi}',
  4798. '{sn.tuHu}',
  4799. '{sn.wangWang}',
  4800. '{sn.tianXing}',
  4801. '{sn.tianDe}',
  4802. '{sn.guanRi}',
  4803. '{sn.jiQi}',
  4804. '{sn.yuYu}',
  4805. '{sn.daShi}',
  4806. '{sn.daBai}',
  4807. '{sn.xianChi}',
  4808. '{sn.zhuQue}',
  4809. '{sn.shouRi}',
  4810. '{sn.tianWu}',
  4811. '{sn.fuDe}',
  4812. '{sn.liuYi}',
  4813. '{sn.jinTang}',
  4814. '{sn.jinKui}',
  4815. '{sn.yanDui}',
  4816. '{sn.zhaoYao}',
  4817. '{sn.jiuKong}',
  4818. '{sn.jiuKan}',
  4819. '{sn.jiuJiao}',
  4820. '{sn.xiangRi}',
  4821. '{sn.baoGuang}',
  4822. '{sn.tianGang}',
  4823. '{sn.siShen}',
  4824. '{sn.yueXing}',
  4825. '{sn.yueHai}',
  4826. '{sn.youHuo}',
  4827. '{sn.chongRi}',
  4828. '{sn.shiDe}',
  4829. '{sn.minRi}',
  4830. '{sn.sanHe}',
  4831. '{sn.linRi}',
  4832. '{sn.tianMa}',
  4833. '{sn.shiYin}',
  4834. '{sn.mingFei}',
  4835. '{sn.siQi}',
  4836. '{sn.diNang}',
  4837. '{sn.baiHu}',
  4838. '{sn.yueDeHe}',
  4839. '{sn.jingAn}',
  4840. '{sn.yuTang}',
  4841. '{sn.puHu}',
  4842. '{sn.jieShen}',
  4843. '{sn.xiaoHao}',
  4844. '{sn.tianDeHe}',
  4845. '{sn.yueKong}',
  4846. '{sn.yiMa}',
  4847. '{sn.tianHou}',
  4848. '{sn.chuShen}',
  4849. '{sn.yuePo}',
  4850. '{sn.daHao}',
  4851. '{sn.wuLi}',
  4852. '{sn.tianLao}',
  4853. '{sn.yinDe}',
  4854. '{sn.fuSheng}',
  4855. '{sn.tianLi}',
  4856. '{sn.zhiSi}',
  4857. '{sn.yuanWu}',
  4858. '{sn.yangDe}',
  4859. '{sn.tianXi}',
  4860. '{sn.tianYi}',
  4861. '{sn.siMing}',
  4862. '{sn.yueYan}',
  4863. '{sn.diHuo}',
  4864. '{sn.fourHit}',
  4865. '{sn.daSha}',
  4866. '{sn.daHui}',
  4867. '{sn.tianYuan}',
  4868. '{sn.liuHe}',
  4869. '{sn.wuFu}',
  4870. '{sn.shengXin}',
  4871. '{sn.heKui}',
  4872. '{sn.jieSha}',
  4873. '{sn.siQiong}',
  4874. '{sn.gouChen}',
  4875. '{sn.chuShuiLong}',
  4876. '{sn.baFeng}',
  4877. '{sn.tianShe}',
  4878. '{sn.wuMu}',
  4879. '{sn.baZhuan}',
  4880. '{sn.yinCuo}',
  4881. '{sn.siHao}',
  4882. '{sn.yangCuo}',
  4883. '{sn.siFei}',
  4884. '{sn.sanYin}',
  4885. '{sn.xiaoHui}',
  4886. '{sn.yinDaoChongYang}',
  4887. '{sn.danYin}',
  4888. '{sn.guChen}',
  4889. '{sn.yinWei}',
  4890. '{sn.xingHen}',
  4891. '{sn.liaoLi}',
  4892. '{sn.jueYin}',
  4893. '{sn.chunYang}',
  4894. '{sn.qiNiao}',
  4895. '{sn.suiBo}',
  4896. '{sn.yinYangJiaoPo}',
  4897. '{sn.yinYangJuCuo}',
  4898. '{sn.yinYangJiChong}',
  4899. '{sn.zhuZhen}',
  4900. '{sn.yangCuoYinChong}',
  4901. '{sn.qiFu}',
  4902. '{sn.tianGou}',
  4903. '{sn.jiuHu}',
  4904. '{sn.chengRi}',
  4905. '{sn.tianFu}',
  4906. '{sn.guYang}',
  4907. '{sn.jueYang}',
  4908. '{sn.chunYin}',
  4909. '{sn.liuShe}',
  4910. '{sn.yinShen}',
  4911. '{sn.jieChu}',
  4912. '{sn.yangPoYinChong}'
  4913. ],
  4914. DAY_SHEN_SHA:'100=010203040506,0708090A0B101=010C0D,0E0F101112131415102=16011718191A1B1C1D1E,1F20212223103=24011825261B271D1E,28292A2B104=012C2D2E2F3031,3233343536105=3738,393A3B3C3D123E106=3F404142434445,464748107=494A4B4C4D,4E108=4F5051524C4D5345,54555657109=58595345,5A5B12565C10A=5D415E5F60,616263640B6510B=0266676869,6A6B6C0A3E6D10C=1602171803041B05061E,07086E10D=24181B0C0D,0E0F1011126F13141510E=70191A1C1D,1F2021222310F=0125261B271D,28292A2B110=012C2D2E2F3031,3233343536111=49013738,393A3B3C3D123E112=4F50013F404142434445,4648113=014A4B,4E6E114=51524C4D5345,54550B5657115=0158595345,5A5B12565C116=1601185D415E5F60,61626364117=24021867681B69,6A6B3E6D118=0203040506,0708119=1B0C0D,0E0F10111213141511A=191A1B1C1D1E,1F2021222311B=4925261B271D1E,28292A11C=4F502C2D2E2F3031,323334353611D=3738,393A3B3C3D123E11E=3F404142434445,460B4811F=4A4B,4E71120=16171851524C4D5345,545556121=241858595345,5A5B12565C122=5D415E5F60,61626364123=0267681B69,6A6B3E6D124=0203041B05061E,070847125=491B0C0D,0E0F101112131415126=4F50191A1C1D1E,1F20212223127=2526271D1E,28292A2B128=2C2D2E2F3031,32333435360B129=3738,393A3B3C3D123E12A=1617183F404142434445,464812B=24184A4B,4E7212C=51524C4D53,5455565712D=0158595345,5A5B12565C12E=015D415E5F60,616263647312F=49010267681B69,6A6B3E6D130=4F500102030405061E,070874131=010C0D,0E0F101112131415726E132=191A1C1D1E,1F2021220B722375133=2526271D1E,28292A2B134=1617182C2D2E2F3031,3233343536135=24183738,393A3B3C3D126F3E136=3F4041424344,4648137=4A4B,4E72138=51524C4D5345,545576567257139=4958595345,5A5B7612565C7713A=4F505D415E5F60,6162636413B=02676869,6A6B3E6D200=1601025D60,393B28292A11090A201=0103041A1B4A,123435360B6D202=011819681B4C1D061E,3D1014203=011718252F591D0D1E,1F20213233204=012C26,3C23205=493751522D2E69,121364223E2B206=503F4005311E,6A3A5A5B207=5841440C38,4615208=431C4D45,6B4E5648209=27534B45,545507086162125620A=16666730,0E0F635720B=0241425E5F1B,6C0A0B3E5C20C=02185D1B601E,393B28292A116E20D=171803041B4A,126F3435366D20E=7019684C1D06,3D101420F=4901252F591D0D,1F2021323378210=50012C26,3C23211=013751522D2E69,121364223E2B212=013F40053145,6A3A5A5B213=015841440C38,46156E214=16431C4D5345,6B4E5648215=27534B45,545507086162120B5648216=18671B30,0E0F6357217=02171841425E5F1B,3E5C218=025D60,393B28292A11219=4903041A1B4A,123435366D21A=5019681B4C1D061E,3D101421B=252F591D0D45,1F2021323321C=2C26,3C2321D=3751522D2E69,121364223E2B21E=163F40053145,6A3A5A5B21F=5841440C38,467147150B220=18431C4D5345,6B4E5648221=171827534B45,5455070861621256222=6730,0E0F6357223=490241425E5F1B,3E5C224=50025D1B601E,393B28292A11225=03041A4A,123435366D226=19684C1D061E,3D1014227=252F591D0D1E,1F20213233228=162C26,3C23229=3751522D2E69,121364220B3E2B22A=183F40053145,6A3A5A5B22B=17185841440C38,46157222C=431C4D53,6B4E564822D=490127534B45,54550708616212567922E=5001671B30,0E0F635722F=010241425E5F,3E5C230=01025D601E,393B28292A1174231=0103041A4A,1234353647726E6D232=1619684C1D061E,3D1014233=252F591D0D1E,1F202132330B75234=182C26,3C23235=17183751522D2E69,126F1364223E2B236=3F400531,6A3A5A5B237=495841440C38,461572238=50431C4D5345,6B4E76567248239=27534B45,5455070861627612567323A=6730,0E0F635723B=0241425E5F,3E5C300=0102415E5F1A1B69,090A471457301=011B05,6A125C302=5001185D19515203042F0C1D601E,323315303=4F490118251C1D1E,3C5A5B106D304=012C2706,1F20213B710B787A305=58372668300D,6B123E306=173F402D2E45,07086423307=00,393A0E2B308=24164142444A533145,61624622567B309=674C533845,28292A4E12135630A=431B594D,5455633435364830B=021B27,3D116C0A3E30C=500218415E5F1A1B691E,146E5730D=4F49181B05,6A126F5C30E=705D19515203042F0C1D60,3233150B30F=01251C1D,3C5A5B106D310=01172C2706,1F20213B7C311=0158372668300D,6B123E312=2416013F402D2E45,0708476423313=01,393A0E0F6E2B314=4142444A533145,61624622567D315=66671B4C533845,28292A4E121356316=5018431B594D,54556334353648317=4F4902181B4B,3D113E318=02415E5F1A69,140B57319=1B05,6A125C31A=175D19515203042F0C1D601E,32331531B=251C1D1E,3C5A5B106D31C=24162C2706,1F20213B31D=58372668300D,6B123E31E=3F402D2E45,0708642331F=00,393A0E0F2B320=50184142444A533145,61624622567E321=4F4918671B4C533845,28292A4E121356322=43594D,5455633435360B48323=021B4B,3D113E324=0217415E5F1A691E,1457325=05,6A125C326=58165D19515203042F0C1D601E,323315327=251C1D1E,3C5A5B106D328=2C2706,1F20213B75329=58372668300D,6B123E32A=50183F402D2E45,0708642332B=4F4918,393A0E0F722B32C=4142444A5331,616246220B567B32D=01671B4C533845,28292A4E12135632E=011743594D,5455633435364832F=01024B,3D113E330=24160102415E5F1A691E,741457331=0105,6A12726E5C332=5D19515203042F0C1D601E,32331572333=251C1D1E,3C5A5B106D334=50182C2706,1F20213B335=4F491858372668300D,6B126F3E336=3F402D2E,0708640B23337=00,393A0E0F722B338=174142444A533145,616246762256727B73339=674C533845,28292A4E7612135633A=241643594D,5455633435364833B=024B,3D113E400=5001431B,5A5B1248401=490141425E5F2F4B,32336314402=4F01024A1D1E,396B3C130B57403=01025803044C1D1E,07085C404=01183F5D5960,0E0F10127F405=171819,1F20213E6D788075406=162526690645,28292A407=242C2D2E050D,6162343536647B408=3767680C5345,6A3A3B3D12155623409=4041441C5345,46562B40A=501B274D31,4E1140B=4951521A1B3038,5455223E40C=4F431B1E,5A5B0981120B6E4840D=41425E5F2F4B,3233631440E=02184A1D,396B3C135740F=010217185803044C1D,0708475C410=16013F585960,0E0F1012411=240119,1F20213E6D412=012526690645,28292A413=012C2D2E050D,6162343536646E7B414=503767681B0C5345,6A3A3B3D126F155623415=494041441B1C5345,46562B416=4F1B274D31,4E11710B417=51521A1B3038,54556C81223E418=18431B,5A5B1248419=171841425E5F2F4B,3233631441A=16024A1D1E,396B3C135741B=24025844044C1D1E,07085C41C=3F5D5960,0E0F101241D=19,1F20213E6D41E=50702526690645,28292A41F=492C2D2E050D,6162343536647D420=4F663767681B0C5345,6A3A3B3D12150B5623421=4041441B1C5345,46562B422=181B274D31,4E11423=171851521A3038,5455223E424=16431E,5A5B1248425=2441425E5F2F4B,32336314426=024A1D1E,396B3C1357427=025803044C1D1E,07085C428=503F5D5960,0E0F10126F429=4919,1F20213E6D42A=4F2526690645,28292A0B8242B=2C2D2E050D,616234353664727E7342C=183767681B0C53,6A3A3B3D1215562342D=0117184041441C5345,4647562B42E=1601274D31,4E1142F=240151521A3038,5455223E430=01431E,5A5B761248431=0141425E5F2F4B,32336314726E432=50024A1D1E,396B3C137257433=49025844044C1D1E,0708745C434=4F3F5D5960,0E0F10120B435=19,1F20213E6D75436=1825266906,28292A82437=17182C2D2E050D,616234353664727B73438=163767680C5345,6A3A3B3D1215567223439=244041441C5345,46562B43A=274D31,4E1143B=51521A3038,545576223E83500=012F4D31,54550708323312501=01586938,0E0F3C63502=16010241435E5F051D1E,641448503=01020C1D4B1E,6A28292A353615220B504=0117183F03041C,123457505=181927,3D103E5C506=5D25306045,1F20213B616213507=492C2667,6D508=503751522D2E530645,1256509=401B4A530D45,393A5A5B115650A=4142441A1B4C,462350B=681B59,6B4E3E2B50C=162F4D311E,5455070832330981126E50D=586938,0E0F3C0B50E=02171841435E5F051D,64144850F=0102180C1D4B,6A28292A35361522510=013F03041C,123457511=49011927,3D103E5C512=50015D25306045,1F20213B616213513=012C26671B,6E6D514=3751522D2E1B530645,126F56515=401B4A530D45,393A5A5B1156516=164142441A1B4C,467123517=6859,6B4E6C810B3E2B518=17182F4D31,54550708323312519=18586938,0E0F3C6351A=0241435E5F051D1E,64144851B=49020C1D4B1E,6A28292A3536152251C=503F03041C,12345751D=1927,3D103E5C51E=705D25306045,1F20213B61621351F=2C26671B,6D520=163751522D2E1B530645,1256521=404A530D45,393A5A5B110B56522=17184142441A1B,4623523=186859,6B4E3E2B524=2F4D311E,54550708323312525=49586938,0E0F3C63526=500241435E5F051D1E,641448527=020C1D4B1E,6A28292A35361522528=3F03041C,126F344757529=1927,3D103E5C52A=165D25306045,1F20213B616213658452B=662C2667,0B726D52C=17183751522D2E1B5306,125652D=0118404A530D45,393A5A5B115652E=014142441A4C,462352F=49016859,6B4E3E2B530=50012F4D311E,545507083233761285531=01586938,0E0F3C63726E532=0241435E5F051D1E,64147248533=020C1D4B1E,6A28292A7435361522534=163F03041C,123457535=1927,3D100B3E5C536=16185D253060,1F20213B61621378537=182C2667,726D538=3751522D2E530645,125672539=49404A530D45,393A5A5B115653A=504142441A4C,46472353B=681B59,6B4E763E2B600=241601304D,3C28292A4E1235361423601=01,54553B63342B602=0102681D311E,3D603=010241425E5F4A1D381E,64604=01183F434C,39127148605=4F49181951520304594B,61620B3E73606=50256745,5A5B102257607=172C69,1F20215C608=5D37261B05536045,6B111256609=402D2E1A1B0C5345,6B11125660A=24161B1C06,6A3A0E0F1360B=5841442F270D,3233463E60C=304D1E,3C28292A4E0981123536146E2360D=00,54553B63342B60E=0218681D31,3D60F=4F4901021841425E5F4A1D38,640B610=50013F434C,391248611=01171951520304594B,61623E612=0125671B45,5A5B102257613=012C1B69,1F20216E5C614=24165D37261B05536045,6B11126F56615=402D2E1A1B0C5345,070815566D616=1C06,6A3A0E0F1347617=5841442F270D,3233466C813E618=18304D,3C28292A4E1235361423619=4F4918,54553B63340B2B61A=5002681D311E,3D61B=021741425E5F4A1D381E,6461C=3F434C,39124861D=1951520304594B,61623E61E=24167025671B45,5A5B10225761F=2C1B69,1F20215C620=5D372605536045,6B111256621=402D2E1A0C5345,070815566D622=181B1C06,6A3A0E0F13623=4F49185841442F270D,3233460B3E624=50304D1E,3C28292A4E1235361423625=17,54553B63342B626=02681D311E,3D627=0241425E5F4A1D381E,64628=24163F434C,39126F48629=1951520304594B,61623E62A=256745,5A5B1022578662B=2C69,1F2021725C7562C=185D37261B055360,6B11125662D=4F490118402D2E1A0C5345,0708150B566D62E=50011C06,6A3A0E0F1362F=01175841442F270D,3233463E630=01304D1E,3C28292A4E761235361423631=01,54553B6334726E2B87632=241602681D311E,3D72633=0241425E5F4A1D381E,7464634=3F434C,39124748635=1951520304594B,61623E6573636=661825671B,5A5B10225786637=4F49182C69,1F20210B725C75638=505D372605536045,6B11125672639=17402D2E1A0C5345,070815566D63A=1B1C06,6A3A0E0F1363B=5841442F270D,323346763E700=0103404142445906,46701=01020D,4E14702=50015152694D1D1E,54553B23703=4901051D1E,5A5B2B1288704=4F0102415E5F0C31,6162636415705=6667681C38,6A6B3E706=4303042745,07080B48707=02304B,0E0F101112708=16171819,1F20135657709=24185825261B5345,28292A353622565C70A=025D2C2D2E2F4A60,3233893470B=374C,393A3C3D3E6D70C=503F4041424459061E,466E70D=49020D,4E1470E=4F5152694D1D,54553B70F=01051D,5A5B12132B710=0102415E5F0C31,61626364150B65711=0167681C38,6A6B3E712=162417184303041B2745,070848713=240102181B304B,0E0F1011126E714=191A1B5345,1F20215657715=5825261B5345,28292A353622565C717=49374C,393A3C3D126F473E6D718=4F3F404142445906,46719=020D,4E1471A=515269,1D1E71B=051D1E,5A5B12132B71C=16021718415E5F0C31,616263641571D=241867681B1C38,6A6B3E71E=4303041B2745,07084871F=021B30,0E0F101112720=50191A5345,1F20215657721=495825265345,28292A353622565C722=4F025D2C2D2E2F4A60,32338934723=374C,393A3C3D123E6D724=3F4041424459061E,46098A0B725=020D,4E7114726=1617185152694D1D1E,54553B23727=2418051D1E,5A5B12132B728=02415E5F0C31,616263641573729=67681B1C38,6A6B3E72A=504303042745,07084872B=4902304B,0E0F1011126F7272C=4F70191A1B,1F2021565772D=015825265345,28292A353622565C72E=01025D2C2D2E2F4A60,323389340B72F=01374C,393A3C3D6C8A123E6D730=160117183F4041424459061E,46731=240102180D,4E14726E732=5152694D1D1E,54553B767223733=051D1E,5A5B7612132B77734=5002415E5F0C31,6162636415735=4967681C38,6A6B473E736=4F4303041B27,7448737=02304B,0E0F10111272738=191A5345,1F20210B56725775739=5825265345,28292A353622565C73A=160217185D2C2D2E2F4A60,3233893473B=2418374C,393A3C3D123E6D800=50013F5D402760,6A3A5A5B22801=490102414430,466D802=014D1D061E,6B4E4714803=011D0D1E,54550708616212804=0102671B4A,0E0F6323805=41425E5F4C,8B2B806=16593145,3928292A113536807=025803041A1B38,1234130B808=181943681B695345,3D105648809=1718252F0553534B45,1F20213B32335680A=50022C260C,3C155780B=493751522D2E1C,12643E5C80C=3F5D4027601E,6A3A5A5B226E80D=02414430,466D80E=4D1D06,6B4E1480F=011D0D,5455070861621279810=16010266674A,0E0F6323811=0141425E5F1B4C,0B3E2B812=01181B593145,3928292A113536813=010217185803041A1B38,1234136E814=501943681B695345,3D105648815=49252F05534B45,1F20213B323356816=022C260C,3C1557817=3751522D2E1C,126F643E5C818=3F5D402760,6A3A5A5B22819=02414430,466D81A=164D1D061E,6B4E1481B=1D0D1E,545507086162120B6581C=0218671B4A,0E0F632381D=171841425E5F1B4C,3E2B81E=501B593145,3928292A11353681F=49025D03041A38,123413820=194368695345,3D10475648821=252F05534B45,1F20213B323356716=50025D2C2D2E2F4A60,32338934822=022C260C,3C1557823=3751522D2E1C,12643E5C824=163F5D4027601E,6A3A5A5B098A22825=02414430,46710B6D826=184D1D061E,6B4E14827=17181D0D1E,54550708616212828=5002671B4A,0E0F6323829=4941425E5F4C,3E2B82A=593145,3928292A11353682B=025803041A38,126F34137282C=701943681B6953,3D10564882D=01252F05534B45,1F2021613233567882E=1601022C260C,3C155782F=013751522D2E1C,6C8A12640B3E5C830=01183F5D4027601E,6A3A5A5B22831=01021718414430,46726E6D832=504D1D061E,6B4E761472833=491D0D1E,545507086162761273834=02674A,0E0F6323835=41425E5F4C,3E2B836=1B5931,3928292A11743536837=025803041A38,12341372838=16194368695345,3D10567248839=252F05534B45,1F20213B32330B567583A=02182C260C,3C155783B=17183751522D2E1C,12643E5C900=013F408C2E4C,0708641457901=010259,393A0E0F5C902=2416015D4142441D601E,61624635367B903=0167691D1E,28292A4E126D904=01021B054D06,5455637134220B905=580C0D,3D11153E906=17415E5F1A1B1C45,23907=4F49021B27,6A3B12472B908=501819515203042F30533145,323356909=1825533845,3C5A5B105690A=022C43,1F2021487C90B=3726684A4B,6B12133E90C=24163F402D2E4C1E,070864146E5790D=0259,393A0E0F5C90E=5D4142441D60,61624635360B7B90F=0167691D,28292A4E126D910=0102171B054D06,5455633422911=4F4901581B0C0D,3D11153E912=500118415E5F1A1B1C45,23913=0102181B27,6A3B126E2B914=19515203042F30533145,323356915=25533845,3C5A5B1056916=2416022C43,1F202148917=3726684A4B,6B126F133E918=3F402D2E4C,070864140B57919=0259,393A0E0F5C91A=175D4142441D601E,61624635367D91B=4F4966671B691D1E,28292A4E126D91C=5002181B054D06,545563342291D=18581B0C0D,3D11153E91E=415E5F1A1C45,2391F=0227,6A3B122B920=241619515203042F305331,323356921=25533845,3C5A5B1056922=022C43,1F20210B48788D923=3726684A4B,6B12133E924=173F402D2E4C1E,0708098A641457925=4F49022E,393A0E0F475C926=50185D4142441D601E,61624635367E927=18671B691D1E,28292A4E126D928=02054D06,5455633422929=580C0D,3D11153E92A=2416415E5F1A1C45,2392B=0227,6A3B126F722B92C=7019515203042F305331,32330B5692D=0125533845,3C5A5B105692E=0102162C43,1F2021487592F=4F49013726684A4B,6B6C8A12133E930=5001183F402D2E4C1E,0708641457931=01021859,393A0E0F726E5C932=5D4142441D601E,616246763536727B73933=67691D1E,28292A4E76126D934=241602054D06,5455633422935=580C0D,3D11153E936=415E5F1A1B1C,740B23937=0227,6A3B12722B938=1719515203042F30533145,32335672939=4F4925533845,3C5A5B105693A=5002182C43,1F20214893B=183726684A4B,6B12133EA00=160170182543261C,28292A48A01=240117182C2D2E274B,61623464147BA02=013F376768301D1E,6A3A3D1257A03=01584041441D1E,465CA04=015D4D60,4E1113A05=4951521A1B4A,54553E6DA06=4F501B4C0645,5A5B12A07=41425E5F2F590D,32336322A08=025345,396B3C0B5623A09=020304695345,0708562BA0A=16180531,0E0F10126FA0B=241618190C38,1F20213B3536103EA0C=2543261C1E,28292A6E48A0D=2C2D2E274B,61623464147BA0E=3F376768301D,6A3A3D124757A0F=4924584041441B1D,465CA10=4F50015D1B4D60,4E1113A11=0151521A1B4A,54553E6DA12=011B4C0645,5A5B120BA13=0141425E5F2F590D,323363226EA14=1602185345,396B3C5623A15=240217180304695345,0708562BA16=0531,0E0F1012A17=190C38,1F20213B3536153EA18=2543261C,28292A4882A19=49503F3767681B301D1E,6A3A3D1257A1A=4F503F3767681B301D1E,6A3A3D1257A1B=584041441B1D1E,465CA1C=5D1B4D60,4E1171130BA1D=51521A1B4A,54553E6DA1E=16184C0645,5A5B12A1F=24171841425E5F2F590D,32336322A20=025345,396B3C5623A21=020304695345,0708562BA22=0531,0E0F10128EA23=49190C38,1F20213B3536153E788FA24=4F502543261C1E,28292A48A25=2C2D2E274B,61623464147DA26=663F3767681B301D1E,6A3A3D120B57A27=584041441B1D1E,465CA28=16185D4D60,4E1113A29=24171851521A4A,54553E6DA2A=4C0645,5A5B7612A2B=41425E5F2F590D,3233632272A2C=0253,396B3C475623A2D=1601020304695345,0708562BA2E=4F50010531,0E0F1012A2F=01190C38,1F20213B3536153EA30=012543261C1E,28292A09900B4882A31=012C2D2E274B,6162346414726E7E73A32=16183F376768301D1E,6A3A3D126F7257A33=2417185D4041441D1E,465CA34=5D4D60,4E1113A35=51521A4A,5455763E6D83A36=4C06,5A5B12A37=4941425E5F2F590D,3233632272A38=4F50029145,396B3C567223A39=020304695345,070874562BA3A=0531,0E0F10120BA3B=190C38,1F20213B6C903536153E75B00=01701718254A31,1F20216162B01=0118582C26,674C38B02=50013F375152432D2E591D1E,121448B03=4901401B1D4B1E,393A5B11B04=014142441A69,4657B05=681B05,6B4E3E5CB06=682F0C4D6045,5455070832331215B07=1C,0E0F3C636DB08=1602415E5F27530645,3536136456B09=0230530D45,6A28292A0B56B0A=17180304,126F342223B0B=1819,3D103E2BB0C=50254A311E,1F202161626EB0D=49582C26,671B4C38B0E=3F375152432D2E591D,121448B0F=01401B1D4B,393A3B5A5B11B10=014142441A1B69,4657B11=01681B05,6B4E3E5CB12=16015D2F0C4D6045,5455070832331215B13=011C,0E0F3C630B6E6DB14=021718415E5F27530645,3536136456B15=021830530D45,6A28292A56B16=500304,12342223B17=4919,3D103E2BB18=254A31,1F4E21616278B19=582C26,671B4C38B1A=3F375152432D2E1B591D1E,121448B1B=401B1D4B1E,393A3B5A5B1147B1C=164142441A1B69,467157B1D=6805,6B4E0B3E5CB1E=17185D2F0C926045,5455070832331215B1F=181C,0E0F3C636DB20=5002415E5F27530645,3536136456B21=490230530D45,6A28292A56B22=0304,12342223B23=19,3D103E2BB24=254A311E,1F20136162B25=582C26671B4C38,00B26=163F375152432D2E1B591D1E,121448B27=401D4B1E,393A3B5A5B110BB28=17184142441A69,4657B29=186805,6B4E3E5CB2A=505D2F0C4D6045,54550708323376121585B2B=491C,0E0F3C63726DB2C=02415E5F275306,3536136456B2D=010230530D45,6A28292A56B2E=010304,12342223B2F=0119,3D103E2BB30=1601254A311E,1F2021616209906584B31=0166582C26674C38,0B726EB32=17183F375152432D2E591D1E,126F147248B33=18401D4B1E,393A3B5A5B11B34=504142441A69,4657B35=49681B05,6B4E763E5CB36=5D2F0C4D60,5455070832331215B37=1C,0E0F3C63726DB38=02415E5F27530645,353613645672B39=0230530D45,6A28292A744756B3A=160304,12342223B3B=19,3D106C900B3E2BC00=500170661825670C,5A5B1013141523C01=4F4901182C1C,1F2021222BC02=011637261B271D311E,6B1112C03=01402D2E1A1B311D381E,0708C04=0143,6A3A0E0F7148C05=41442F4B,32334635360B3EC06=24164A4D45,3C28292A4E1257C07=174C,545563345CC08=025D6859536045,3D56C09=0241425E5F5345,4764566DC0A=50186906,393B126FC0B=4F4918581951520304050D,61623EC0C=25671B0C1E,5A5B101314156E23C0D=2C1B1C,1F2021222BC0E=3F37264B1D31,6B1112C0F=01402D2E1A1B301D38,07080BC10=241601431B,6A3A0E0F48C11=011741442F4B,32334635363EC12=014A4D45,3C28292A4E1257C13=014C,545563346E5CC14=5002185D6804536045,3D56C15=4F49021841425E5F5345,64566DC16=6906,393B12C17=581951524404050D,61623EC18=25670C,5A5B101314152386C19=2C1B1C,1F2021220B2BC1A=24163F37261B271D31,6B1112C1B=17402D2E1A1B301D381E,0708C1C=43,6A3A0E0F48C1D=41582F4B,32334635363EC1E=50184A4D45,3C28292A4E1257C1F=4F49184C,545563345CC20=025D6859536045,3D56C21=0241425E5F5345,64566DC22=6906,393B12C23=581951520304050D,61620B3EC24=241625671B0C1E,5A5B1013141523C25=172C1B1C,1F2021222BC26=3F3726271D311E,6B1112C27=402D2E1A301D381E,0708C28=501843,6A5B0E0F48C29=4F491841442F4B,32334635363EC2A=4A4D45,3C28292A4E761257C2B=4C,54556334725C93C2C=025D68595360,3D56C2D=010241425E5F5345,640B566DC2E=2416016906,393B12C2F=0117581951520304050D,61623EC30=0125670C,5A5B1009901314152386C31=012C1C,1F202122726E2B75C32=50183F3726271D311E,6B11126F72C33=4F4918402D2E1A301D381E,070847C34=431B,6A3A0E0F48C35=41442F4B,3233467635363EC36=4A4D,3C28292A4E1257C37=4C,545563340B725CC38=2416025D6859536045,3D5672C39=021741425E5F5345,7464566DC3A=6906,393B12C3B=581951520304050D,61626C903E6573',
  4915. getTimeZhiIndex:function(hm){
  4916. if(!hm){
  4917. return 0;
  4918. }
  4919. if(hm.length>5){
  4920. hm = hm.substr(0,5);
  4921. }
  4922. var x = 1;
  4923. for(var i=1;i<22;i+=2){
  4924. if(hm>=((i<10?'0':'')+i+':00')&&hm<=((i+1<10?'0':'')+(i+1)+':59')){
  4925. return x;
  4926. }
  4927. x++;
  4928. }
  4929. return 0;
  4930. },
  4931. convertTime:function(hm){
  4932. return this.ZHI[this.getTimeZhiIndex(hm)+1];
  4933. },
  4934. getJiaZiIndex:function(ganZhi){
  4935. for(var i=0,j=this.JIA_ZI.length;i<j;i++){
  4936. if(this.JIA_ZI[i]===ganZhi){
  4937. return i;
  4938. }
  4939. }
  4940. return -1;
  4941. },
  4942. hex:function(n){
  4943. var hex = n.toString(16);
  4944. if(hex.length<2){
  4945. hex = '0'+hex;
  4946. }
  4947. return hex.toUpperCase();
  4948. },
  4949. getDayYi:function(monthGanZhi,dayGanZhi){
  4950. var l = [];
  4951. var day = this.hex(this.getJiaZiIndex(dayGanZhi));
  4952. var month = this.hex(this.getJiaZiIndex(monthGanZhi));
  4953. var right = this.DAY_YI_JI;
  4954. var index = right.indexOf(day+'=');
  4955. while(index>-1) {
  4956. right = right.substr(index+3);
  4957. var left = right;
  4958. if (left.indexOf('=')>-1) {
  4959. left = left.substr(0, left.indexOf('=') - 2);
  4960. }
  4961. var matched = false;
  4962. var months = left.substr(0, left.indexOf(':'));
  4963. var i;
  4964. var m;
  4965. var j;
  4966. for (i = 0, j = months.length; i < j; i += 2) {
  4967. m = months.substr(i, 2);
  4968. if (m===month) {
  4969. matched = true;
  4970. break;
  4971. }
  4972. }
  4973. if(matched) {
  4974. var ys = left.substr(left.indexOf(':') + 1);
  4975. ys = ys.substr(0, ys.indexOf(','));
  4976. for (i = 0, j = ys.length; i < j; i += 2) {
  4977. m = ys.substr(i, 2);
  4978. l.push(this.YI_JI[parseInt(m,16)]);
  4979. }
  4980. break;
  4981. }
  4982. index = right.indexOf(day+'=');
  4983. }
  4984. if(l.length<1){
  4985. l.push(this.SHEN_SHA[0]);
  4986. }
  4987. return l;
  4988. },
  4989. getDayJi:function(monthGanZhi,dayGanZhi){
  4990. var l = [];
  4991. var day = this.hex(this.getJiaZiIndex(dayGanZhi));
  4992. var month = this.hex(this.getJiaZiIndex(monthGanZhi));
  4993. var right = this.DAY_YI_JI;
  4994. var index = right.indexOf(day+'=');
  4995. while(index>-1) {
  4996. right = right.substr(index+3);
  4997. var left = right;
  4998. if (left.indexOf('=')>-1) {
  4999. left = left.substr(0, left.indexOf('=') - 2);
  5000. }
  5001. var matched = false;
  5002. var months = left.substr(0, left.indexOf(':'));
  5003. var i;
  5004. var m;
  5005. var j;
  5006. for (i = 0, j = months.length; i < j; i += 2) {
  5007. m = months.substr(i, 2);
  5008. if (m===month) {
  5009. matched = true;
  5010. break;
  5011. }
  5012. }
  5013. if(matched) {
  5014. var js = left.substr(left.indexOf(',')+1);
  5015. for (i = 0, j = js.length; i < j; i += 2) {
  5016. m = js.substr(i, 2);
  5017. l.push(this.YI_JI[parseInt(m,16)]);
  5018. }
  5019. break;
  5020. }
  5021. index = right.indexOf(day+'=');
  5022. }
  5023. if(l.length<1){
  5024. l.push(this.SHEN_SHA[0]);
  5025. }
  5026. return l;
  5027. },
  5028. getDayJiShen:function(lunarMonth,dayGanZhi){
  5029. var l = [];
  5030. var day = this.hex(this.getJiaZiIndex(dayGanZhi));
  5031. var month = Math.abs(lunarMonth).toString(16).toUpperCase();
  5032. var index = this.DAY_SHEN_SHA.indexOf(month+day+'=');
  5033. if(index>-1) {
  5034. var left = this.DAY_SHEN_SHA.substr(index + 4);
  5035. if (left.indexOf('=')>-1) {
  5036. left = left.substr(0, left.indexOf('=') - 3);
  5037. }
  5038. var js = left.substr(0, left.indexOf(','));
  5039. for (var i = 0, j = js.length; i < j; i += 2) {
  5040. var m = js.substr(i, 2);
  5041. l.push(this.SHEN_SHA[parseInt(m, 16)]);
  5042. }
  5043. }
  5044. if(l.length<1){
  5045. l.push(this.SHEN_SHA[0]);
  5046. }
  5047. return l;
  5048. },
  5049. getDayXiongSha:function(lunarMonth,dayGanZhi){
  5050. var l = [];
  5051. var day = this.hex(this.getJiaZiIndex(dayGanZhi));
  5052. var month = Math.abs(lunarMonth).toString(16).toUpperCase();
  5053. var index = this.DAY_SHEN_SHA.indexOf(month+day+'=');
  5054. if(index>-1) {
  5055. var left = this.DAY_SHEN_SHA.substr(index + 4);
  5056. if (left.indexOf('=')>-1) {
  5057. left = left.substr(0, left.indexOf('=') - 3);
  5058. }
  5059. var xs = left.substr(left.indexOf(',')+1);
  5060. for (var i = 0, j = xs.length; i < j; i += 2) {
  5061. var m = xs.substr(i, 2);
  5062. l.push(this.SHEN_SHA[parseInt(m, 16)]);
  5063. }
  5064. }
  5065. if(l.length<1){
  5066. l.push(this.SHEN_SHA[0]);
  5067. }
  5068. return l;
  5069. },
  5070. getTimeYi:function(dayGanZhi,timeGanZhi){
  5071. var l = [];
  5072. var day = this.hex(this.getJiaZiIndex(dayGanZhi));
  5073. var time = this.hex(this.getJiaZiIndex(timeGanZhi));
  5074. var index = this.TIME_YI_JI.indexOf(day+time+'=');
  5075. if(index>-1) {
  5076. var left = this.TIME_YI_JI.substr(index + 5);
  5077. if (left.indexOf('=')>-1) {
  5078. left = left.substr(0, left.indexOf('=') - 4);
  5079. }
  5080. var ys = left.substr(0, left.indexOf(','));
  5081. for (var i = 0, j = ys.length; i < j; i += 2) {
  5082. var m = ys.substr(i, 2);
  5083. l.push(this.YI_JI[parseInt(m, 16)]);
  5084. }
  5085. }
  5086. if(l.length<1){
  5087. l.push(this.SHEN_SHA[0]);
  5088. }
  5089. return l;
  5090. },
  5091. getTimeJi:function(dayGanZhi,timeGanZhi){
  5092. var l = [];
  5093. var day = this.hex(this.getJiaZiIndex(dayGanZhi));
  5094. var time = this.hex(this.getJiaZiIndex(timeGanZhi));
  5095. var index = this.TIME_YI_JI.indexOf(day+time+'=');
  5096. if(index>-1) {
  5097. var left = this.TIME_YI_JI.substr(index + 5);
  5098. if (left.indexOf('=')>-1) {
  5099. left = left.substr(0, left.indexOf('=') - 4);
  5100. }
  5101. var js = left.substr(left.indexOf(',')+1);
  5102. for (var i = 0, j = js.length; i < j; i += 2) {
  5103. var m = js.substr(i, 2);
  5104. l.push(this.YI_JI[parseInt(m, 16)]);
  5105. }
  5106. }
  5107. if(l.length<1){
  5108. l.push(this.SHEN_SHA[0]);
  5109. }
  5110. return l;
  5111. },
  5112. getXunIndex:function(ganZhi){
  5113. var gan = ganZhi.substr(0,1);
  5114. var zhi = ganZhi.substr(1);
  5115. var ganIndex = 0;
  5116. var zhiIndex = 0;
  5117. var i;
  5118. var j;
  5119. for(i=0,j=this.GAN.length;i<j;i++){
  5120. if(this.GAN[i]===gan){
  5121. ganIndex = i;
  5122. break;
  5123. }
  5124. }
  5125. for(i=0,j=this.ZHI.length;i<j;i++){
  5126. if(this.ZHI[i]===zhi){
  5127. zhiIndex = i;
  5128. break;
  5129. }
  5130. }
  5131. var diff = ganIndex - zhiIndex;
  5132. if(diff<0){
  5133. diff += 12;
  5134. }
  5135. return diff/2;
  5136. },
  5137. getXun:function(ganZhi){
  5138. return this.XUN[this.getXunIndex(ganZhi)];
  5139. },
  5140. getXunKong:function(ganZhi){
  5141. return this.XUN_KONG[this.getXunIndex(ganZhi)];
  5142. },
  5143. find:function(s, arr){
  5144. for (var i = 0, j = arr.length; i < j; i++) {
  5145. var v = arr[i];
  5146. if (v.length < 1) {
  5147. continue;
  5148. }
  5149. if (s.indexOf(v) > -1) {
  5150. return {
  5151. index: i,
  5152. value: v
  5153. }
  5154. }
  5155. }
  5156. return null;
  5157. }
  5158. };
  5159. })();
  5160. var HolidayUtil = (function(_NAMES){
  5161. var _SIZE = 18;
  5162. var _ZERO='0'.charCodeAt(0);
  5163. var _TAG_REMOVE = '~';
  5164. var _NAMES_IN_USE=_NAMES,_DATA='200112290020020101200112300020020101200201010120020101200201020120020101200201030120020101200202091020020212200202101020020212200202121120020212200202131120020212200202141120020212200202151120020212200202161120020212200202171120020212200202181120020212200204273020020501200204283020020501200205013120020501200205023120020501200205033120020501200205043120020501200205053120020501200205063120020501200205073120021001200209286020021001200209296020021001200210016120021001200210026120021001200210036120021001200210046120021001200210056120021001200210066120021001200210076120021001200301010120030101200302011120030201200302021120030201200302031120030201200302041120030201200302051120030201200302061120030201200302071120030201200302081020030201200302091020030201200304263020030501200304273020030501200305013120030501200305023120030501200305033120030501200305043120030501200305053120030501200305063120030501200305073120031001200309276020031001200309286020031001200310016120031001200310026120031001200310036120031001200310046120031001200310056120031001200310066120031001200310076120031001200401010120040101200401171020040122200401181020040122200401221120040122200401231120040122200401241120040122200401251120040122200401261120040122200401271120040122200401281120040122200405013120040501200405023120040501200405033120040501200405043120040501200405053120040501200405063120040501200405073120041001200405083020040501200405093020040501200410016120041001200410026120041001200410036120041001200410046120041001200410056120041001200410066120041001200410076120041001200410096020041001200410106020041001200501010120050101200501020120050101200501030120050101200502051020050209200502061020050209200502091120050209200502101120050209200502111120050209200502121120050209200502131120050209200502141120050209200502151120050209200504303020050501200505013120050501200505023120050501200505033120050501200505043120050501200505053120050501200505063120050501200505073120051001200505083020050501200510016120051001200510026120051001200510036120051001200510046120051001200510056120051001200510066120051001200510076120051001200510086020051001200510096020051001200512310020060101200601010120060101200601020120060101200601030120060101200601281020060129200601291120060129200601301120060129200601311120060129200602011120060129200602021120060129200602031120060129200602041120060129200602051020060129200604293020060501200604303020060501200605013120060501200605023120060501200605033120060501200605043120060501200605053120060501200605063120060501200605073120061001200609306020061001200610016120061001200610026120061001200610036120061001200610046120061001200610056120061001200610066120061001200610076120061001200610086020061001200612300020070101200612310020070101200701010120070101200701020120070101200701030120070101200702171020070218200702181120070218200702191120070218200702201120070218200702211120070218200702221120070218200702231120070218200702241120070218200702251020070218200704283020070501200704293020070501200705013120070501200705023120070501200705033120070501200705043120070501200705053120070501200705063120070501200705073120070501200709296020071001200709306020071001200710016120071001200710026120071001200710036120071001200710046120071001200710056120071001200710066120071001200710076120071001200712290020080101200712300120080101200712310120080101200801010120080101200802021020080206200802031020080206200802061120080206200802071120080206200802081120080206200802091120080206200802101120080206200802111120080206200802121120080206200804042120080404200804052120080404200804062120080404200805013120080501200805023120080501200805033120080501200805043020080501200806074120080608200806084120080608200806094120080608200809135120080914200809145120080914200809155120080914200809276020081001200809286020081001200809296120081001200809306120081001200810016120081001200810026120081001200810036120081001200810046120081001200810056120081001200901010120090101200901020120090101200901030120090101200901040020090101200901241020090125200901251120090125200901261120090125200901271120090125200901281120090125200901291120090125200901301120090125200901311120090125200902011020090125200904042120090404200904052120090404200904062120090404200905013120090501200905023120090501200905033120090501200905284120090528200905294120090528200905304120090528200905314020090528200909276020091001200910016120091001200910026120091001200910036120091001200910046120091001200910055120091003200910065120091003200910075120091003200910085120091003200910105020091003201001010120100101201001020120100101201001030120100101201002131120100213201002141120100213201002151120100213201002161120100213201002171120100213201002181120100213201002191120100213201002201020100213201002211020100213201004032120100405201004042120100405201004052120100405201005013120100501201005023120100501201005033120100501201006124020100616201006134020100616201006144120100616201006154120100616201006164120100616201009195020100922201009225120100922201009235120100922201009245120100922201009255020100922201009266020101001201010016120101001201010026120101001201010036120101001201010046120101001201010056120101001201010066120101001201010076120101001201010096020101001201101010120110101201101020120110101201101030120110101201101301020110203201102021120110203201102031120110203201102041120110203201102051120110203201102061120110203201102071120110203201102081120110203201102121020110203201104022020110405201104032120110405201104042120110405201104052120110405201104303120110501201105013120110501201105023120110501201106044120110606201106054120110606201106064120110606201109105120110912201109115120110912201109125120110912201110016120111001201110026120111001201110036120111001201110046120111001201110056120111001201110066120111001201110076120111001201110086020111001201110096020111001201112310020120101201201010120120101201201020120120101201201030120120101201201211020120123201201221120120123201201231120120123201201241120120123201201251120120123201201261120120123201201271120120123201201281120120123201201291020120123201203312020120404201204012020120404201204022120120404201204032120120404201204042120120404201204283020120501201204293120120501201204303120120501201205013120120501201205023020120501201206224120120623201206234120120623201206244120120623201209295020120930201209305120120930201210016120121001201210026120121001201210036120121001201210046120121001201210056120121001201210066120121001201210076120121001201210086020121001201301010120130101201301020120130101201301030120130101201301050020130101201301060020130101201302091120130210201302101120130210201302111120130210201302121120130210201302131120130210201302141120130210201302151120130210201302161020130210201302171020130210201304042120130404201304052120130404201304062120130404201304273020130501201304283020130501201304293120130501201304303120130501201305013120130501201306084020130612201306094020130612201306104120130612201306114120130612201306124120130612201309195120130919201309205120130919201309215120130919201309225020130919201309296020131001201310016120131001201310026120131001201310036120131001201310046120131001201310056120131001201310066120131001201310076120131001201401010120140101201401261020140131201401311120140131201402011120140131201402021120140131201402031120140131201402041120140131201402051120140131201402061120140131201402081020140131201404052120140405201404062120140405201404072120140405201405013120140501201405023120140501201405033120140501201405043020140501201405314120140602201406014120140602201406024120140602201409065120140908201409075120140908201409085120140908201409286020141001201410016120141001201410026120141001201410036120141001201410046120141004201410056120141001201410066120141001201410076120141001201410116020141001201501010120150101201501020120150101201501030120150101201501040020150101201502151020150219201502181120150219201502191120150219201502201120150219201502211120150219201502221120150219201502231120150219201502241120150219201502281020150219201504042120150405201504052120150405201504062120150405201505013120150501201505023120150501201505033120150501201506204120150620201506214120150620201506224120150620201509038120150903201509048120150903201509058120150903201509068020150903201509265120150927201509275120150927201510016120151001201510026120151001201510036120151001201510046120151004201510056120151001201510066120151001201510076120151001201510106020151001201601010120160101201601020120160101201601030120160101201602061020160208201602071120160208201602081120160208201602091120160208201602101120160208201602111120160208201602121120160208201602131120160208201602141020160208201604022120160404201604032120160404201604042120160404201604303120160501201605013120160501201605023120160501201606094120160609201606104120160609201606114120160609201606124020160609201609155120160915201609165120160915201609175120160915201609185020160915201610016120161001201610026120161001201610036120161001201610046120161001201610056120161001201610066120161001201610076120161001201610086020161001201610096020161001201612310120170101201701010120170101201701020120170101201701221020170128201701271120170128201701281120170128201701291120170128201701301120170128201701311120170128201702011120170128201702021120170128201702041020170128201704012020170404201704022120170404201704032120170404201704042120170404201704293120170501201704303120170501201705013120170501201705274020170530201705284120170530201705294120170530201705304120170530201709306020171001201710016120171001201710026120171001201710036120171001201710045120171004201710056120171001201710066120171001201710076120171001201710086120171001201712300120180101201712310120180101201801010120180101201802111020180216201802151120180216201802161120180216201802171120180216201802181120180216201802191120180216201802201120180216201802211120180216201802241020180216201804052120180405201804062120180405201804072120180405201804082020180405201804283020180501201804293120180501201804303120180501201805013120180501201806164120180618201806174120180618201806184120180618201809225120180924201809235120180924201809245120180924201809296020181001201809306020181001201810016120181001201810026120181001201810036120181001201810046120181001201810056120181001201810066120181001201810076120181001201812290020190101201812300120190101201812310120190101201901010120190101201902021020190205201902031020190205201902041120190205201902051120190205201902061120190205201902071120190205201902081120190205201902091120190205201902101120190205201904052120190405201904062120190405201904072120190405201904283020190501201905013120190501201905023120190501201905033120190501201905043120190501201905053020190501201906074120190607201906084120190607201906094120190607201909135120190913201909145120190913201909155120190913201909296020191001201910016120191001201910026120191001201910036120191001201910046120191001201910056120191001201910066120191001201910076120191001201910126020191001202001010120200101202001191020200125202001241120200125202001251120200125202001261120200125202001271120200125202001281120200125202001291120200125202001301120200125202001311120200125202002011120200125202002021120200125202004042120200404202004052120200404202004062120200404202004263020200501202005013120200501202005023120200501202005033120200501202005043120200501202005053120200501202005093020200501202006254120200625202006264120200625202006274120200625202006284020200625202009277020201001202010017120201001202010026120201001202010036120201001202010046120201001202010056120201001202010066120201001202010076120201001202010086120201001202010106020201001202101010120210101202101020120210101202101030120210101202102071020210212202102111120210212202102121120210212202102131120210212202102141120210212202102151120210212202102161120210212202102171120210212202102201020210212202104032120210404202104042120210404202104052120210404202104253020210501202105013120210501202105023120210501202105033120210501202105043120210501202105053120210501202105083020210501202106124120210614202106134120210614202106144120210614202109185020210921202109195120210921202109205120210921202109215120210921202109266020211001202110016120211001202110026120211001202110036120211001202110046120211001202110056120211001202110066120211001202110076120211001202110096020211001202201010120220101202201020120220101202201030120220101202201291020220201202201301020220201202201311120220201202202011120220201202202021120220201202202031120220201202202041120220201202202051120220201202202061120220201202204022020220405202204032120220405202204042120220405202204052120220405202204243020220501202204303120220501202205013120220501202205023120220501202205033120220501202205043120220501202205073020220501202206034120220603202206044120220603202206054120220603202209105120220910202209115120220910202209125120220910202210016120221001202210026120221001202210036120221001202210046120221001202210056120221001202210066120221001202210076120221001202210086020221001202210096020221001202212310120230101202301010120230101202301020120230101202301211120230122202301221120230122202301231120230122202301241120230122202301251120230122202301261120230122202301271120230122202301281020230122202301291020230122202304052120230405202304233020230501202304293120230501202304303120230501202305013120230501202305023120230501202305033120230501202305063020230501202306224120230622202306234120230622202306244120230622202306254020230622202309295120230929202309306120231001202310016120231001202310026120231001202310036120231001202310046120231001202310056120231001202310066120231001202310076020231001202310086020231001';
  5165. var _DATA_IN_USE = _DATA;
  5166. var _padding = function(n){
  5167. return (n<10?'0':'')+n;
  5168. };
  5169. var _ymd = function(s){
  5170. return s.indexOf('-')<0?(s.substr(0,4)+'-'+s.substr(4,2)+'-'+s.substr(6)):s;
  5171. };
  5172. var _buildHoliday = function(day,name,work,target){
  5173. return {
  5174. _p:{
  5175. day:_ymd(day),
  5176. name:name,
  5177. work:work,
  5178. target:_ymd(target)
  5179. },
  5180. getDay:function(){
  5181. return this._p.day;
  5182. },
  5183. setDay:function(v){
  5184. this._p.day = _ymd(v);
  5185. },
  5186. getName:function(){
  5187. return this._p.name;
  5188. },
  5189. setName:function(v){
  5190. this._p.name = v;
  5191. },
  5192. isWork:function(){
  5193. return this._p.work;
  5194. },
  5195. setWork:function(v){
  5196. this._p.work = v;
  5197. },
  5198. getTarget:function(){
  5199. return this._p.target;
  5200. },
  5201. setTarget:function(v){
  5202. this._p.target = _ymd(v);
  5203. },
  5204. toString:function(){
  5205. return this._p.day+' '+this._p.name+(this._p.work?'调休':'')+' '+this._p.target;
  5206. }
  5207. };
  5208. };
  5209. var _buildHolidayForward = function(s){
  5210. var day = s.substr(0,8);
  5211. var name = _NAMES_IN_USE[s.charCodeAt(8)-_ZERO];
  5212. var work = s.charCodeAt(9)===_ZERO;
  5213. var target = s.substr(10,8);
  5214. return _buildHoliday(day,name,work,target);
  5215. };
  5216. var _buildHolidayBackward = function(s){
  5217. var size = s.length;
  5218. var day = s.substr(size-18,8);
  5219. var name = _NAMES_IN_USE[s.charCodeAt(size-10)-_ZERO];
  5220. var work = s.charCodeAt(size-9)===_ZERO;
  5221. var target = s.substr(size-8);
  5222. return _buildHoliday(day,name,work,target);
  5223. };
  5224. var _findForward = function(key){
  5225. var start = _DATA_IN_USE.indexOf(key);
  5226. if(start<0) {
  5227. return null;
  5228. }
  5229. var right = _DATA_IN_USE.substr(start);
  5230. var n = right.length%_SIZE;
  5231. if(n>0){
  5232. right = right.substr(n);
  5233. }
  5234. while((0!==right.indexOf(key))&&right.length>=_SIZE){
  5235. right = right.substr(_SIZE);
  5236. }
  5237. return right;
  5238. };
  5239. var _findBackward = function(key){
  5240. var start = _DATA_IN_USE.lastIndexOf(key);
  5241. if(start<0) {
  5242. return null;
  5243. }
  5244. var keySize = key.length;
  5245. var left = _DATA_IN_USE.substr(0,start+keySize);
  5246. var size = left.length;
  5247. var n = size%_SIZE;
  5248. if(n>0){
  5249. left = left.substr(0,size-n);
  5250. }
  5251. size = left.length;
  5252. while((size-keySize!==left.lastIndexOf(key))&&size>=_SIZE){
  5253. left = left.substr(0,size-_SIZE);
  5254. size = left.length;
  5255. }
  5256. return left;
  5257. };
  5258. var _findHolidaysForward = function(key){
  5259. var l = [];
  5260. var s = _findForward(key);
  5261. if(null==s) {
  5262. return l;
  5263. }
  5264. while(0===s.indexOf(key)){
  5265. l.push(_buildHolidayForward(s));
  5266. s = s.substr(_SIZE);
  5267. }
  5268. return l;
  5269. };
  5270. var _findHolidaysBackward = function(key){
  5271. var l = [];
  5272. var s = _findBackward(key);
  5273. if(null==s) {
  5274. return l;
  5275. }
  5276. var size = s.length;
  5277. var keySize = key.length;
  5278. while(size-keySize===s.lastIndexOf(key)){
  5279. l.push(_buildHolidayBackward(s));
  5280. s = s.substr(0,size-_SIZE);
  5281. size = s.length;
  5282. }
  5283. l.reverse();
  5284. return l;
  5285. };
  5286. var _getHoliday = function(args){
  5287. var l = [];
  5288. switch(args.length){
  5289. case 1:
  5290. l = _findHolidaysForward(args[0].replace(/-/g,''));
  5291. break;
  5292. case 3:
  5293. l = _findHolidaysForward(args[0]+_padding(args[1])+_padding(args[2]));
  5294. break;
  5295. }
  5296. return l.length<1?null:l[0];
  5297. };
  5298. var _getHolidays = function(args){
  5299. var l = [];
  5300. switch(args.length){
  5301. case 1:
  5302. l = _findHolidaysForward((args[0]+'').replace(/-/g,''));
  5303. break;
  5304. case 2:
  5305. l = _findHolidaysForward(args[0]+_padding(args[1]));
  5306. break;
  5307. }
  5308. return l;
  5309. };
  5310. var _getHolidaysByTarget = function(args){
  5311. var l = [];
  5312. switch(args.length){
  5313. case 1:
  5314. l = _findHolidaysBackward((args[0]+'').replace(/-/g,''));
  5315. break;
  5316. case 3:
  5317. l = _findHolidaysBackward(args[0]+_padding(args[1])+_padding(args[2]));
  5318. break;
  5319. }
  5320. return l;
  5321. };
  5322. var _fixNames = function(names){
  5323. if(names){
  5324. _NAMES_IN_USE = names;
  5325. }
  5326. };
  5327. var _fixData = function(data){
  5328. if(!data){
  5329. return;
  5330. }
  5331. var append = [];
  5332. while(data.length>=_SIZE){
  5333. var segment = data.substr(0,_SIZE);
  5334. var day = segment.substr(0,8);
  5335. var remove = _TAG_REMOVE === segment.substr(8, 1);
  5336. var holiday = _getHoliday([day]);
  5337. if(!holiday){
  5338. if (!remove) {
  5339. append.push(segment);
  5340. }
  5341. }else{
  5342. var nameIndex = -1;
  5343. for(var i=0,j=_NAMES_IN_USE.length;i<j;i++){
  5344. if(_NAMES_IN_USE[i]===holiday.getName()){
  5345. nameIndex = i;
  5346. break;
  5347. }
  5348. }
  5349. if(nameIndex>-1){
  5350. var old = day + String.fromCharCode(nameIndex + _ZERO) + (holiday.isWork() ? '0' : '1') + holiday.getTarget().replace(/-/g, '');
  5351. _DATA_IN_USE = _DATA_IN_USE.replace(new RegExp(old, 'g'), remove ? '' : segment);
  5352. }
  5353. }
  5354. data = data.substr(_SIZE);
  5355. }
  5356. if(append.length>0){
  5357. _DATA_IN_USE += append.join('');
  5358. }
  5359. };
  5360. var _fix = function(args){
  5361. switch(args.length){
  5362. case 1:
  5363. _fixData(args[0]);
  5364. break;
  5365. case 2:
  5366. _fixNames(args[0]);
  5367. _fixData(args[1]);
  5368. break;
  5369. }
  5370. };
  5371. return {
  5372. NAMES:_NAMES,
  5373. getHoliday:function(){return _getHoliday(arguments);},
  5374. getHolidays:function(){return _getHolidays(arguments);},
  5375. getHolidaysByTarget:function(){return _getHolidaysByTarget(arguments);},
  5376. fix:function(){_fix(arguments);}
  5377. };
  5378. })(['元旦节','春节','清明节','劳动节','端午节','中秋节','国庆节','国庆中秋','抗战胜利日']);
  5379. var NineStar = (function(){
  5380. var _fromIndex=function(index){
  5381. return {
  5382. _p:{index:index},
  5383. getNumber:function(){return NineStarUtil.NUMBER[this._p.index];},
  5384. getColor:function(){return NineStarUtil.COLOR[this._p.index];},
  5385. getWuXing:function(){return NineStarUtil.WU_XING[this._p.index];},
  5386. getPosition:function(){return NineStarUtil.POSITION[this._p.index];},
  5387. getPositionDesc:function(){return LunarUtil.POSITION_DESC[this.getPosition()];},
  5388. getNameInXuanKong:function(){return NineStar.NAME_XUAN_KONG[this._p.index];},
  5389. getNameInBeiDou:function(){return NineStar.NAME_BEI_DOU[this._p.index];},
  5390. getNameInQiMen:function(){return NineStar.NAME_QI_MEN[this._p.index];},
  5391. getNameInTaiYi:function(){return NineStar.NAME_TAI_YI[this._p.index];},
  5392. getLuckInQiMen:function(){return NineStar.LUCK_QI_MEN[this._p.index];},
  5393. getLuckInXuanKong:function(){return NineStarUtil.LUCK_XUAN_KONG[this._p.index];},
  5394. getYinYangInQiMen:function(){return NineStarUtil.YIN_YANG_QI_MEN[this._p.index];},
  5395. getTypeInTaiYi:function(){return NineStar.TYPE_TAI_YI[this._p.index];},
  5396. getBaMenInQiMen:function(){return NineStar.BA_MEN_QI_MEN[this._p.index];},
  5397. getSongInTaiYi:function(){return NineStar.SONG_TAI_YI[this._p.index];},
  5398. getIndex:function(){return this._p.index;},
  5399. toString:function(){return this.getNumber()+this.getColor()+this.getWuXing()+this.getNameInBeiDou();},
  5400. toFullString:function(){
  5401. var s = this.getNumber();
  5402. s += this.getColor();
  5403. s += this.getWuXing();
  5404. s += ' ';
  5405. s += this.getPosition();
  5406. s += '(';
  5407. s += this.getPositionDesc();
  5408. s += ') ';
  5409. s += this.getNameInBeiDou();
  5410. s += ' 玄空[';
  5411. s += this.getNameInXuanKong();
  5412. s += ' ';
  5413. s += this.getLuckInXuanKong();
  5414. s += '] 奇门[';
  5415. s += this.getNameInQiMen();
  5416. s += ' ';
  5417. s += this.getLuckInQiMen();
  5418. if(this.getBaMenInQiMen().length>0) {
  5419. s += ' ';
  5420. s += this.getBaMenInQiMen();
  5421. s += '门';
  5422. }
  5423. s += ' ';
  5424. s += this.getYinYangInQiMen();
  5425. s += '] 太乙[';
  5426. s += this.getNameInTaiYi();
  5427. s += ' ';
  5428. s += this.getTypeInTaiYi();
  5429. s += ']';
  5430. return s;
  5431. }
  5432. };
  5433. };
  5434. return {
  5435. NAME_BEI_DOU:['天枢','天璇','天玑','天权','玉衡','开阳','摇光','洞明','隐元'],
  5436. NAME_XUAN_KONG:['贪狼','巨门','禄存','文曲','廉贞','武曲','破军','左辅','右弼'],
  5437. NAME_QI_MEN:['天蓬','天芮','天冲','天辅','天禽','天心','天柱','天任','天英'],
  5438. BA_MEN_QI_MEN:['休','死','伤','杜','','开','惊','生','景'],
  5439. NAME_TAI_YI:['太乙','摄提','轩辕','招摇','天符','青龙','咸池','太阴','天乙'],
  5440. TYPE_TAI_YI:['吉神','凶神','安神','安神','凶神','吉神','凶神','吉神','吉神'],
  5441. SONG_TAI_YI:['门中太乙明,星官号贪狼,赌彩财喜旺,婚姻大吉昌,出入无阻挡,参谒见贤良,此行三五里,黑衣别阴阳。','门前见摄提,百事必忧疑,相生犹自可,相克祸必临,死门并相会,老妇哭悲啼,求谋并吉事,尽皆不相宜,只可藏隐遁,若动伤身疾。','出入会轩辕,凡事必缠牵,相生全不美,相克更忧煎,远行多不利,博彩尽输钱,九天玄女法,句句不虚言。','招摇号木星,当之事莫行,相克行人阻,阴人口舌迎,梦寐多惊惧,屋响斧自鸣,阴阳消息理,万法弗违情。','五鬼为天符,当门阴女谋,相克无好事,行路阻中途,走失难寻觅,道逢有尼姑,此星当门值,万事有灾除。','神光跃青龙,财气喜重重,投入有酒食,赌彩最兴隆,更逢相生旺,休言克破凶,见贵安营寨,万事总吉同。','吾将为咸池,当之尽不宜,出入多不利,相克有灾情,赌彩全输尽,求财空手回,仙人真妙语,愚人莫与知,动用虚惊退,反复逆风吹。','坐临太阴星,百祸不相侵,求谋悉成就,知交有觅寻,回风归来路,恐有殃伏起,密语中记取,慎乎莫轻行。','迎来天乙星,相逢百事兴,运用和合庆,茶酒喜相迎,求谋并嫁娶,好合有天成,祸福如神验,吉凶甚分明。'],
  5442. LUCK_QI_MEN:['大凶','大凶','小吉','大吉','大吉','大吉','小凶','小吉','小凶'],
  5443. fromIndex:function(index){return _fromIndex(index);}
  5444. };
  5445. })();
  5446. var EightChar = (function(){
  5447. var _fromLunar=function(lunar){
  5448. return {
  5449. _p:{sect:2,lunar:lunar},
  5450. setSect:function(sect){
  5451. sect *= 1;
  5452. this._p.sect=(1===sect)?1:2;
  5453. },
  5454. getSect:function(){return this._p.sect;},
  5455. getDayGanIndex:function(){return 2===this._p.sect?this._p.lunar.getDayGanIndexExact2():this._p.lunar.getDayGanIndexExact();},
  5456. getDayZhiIndex:function(){return 2===this._p.sect?this._p.lunar.getDayZhiIndexExact2():this._p.lunar.getDayZhiIndexExact();},
  5457. getYear:function(){return this._p.lunar.getYearInGanZhiExact();},
  5458. getYearGan:function(){return this._p.lunar.getYearGanExact();},
  5459. getYearZhi:function(){return this._p.lunar.getYearZhiExact();},
  5460. getYearHideGan:function(){return LunarUtil.ZHI_HIDE_GAN[this.getYearZhi()];},
  5461. getYearWuXing:function(){return LunarUtil.WU_XING_GAN[this.getYearGan()]+LunarUtil.WU_XING_ZHI[this.getYearZhi()];},
  5462. getYearNaYin:function(){return LunarUtil.NAYIN[this.getYear()];},
  5463. getYearShiShenGan:function(){return LunarUtil.SHI_SHEN_GAN[this.getDayGan()+this.getYearGan()];},
  5464. getYearShiShenZhi:function(){
  5465. var dayGan = this.getDayGan();
  5466. var zhi = this.getYearZhi();
  5467. var hideGan = LunarUtil.ZHI_HIDE_GAN[zhi];
  5468. var l = [];
  5469. for(var i=0,j=hideGan.length;i<j;i++){
  5470. l.push(LunarUtil.SHI_SHEN_ZHI[dayGan+zhi+hideGan[i]]);
  5471. }
  5472. return l;
  5473. },
  5474. _getDiShi:function(zhiIndex){
  5475. var offset = LunarUtil.CHANG_SHENG_OFFSET[this.getDayGan()];
  5476. var index = offset + (this.getDayGanIndex()%2===0?zhiIndex:-zhiIndex);
  5477. if(index>=12){
  5478. index -= 12;
  5479. }
  5480. if(index<0){
  5481. index += 12;
  5482. }
  5483. return LunarUtil.CHANG_SHENG[index];
  5484. },
  5485. getYearDiShi:function(){return this._getDiShi(this._p.lunar.getYearZhiIndexExact());},
  5486. getYearXun:function(){return this._p.lunar.getYearXunExact()},
  5487. getYearXunKong:function(){return this._p.lunar.getYearXunKongExact()},
  5488. getMonth:function(){return this._p.lunar.getMonthInGanZhiExact();},
  5489. getMonthGan:function(){return this._p.lunar.getMonthGanExact();},
  5490. getMonthZhi:function(){return this._p.lunar.getMonthZhiExact();},
  5491. getMonthHideGan:function(){return LunarUtil.ZHI_HIDE_GAN[this.getMonthZhi()];},
  5492. getMonthWuXing:function(){return LunarUtil.WU_XING_GAN[this.getMonthGan()]+LunarUtil.WU_XING_ZHI[this.getMonthZhi()];},
  5493. getMonthNaYin:function(){return LunarUtil.NAYIN[this.getMonth()];},
  5494. getMonthShiShenGan:function(){return LunarUtil.SHI_SHEN_GAN[this.getDayGan()+this.getMonthGan()];},
  5495. getMonthShiShenZhi:function(){
  5496. var dayGan = this.getDayGan();
  5497. var zhi = this.getMonthZhi();
  5498. var hideGan = LunarUtil.ZHI_HIDE_GAN[zhi];
  5499. var l = [];
  5500. for(var i=0,j=hideGan.length;i<j;i++){
  5501. l.push(LunarUtil.SHI_SHEN_ZHI[dayGan+zhi+hideGan[i]]);
  5502. }
  5503. return l;
  5504. },
  5505. getMonthDiShi:function(){return this._getDiShi(this._p.lunar.getMonthZhiIndexExact());},
  5506. getMonthXun:function(){return this._p.lunar.getMonthXunExact()},
  5507. getMonthXunKong:function(){return this._p.lunar.getMonthXunKongExact()},
  5508. getDay:function(){return 2===this._p.sect?this._p.lunar.getDayInGanZhiExact2():this._p.lunar.getDayInGanZhiExact();},
  5509. getDayGan:function(){return 2===this._p.sect?this._p.lunar.getDayGanExact2():this._p.lunar.getDayGanExact();},
  5510. getDayZhi:function(){return 2===this._p.sect?this._p.lunar.getDayZhiExact2():this._p.lunar.getDayZhiExact();},
  5511. getDayHideGan:function(){return LunarUtil.ZHI_HIDE_GAN[this.getDayZhi()];},
  5512. getDayWuXing:function(){return LunarUtil.WU_XING_GAN[this.getDayGan()]+LunarUtil.WU_XING_ZHI[this.getDayZhi()];},
  5513. getDayNaYin:function(){return LunarUtil.NAYIN[this.getDay()];},
  5514. getDayShiShenGan:function(){return '日主';},
  5515. getDayShiShenZhi:function(){
  5516. var dayGan = this.getDayGan();
  5517. var zhi = this.getDayZhi();
  5518. var hideGan = LunarUtil.ZHI_HIDE_GAN[zhi];
  5519. var l = [];
  5520. for(var i=0,j=hideGan.length;i<j;i++){
  5521. l.push(LunarUtil.SHI_SHEN_ZHI[dayGan+zhi+hideGan[i]]);
  5522. }
  5523. return l;
  5524. },
  5525. getDayDiShi:function(){return this._getDiShi(this.getDayZhiIndex());},
  5526. getDayXun:function(){return 2===this._p.sect?this._p.lunar.getDayXunExact2():this._p.lunar.getDayXunExact()},
  5527. getDayXunKong:function(){return 2===this._p.sect?this._p.lunar.getDayXunKongExact2():this._p.lunar.getDayXunKongExact()},
  5528. getTime:function(){return this._p.lunar.getTimeInGanZhi();},
  5529. getTimeGan:function(){return this._p.lunar.getTimeGan();},
  5530. getTimeZhi:function(){return this._p.lunar.getTimeZhi();},
  5531. getTimeHideGan:function(){return LunarUtil.ZHI_HIDE_GAN[this.getTimeZhi()];},
  5532. getTimeWuXing:function(){return LunarUtil.WU_XING_GAN[this.getTimeGan()]+LunarUtil.WU_XING_ZHI[this.getTimeZhi()];},
  5533. getTimeNaYin:function(){return LunarUtil.NAYIN[this.getTime()];},
  5534. getTimeShiShenGan:function(){return LunarUtil.SHI_SHEN_GAN[this.getDayGan()+this.getTimeGan()];},
  5535. getTimeShiShenZhi:function(){
  5536. var dayGan = this.getDayGan();
  5537. var zhi = this.getTimeZhi();
  5538. var hideGan = LunarUtil.ZHI_HIDE_GAN[zhi];
  5539. var l = [];
  5540. for(var i=0,j=hideGan.length;i<j;i++){
  5541. l.push(LunarUtil.SHI_SHEN_ZHI[dayGan+zhi+hideGan[i]]);
  5542. }
  5543. return l;
  5544. },
  5545. getTimeDiShi:function(){return this._getDiShi(this._p.lunar.getTimeZhiIndex());},
  5546. getTimeXun:function(){return this._p.lunar.getTimeXun();},
  5547. getTimeXunKong:function(){return this._p.lunar.getTimeXunKong();},
  5548. getTaiYuan:function(){
  5549. var ganIndex = this._p.lunar.getMonthGanIndexExact() + 1;
  5550. if(ganIndex>=10){
  5551. ganIndex -= 10;
  5552. }
  5553. var zhiIndex = this._p.lunar.getMonthZhiIndexExact() + 3;
  5554. if(zhiIndex>=12){
  5555. zhiIndex -= 12;
  5556. }
  5557. return LunarUtil.GAN[ganIndex+1]+LunarUtil.ZHI[zhiIndex+1];
  5558. },
  5559. getTaiYuanNaYin:function(){return LunarUtil.NAYIN[this.getTaiYuan()];},
  5560. getTaiXi:function(){
  5561. var lunar = this._p.lunar;
  5562. var ganIndex = (2 === this._p.sect) ? lunar.getDayGanIndexExact2() : lunar.getDayGanIndexExact();
  5563. var zhiIndex = (2 === this._p.sect) ? lunar.getDayZhiIndexExact2() : lunar.getDayZhiIndexExact();
  5564. return LunarUtil.HE_GAN_5[ganIndex]+LunarUtil.HE_ZHI_6[zhiIndex];
  5565. },
  5566. getTaiXiNaYin:function(){return LunarUtil.NAYIN[this.getTaiXi()];},
  5567. getMingGong:function(){
  5568. var monthZhiIndex = 0;
  5569. var timeZhiIndex = 0;
  5570. for(var i=0,j=LunarUtil.MONTH_ZHI.length;i<j;i++){
  5571. var zhi = LunarUtil.MONTH_ZHI[i];
  5572. if(lunar.getMonthZhiExact()===zhi){
  5573. monthZhiIndex = i;
  5574. }
  5575. if(lunar.getTimeZhi()===zhi){
  5576. timeZhiIndex = i;
  5577. }
  5578. }
  5579. var zhiIndex = 26 - (monthZhiIndex+timeZhiIndex);
  5580. if(zhiIndex>12){
  5581. zhiIndex -= 12;
  5582. }
  5583. var jiaZiIndex = LunarUtil.getJiaZiIndex(lunar.getMonthInGanZhiExact()) - (monthZhiIndex-zhiIndex);
  5584. if(jiaZiIndex>=60){
  5585. jiaZiIndex -= 60;
  5586. }
  5587. if(jiaZiIndex<0){
  5588. jiaZiIndex += 60;
  5589. }
  5590. return LunarUtil.JIA_ZI[jiaZiIndex];
  5591. },
  5592. getMingGongNaYin:function(){return LunarUtil.NAYIN[this.getMingGong()];},
  5593. getShenGong:function(){
  5594. var monthZhiIndex = 0;
  5595. var timeZhiIndex = 0;
  5596. for(var i=0,j=LunarUtil.MONTH_ZHI.length;i<j;i++){
  5597. var zhi = LunarUtil.MONTH_ZHI[i];
  5598. if(lunar.getMonthZhiExact()===zhi){
  5599. monthZhiIndex = i;
  5600. }
  5601. if(lunar.getTimeZhi()===zhi){
  5602. timeZhiIndex = i;
  5603. }
  5604. }
  5605. var zhiIndex = 2 + monthZhiIndex + timeZhiIndex;
  5606. if (zhiIndex > 12) {
  5607. zhiIndex -= 12;
  5608. }
  5609. var jiaZiIndex = LunarUtil.getJiaZiIndex(lunar.getMonthInGanZhiExact()) - (monthZhiIndex - zhiIndex);
  5610. if(jiaZiIndex>=60){
  5611. jiaZiIndex -= 60;
  5612. }
  5613. if(jiaZiIndex<0){
  5614. jiaZiIndex += 60;
  5615. }
  5616. return LunarUtil.JIA_ZI[jiaZiIndex];
  5617. },
  5618. getShenGongNaYin:function(){return LunarUtil.NAYIN[this.getShenGong()];},
  5619. getLunar:function(){return this._p.lunar;},
  5620. getYun:function(gender, sect){
  5621. sect *= 1;
  5622. sect = (2 === sect) ? sect : 1;
  5623. var lunar = this.getLunar();
  5624. var yang = 0 === lunar.getYearGanIndexExact() % 2;
  5625. var man = 1 === gender;
  5626. var forward = (yang && man) || (!yang && !man);
  5627. var start = (function(){
  5628. var prev = lunar.getPrevJie();
  5629. var next = lunar.getNextJie();
  5630. var current = lunar.getSolar();
  5631. var start = forward ? current : prev.getSolar();
  5632. var end = forward ? next.getSolar() : current;
  5633. var year;
  5634. var month;
  5635. var day;
  5636. var hour = 0;
  5637. if (2 === sect) {
  5638. var minutes = end.subtractMinute(start);
  5639. year = Math.floor(minutes / 4320);
  5640. minutes -= year * 4320;
  5641. month = Math.floor(minutes / 360);
  5642. minutes -= month * 360;
  5643. day = Math.floor(minutes / 12);
  5644. minutes -= day * 12;
  5645. hour = minutes * 2;
  5646. } else {
  5647. var endTimeZhiIndex = (end.getHour() === 23) ? 11 : LunarUtil.getTimeZhiIndex(end.toYmdHms().substr(11, 5));
  5648. var startTimeZhiIndex = (start.getHour() === 23) ? 11 : LunarUtil.getTimeZhiIndex(start.toYmdHms().substr(11, 5));
  5649. // 时辰差
  5650. var hourDiff = endTimeZhiIndex - startTimeZhiIndex;
  5651. // 天数差
  5652. var dayDiff = end.subtract(start);
  5653. if (hourDiff < 0) {
  5654. hourDiff += 12;
  5655. dayDiff--;
  5656. }
  5657. var monthDiff = Math.floor(hourDiff * 10 / 30);
  5658. month = dayDiff * 4 + monthDiff;
  5659. day = hourDiff * 10 - monthDiff * 30;
  5660. year = Math.floor(month / 12);
  5661. month = month - year * 12;
  5662. }
  5663. return {
  5664. year: year,
  5665. month: month,
  5666. day: day,
  5667. hour: hour
  5668. };
  5669. })();
  5670. var buildLiuYue = function(liuNian, index){
  5671. return {
  5672. _p: {
  5673. index: index,
  5674. liuNian: liuNian
  5675. },
  5676. getIndex:function(){return this._p.index;},
  5677. getMonthInChinese:function(){return LunarUtil.MONTH[this._p.index + 1];},
  5678. getGanZhi:function(){
  5679. var yearGanIndex = LunarUtil.find(this._p.liuNian.getGanZhi(), LunarUtil.GAN).index - 1;
  5680. var offset = [2, 4, 6, 8, 0][yearGanIndex % 5];
  5681. var gan = LunarUtil.GAN[(this._p.index + offset) % 10 + 1];
  5682. var zhi = LunarUtil.ZHI[(this._p.index + LunarUtil.BASE_MONTH_ZHI_INDEX) % 12 + 1];
  5683. return gan + zhi;
  5684. },
  5685. getXun:function(){return LunarUtil.getXun(this.getGanZhi());},
  5686. getXunKong:function(){return LunarUtil.getXunKong(this.getGanZhi());}
  5687. };
  5688. };
  5689. var buildLiuNian = function(daYun, index){
  5690. return {
  5691. _p: {
  5692. year: daYun.getStartYear() + index,
  5693. age: daYun.getStartAge() + index,
  5694. index: index,
  5695. daYun: daYun,
  5696. lunar: daYun.getLunar()
  5697. },
  5698. getYear: function(){return this._p.year;},
  5699. getAge: function(){return this._p.age;},
  5700. getIndex: function(){return this._p.index;},
  5701. getLunar: function(){return this._p.lunar;},
  5702. getGanZhi: function(){
  5703. var offset = LunarUtil.getJiaZiIndex(this._p.lunar.getJieQiTable()[I18n.getMessage('jq.liChun')].getLunar().getYearInGanZhiExact()) + this._p.index;
  5704. if (this._p.daYun.getIndex() > 0) {
  5705. offset += this._p.daYun.getStartAge() - 1;
  5706. }
  5707. offset %= LunarUtil.JIA_ZI.length;
  5708. return LunarUtil.JIA_ZI[offset];
  5709. },
  5710. getXun:function(){return LunarUtil.getXun(this.getGanZhi());},
  5711. getXunKong:function(){return LunarUtil.getXunKong(this.getGanZhi());},
  5712. getLiuYue: function(){
  5713. var l = [];
  5714. for (var i = 0; i < 12; i++) {
  5715. l.push(buildLiuYue(this,i));
  5716. }
  5717. return l;
  5718. }
  5719. };
  5720. };
  5721. var buildXiaoYun = function(daYun, index, forward){
  5722. return {
  5723. _p: {
  5724. year: daYun.getStartYear() + index,
  5725. age: daYun.getStartAge() + index,
  5726. index: index,
  5727. daYun: daYun,
  5728. forward: forward,
  5729. lunar: daYun.getLunar()
  5730. },
  5731. getYear: function(){return this._p.year;},
  5732. getAge: function(){return this._p.age;},
  5733. getIndex: function(){return this._p.index;},
  5734. getGanZhi: function(){
  5735. var offset = LunarUtil.getJiaZiIndex(this._p.lunar.getTimeInGanZhi());
  5736. var add = this._p.index + 1;
  5737. if (this._p.daYun.getIndex() > 0) {
  5738. add += this._p.daYun.getStartAge() - 1;
  5739. }
  5740. offset += this._p.forward ? add : -add;
  5741. var size = LunarUtil.JIA_ZI.length;
  5742. while (offset < 0) {
  5743. offset += size;
  5744. }
  5745. offset %= size;
  5746. return LunarUtil.JIA_ZI[offset];
  5747. },
  5748. getXun:function(){return LunarUtil.getXun(this.getGanZhi());},
  5749. getXunKong:function(){return LunarUtil.getXunKong(this.getGanZhi());}
  5750. };
  5751. };
  5752. var buildDaYun = function(yun, index){
  5753. var birthYear = yun.getLunar().getSolar().getYear();
  5754. var year = yun.getStartSolar().getYear();
  5755. var startYear;
  5756. var startAge;
  5757. var endYear;
  5758. var endAge;
  5759. if (index < 1) {
  5760. startYear = birthYear;
  5761. startAge = 1;
  5762. endYear = year - 1;
  5763. endAge = year - birthYear;
  5764. } else {
  5765. var add = (index - 1) * 10;
  5766. startYear = year + add;
  5767. startAge = startYear - birthYear + 1;
  5768. endYear = startYear + 9;
  5769. endAge = startAge + 9;
  5770. }
  5771. return {
  5772. _p: {
  5773. startYear: startYear,
  5774. endYear: endYear,
  5775. startAge: startAge,
  5776. endAge: endAge,
  5777. index: index,
  5778. yun: yun,
  5779. lunar: yun.getLunar()
  5780. },
  5781. getStartYear: function(){return this._p.startYear;},
  5782. getEndYear: function(){return this._p.endYear;},
  5783. getStartAge: function(){return this._p.startAge;},
  5784. getEndAge: function(){return this._p.endAge;},
  5785. getIndex: function(){return this._p.index;},
  5786. getLunar: function(){return this._p.lunar;},
  5787. getGanZhi: function(){
  5788. if (this._p.index < 1) {
  5789. return '';
  5790. }
  5791. var offset = LunarUtil.getJiaZiIndex(this._p.lunar.getMonthInGanZhiExact());
  5792. offset += this._p.yun.isForward() ? this._p.index : -this._p.index;
  5793. var size = LunarUtil.JIA_ZI.length;
  5794. if (offset >= size) {
  5795. offset -= size;
  5796. }
  5797. if (offset < 0) {
  5798. offset += size;
  5799. }
  5800. return LunarUtil.JIA_ZI[offset];
  5801. },
  5802. getXun:function(){return LunarUtil.getXun(this.getGanZhi());},
  5803. getXunKong:function(){return LunarUtil.getXunKong(this.getGanZhi());},
  5804. getLiuNian: function(n){
  5805. if (!n) {
  5806. n = 10;
  5807. }
  5808. if (this._p.index < 1) {
  5809. n = this._p.endYear-this._p.startYear+1;
  5810. }
  5811. var l = [];
  5812. for (var i = 0; i < n; i++) {
  5813. l.push(buildLiuNian(this,i));
  5814. }
  5815. return l;
  5816. },
  5817. getXiaoYun: function(n){
  5818. if (!n) {
  5819. n = 10;
  5820. }
  5821. if (this._p.index < 1) {
  5822. n = this._p.endYear-this._p.startYear+1;
  5823. }
  5824. var l = [];
  5825. for (var i = 0; i < n; i++) {
  5826. l.push(buildXiaoYun(this,i,this._p.yun.isForward()));
  5827. }
  5828. return l;
  5829. }
  5830. };
  5831. };
  5832. return {
  5833. _p: {
  5834. gender: gender,
  5835. startYear: start.year,
  5836. startMonth: start.month,
  5837. startDay: start.day,
  5838. startHour: start.hour,
  5839. forward: forward,
  5840. lunar: lunar
  5841. },
  5842. getGender: function(){return this._p.gender;},
  5843. getStartYear: function(){return this._p.startYear;},
  5844. getStartMonth: function(){return this._p.startMonth;},
  5845. getStartDay: function(){return this._p.startDay;},
  5846. getStartHour: function(){return this._p.startHour;},
  5847. isForward: function(){return this._p.forward;},
  5848. getLunar: function(){return this._p.lunar;},
  5849. getStartSolar: function(){
  5850. var solar = this._p.lunar.getSolar();
  5851. solar = solar.nextYear(this._p.startYear);
  5852. solar = solar.nextMonth(this._p.startMonth);
  5853. solar = solar.next(this._p.startDay);
  5854. return solar.nextHour(this._p.startHour);
  5855. },
  5856. getDaYun: function(n){
  5857. if (!n) {
  5858. n = 10;
  5859. }
  5860. var l = [];
  5861. for (var i = 0; i < n; i++) {
  5862. l.push(buildDaYun(this,i));
  5863. }
  5864. return l;
  5865. }
  5866. };
  5867. },
  5868. toString:function(){return this.getYear()+' '+this.getMonth()+' '+this.getDay()+' '+this.getTime();}
  5869. };
  5870. };
  5871. return {
  5872. fromLunar:function(lunar){return _fromLunar(lunar);}
  5873. };
  5874. })();
  5875. var LunarTime = (function(){
  5876. var _fromYmdHms=function(lunarYear,lunarMonth,lunarDay,hour,minute,second){
  5877. var lunar=Lunar.fromYmdHms(lunarYear,lunarMonth,lunarDay,hour,minute,second);
  5878. var zhiIndex=LunarUtil.getTimeZhiIndex([(hour<10?'0':'')+hour,(minute<10?'0':'')+minute].join(':'));
  5879. var ganIndex = (lunar.getDayGanIndexExact() % 5 * 2 + zhiIndex) % 10;
  5880. return {
  5881. _p:{
  5882. ganIndex:ganIndex,
  5883. zhiIndex:zhiIndex,
  5884. lunar:lunar
  5885. },
  5886. getGanIndex:function(){return this._p.ganIndex;},
  5887. getZhiIndex:function(){return this._p.zhiIndex;},
  5888. getGan:function(){return LunarUtil.GAN[this._p.ganIndex+1];},
  5889. getZhi:function(){return LunarUtil.ZHI[this._p.zhiIndex+1];},
  5890. getGanZhi:function(){return this.getGan()+this.getZhi();},
  5891. getShengXiao:function(){return LunarUtil.SHENGXIAO[this._p.zhiIndex+1];},
  5892. getPositionXi:function(){return LunarUtil.POSITION_XI[this._p.ganIndex + 1];},
  5893. getPositionXiDesc:function(){return LunarUtil.POSITION_DESC[this.getPositionXi()];},
  5894. getPositionYangGui:function(){return LunarUtil.POSITION_YANG_GUI[this._p.ganIndex + 1];},
  5895. getPositionYangGuiDesc:function(){return LunarUtil.POSITION_DESC[this.getPositionYangGui()];},
  5896. getPositionYinGui:function(){return LunarUtil.POSITION_YIN_GUI[this._p.ganIndex + 1];},
  5897. getPositionYinGuiDesc:function(){return LunarUtil.POSITION_DESC[this.getPositionYinGui()];},
  5898. getPositionFu:function(sect){return (1===sect?LunarUtil.POSITION_FU:LunarUtil.POSITION_FU_2)[this._p.ganIndex + 1];},
  5899. getPositionFuDesc:function(sect){return LunarUtil.POSITION_DESC[this.getPositionFu(sect)];},
  5900. getPositionCai:function(){return LunarUtil.POSITION_CAI[this._p.ganIndex + 1];},
  5901. getPositionCaiDesc:function(){return LunarUtil.POSITION_DESC[this.getPositionCai()];},
  5902. getNaYin:function(){return LunarUtil.NAYIN[this.getGanZhi()];},
  5903. getTianShen:function(){
  5904. return LunarUtil.TIAN_SHEN[(this._p.zhiIndex + LunarUtil.ZHI_TIAN_SHEN_OFFSET[this._p.lunar.getDayZhiExact()]) % 12 + 1];
  5905. },
  5906. getTianShenType:function(){return LunarUtil.TIAN_SHEN_TYPE[this.getTianShen()];},
  5907. getTianShenLuck:function(){return LunarUtil.TIAN_SHEN_TYPE_LUCK[this.getTianShenType()];},
  5908. getChong:function(){return LunarUtil.CHONG[this._p.zhiIndex];},
  5909. getSha:function(){return LunarUtil.SHA[this.getZhi()];},
  5910. getChongShengXiao:function(){
  5911. var chong = this.getChong();
  5912. for (var i = 0, j = LunarUtil.ZHI.length; i < j; i++) {
  5913. if (LunarUtil.ZHI[i]===chong) {
  5914. return LunarUtil.SHENGXIAO[i];
  5915. }
  5916. }
  5917. return '';
  5918. },
  5919. getChongDesc:function(){return '(' + this.getChongGan() + this.getChong() + ')' + this.getChongShengXiao();},
  5920. getChongGan:function(){return LunarUtil.CHONG_GAN[this._p.ganIndex];},
  5921. getChongGanTie:function(){return LunarUtil.CHONG_GAN_TIE[this._p.ganIndex];},
  5922. getYi:function(){return LunarUtil.getTimeYi(this._p.lunar.getDayInGanZhiExact(), this.getGanZhi());},
  5923. getJi:function(){return LunarUtil.getTimeJi(this._p.lunar.getDayInGanZhiExact(), this.getGanZhi());},
  5924. getNineStar:function(){
  5925. var solarYmd = this._p.lunar.getSolar().toYmd();
  5926. var jieQi = this._p.lunar.getJieQiTable();
  5927. var asc = false;
  5928. if (solarYmd>=jieQi[I18n.getMessage('jq.dongZhi')].toYmd() && solarYmd<jieQi[I18n.getMessage('jq.xiaZhi')].toYmd()) {
  5929. asc = true;
  5930. }
  5931. var offset = asc ? [0, 3, 6] : [8, 5, 2];
  5932. var start = offset[this._p.lunar.getDayZhiIndex() % 3];
  5933. var index = asc ? (start + this._p.zhiIndex) : (start + 9 - this._p.zhiIndex);
  5934. return NineStar.fromIndex(index % 9);
  5935. },
  5936. getXun:function(){return LunarUtil.getXun(this.getGanZhi());},
  5937. getXunKong:function(){return LunarUtil.getXunKong(this.getGanZhi());},
  5938. getMinHm:function(){
  5939. var hour = this._p.lunar.getHour();
  5940. if(hour <1){
  5941. return '00:00';
  5942. }else if(hour > 22){
  5943. return '23:00';
  5944. }
  5945. if(hour%2===0){
  5946. hour-=1;
  5947. }
  5948. return (hour<10?'0':'')+hour+':00';
  5949. },
  5950. getMaxHm:function(){
  5951. var hour = this._p.lunar.getHour();
  5952. if (hour <1){
  5953. return '00:59';
  5954. } else if (hour > 22) {
  5955. return '23:59';
  5956. }
  5957. if(hour%2!==0){
  5958. hour+=1;
  5959. }
  5960. return (hour<10?'0':'')+hour+':59';
  5961. },
  5962. toString:function(){return this.getGanZhi();}
  5963. };
  5964. };
  5965. return {
  5966. fromYmdHms:function(lunarYear,lunarMonth,lunarDay,hour,minute,second){return _fromYmdHms(lunarYear,lunarMonth,lunarDay,hour,minute,second);}
  5967. };
  5968. })();
  5969. var FotoUtil = (function(){
  5970. var XIU_OFFSET = [11, 13, 15, 17, 19, 21, 24, 0, 2, 4, 7, 9];
  5971. var _f=function(name,result,everyMonth,remark){
  5972. return {
  5973. _p:{
  5974. name:name,
  5975. result:result?result:'',
  5976. everyMonth:!!everyMonth,
  5977. remark:remark?remark:''
  5978. },
  5979. getName:function(){return this._p.name;},
  5980. getResult:function(){return this._p.result;},
  5981. isEveryMonth:function(){return this._p.everyMonth;},
  5982. getRemark:function(){return this._p.remark;},
  5983. toString:function(){return this._p.name;},
  5984. toFullString:function(){
  5985. var l = [this._p.name];
  5986. if(this._p.result) {
  5987. l.push(this._p.result);
  5988. }
  5989. if(this._p.remark) {
  5990. l.push(this._p.remark);
  5991. }
  5992. return l.join(' ');
  5993. }
  5994. };
  5995. };
  5996. var _getXiu=function(m,d){
  5997. return FotoUtil.XIU_27[(XIU_OFFSET[Math.abs(m)-1] + d - 1) % FotoUtil.XIU_27.length];
  5998. };
  5999. var dj='犯者夺纪';
  6000. var js='犯者减寿';
  6001. var ss='犯者损寿';
  6002. var xl='犯者削禄夺纪';
  6003. var jw='犯者三年内夫妇俱亡';
  6004. var _y=_f('杨公忌');
  6005. var _t=_f('四天王巡行', '', true);
  6006. var _d=_f('斗降', dj, true);
  6007. var _s=_f('月朔', dj, true);
  6008. var _w=_f('月望', dj, true);
  6009. var _h=_f('月晦', js, true);
  6010. var _l=_f('雷斋日', js, true);
  6011. var _j=_f('九毒日', '犯者夭亡,奇祸不测');
  6012. var _r=_f('人神在阴', '犯者得病', true, '宜先一日即戒');
  6013. var _m=_f('司命奏事', js, true, '如月小,即戒廿九');
  6014. var _hh=_f('月晦', js, true, '如月小,即戒廿九');
  6015. return {
  6016. XIU_27:[
  6017. '{xx.jiao}',
  6018. '{xx.kang}',
  6019. '{xx.di}',
  6020. '{xx.fang}',
  6021. '{xx.xin}',
  6022. '{xx.tail}',
  6023. '{xx.ji}',
  6024. '{xx.dou}',
  6025. '{xx.nv}',
  6026. '{xx.xu}',
  6027. '{xx.wei}',
  6028. '{xx.shi}',
  6029. '{xx.qiang}',
  6030. '{xx.kui}',
  6031. '{xx.lou}',
  6032. '{xx.vei}',
  6033. '{xx.mao}',
  6034. '{xx.bi}',
  6035. '{xx.zi}',
  6036. '{xx.can}',
  6037. '{xx.jing}',
  6038. '{xx.gui}',
  6039. '{xx.liu}',
  6040. '{xx.xing}',
  6041. '{xx.zhang}',
  6042. '{xx.yi}',
  6043. '{xx.zhen}'
  6044. ],
  6045. DAY_ZHAI_GUAN_YIN:['1-8','2-7','2-9','2-19','3-3','3-6','3-13','4-22','5-3','5-17','6-16','6-18','6-19','6-23','7-13','8-16','9-19','9-23','10-2','11-19','11-24','12-25'],
  6046. FESTIVAL:{
  6047. '1-1': [_f('天腊,玉帝校世人神气禄命', xl), _s],
  6048. '1-3': [_f('万神都会', dj), _d],
  6049. '1-5': [_f('五虚忌')],
  6050. '1-6': [_f('六耗忌'), _l],
  6051. '1-7': [_f('上会日', ss)],
  6052. '1-8': [_f('五殿阎罗天子诞', dj), _t],
  6053. '1-9': [_f('玉皇上帝诞', dj)],
  6054. '1-13': [_y],
  6055. '1-14': [_f('三元降', js), _t],
  6056. '1-15': [_f('三元降', js), _f('上元神会', dj), _w, _t],
  6057. '1-16': [_f('三元降', js)],
  6058. '1-19': [_f('长春真人诞')],
  6059. '1-23': [_f('三尸神奏事'), _t],
  6060. '1-25': [_h, _f('天地仓开日', '犯者损寿,子带疾')],
  6061. '1-27': [_d],
  6062. '1-28': [_r],
  6063. '1-29': [_t],
  6064. '1-30': [_hh, _m, _t],
  6065. '2-1': [_f('一殿秦广王诞', dj), _s],
  6066. '2-2': [_f('万神都会', dj), _f('福德土地正神诞', '犯者得祸')],
  6067. '2-3': [_f('文昌帝君诞', xl), _d],
  6068. '2-6': [_f('东华帝君诞'), _l],
  6069. '2-8': [_f('释迦牟尼佛出家', dj), _f('三殿宋帝王诞', dj), _f('张大帝诞', dj), _t],
  6070. '2-11': [_y],
  6071. '2-14': [_t],
  6072. '2-15': [_f('释迦牟尼佛涅槃', xl), _f('太上老君诞', xl), _f('月望', xl, true), _t],
  6073. '2-17': [_f('东方杜将军诞')],
  6074. '2-18': [_f('四殿五官王诞', xl), _f('至圣先师孔子讳辰', xl)],
  6075. '2-19': [_f('观音大士诞', dj)],
  6076. '2-21': [_f('普贤菩萨诞')],
  6077. '2-23': [_t],
  6078. '2-25': [_h],
  6079. '2-27': [_d],
  6080. '2-28': [_r],
  6081. '2-29': [_t],
  6082. '2-30': [_hh, _m, _t],
  6083. '3-1': [_f('二殿楚江王诞', dj), _s],
  6084. '3-3': [_f('玄天上帝诞', dj), _d],
  6085. '3-6': [_l],
  6086. '3-8': [_f('六殿卞城王诞', dj), _t],
  6087. '3-9': [_f('牛鬼神出', '犯者产恶胎'), _y],
  6088. '3-12': [_f('中央五道诞')],
  6089. '3-14': [_t],
  6090. '3-15': [_f('昊天上帝诞', dj), _f('玄坛诞', dj), _w, _t],
  6091. '3-16': [_f('准提菩萨诞', dj)],
  6092. '3-19': [_f('中岳大帝诞'), _f('后土娘娘诞'), _f('三茅降')],
  6093. '3-20': [_f('天地仓开日', ss), _f('子孙娘娘诞')],
  6094. '3-23': [_t],
  6095. '3-25': [_h],
  6096. '3-27': [_f('七殿泰山王诞'), _d],
  6097. '3-28': [_r, _f('苍颉至圣先师诞', xl), _f('东岳大帝诞')],
  6098. '3-29': [_t],
  6099. '3-30': [_hh, _m, _t],
  6100. '4-1': [_f('八殿都市王诞', dj), _s],
  6101. '4-3': [_d],
  6102. '4-4': [_f('万神善会', '犯者失瘼夭胎'), _f('文殊菩萨诞')],
  6103. '4-6': [_l],
  6104. '4-7': [_f('南斗、北斗、西斗同降', js), _y],
  6105. '4-8': [_f('释迦牟尼佛诞', dj), _f('万神善会', '犯者失瘼夭胎'), _f('善恶童子降', '犯者血死'), _f('九殿平等王诞'), _t],
  6106. '4-14': [_f('纯阳祖师诞', js), _t],
  6107. '4-15': [_w, _f('钟离祖师诞'), _t],
  6108. '4-16': [_f('天地仓开日', ss)],
  6109. '4-17': [_f('十殿转轮王诞', dj)],
  6110. '4-18': [_f('天地仓开日', ss), _f('紫徽大帝诞', ss)],
  6111. '4-20': [_f('眼光圣母诞')],
  6112. '4-23': [_t],
  6113. '4-25': [_h],
  6114. '4-27': [_d],
  6115. '4-28': [_r],
  6116. '4-29': [_t],
  6117. '4-30': [_hh, _m, _t],
  6118. '5-1': [_f('南极长生大帝诞', dj), _s],
  6119. '5-3': [_d],
  6120. '5-5': [_f('地腊', xl), _f('五帝校定生人官爵', xl), _j, _y],
  6121. '5-6': [_j, _l],
  6122. '5-7': [_j],
  6123. '5-8': [_f('南方五道诞'), _t],
  6124. '5-11': [_f('天地仓开日', ss),_f('天下都城隍诞')],
  6125. '5-12': [_f('炳灵公诞')],
  6126. '5-13': [_f('关圣降', xl)],
  6127. '5-14': [_f('夜子时为天地交泰', jw), _t],
  6128. '5-15': [_w, _j, _t],
  6129. '5-16': [_f('九毒日', jw), _f('天地元气造化万物之辰', jw)],
  6130. '5-17': [_j],
  6131. '5-18': [_f('张天师诞')],
  6132. '5-22': [_f('孝娥神诞', dj)],
  6133. '5-23': [_t],
  6134. '5-25': [_j, _h],
  6135. '5-26': [_j],
  6136. '5-27': [_j, _d],
  6137. '5-28': [_r],
  6138. '5-29': [_t],
  6139. '5-30': [_hh, _m, _t],
  6140. '6-1': [_s],
  6141. '6-3': [_f('韦驮菩萨圣诞'), _d, _y],
  6142. '6-5': [_f('南赡部洲转大轮', ss)],
  6143. '6-6': [_f('天地仓开日', ss), _l],
  6144. '6-8': [_t],
  6145. '6-10': [_f('金粟如来诞')],
  6146. '6-14': [_t],
  6147. '6-15': [_w, _t],
  6148. '6-19': [_f('观世音菩萨成道', dj)],
  6149. '6-23': [_f('南方火神诞', '犯者遭回禄'), _t],
  6150. '6-24': [_f('雷祖诞', xl), _f('关帝诞', xl)],
  6151. '6-25': [_h],
  6152. '6-27': [_d],
  6153. '6-28': [_r],
  6154. '6-29': [_t],
  6155. '6-30': [_hh, _m, _t],
  6156. '7-1': [_s, _y],
  6157. '7-3': [_d],
  6158. '7-5': [_f('中会日', ss, false, '一作初七')],
  6159. '7-6': [_l],
  6160. '7-7': [_f('道德腊', xl), _f('五帝校生人善恶', xl), _f('魁星诞', xl)],
  6161. '7-8': [_t],
  6162. '7-10': [_f('阴毒日', '', false, '大忌')],
  6163. '7-12': [_f('长真谭真人诞')],
  6164. '7-13': [_f('大势至菩萨诞', js)],
  6165. '7-14': [_f('三元降', js), _t],
  6166. '7-15': [_w, _f('三元降', dj),_f('地官校籍', dj), _t],
  6167. '7-16': [_f('三元降', js)],
  6168. '7-18': [_f('西王母诞', dj)],
  6169. '7-19': [_f('太岁诞', dj)],
  6170. '7-22': [_f('增福财神诞', xl)],
  6171. '7-23': [_t],
  6172. '7-25': [_h],
  6173. '7-27': [_d],
  6174. '7-28': [_r],
  6175. '7-29': [_y, _t],
  6176. '7-30': [_f('地藏菩萨诞', dj), _hh, _m, _t],
  6177. '8-1': [_s, _f('许真君诞')],
  6178. '8-3': [_d, _f('北斗诞', xl), _f('司命灶君诞', '犯者遭回禄')],
  6179. '8-5': [_f('雷声大帝诞', dj)],
  6180. '8-6': [_l],
  6181. '8-8': [_t],
  6182. '8-10': [_f('北斗大帝诞')],
  6183. '8-12': [_f('西方五道诞')],
  6184. '8-14': [_t],
  6185. '8-15': [_w, _f('太明朝元', '犯者暴亡', false, '宜焚香守夜'), _t],
  6186. '8-16': [_f('天曹掠刷真君降', '犯者贫夭')],
  6187. '8-18': [_f('天人兴福之辰', '', false, '宜斋戒,存想吉事')],
  6188. '8-23': [_f('汉恒候张显王诞'), _t],
  6189. '8-24': [_f('灶君夫人诞')],
  6190. '8-25': [_h],
  6191. '8-27': [_d, _f('至圣先师孔子诞', xl), _y],
  6192. '8-28': [_r, _f('四天会事')],
  6193. '8-29': [_t],
  6194. '8-30': [_f('诸神考校', '犯者夺算'), _hh, _m, _t],
  6195. '9-1': [_s, _f('南斗诞', xl), _f('北斗九星降世', dj, false, '此九日俱宜斋戒')],
  6196. '9-3': [_d, _f('五瘟神诞')],
  6197. '9-6': [_l],
  6198. '9-8': [_t],
  6199. '9-9': [_f('斗母诞', xl), _f('酆都大帝诞'), _f('玄天上帝飞升')],
  6200. '9-10': [_f('斗母降', dj)],
  6201. '9-11': [_f('宜戒')],
  6202. '9-13': [_f('孟婆尊神诞')],
  6203. '9-14': [_t],
  6204. '9-15': [_w, _t],
  6205. '9-17': [_f('金龙四大王诞', '犯者遭水厄')],
  6206. '9-19': [_f('日宫月宫会合', js), _f('观世音菩萨诞', js)],
  6207. '9-23': [_t],
  6208. '9-25': [_h, _y],
  6209. '9-27': [_d],
  6210. '9-28': [_r],
  6211. '9-29': [_t],
  6212. '9-30': [_f('药师琉璃光佛诞', '犯者危疾'), _hh, _m, _t],
  6213. '10-1': [_s, _f('民岁腊', dj), _f('四天王降', '犯者一年内死')],
  6214. '10-3': [_d, _f('三茅诞')],
  6215. '10-5': [_f('下会日', js), _f('达摩祖师诞', js)],
  6216. '10-6': [_l, _f('天曹考察', dj)],
  6217. '10-8': [_f('佛涅槃日', '', false, '大忌色欲'), _t],
  6218. '10-10': [_f('四天王降', '犯者一年内死')],
  6219. '10-11': [_f('宜戒')],
  6220. '10-14': [_f('三元降', js), _t],
  6221. '10-15': [_w, _f('三元降', dj), _f('下元水府校籍', dj), _t],
  6222. '10-16': [_f('三元降', js), _t],
  6223. '10-23': [_y, _t],
  6224. '10-25': [_h],
  6225. '10-27': [_d, _f('北极紫徽大帝降')],
  6226. '10-28': [_r],
  6227. '10-29': [_t],
  6228. '10-30': [_hh, _m, _t],
  6229. '11-1': [_s],
  6230. '11-3': [_d],
  6231. '11-4': [_f('至圣先师孔子诞', xl)],
  6232. '11-6': [_f('西岳大帝诞')],
  6233. '11-8': [_t],
  6234. '11-11': [_f('天地仓开日', dj), _f('太乙救苦天尊诞', dj)],
  6235. '11-14': [_t],
  6236. '11-15': [_f('月望', '上半夜犯男死 下半夜犯女死'), _f('四天王巡行', '上半夜犯男死 下半夜犯女死')],
  6237. '11-17': [_f('阿弥陀佛诞')],
  6238. '11-19': [_f('太阳日宫诞', '犯者得奇祸')],
  6239. '11-21': [_y],
  6240. '11-23': [_f('张仙诞', '犯者绝嗣'), _t],
  6241. '11-25': [_f('掠刷大夫降', '犯者遭大凶'), _h],
  6242. '11-26': [_f('北方五道诞')],
  6243. '11-27': [_d],
  6244. '11-28': [_r],
  6245. '11-29': [_t],
  6246. '11-30': [_hh, _m, _t],
  6247. '12-1': [_s],
  6248. '12-3': [_d],
  6249. '12-6': [_f('天地仓开日', js), _l],
  6250. '12-7': [_f('掠刷大夫降', '犯者得恶疾')],
  6251. '12-8': [_f('王侯腊', dj), _f('释迦如来成佛之辰'), _t, _f('初旬内戊日,亦名王侯腊', dj)],
  6252. '12-12': [_f('太素三元君朝真')],
  6253. '12-14': [_t],
  6254. '12-15': [_w, _t],
  6255. '12-16': [_f('南岳大帝诞')],
  6256. '12-19': [_y],
  6257. '12-20': [_f('天地交道', '犯者促寿')],
  6258. '12-21': [_f('天猷上帝诞')],
  6259. '12-23': [_f('五岳诞降'), _t],
  6260. '12-24': [_f('司今朝天奏人善恶', '犯者得大祸')],
  6261. '12-25': [_f('三清玉帝同降,考察善恶', '犯者得奇祸'), _h],
  6262. '12-27': [_d],
  6263. '12-28': [_r],
  6264. '12-29': [_f('华严菩萨诞'), _t],
  6265. '12-30': [_f('诸神下降,察访善恶', '犯者男女俱亡')]
  6266. },
  6267. OTHER_FESTIVAL:{
  6268. '1-1': ['弥勒菩萨圣诞'],
  6269. '1-6': ['定光佛圣诞'],
  6270. '2-8': ['释迦牟尼佛出家'],
  6271. '2-15': ['释迦牟尼佛涅槃'],
  6272. '2-19': ['观世音菩萨圣诞'],
  6273. '2-21': ['普贤菩萨圣诞'],
  6274. '3-16': ['准提菩萨圣诞'],
  6275. '4-4': ['文殊菩萨圣诞'],
  6276. '4-8': ['释迦牟尼佛圣诞'],
  6277. '4-15': ['佛吉祥日'],
  6278. '4-28': ['药王菩萨圣诞'],
  6279. '5-13': ['伽蓝菩萨圣诞'],
  6280. '6-3': ['韦驮菩萨圣诞'],
  6281. '6-19': ['观音菩萨成道'],
  6282. '7-13': ['大势至菩萨圣诞'],
  6283. '7-15': ['佛欢喜日'],
  6284. '7-24': ['龙树菩萨圣诞'],
  6285. '7-30': ['地藏菩萨圣诞'],
  6286. '8-15': ['月光菩萨圣诞'],
  6287. '8-22': ['燃灯佛圣诞'],
  6288. '9-9': ['摩利支天菩萨圣诞'],
  6289. '9-19': ['观世音菩萨出家'],
  6290. '9-30': ['药师琉璃光佛圣诞'],
  6291. '10-5': ['达摩祖师圣诞'],
  6292. '10-20': ['文殊菩萨出家'],
  6293. '11-17': ['阿弥陀佛圣诞'],
  6294. '11-19': ['日光菩萨圣诞'],
  6295. '12-8': ['释迦牟尼佛成道'],
  6296. '12-23': ['监斋菩萨圣诞'],
  6297. '12-29': ['华严菩萨圣诞']
  6298. },
  6299. getXiu:function(m,d){return _getXiu(m,d);}
  6300. }
  6301. })();
  6302. var Foto = (function(){
  6303. var _fromYmdHms=function(y,m,d,hour,minute,second){
  6304. return _fromLunar(Lunar.fromYmdHms(y+Foto.DEAD_YEAR-1,m,d,hour,minute,second));
  6305. };
  6306. var _fromLunar=function(lunar){
  6307. return {
  6308. _p: {
  6309. lunar: lunar
  6310. },
  6311. getLunar:function(){return this._p.lunar;},
  6312. getYear:function(){
  6313. var sy = this._p.lunar.getSolar().getYear();
  6314. var y = sy-Foto.DEAD_YEAR;
  6315. if(sy===this._p.lunar.getYear()){
  6316. y++;
  6317. }
  6318. return y;
  6319. },
  6320. getMonth:function(){return this._p.lunar.getMonth();},
  6321. getDay:function(){return this._p.lunar.getDay();},
  6322. getYearInChinese:function(){
  6323. var y = this.getYear()+'';
  6324. var s = '';
  6325. var zero = '0'.charCodeAt(0);
  6326. for(var i=0,j=y.length;i<j;i++){
  6327. s+=LunarUtil.NUMBER[y.charCodeAt(i)-zero];
  6328. }
  6329. return s;
  6330. },
  6331. getMonthInChinese:function(){return this._p.lunar.getMonthInChinese();},
  6332. getDayInChinese:function(){return this._p.lunar.getDayInChinese();},
  6333. getFestivals:function(){
  6334. var l = FotoUtil.FESTIVAL[this.getMonth()+'-'+this.getDay()];
  6335. return l?l:[];
  6336. },
  6337. getOtherFestivals:function(){
  6338. var l=[];
  6339. var fs=FotoUtil.OTHER_FESTIVAL[this.getMonth()+'-'+this.getDay()];
  6340. if(fs){
  6341. l=l.concat(fs);
  6342. }
  6343. return l;
  6344. },
  6345. isMonthZhai:function(){
  6346. var m = this.getMonth();
  6347. return 1===m||5===m||9===m;
  6348. },
  6349. isDayYangGong:function(){
  6350. var l = this.getFestivals();
  6351. for(var i=0,j=l.length;i<j;i++){
  6352. if('杨公忌'===l[i].getName()){
  6353. return true;
  6354. }
  6355. }
  6356. return false;
  6357. },
  6358. isDayZhaiShuoWang:function(){
  6359. var d = this.getDay();
  6360. return 1===d||15===d;
  6361. },
  6362. isDayZhaiSix:function(){
  6363. var d = this.getDay();
  6364. if(8===d||14===d||15===d||23===d||29===d||30===d){
  6365. return true;
  6366. }else if(28===d){
  6367. var m = LunarMonth.fromYm(this._p.lunar.getYear(), this.getMonth());
  6368. if(30!==m.getDayCount()){
  6369. return true;
  6370. }
  6371. }
  6372. return false;
  6373. },
  6374. isDayZhaiTen:function() {
  6375. var d = this.getDay();
  6376. return 1===d||8===d||14===d||15===d||18===d||23===d||24===d||28===d||29===d||30===d;
  6377. },
  6378. isDayZhaiGuanYin:function() {
  6379. var k = this.getMonth()+'-'+this.getDay();
  6380. for(var i=0,j=FotoUtil.DAY_ZHAI_GUAN_YIN.length;i<j;i++){
  6381. if(k===FotoUtil.DAY_ZHAI_GUAN_YIN[i]){
  6382. return true;
  6383. }
  6384. }
  6385. return false;
  6386. },
  6387. getXiu:function(){
  6388. return FotoUtil.getXiu(this.getMonth(), this.getDay());
  6389. },
  6390. getXiuLuck:function(){
  6391. return LunarUtil.XIU_LUCK[this.getXiu()];
  6392. },
  6393. getXiuSong:function(){
  6394. return LunarUtil.XIU_SONG[this.getXiu()];
  6395. },
  6396. getZheng:function(){
  6397. return LunarUtil.ZHENG[this.getXiu()];
  6398. },
  6399. getAnimal:function(){
  6400. return LunarUtil.ANIMAL[this.getXiu()];
  6401. },
  6402. getGong:function(){
  6403. return LunarUtil.GONG[this.getXiu()];
  6404. },
  6405. getShou:function(){
  6406. return LunarUtil.SHOU[this.getGong()];
  6407. },
  6408. toString:function(){
  6409. return this.getYearInChinese()+'年'+this.getMonthInChinese()+'月'+this.getDayInChinese();
  6410. },
  6411. toFullString:function(){
  6412. var s = this.toString();
  6413. var fs = this.getFestivals();
  6414. for(var i=0,j=fs.length;i<j;i++){
  6415. s += ' ('+fs[i]+')';
  6416. }
  6417. return s;
  6418. }
  6419. };
  6420. };
  6421. return {
  6422. DEAD_YEAR:-543,
  6423. fromYmdHms:function(y,m,d,hour,minute,second){return _fromYmdHms(y,m,d,hour,minute,second);},
  6424. fromYmd:function(y,m,d){return _fromYmdHms(y,m,d,0,0,0);},
  6425. fromLunar:function(lunar){return _fromLunar(lunar);}
  6426. };
  6427. })();
  6428. var TaoFestival = (function(){
  6429. var _f=function(name,remark){
  6430. return {
  6431. _p:{
  6432. name:name,
  6433. remark:remark?remark:''
  6434. },
  6435. getName:function(){return this._p.name;},
  6436. getRemark:function(){return this._p.remark;},
  6437. toString:function(){return this._p.name;},
  6438. toFullString:function(){
  6439. var l = [this._p.name];
  6440. if(this._p.remark) {
  6441. l.push('['+this._p.remark+']');
  6442. }
  6443. return l.join('');
  6444. }
  6445. };
  6446. };
  6447. return {
  6448. create:function(name,remark){return _f(name,remark);}
  6449. };
  6450. })();
  6451. var TaoUtil = (function(){
  6452. var _f = TaoFestival.create;
  6453. return {
  6454. SAN_HUI:['1-7','7-7','10-15'],
  6455. SAN_YUAN:['1-15','7-15','10-15'],
  6456. WU_LA:['1-1','5-5','7-7','10-1','12-8'],
  6457. AN_WU:['{dz.wei}', '{dz.xu}', '{dz.chen}', '{dz.yin}', '{dz.wu}', '{dz.zi}', '{dz.you}', '{dz.shen}', '{dz.si}', '{dz.hai}', '{dz.mao}', '{dz.chou}'],
  6458. BA_HUI:{
  6459. '{jz.bingWu}':'天会',
  6460. '{jz.renWu}':'地会',
  6461. '{jz.renZi}':'人会',
  6462. '{jz.gengWu}':'日会',
  6463. '{jz.gengShen}':'月会',
  6464. '{jz.xinYou}':'星辰会',
  6465. '{jz.jiaChen}':'五行会',
  6466. '{jz.jiaXu}':'四时会'
  6467. },
  6468. BA_JIE:{
  6469. '{jq.liChun}':'东北方度仙上圣天尊同梵炁始青天君下降',
  6470. '{jq.chunFen}':'东方玉宝星上天尊同青帝九炁天君下降',
  6471. '{jq.liXia}':'东南方好生度命天尊同梵炁始丹天君下降',
  6472. '{jq.xiaZhi}':'南方玄真万福天尊同赤帝三炁天君下降',
  6473. '{jq.liQiu}':'西南方太灵虚皇天尊同梵炁始素天君下降',
  6474. '{jq.qiuFen}':'西方太妙至极天尊同白帝七炁天君下降',
  6475. '{jq.liDong}':'西北方无量太华天尊同梵炁始玄天君下降',
  6476. '{jq.dongZhi}':'北方玄上玉宸天尊同黑帝五炁天君下降'
  6477. },
  6478. FESTIVAL: {
  6479. '1-1': [_f('天腊之辰', '天腊,此日五帝会于东方九炁青天')],
  6480. '1-3': [_f('郝真人圣诞'), _f('孙真人圣诞')],
  6481. '1-5': [_f('孙祖清静元君诞')],
  6482. '1-7': [_f('举迁赏会', '此日上元赐福,天官同地水二官考校罪福')],
  6483. '1-9': [_f('玉皇上帝圣诞')],
  6484. '1-13': [_f('关圣帝君飞升')],
  6485. '1-15': [_f('上元天官圣诞'), _f('老祖天师圣诞')],
  6486. '1-19': [_f('长春邱真人(邱处机)圣诞')],
  6487. '1-28': [_f('许真君(许逊天师)圣诞')],
  6488. '2-1': [_f('勾陈天皇大帝圣诞'), _f('长春刘真人(刘渊然)圣诞')],
  6489. '2-2': [_f('土地正神诞'), _f('姜太公圣诞')],
  6490. '2-3': [_f('文昌梓潼帝君圣诞')],
  6491. '2-6': [_f('东华帝君圣诞')],
  6492. '2-13': [_f('度人无量葛真君圣诞')],
  6493. '2-15': [_f('太清道德天尊(太上老君)圣诞')],
  6494. '2-19': [_f('慈航真人圣诞')],
  6495. '3-1': [_f('谭祖(谭处端)长真真人圣诞')],
  6496. '3-3': [_f('玄天上帝圣诞')],
  6497. '3-6': [_f('眼光娘娘圣诞')],
  6498. '3-15': [_f('天师张大真人圣诞'), _f('财神赵公元帅圣诞')],
  6499. '3-16': [_f('三茅真君得道之辰'), _f('中岳大帝圣诞')],
  6500. '3-18': [_f('王祖(王处一)玉阳真人圣诞'), _f('后土娘娘圣诞')],
  6501. '3-19': [_f('太阳星君圣诞')],
  6502. '3-20': [_f('子孙娘娘圣诞')],
  6503. '3-23': [_f('天后妈祖圣诞')],
  6504. '3-26': [_f('鬼谷先师诞')],
  6505. '3-28': [_f('东岳大帝圣诞')],
  6506. '4-1': [_f('长生谭真君成道之辰')],
  6507. '4-10': [_f('何仙姑圣诞')],
  6508. '4-14': [_f('吕祖纯阳祖师圣诞')],
  6509. '4-15': [_f('钟离祖师圣诞')],
  6510. '4-18': [_f('北极紫微大帝圣诞'), _f('泰山圣母碧霞元君诞'), _f('华佗神医先师诞')],
  6511. '4-20': [_f('眼光圣母娘娘诞')],
  6512. '4-28': [_f('神农先帝诞')],
  6513. '5-1': [_f('南极长生大帝圣诞')],
  6514. '5-5': [_f('地腊之辰', '地腊,此日五帝会于南方三炁丹天'), _f('南方雷祖圣诞'), _f('地祗温元帅圣诞'), _f('雷霆邓天君圣诞')],
  6515. '5-11': [_f('城隍爷圣诞')],
  6516. '5-13': [_f('关圣帝君降神'), _f('关平太子圣诞')],
  6517. '5-18': [_f('张天师圣诞')],
  6518. '5-20': [_f('马祖丹阳真人圣诞')],
  6519. '5-29': [_f('紫青白祖师圣诞')],
  6520. '6-1': [_f('南斗星君下降')],
  6521. '6-2': [_f('南斗星君下降')],
  6522. '6-3': [_f('南斗星君下降')],
  6523. '6-4': [_f('南斗星君下降')],
  6524. '6-5': [_f('南斗星君下降')],
  6525. '6-6': [_f('南斗星君下降')],
  6526. '6-10': [_f('刘海蟾祖师圣诞')],
  6527. '6-15': [_f('灵官王天君圣诞')],
  6528. '6-19': [_f('慈航(观音)成道日')],
  6529. '6-23': [_f('火神圣诞')],
  6530. '6-24': [_f('南极大帝中方雷祖圣诞'), _f('关圣帝君圣诞')],
  6531. '6-26': [_f('二郎真君圣诞')],
  6532. '7-7': [_f('道德腊之辰', '道德腊,此日五帝会于西方七炁素天'), _f('庆生中会', '此日中元赦罪,地官同天水二官考校罪福')],
  6533. '7-12': [_f('西方雷祖圣诞')],
  6534. '7-15': [_f('中元地官大帝圣诞')],
  6535. '7-18': [_f('王母娘娘圣诞')],
  6536. '7-20': [_f('刘祖(刘处玄)长生真人圣诞')],
  6537. '7-22': [_f('财帛星君文财神增福相公李诡祖圣诞')],
  6538. '7-26': [_f('张三丰祖师圣诞')],
  6539. '8-1': [_f('许真君飞升日')],
  6540. '8-3': [_f('九天司命灶君诞')],
  6541. '8-5': [_f('北方雷祖圣诞')],
  6542. '8-10': [_f('北岳大帝诞辰')],
  6543. '8-15': [_f('太阴星君诞')],
  6544. '9-1': [_f('北斗九皇降世之辰')],
  6545. '9-2': [_f('北斗九皇降世之辰')],
  6546. '9-3': [_f('北斗九皇降世之辰')],
  6547. '9-4': [_f('北斗九皇降世之辰')],
  6548. '9-5': [_f('北斗九皇降世之辰')],
  6549. '9-6': [_f('北斗九皇降世之辰')],
  6550. '9-7': [_f('北斗九皇降世之辰')],
  6551. '9-8': [_f('北斗九皇降世之辰')],
  6552. '9-9': [_f('北斗九皇降世之辰'), _f('斗姥元君圣诞'), _f('重阳帝君圣诞'), _f('玄天上帝飞升'), _f('酆都大帝圣诞')],
  6553. '9-22': [_f('增福财神诞')],
  6554. '9-23': [_f('萨翁真君圣诞')],
  6555. '9-28': [_f('五显灵官马元帅圣诞')],
  6556. '10-1': [_f('民岁腊之辰', '民岁腊,此日五帝会于北方五炁黑天'), _f('东皇大帝圣诞')],
  6557. '10-3': [_f('三茅应化真君圣诞')],
  6558. '10-6': [_f('天曹诸司五岳五帝圣诞')],
  6559. '10-15': [_f('下元水官大帝圣诞'), _f('建生大会', '此日下元解厄,水官同天地二官考校罪福')],
  6560. '10-18': [_f('地母娘娘圣诞')],
  6561. '10-19': [_f('长春邱真君飞升')],
  6562. '10-20': [_f('虚靖天师(即三十代天师弘悟张真人)诞')],
  6563. '11-6': [_f('西岳大帝圣诞')],
  6564. '11-9': [_f('湘子韩祖圣诞')],
  6565. '11-11': [_f('太乙救苦天尊圣诞')],
  6566. '11-26': [_f('北方五道圣诞')],
  6567. '12-8': [_f('王侯腊之辰', '王侯腊,此日五帝会于上方玄都玉京')],
  6568. '12-16': [_f('南岳大帝圣诞'), _f('福德正神诞')],
  6569. '12-20': [_f('鲁班先师圣诞')],
  6570. '12-21': [_f('天猷上帝圣诞')],
  6571. '12-22': [_f('重阳祖师圣诞')],
  6572. '12-23': [_f('祭灶王', '最适宜谢旧年太岁,开启拜新年太岁')],
  6573. '12-25': [_f('玉帝巡天'), _f('天神下降')],
  6574. '12-29': [_f('清静孙真君(孙不二)成道')]
  6575. }
  6576. }
  6577. })();
  6578. var NineStarUtil = (function(){
  6579. return {
  6580. NUMBER:[
  6581. '{n.one}',
  6582. '{n.two}',
  6583. '{n.three}',
  6584. '{n.four}',
  6585. '{n.five}',
  6586. '{n.six}',
  6587. '{n.seven}',
  6588. '{n.eight}',
  6589. '{n.nine}'
  6590. ],
  6591. WU_XING:[
  6592. '{wx.shui}',
  6593. '{wx.tu}',
  6594. '{wx.mu}',
  6595. '{wx.mu}',
  6596. '{wx.tu}',
  6597. '{wx.jin}',
  6598. '{wx.jin}',
  6599. '{wx.tu}',
  6600. '{wx.huo}'
  6601. ],
  6602. POSITION:[
  6603. '{bg.kan}',
  6604. '{bg.kun}',
  6605. '{bg.zhen}',
  6606. '{bg.xun}',
  6607. '{ps.center}',
  6608. '{bg.qian}',
  6609. '{bg.dui}',
  6610. '{bg.gen}',
  6611. '{bg.li}'
  6612. ],
  6613. LUCK_XUAN_KONG:[
  6614. '{s.goodLuck}',
  6615. '{s.badLuck}',
  6616. '{s.badLuck}',
  6617. '{s.goodLuck}',
  6618. '{s.badLuck}',
  6619. '{s.goodLuck}',
  6620. '{s.badLuck}',
  6621. '{s.goodLuck}',
  6622. '{s.goodLuck}'
  6623. ],
  6624. YIN_YANG_QI_MEN:[
  6625. '{s.yang}',
  6626. '{s.yin}',
  6627. '{s.yang}',
  6628. '{s.yang}',
  6629. '{s.yang}',
  6630. '{s.yin}',
  6631. '{s.yin}',
  6632. '{s.yang}',
  6633. '{s.yin}'
  6634. ],
  6635. COLOR:[
  6636. '{s.white}',
  6637. '{s.black}',
  6638. '{s.blue}',
  6639. '{s.green}',
  6640. '{s.yellow}',
  6641. '{s.white}',
  6642. '{s.red}',
  6643. '{s.white}',
  6644. '{s.purple}'
  6645. ]
  6646. }
  6647. })();
  6648. var Tao = (function(){
  6649. var _fromYmdHms=function(y,m,d,hour,minute,second){
  6650. return _fromLunar(Lunar.fromYmdHms(y+Tao.BIRTH_YEAR,m,d,hour,minute,second));
  6651. };
  6652. var _fromLunar=function(lunar){
  6653. return {
  6654. _p: {
  6655. lunar: lunar
  6656. },
  6657. getLunar:function(){return this._p.lunar;},
  6658. getYear:function(){
  6659. return this._p.lunar.getYear()-Tao.BIRTH_YEAR;
  6660. },
  6661. getMonth:function(){return this._p.lunar.getMonth();},
  6662. getDay:function(){return this._p.lunar.getDay();},
  6663. getYearInChinese:function(){
  6664. var y = this.getYear()+'';
  6665. var s = '';
  6666. var zero = '0'.charCodeAt(0);
  6667. for(var i=0,j=y.length;i<j;i++){
  6668. s+=LunarUtil.NUMBER[y.charCodeAt(i)-zero];
  6669. }
  6670. return s;
  6671. },
  6672. getMonthInChinese:function(){return this._p.lunar.getMonthInChinese();},
  6673. getDayInChinese:function(){return this._p.lunar.getDayInChinese();},
  6674. getFestivals:function(){
  6675. var l=[];
  6676. var fs=TaoUtil.FESTIVAL[this.getMonth()+'-'+this.getDay()];
  6677. if(fs){
  6678. l=l.concat(fs);
  6679. }
  6680. var jq = this._p.lunar.getJieQi();
  6681. if(I18n.getMessage('jq.dongZhi')===jq){
  6682. l.push(TaoFestival.create('元始天尊圣诞'));
  6683. }else if(I18n.getMessage('jq.xiaZhi')===jq){
  6684. l.push(TaoFestival.create('灵宝天尊圣诞'));
  6685. }
  6686. var f = TaoUtil.BA_JIE[jq];
  6687. if(f){
  6688. l.push(TaoFestival.create(f));
  6689. }
  6690. f = TaoUtil.BA_HUI[this._p.lunar.getDayInGanZhi()];
  6691. if(f){
  6692. l.push(TaoFestival.create(f));
  6693. }
  6694. return l;
  6695. },
  6696. _isDayIn:function(days){
  6697. var md = this.getMonth() + '-' + this.getDay();
  6698. for(var i=0,j=days.length;i<j;i++){
  6699. if(md===days[i]){
  6700. return true;
  6701. }
  6702. }
  6703. return false;
  6704. },
  6705. isDaySanHui:function(){return this._isDayIn(TaoUtil.SAN_HUI);},
  6706. isDaySanYuan:function(){return this._isDayIn(TaoUtil.SAN_YUAN);},
  6707. isDayBaJie:function(){return !!TaoUtil.BA_JIE[this._p.lunar.getJieQi()];},
  6708. isDayWuLa:function(){return this._isDayIn(TaoUtil.WU_LA);},
  6709. isDayBaHui:function(){return !!TaoUtil.BA_HUI[this._p.lunar.getDayInGanZhi()];},
  6710. isDayMingWu:function(){return I18n.getMessage('tg.wu')===this._p.lunar.getDayGan();},
  6711. isDayAnWu:function(){return this._p.lunar.getDayZhi()===TaoUtil.AN_WU[Math.abs(this.getMonth())-1]},
  6712. isDayWu:function(){return this.isDayMingWu()||this.isDayAnWu()},
  6713. isDayTianShe:function(){
  6714. var ret = false;
  6715. var mz = this._p.lunar.getMonthZhi();
  6716. var dgz = this._p.lunar.getDayInGanZhi();
  6717. if ([I18n.getMessage('dz.yin'), I18n.getMessage('dz.mao'), I18n.getMessage('dz.chen')].join(',').indexOf(mz) > -1) {
  6718. if (I18n.getMessage('jz.wuYin') === dgz) {
  6719. ret = true;
  6720. }
  6721. } else if ([I18n.getMessage('dz.si'), I18n.getMessage('dz.wu'), I18n.getMessage('dz.wei')].join(',').indexOf(mz) > -1) {
  6722. if (I18n.getMessage('jz.jiaWu') === dgz) {
  6723. ret = true;
  6724. }
  6725. } else if ([I18n.getMessage('dz.shen'), I18n.getMessage('dz.you'), I18n.getMessage('dz.xu')].join(',').indexOf(mz) > -1) {
  6726. if (I18n.getMessage('jz.wuShen') === dgz) {
  6727. ret = true;
  6728. }
  6729. } else if ([I18n.getMessage('dz.hai'), I18n.getMessage('dz.zi'), I18n.getMessage('dz.chou')].join(',').indexOf(mz) > -1) {
  6730. if (I18n.getMessage('jz.jiaZi') === dgz) {
  6731. ret = true;
  6732. }
  6733. }
  6734. return ret;
  6735. },
  6736. toString:function(){
  6737. return this.getYearInChinese()+'年'+this.getMonthInChinese()+'月'+this.getDayInChinese();
  6738. },
  6739. toFullString:function(){
  6740. return '道歷'+this.getYearInChinese()+'年,天運'+this._p.lunar.getYearInGanZhi()+'年,'+this._p.lunar.getMonthInGanZhi()+'月,'+this._p.lunar.getDayInGanZhi()+'日。'+this.getMonthInChinese()+'月'+this.getDayInChinese()+'日,'+this._p.lunar.getTimeZhi()+'時。';
  6741. }
  6742. };
  6743. };
  6744. return {
  6745. BIRTH_YEAR:-2697,
  6746. fromYmdHms:function(y,m,d,hour,minute,second){return _fromYmdHms(y,m,d,hour,minute,second);},
  6747. fromYmd:function(y,m,d){return _fromYmdHms(y,m,d,0,0,0);},
  6748. fromLunar:function(lunar){return _fromLunar(lunar);}
  6749. };
  6750. })();
  6751. var I18n = (function(){
  6752. var _defaultLang = 'chs';
  6753. var _lang = _defaultLang;
  6754. var _inited = false;
  6755. var _messages = {
  6756. 'chs': {
  6757. 'tg.jia': '甲',
  6758. 'tg.yi': '乙',
  6759. 'tg.bing': '丙',
  6760. 'tg.ding': '丁',
  6761. 'tg.wu': '戊',
  6762. 'tg.ji': '己',
  6763. 'tg.geng': '庚',
  6764. 'tg.xin': '辛',
  6765. 'tg.ren': '壬',
  6766. 'tg.gui': '癸',
  6767. 'dz.zi': '子',
  6768. 'dz.chou': '丑',
  6769. 'dz.yin': '寅',
  6770. 'dz.mao': '卯',
  6771. 'dz.chen': '辰',
  6772. 'dz.si': '巳',
  6773. 'dz.wu': '午',
  6774. 'dz.wei': '未',
  6775. 'dz.shen': '申',
  6776. 'dz.you': '酉',
  6777. 'dz.xu': '戌',
  6778. 'dz.hai': '亥',
  6779. 'zx.jian': '建',
  6780. 'zx.chu': '除',
  6781. 'zx.man': '满',
  6782. 'zx.ping': '平',
  6783. 'zx.ding': '定',
  6784. 'zx.zhi': '执',
  6785. 'zx.po': '破',
  6786. 'zx.wei': '危',
  6787. 'zx.cheng': '成',
  6788. 'zx.shou': '收',
  6789. 'zx.kai': '开',
  6790. 'zx.bi': '闭',
  6791. 'jz.jiaZi': '甲子',
  6792. 'jz.yiChou': '乙丑',
  6793. 'jz.bingYin': '丙寅',
  6794. 'jz.dingMao': '丁卯',
  6795. 'jz.wuChen': '戊辰',
  6796. 'jz.jiSi': '己巳',
  6797. 'jz.gengWu': '庚午',
  6798. 'jz.xinWei': '辛未',
  6799. 'jz.renShen': '壬申',
  6800. 'jz.guiYou': '癸酉',
  6801. 'jz.jiaXu': '甲戌',
  6802. 'jz.yiHai': '乙亥',
  6803. 'jz.bingZi': '丙子',
  6804. 'jz.dingChou': '丁丑',
  6805. 'jz.wuYin': '戊寅',
  6806. 'jz.jiMao': '己卯',
  6807. 'jz.gengChen': '庚辰',
  6808. 'jz.xinSi': '辛巳',
  6809. 'jz.renWu': '壬午',
  6810. 'jz.guiWei': '癸未',
  6811. 'jz.jiaShen': '甲申',
  6812. 'jz.yiYou': '乙酉',
  6813. 'jz.bingXu': '丙戌',
  6814. 'jz.dingHai': '丁亥',
  6815. 'jz.wuZi': '戊子',
  6816. 'jz.jiChou': '己丑',
  6817. 'jz.gengYin': '庚寅',
  6818. 'jz.xinMao': '辛卯',
  6819. 'jz.renChen': '壬辰',
  6820. 'jz.guiSi': '癸巳',
  6821. 'jz.jiaWu': '甲午',
  6822. 'jz.yiWei': '乙未',
  6823. 'jz.bingShen': '丙申',
  6824. 'jz.dingYou': '丁酉',
  6825. 'jz.wuXu': '戊戌',
  6826. 'jz.jiHai': '己亥',
  6827. 'jz.gengZi': '庚子',
  6828. 'jz.xinChou': '辛丑',
  6829. 'jz.renYin': '壬寅',
  6830. 'jz.guiMao': '癸卯',
  6831. 'jz.jiaChen': '甲辰',
  6832. 'jz.yiSi': '乙巳',
  6833. 'jz.bingWu': '丙午',
  6834. 'jz.dingWei': '丁未',
  6835. 'jz.wuShen': '戊申',
  6836. 'jz.jiYou': '己酉',
  6837. 'jz.gengXu': '庚戌',
  6838. 'jz.xinHai': '辛亥',
  6839. 'jz.renZi': '壬子',
  6840. 'jz.guiChou': '癸丑',
  6841. 'jz.jiaYin': '甲寅',
  6842. 'jz.yiMao': '乙卯',
  6843. 'jz.bingChen': '丙辰',
  6844. 'jz.dingSi': '丁巳',
  6845. 'jz.wuWu': '戊午',
  6846. 'jz.jiWei': '己未',
  6847. 'jz.gengShen': '庚申',
  6848. 'jz.xinYou': '辛酉',
  6849. 'jz.renXu': '壬戌',
  6850. 'jz.guiHai': '癸亥',
  6851. 'sx.rat': '鼠',
  6852. 'sx.ox': '牛',
  6853. 'sx.tiger': '虎',
  6854. 'sx.rabbit': '兔',
  6855. 'sx.dragon': '龙',
  6856. 'sx.snake': '蛇',
  6857. 'sx.horse': '马',
  6858. 'sx.goat': '羊',
  6859. 'sx.monkey': '猴',
  6860. 'sx.rooster': '鸡',
  6861. 'sx.dog': '狗',
  6862. 'sx.pig': '猪',
  6863. 'dw.long': '龙',
  6864. 'dw.niu': '牛',
  6865. 'dw.gou': '狗',
  6866. 'dw.yang': '羊',
  6867. 'dw.tu': '兔',
  6868. 'dw.shu': '鼠',
  6869. 'dw.ji': '鸡',
  6870. 'dw.ma': '马',
  6871. 'dw.hu': '虎',
  6872. 'dw.zhu': '猪',
  6873. 'dw.hou': '猴',
  6874. 'dw.she': '蛇',
  6875. 'dw.huLi': '狐',
  6876. 'dw.yan': '燕',
  6877. 'dw.bao': '豹',
  6878. 'dw.yuan': '猿',
  6879. 'dw.yin': '蚓',
  6880. 'dw.lu': '鹿',
  6881. 'dw.wu': '乌',
  6882. 'dw.jiao': '蛟',
  6883. 'dw.lang': '狼',
  6884. 'dw.fu': '蝠',
  6885. 'dw.zhang': '獐',
  6886. 'dw.xu': '獝',
  6887. 'dw.xie': '獬',
  6888. 'dw.han': '犴',
  6889. 'dw.he': '貉',
  6890. 'dw.zhi': '彘',
  6891. 'wx.jin': '金',
  6892. 'wx.mu': '木',
  6893. 'wx.shui': '水',
  6894. 'wx.huo': '火',
  6895. 'wx.tu': '土',
  6896. 'wx.ri': '日',
  6897. 'wx.yue': '月',
  6898. 'n.zero': '〇',
  6899. 'n.one': '一',
  6900. 'n.two': '二',
  6901. 'n.three': '三',
  6902. 'n.four': '四',
  6903. 'n.five': '五',
  6904. 'n.six': '六',
  6905. 'n.seven': '七',
  6906. 'n.eight': '八',
  6907. 'n.nine': '九',
  6908. 'n.ten': '十',
  6909. 'n.eleven': '十一',
  6910. 'n.twelve': '十二',
  6911. 'd.one': '初一',
  6912. 'd.two': '初二',
  6913. 'd.three': '初三',
  6914. 'd.four': '初四',
  6915. 'd.five': '初五',
  6916. 'd.six': '初六',
  6917. 'd.seven': '初七',
  6918. 'd.eight': '初八',
  6919. 'd.nine': '初九',
  6920. 'd.ten': '初十',
  6921. 'd.eleven': '十一',
  6922. 'd.twelve': '十二',
  6923. 'd.thirteen': '十三',
  6924. 'd.fourteen': '十四',
  6925. 'd.fifteen': '十五',
  6926. 'd.sixteen': '十六',
  6927. 'd.seventeen': '十七',
  6928. 'd.eighteen': '十八',
  6929. 'd.nighteen': '十九',
  6930. 'd.twenty': '二十',
  6931. 'd.twentyOne': '廿一',
  6932. 'd.twentyTwo': '廿二',
  6933. 'd.twentyThree': '廿三',
  6934. 'd.twentyFour': '廿四',
  6935. 'd.twentyFive': '廿五',
  6936. 'd.twentySix': '廿六',
  6937. 'd.twentySeven': '廿七',
  6938. 'd.twentyEight': '廿八',
  6939. 'd.twentyNine': '廿九',
  6940. 'd.thirty': '三十',
  6941. 'm.one': '正',
  6942. 'm.two': '二',
  6943. 'm.three': '三',
  6944. 'm.four': '四',
  6945. 'm.five': '五',
  6946. 'm.six': '六',
  6947. 'm.seven': '七',
  6948. 'm.eight': '八',
  6949. 'm.nine': '九',
  6950. 'm.ten': '十',
  6951. 'm.eleven': '冬',
  6952. 'm.twelve': '腊',
  6953. 'w.sun': '日',
  6954. 'w.mon': '一',
  6955. 'w.tues': '二',
  6956. 'w.wed': '三',
  6957. 'w.thur': '四',
  6958. 'w.fri': '五',
  6959. 'w.sat': '六',
  6960. 'xz.aries': '白羊',
  6961. 'xz.taurus': '金牛',
  6962. 'xz.gemini': '双子',
  6963. 'xz.cancer': '巨蟹',
  6964. 'xz.leo': '狮子',
  6965. 'xz.virgo': '处女',
  6966. 'xz.libra': '天秤',
  6967. 'xz.scorpio': '天蝎',
  6968. 'xz.sagittarius': '射手',
  6969. 'xz.capricornus': '摩羯',
  6970. 'xz.aquarius': '水瓶',
  6971. 'xz.pisces': '双鱼',
  6972. 'bg.qian': '乾',
  6973. 'bg.kun': '坤',
  6974. 'bg.zhen': '震',
  6975. 'bg.xun': '巽',
  6976. 'bg.kan': '坎',
  6977. 'bg.li': '离',
  6978. 'bg.gen': '艮',
  6979. 'bg.dui': '兑',
  6980. 'ps.center': '中',
  6981. 'ps.dong': '东',
  6982. 'ps.nan': '南',
  6983. 'ps.xi': '西',
  6984. 'ps.bei': '北',
  6985. 'ps.zhong': '中宫',
  6986. 'ps.zhengDong': '正东',
  6987. 'ps.zhengNan': '正南',
  6988. 'ps.zhengXi': '正西',
  6989. 'ps.zhengBei': '正北',
  6990. 'ps.dongBei': '东北',
  6991. 'ps.dongNan': '东南',
  6992. 'ps.xiBei': '西北',
  6993. 'ps.xiNan': '西南',
  6994. 'ps.wai': '外',
  6995. 'ps.fangNei': '房内',
  6996. 'jq.dongZhi': '冬至',
  6997. 'jq.xiaoHan': '小寒',
  6998. 'jq.daHan': '大寒',
  6999. 'jq.liChun': '立春',
  7000. 'jq.yuShui': '雨水',
  7001. 'jq.jingZhe': '惊蛰',
  7002. 'jq.chunFen': '春分',
  7003. 'jq.qingMing': '清明',
  7004. 'jq.guYu': '谷雨',
  7005. 'jq.liXia': '立夏',
  7006. 'jq.xiaoMan': '小满',
  7007. 'jq.mangZhong': '芒种',
  7008. 'jq.xiaZhi': '夏至',
  7009. 'jq.xiaoShu': '小暑',
  7010. 'jq.daShu': '大暑',
  7011. 'jq.liQiu': '立秋',
  7012. 'jq.chuShu': '处暑',
  7013. 'jq.baiLu': '白露',
  7014. 'jq.qiuFen': '秋分',
  7015. 'jq.hanLu': '寒露',
  7016. 'jq.shuangJiang': '霜降',
  7017. 'jq.liDong': '立冬',
  7018. 'jq.xiaoXue': '小雪',
  7019. 'jq.daXue': '大雪',
  7020. 'sn.qingLong': '青龙',
  7021. 'sn.baiHu': '白虎',
  7022. 'sn.zhuQue': '朱雀',
  7023. 'sn.xuanWu': '玄武',
  7024. 'sn.mingTang': '明堂',
  7025. 'sn.tianXing': '天刑',
  7026. 'sn.tianDe': '天德',
  7027. 'sn.jinKui': '金匮',
  7028. 'sn.yuTang': '玉堂',
  7029. 'sn.siMing': '司命',
  7030. 'sn.tianLao': '天牢',
  7031. 'sn.gouChen': '勾陈',
  7032. 'sn.tianEn': '天恩',
  7033. 'sn.muCang': '母仓',
  7034. 'sn.shiYang': '时阳',
  7035. 'sn.shengQi': '生气',
  7036. 'sn.yiHou': '益后',
  7037. 'sn.zaiSha': '灾煞',
  7038. 'sn.tianHuo': '天火',
  7039. 'sn.siJi': '四忌',
  7040. 'sn.baLong': '八龙',
  7041. 'sn.fuRi': '复日',
  7042. 'sn.xuShi': '续世',
  7043. 'sn.yueSha': '月煞',
  7044. 'sn.yueXu': '月虚',
  7045. 'sn.xueZhi': '血支',
  7046. 'sn.tianZei': '天贼',
  7047. 'sn.wuXu': '五虚',
  7048. 'sn.tuFu': '土符',
  7049. 'sn.guiJi': '归忌',
  7050. 'sn.xueJi': '血忌',
  7051. 'sn.yueDe': '月德',
  7052. 'sn.yueEn': '月恩',
  7053. 'sn.siXiang': '四相',
  7054. 'sn.wangRi': '王日',
  7055. 'sn.tianCang': '天仓',
  7056. 'sn.buJiang': '不将',
  7057. 'sn.wuHe': '五合',
  7058. 'sn.mingFeiDui': '鸣吠对',
  7059. 'sn.yueJian': '月建',
  7060. 'sn.xiaoShi': '小时',
  7061. 'sn.tuHu': '土府',
  7062. 'sn.wangWang': '往亡',
  7063. 'sn.yaoAn': '要安',
  7064. 'sn.siShen': '死神',
  7065. 'sn.tianMa': '天马',
  7066. 'sn.jiuHu': '九虎',
  7067. 'sn.qiNiao': '七鸟',
  7068. 'sn.liuShe': '六蛇',
  7069. 'sn.guanRi': '官日',
  7070. 'sn.jiQi': '吉期',
  7071. 'sn.yuYu': '玉宇',
  7072. 'sn.daShi': '大时',
  7073. 'sn.daBai': '大败',
  7074. 'sn.xianChi': '咸池',
  7075. 'sn.shouRi': '守日',
  7076. 'sn.tianWu': '天巫',
  7077. 'sn.fuDe': '福德',
  7078. 'sn.liuYi': '六仪',
  7079. 'sn.jinTang': '金堂',
  7080. 'sn.yanDui': '厌对',
  7081. 'sn.zhaoYao': '招摇',
  7082. 'sn.jiuKong': '九空',
  7083. 'sn.jiuKan': '九坎',
  7084. 'sn.jiuJiao': '九焦',
  7085. 'sn.xiangRi': '相日',
  7086. 'sn.baoGuang': '宝光',
  7087. 'sn.tianGang': '天罡',
  7088. 'sn.yueXing': '月刑',
  7089. 'sn.yueHai': '月害',
  7090. 'sn.youHuo': '游祸',
  7091. 'sn.chongRi': '重日',
  7092. 'sn.shiDe': '时德',
  7093. 'sn.minRi': '民日',
  7094. 'sn.sanHe': '三合',
  7095. 'sn.linRi': '临日',
  7096. 'sn.shiYin': '时阴',
  7097. 'sn.mingFei': '鸣吠',
  7098. 'sn.siQi': '死气',
  7099. 'sn.diNang': '地囊',
  7100. 'sn.yueDeHe': '月德合',
  7101. 'sn.jingAn': '敬安',
  7102. 'sn.puHu': '普护',
  7103. 'sn.jieShen': '解神',
  7104. 'sn.xiaoHao': '小耗',
  7105. 'sn.tianDeHe': '天德合',
  7106. 'sn.yueKong': '月空',
  7107. 'sn.yiMa': '驿马',
  7108. 'sn.tianHou': '天后',
  7109. 'sn.chuShen': '除神',
  7110. 'sn.yuePo': '月破',
  7111. 'sn.daHao': '大耗',
  7112. 'sn.wuLi': '五离',
  7113. 'sn.yinDe': '阴德',
  7114. 'sn.fuSheng': '福生',
  7115. 'sn.tianLi': '天吏',
  7116. 'sn.zhiSi': '致死',
  7117. 'sn.yuanWu': '元武',
  7118. 'sn.yangDe': '阳德',
  7119. 'sn.tianXi': '天喜',
  7120. 'sn.tianYi': '天医',
  7121. 'sn.yueYan': '月厌',
  7122. 'sn.diHuo': '地火',
  7123. 'sn.fourHit': '四击',
  7124. 'sn.daSha': '大煞',
  7125. 'sn.daHui': '大会',
  7126. 'sn.tianYuan': '天愿',
  7127. 'sn.liuHe': '六合',
  7128. 'sn.wuFu': '五富',
  7129. 'sn.shengXin': '圣心',
  7130. 'sn.heKui': '河魁',
  7131. 'sn.jieSha': '劫煞',
  7132. 'sn.siQiong': '四穷',
  7133. 'sn.chuShuiLong': '触水龙',
  7134. 'sn.baFeng': '八风',
  7135. 'sn.tianShe': '天赦',
  7136. 'sn.wuMu': '五墓',
  7137. 'sn.baZhuan': '八专',
  7138. 'sn.yinCuo': '阴错',
  7139. 'sn.siHao': '四耗',
  7140. 'sn.yangCuo': '阳错',
  7141. 'sn.siFei': '四废',
  7142. 'sn.sanYin': '三阴',
  7143. 'sn.xiaoHui': '小会',
  7144. 'sn.yinDaoChongYang': '阴道冲阳',
  7145. 'sn.danYin': '单阴',
  7146. 'sn.guChen': '孤辰',
  7147. 'sn.yinWei': '阴位',
  7148. 'sn.xingHen': '行狠',
  7149. 'sn.liaoLi': '了戾',
  7150. 'sn.jueYin': '绝阴',
  7151. 'sn.chunYang': '纯阳',
  7152. 'sn.suiBo': '岁薄',
  7153. 'sn.yinYangJiaoPo': '阴阳交破',
  7154. 'sn.yinYangJuCuo': '阴阳俱错',
  7155. 'sn.yinYangJiChong': '阴阳击冲',
  7156. 'sn.zhuZhen': '逐阵',
  7157. 'sn.yangCuoYinChong': '阳错阴冲',
  7158. 'sn.qiFu': '七符',
  7159. 'sn.tianGou': '天狗',
  7160. 'sn.chengRi': '成日',
  7161. 'sn.tianFu': '天符',
  7162. 'sn.guYang': '孤阳',
  7163. 'sn.jueYang': '绝阳',
  7164. 'sn.chunYin': '纯阴',
  7165. 'sn.yinShen': '阴神',
  7166. 'sn.jieChu': '解除',
  7167. 'sn.yangPoYinChong': '阳破阴冲',
  7168. 'ss.biJian': '比肩',
  7169. 'ss.jieCai': '劫财',
  7170. 'ss.shiShen': '食神',
  7171. 'ss.shangGuan': '伤官',
  7172. 'ss.pianCai': '偏财',
  7173. 'ss.zhengCai': '正财',
  7174. 'ss.qiSha': '七杀',
  7175. 'ss.zhengGuan': '正官',
  7176. 'ss.pianYin': '偏印',
  7177. 'ss.zhengYin': '正印',
  7178. 's.none': '无',
  7179. 's.huangDao': '黄道',
  7180. 's.heiDao': '黑道',
  7181. 's.goodLuck': '吉',
  7182. 's.badLuck': '凶',
  7183. 's.yin': '阴',
  7184. 's.yang': '阳',
  7185. 's.white': '白',
  7186. 's.black': '黑',
  7187. 's.blue': '碧',
  7188. 's.green': '绿',
  7189. 's.yellow': '黄',
  7190. 's.red': '赤',
  7191. 's.purple': '紫',
  7192. 'jr.chuXi': '除夕',
  7193. 'jr.chunJie': '春节',
  7194. 'jr.yuanXiao': '元宵节',
  7195. 'jr.longTou': '龙头节',
  7196. 'jr.duanWu': '端午节',
  7197. 'jr.qiXi': '七夕节',
  7198. 'jr.zhongQiu': '中秋节',
  7199. 'jr.chongYang': '重阳节',
  7200. 'jr.laBa': '腊八节',
  7201. 'jr.yuanDan': '元旦节',
  7202. 'jr.qingRen': '情人节',
  7203. 'jr.fuNv': '妇女节',
  7204. 'jr.zhiShu': '植树节',
  7205. 'jr.xiaoFei': '消费者权益日',
  7206. 'jr.wuYi': '劳动节',
  7207. 'jr.qingNian': '青年节',
  7208. 'jr.erTong': '儿童节',
  7209. 'jr.yuRen': '愚人节',
  7210. 'jr.jianDang': '建党节',
  7211. 'jr.jianJun': '建军节',
  7212. 'jr.jiaoShi': '教师节',
  7213. 'jr.guoQing': '国庆节',
  7214. 'jr.wanShengYe': '万圣节前夜',
  7215. 'jr.wanSheng': '万圣节',
  7216. 'jr.pingAn': '平安夜',
  7217. 'jr.shengDan': '圣诞节',
  7218. 'ds.changSheng': '长生',
  7219. 'ds.muYu': '沐浴',
  7220. 'ds.guanDai': '冠带',
  7221. 'ds.linGuan': '临官',
  7222. 'ds.diWang': '帝旺',
  7223. 'ds.shuai': '衰',
  7224. 'ds.bing': '病',
  7225. 'ds.si': '死',
  7226. 'ds.mu': '墓',
  7227. 'ds.jue': '绝',
  7228. 'ds.tai': '胎',
  7229. 'ds.yang': '养',
  7230. 'h.first': '初候',
  7231. 'h.second': '二候',
  7232. 'h.third': '三候',
  7233. 'h.qiuYinJie': '蚯蚓结',
  7234. 'h.miJiao': '麋角解',
  7235. 'h.shuiQuan': '水泉动',
  7236. 'h.yanBei': '雁北乡',
  7237. 'h.queShi': '鹊始巢',
  7238. 'h.zhiShi': '雉始雊',
  7239. 'h.jiShi': '鸡始乳',
  7240. 'h.zhengNiao': '征鸟厉疾',
  7241. 'h.shuiZe': '水泽腹坚',
  7242. 'h.dongFeng': '东风解冻',
  7243. 'h.zheChongShiZhen': '蛰虫始振',
  7244. 'h.yuZhi': '鱼陟负冰',
  7245. 'h.taJi': '獭祭鱼',
  7246. 'h.houYan': '候雁北',
  7247. 'h.caoMuMengDong': '草木萌动',
  7248. 'h.taoShi': '桃始华',
  7249. 'h.cangGeng': '仓庚鸣',
  7250. 'h.yingHua': '鹰化为鸠',
  7251. 'h.xuanNiaoZhi': '玄鸟至',
  7252. 'h.leiNai': '雷乃发声',
  7253. 'h.shiDian': '始电',
  7254. 'h.tongShi': '桐始华',
  7255. 'h.tianShu': '田鼠化为鴽',
  7256. 'h.hongShi': '虹始见',
  7257. 'h.pingShi': '萍始生',
  7258. 'h.mingJiu': '鸣鸠拂奇羽',
  7259. 'h.daiSheng': '戴胜降于桑',
  7260. 'h.louGuo': '蝼蝈鸣',
  7261. 'h.qiuYinChu': '蚯蚓出',
  7262. 'h.wangGua': '王瓜生',
  7263. 'h.kuCai': '苦菜秀',
  7264. 'h.miCao': '靡草死',
  7265. 'h.maiQiu': '麦秋至',
  7266. 'h.tangLang': '螳螂生',
  7267. 'h.juShi': '鵙始鸣',
  7268. 'h.fanShe': '反舌无声',
  7269. 'h.luJia': '鹿角解',
  7270. 'h.tiaoShi': '蜩始鸣',
  7271. 'h.banXia': '半夏生',
  7272. 'h.wenFeng': '温风至',
  7273. 'h.xiShuai': '蟋蟀居壁',
  7274. 'h.yingShi': '鹰始挚',
  7275. 'h.fuCao': '腐草为萤',
  7276. 'h.tuRun': '土润溽暑',
  7277. 'h.daYu': '大雨行时',
  7278. 'h.liangFeng': '凉风至',
  7279. 'h.baiLu': '白露降',
  7280. 'h.hanChan': '寒蝉鸣',
  7281. 'h.yingNai': '鹰乃祭鸟',
  7282. 'h.tianDi': '天地始肃',
  7283. 'h.heNai': '禾乃登',
  7284. 'h.hongYanLai': '鸿雁来',
  7285. 'h.xuanNiaoGui': '玄鸟归',
  7286. 'h.qunNiao': '群鸟养羞',
  7287. 'h.leiShi': '雷始收声',
  7288. 'h.zheChongPiHu': '蛰虫坯户',
  7289. 'h.shuiShiHe': '水始涸',
  7290. 'h.hongYanLaiBin': '鸿雁来宾',
  7291. 'h.queRu': '雀入大水为蛤',
  7292. 'h.juYou': '菊有黄花',
  7293. 'h.caiNai': '豺乃祭兽',
  7294. 'h.caoMuHuangLuo': '草木黄落',
  7295. 'h.zheChongXianFu': '蛰虫咸俯',
  7296. 'h.shuiShiBing': '水始冰',
  7297. 'h.diShi': '地始冻',
  7298. 'h.zhiRu': '雉入大水为蜃',
  7299. 'h.hongCang': '虹藏不见',
  7300. 'h.tianQi': '天气上升地气下降',
  7301. 'h.biSe': '闭塞而成冬',
  7302. 'h.heDan': '鹖鴠不鸣',
  7303. 'h.huShi': '虎始交',
  7304. 'h.liTing': '荔挺出',
  7305. 'ts.zhan': '占',
  7306. 'ts.hu': '户',
  7307. 'ts.win': '窗',
  7308. 'ts.fang': '房',
  7309. 'ts.chuang': '床',
  7310. 'ts.lu': '炉',
  7311. 'ts.zao': '灶',
  7312. 'ts.dui': '碓',
  7313. 'ts.mo': '磨',
  7314. 'ts.xi': '栖',
  7315. 'ts.chu': '厨',
  7316. 'ts.ce': '厕',
  7317. 'ts.cang': '仓',
  7318. 'ts.cangKu': '仓库',
  7319. 'ts.daMen': '大门',
  7320. 'ts.men': '门',
  7321. 'ts.tang': '堂',
  7322. 'ly.xianSheng': '先胜',
  7323. 'ly.xianFu': '先负',
  7324. 'ly.youYin': '友引',
  7325. 'ly.foMie': '佛灭',
  7326. 'ly.daAn': '大安',
  7327. 'ly.chiKou': '赤口',
  7328. 'yj.jiSi': '祭祀',
  7329. 'yj.qiFu': '祈福',
  7330. 'yj.qiuSi': '求嗣',
  7331. 'yj.kaiGuang': '开光',
  7332. 'yj.suHui': '塑绘',
  7333. 'yj.qiJiao': '齐醮',
  7334. 'yj.zhaiJiao': '斋醮',
  7335. 'yj.muYu': '沐浴',
  7336. 'yj.chouShen': '酬神',
  7337. 'yj.zaoMiao': '造庙',
  7338. 'yj.siZhao': '祀灶',
  7339. 'yj.fenXiang': '焚香',
  7340. 'yj.xieTu': '谢土',
  7341. 'yj.chuHuo': '出火',
  7342. 'yj.diaoKe': '雕刻',
  7343. 'yj.jiaQu': '嫁娶',
  7344. 'yj.DingHun': '订婚',
  7345. 'yj.naCai': '纳采',
  7346. 'yj.wenMing': '问名',
  7347. 'yj.naXu': '纳婿',
  7348. 'yj.guiNing': '归宁',
  7349. 'yj.anChuang': '安床',
  7350. 'yj.heZhang': '合帐',
  7351. 'yj.guanJi': '冠笄',
  7352. 'yj.dingMeng': '订盟',
  7353. 'yj.jinRenKou': '进人口',
  7354. 'yj.caiYi': '裁衣',
  7355. 'yj.wanMian': '挽面',
  7356. 'yj.kaiRong': '开容',
  7357. 'yj.xiuFen': '修坟',
  7358. 'yj.qiZuan': '启钻',
  7359. 'yj.poTu': '破土',
  7360. 'yj.anZang': '安葬',
  7361. 'yj.liBei': '立碑',
  7362. 'yj.chengFu': '成服',
  7363. 'yj.chuFu': '除服',
  7364. 'yj.kaiShengFen': '开生坟',
  7365. 'yj.heShouMu': '合寿木',
  7366. 'yj.ruLian': '入殓',
  7367. 'yj.yiJiu': '移柩',
  7368. 'yj.puDu': '普渡',
  7369. 'yj.ruZhai': '入宅',
  7370. 'yj.anXiang': '安香',
  7371. 'yj.anMen': '安门',
  7372. 'yj.xiuZao': '修造',
  7373. 'yj.qiJi': '起基',
  7374. 'yj.dongTu': '动土',
  7375. 'yj.shangLiang': '上梁',
  7376. 'yj.shuZhu': '竖柱',
  7377. 'yj.kaiJing': '开井开池',
  7378. 'yj.zuoBei': '作陂放水',
  7379. 'yj.chaiXie': '拆卸',
  7380. 'yj.poWu': '破屋',
  7381. 'yj.huaiYuan': '坏垣',
  7382. 'yj.buYuan': '补垣',
  7383. 'yj.faMuZuoLiang': '伐木做梁',
  7384. 'yj.zuoZhao': '作灶',
  7385. 'yj.jieChu': '解除',
  7386. 'yj.kaiZhuYan': '开柱眼',
  7387. 'yj.chuanPing': '穿屏扇架',
  7388. 'yj.gaiWuHeJi': '盖屋合脊',
  7389. 'yj.kaiCe': '开厕',
  7390. 'yj.zaoCang': '造仓',
  7391. 'yj.saiXue': '塞穴',
  7392. 'yj.pingZhi': '平治道涂',
  7393. 'yj.zaoQiao': '造桥',
  7394. 'yj.zuoCe': '作厕',
  7395. 'yj.zhuDi': '筑堤',
  7396. 'yj.kaiChi': '开池',
  7397. 'yj.faMu': '伐木',
  7398. 'yj.kaiQu': '开渠',
  7399. 'yj.jueJing': '掘井',
  7400. 'yj.saoShe': '扫舍',
  7401. 'yj.fangShui': '放水',
  7402. 'yj.zaoWu': '造屋',
  7403. 'yj.heJi': '合脊',
  7404. 'yj.zaoChuChou': '造畜稠',
  7405. 'yj.xiuMen': '修门',
  7406. 'yj.dingSang': '定磉',
  7407. 'yj.zuoLiang': '作梁',
  7408. 'yj.xiuShi': '修饰垣墙',
  7409. 'yj.jiaMa': '架马',
  7410. 'yj.kaiShi': '开市',
  7411. 'yj.guaBian': '挂匾',
  7412. 'yj.naChai': '纳财',
  7413. 'yj.qiuCai': '求财',
  7414. 'yj.kaiCang': '开仓',
  7415. 'yj.maiChe': '买车',
  7416. 'yj.zhiChan': '置产',
  7417. 'yj.guYong': '雇庸',
  7418. 'yj.chuHuoCai': '出货财',
  7419. 'yj.anJiXie': '安机械',
  7420. 'yj.zaoCheQi': '造车器',
  7421. 'yj.jingLuo': '经络',
  7422. 'yj.yunNiang': '酝酿',
  7423. 'yj.zuoRan': '作染',
  7424. 'yj.guZhu': '鼓铸',
  7425. 'yj.zaoChuan': '造船',
  7426. 'yj.geMi': '割蜜',
  7427. 'yj.zaiZhong': '栽种',
  7428. 'yj.quYu': '取渔',
  7429. 'yj.jieWang': '结网',
  7430. 'yj.muYang': '牧养',
  7431. 'yj.anDuiWei': '安碓磑',
  7432. 'yj.xiYi': '习艺',
  7433. 'yj.ruXue': '入学',
  7434. 'yj.liFa': '理发',
  7435. 'yj.tanBing': '探病',
  7436. 'yj.jianGui': '见贵',
  7437. 'yj.chengChuan': '乘船',
  7438. 'yj.duShui': '渡水',
  7439. 'yj.zhenJiu': '针灸',
  7440. 'yj.chuXing': '出行',
  7441. 'yj.yiXi': '移徙',
  7442. 'yj.fenJu': '分居',
  7443. 'yj.TiTou': '剃头',
  7444. 'yj.zhengShou': '整手足甲',
  7445. 'yj.naChu': '纳畜',
  7446. 'yj.buZhuo': '捕捉',
  7447. 'yj.tianLie': '畋猎',
  7448. 'yj.jiaoNiuMa': '教牛马',
  7449. 'yj.huiQinYou': '会亲友',
  7450. 'yj.fuRen': '赴任',
  7451. 'yj.qiuYi': '求医',
  7452. 'yj.zhiBing': '治病',
  7453. 'yj.ciSong': '词讼',
  7454. 'yj.qiJiDongTu': '起基动土',
  7455. 'yj.poWuHuaiYuan': '破屋坏垣',
  7456. 'yj.gaiWu': '盖屋',
  7457. 'yj.zaoCangKu': '造仓库',
  7458. 'yj.liQuanJiaoYi': '立券交易',
  7459. 'yj.jiaoYi': '交易',
  7460. 'yj.liQuan': '立券',
  7461. 'yj.anJi': '安机',
  7462. 'yj.huiYou': '会友',
  7463. 'yj.qiuYiLiaoBing': '求医疗病',
  7464. 'yj.zhuShi': '诸事不宜',
  7465. 'yj.yuShi': '馀事勿取',
  7466. 'yj.xingSang': '行丧',
  7467. 'yj.duanYi': '断蚁',
  7468. 'yj.guiXiu': '归岫',
  7469. 'xx.bi': '毕',
  7470. 'xx.yi': '翼',
  7471. 'xx.ji': '箕',
  7472. 'xx.kui': '奎',
  7473. 'xx.gui': '鬼',
  7474. 'xx.di': '氐',
  7475. 'xx.xu': '虚',
  7476. 'xx.wei': '危',
  7477. 'xx.zi': '觜',
  7478. 'xx.zhen': '轸',
  7479. 'xx.dou': '斗',
  7480. 'xx.lou': '娄',
  7481. 'xx.liu': '柳',
  7482. 'xx.fang': '房',
  7483. 'xx.xin': '心',
  7484. 'xx.shi': '室',
  7485. 'xx.can': '参',
  7486. 'xx.jiao': '角',
  7487. 'xx.niu': '牛',
  7488. 'xx.vei': '胃',
  7489. 'xx.xing': '星',
  7490. 'xx.zhang': '张',
  7491. 'xx.tail': '尾',
  7492. 'xx.qiang': '壁',
  7493. 'xx.jing': '井',
  7494. 'xx.kang': '亢',
  7495. 'xx.nv': '女',
  7496. 'xx.mao': '昴',
  7497. 'sz.chun': '春',
  7498. 'sz.xia': '夏',
  7499. 'sz.qiu': '秋',
  7500. 'sz.dong': '冬',
  7501. 'od.first': '孟',
  7502. 'od.second': '仲',
  7503. 'od.third': '季',
  7504. 'yx.shuo': '朔',
  7505. 'yx.jiShuo': '既朔',
  7506. 'yx.eMeiXin': '蛾眉新',
  7507. 'yx.eMei': '蛾眉',
  7508. 'yx.xi': '夕',
  7509. 'yx.shangXian': '上弦',
  7510. 'yx.jiuYe': '九夜',
  7511. 'yx.night': '宵',
  7512. 'yx.jianYingTu': '渐盈凸',
  7513. 'yx.xiaoWang': '小望',
  7514. 'yx.wang': '望',
  7515. 'yx.jiWang': '既望',
  7516. 'yx.liDai': '立待',
  7517. 'yx.juDai': '居待',
  7518. 'yx.qinDai': '寝待',
  7519. 'yx.gengDai': '更待',
  7520. 'yx.jianKuiTu': '渐亏凸',
  7521. 'yx.xiaXian': '下弦',
  7522. 'yx.youMing': '有明',
  7523. 'yx.eMeiCan': '蛾眉残',
  7524. 'yx.can': '残',
  7525. 'yx.xiao': '晓',
  7526. 'yx.hui': '晦',
  7527. 'ny.sangZhe': '桑柘',
  7528. 'ny.baiLa': '白蜡',
  7529. 'ny.yangLiu': '杨柳',
  7530. 'ny.jinBo': '金箔',
  7531. 'ny.haiZhong': '海中',
  7532. 'ny.daHai': '大海',
  7533. 'ny.shaZhong': '沙中',
  7534. 'ny.luZhong': '炉中',
  7535. 'ny.shanXia': '山下',
  7536. 'ny.daLin': '大林',
  7537. 'ny.pingDi': '平地',
  7538. 'ny.luPang': '路旁',
  7539. 'ny.biShang': '壁上',
  7540. 'ny.jianFeng': '剑锋',
  7541. 'ny.shanTou': '山头',
  7542. 'ny.fuDeng': '覆灯',
  7543. 'ny.jianXia': '涧下',
  7544. 'ny.tianHe': '天河',
  7545. 'ny.chengTou': '城头',
  7546. 'ny.daYi': '大驿',
  7547. 'ny.chaiChuan': '钗钏',
  7548. 'ny.quanZhong': '泉中',
  7549. 'ny.daXi': '大溪',
  7550. 'ny.wuShang': '屋上',
  7551. 'ny.piLi': '霹雳',
  7552. 'ny.tianShang': '天上',
  7553. 'ny.songBo': '松柏',
  7554. 'ny.shiLiu': '石榴',
  7555. 'ny.changLiu': '长流'
  7556. },
  7557. 'en': {
  7558. 'tg.jia': 'Jia',
  7559. 'tg.yi': 'Yi',
  7560. 'tg.bing': 'Bing',
  7561. 'tg.ding': 'Ding',
  7562. 'tg.wu': 'Wu',
  7563. 'tg.ji': 'Ji',
  7564. 'tg.geng': 'Geng',
  7565. 'tg.xin': 'Xin',
  7566. 'tg.ren': 'Ren',
  7567. 'tg.gui': 'Gui',
  7568. 'dz.zi': 'Zi',
  7569. 'dz.chou': 'Chou',
  7570. 'dz.yin': 'Yin',
  7571. 'dz.mao': 'Mao',
  7572. 'dz.chen': 'Chen',
  7573. 'dz.si': 'Si',
  7574. 'dz.wu': 'Wu',
  7575. 'dz.wei': 'Wei',
  7576. 'dz.shen': 'Shen',
  7577. 'dz.you': 'You',
  7578. 'dz.xu': 'Xu',
  7579. 'dz.hai': 'Hai',
  7580. 'zx.jian': 'Build',
  7581. 'zx.chu': 'Remove',
  7582. 'zx.man': 'Full',
  7583. 'zx.ping': 'Flat',
  7584. 'zx.ding': 'Stable',
  7585. 'zx.zhi': 'Hold',
  7586. 'zx.po': 'Break',
  7587. 'zx.wei': 'Danger',
  7588. 'zx.cheng': 'Complete',
  7589. 'zx.shou': 'Collect',
  7590. 'zx.kai': 'Open',
  7591. 'zx.bi': 'Close',
  7592. 'jz.jiaZi': 'JiaZi',
  7593. 'jz.yiChou': 'YiChou',
  7594. 'jz.bingYin': 'BingYin',
  7595. 'jz.dingMao': 'DingMao',
  7596. 'jz.wuChen': 'WuChen',
  7597. 'jz.jiSi': 'JiSi',
  7598. 'jz.gengWu': 'GengWu',
  7599. 'jz.xinWei': 'XinWei',
  7600. 'jz.renShen': 'RenShen',
  7601. 'jz.guiYou': 'GuiYou',
  7602. 'jz.jiaXu': 'JiaXu',
  7603. 'jz.yiHai': 'YiHai',
  7604. 'jz.bingZi': 'BingZi',
  7605. 'jz.dingChou': 'DingChou',
  7606. 'jz.wuYin': 'WuYin',
  7607. 'jz.jiMao': 'JiMao',
  7608. 'jz.gengChen': 'GengChen',
  7609. 'jz.xinSi': 'XinSi',
  7610. 'jz.renWu': 'RenWu',
  7611. 'jz.guiWei': 'GuiWei',
  7612. 'jz.jiaShen': 'JiaShen',
  7613. 'jz.yiYou': 'YiYou',
  7614. 'jz.bingXu': 'BingXu',
  7615. 'jz.dingHai': 'DingHai',
  7616. 'jz.wuZi': 'WuZi',
  7617. 'jz.jiChou': 'JiChou',
  7618. 'jz.gengYin': 'GengYin',
  7619. 'jz.xinMao': 'XinMao',
  7620. 'jz.renChen': 'RenChen',
  7621. 'jz.guiSi': 'GuiSi',
  7622. 'jz.jiaWu': 'JiaWu',
  7623. 'jz.yiWei': 'YiWei',
  7624. 'jz.bingShen': 'BingShen',
  7625. 'jz.dingYou': 'DingYou',
  7626. 'jz.wuXu': 'WuXu',
  7627. 'jz.jiHai': 'JiHai',
  7628. 'jz.gengZi': 'GengZi',
  7629. 'jz.xinChou': 'XinChou',
  7630. 'jz.renYin': 'RenYin',
  7631. 'jz.guiMao': 'GuiMao',
  7632. 'jz.jiaChen': 'JiaChen',
  7633. 'jz.yiSi': 'YiSi',
  7634. 'jz.bingWu': 'BingWu',
  7635. 'jz.dingWei': 'DingWei',
  7636. 'jz.wuShen': 'WuShen',
  7637. 'jz.jiYou': 'JiYou',
  7638. 'jz.gengXu': 'GengXu',
  7639. 'jz.xinHai': 'XinHai',
  7640. 'jz.renZi': 'RenZi',
  7641. 'jz.guiChou': 'GuiChou',
  7642. 'jz.jiaYin': 'JiaYin',
  7643. 'jz.yiMao': 'YiMao',
  7644. 'jz.bingChen': 'BingChen',
  7645. 'jz.dingSi': 'DingSi',
  7646. 'jz.wuWu': 'WuWu',
  7647. 'jz.jiWei': 'JiWei',
  7648. 'jz.gengShen': 'GengShen',
  7649. 'jz.xinYou': 'XinYou',
  7650. 'jz.renXu': 'RenXu',
  7651. 'jz.guiHai': 'GuiHai',
  7652. 'sx.rat': 'Rat',
  7653. 'sx.ox': 'Ox',
  7654. 'sx.tiger': 'Tiger',
  7655. 'sx.rabbit': 'Rabbit',
  7656. 'sx.dragon': 'Dragon',
  7657. 'sx.snake': 'Snake',
  7658. 'sx.horse': 'Horse',
  7659. 'sx.goat': 'Goat',
  7660. 'sx.monkey': 'Monkey',
  7661. 'sx.rooster': 'Rooster',
  7662. 'sx.dog': 'Dog',
  7663. 'sx.pig': 'Pig',
  7664. 'dw.long': 'Dragon',
  7665. 'dw.niu': 'Ox',
  7666. 'dw.gou': 'Dog',
  7667. 'dw.yang': 'Goat',
  7668. 'dw.tu': 'Rabbit',
  7669. 'dw.shu': 'Rat',
  7670. 'dw.ji': 'Rooster',
  7671. 'dw.ma': 'Horse',
  7672. 'dw.hu': 'Tiger',
  7673. 'dw.zhu': 'Pig',
  7674. 'dw.hou': 'Monkey',
  7675. 'dw.she': 'Snake',
  7676. 'dw.huLi': 'Fox',
  7677. 'dw.yan': 'Swallow',
  7678. 'dw.bao': 'Leopard',
  7679. 'dw.yuan': 'Ape',
  7680. 'dw.yin': 'Earthworm',
  7681. 'dw.lu': 'Deer',
  7682. 'dw.wu': 'Crow',
  7683. 'dw.lang': 'Wolf',
  7684. 'dw.fu': 'Bat',
  7685. 'wx.jin': 'Metal',
  7686. 'wx.mu': 'Wood',
  7687. 'wx.shui': 'Water',
  7688. 'wx.huo': 'Fire',
  7689. 'wx.tu': 'Earth',
  7690. 'wx.ri': 'Sun',
  7691. 'wx.yue': 'Moon',
  7692. 'n.zero': '0',
  7693. 'n.one': '1',
  7694. 'n.two': '2',
  7695. 'n.three': '3',
  7696. 'n.four': '4',
  7697. 'n.five': '5',
  7698. 'n.six': '6',
  7699. 'n.seven': '7',
  7700. 'n.eight': '8',
  7701. 'n.nine': '9',
  7702. 'n.ten': '10',
  7703. 'n.eleven': '11',
  7704. 'n.twelve': '12',
  7705. 'w.sun': 'Sunday',
  7706. 'w.mon': 'Monday',
  7707. 'w.tues': 'Tuesday',
  7708. 'w.wed': 'Wednesday',
  7709. 'w.thur': 'Thursday',
  7710. 'w.fri': 'Friday',
  7711. 'w.sat': 'Saturday',
  7712. 'xz.aries': 'Aries',
  7713. 'xz.taurus': 'Taurus',
  7714. 'xz.gemini': 'Gemini',
  7715. 'xz.cancer': 'Cancer',
  7716. 'xz.leo': 'Leo',
  7717. 'xz.virgo': 'Virgo',
  7718. 'xz.libra': 'Libra',
  7719. 'xz.scorpio': 'Scorpio',
  7720. 'xz.sagittarius': 'Sagittarius',
  7721. 'xz.capricornus': 'Capricornus',
  7722. 'xz.aquarius': 'Aquarius',
  7723. 'xz.pisces': 'Pisces',
  7724. 'bg.qian': 'Qian',
  7725. 'bg.kun': 'Kun',
  7726. 'bg.zhen': 'Zhen',
  7727. 'bg.xun': 'Xun',
  7728. 'bg.kan': 'Kan',
  7729. 'bg.li': 'Li',
  7730. 'bg.gen': 'Gen',
  7731. 'bg.dui': 'Dui',
  7732. 'ps.center': 'Center',
  7733. 'ps.dong': 'East',
  7734. 'ps.nan': 'South',
  7735. 'ps.xi': 'West',
  7736. 'ps.bei': 'North',
  7737. 'ps.zhong': 'Center',
  7738. 'ps.zhengDong': 'East',
  7739. 'ps.zhengNan': 'South',
  7740. 'ps.zhengXi': 'West',
  7741. 'ps.zhengBei': 'North',
  7742. 'ps.dongBei': 'Northeast',
  7743. 'ps.dongNan': 'Southeast',
  7744. 'ps.xiBei': 'Northwest',
  7745. 'ps.xiNan': 'Southwest',
  7746. 'jq.dongZhi': 'Winter Solstice',
  7747. 'jq.xiaoHan': 'Lesser Cold',
  7748. 'jq.daHan': 'Great Cold',
  7749. 'jq.liChun': 'Spring Beginning',
  7750. 'jq.yuShui': 'Rain Water',
  7751. 'jq.jingZhe': 'Awakening from Hibernation',
  7752. 'jq.chunFen': 'Spring Equinox',
  7753. 'jq.qingMing': 'Fresh Green',
  7754. 'jq.guYu': 'Grain Rain',
  7755. 'jq.liXia': 'Beginning of Summer',
  7756. 'jq.xiaoMan': 'Lesser Fullness',
  7757. 'jq.mangZhong': 'Grain in Ear',
  7758. 'jq.xiaZhi': 'Summer Solstice',
  7759. 'jq.xiaoShu': 'Lesser Heat',
  7760. 'jq.daShu': 'Greater Heat',
  7761. 'jq.liQiu': 'Beginning of Autumn',
  7762. 'jq.chuShu': 'End of Heat',
  7763. 'jq.baiLu': 'White Dew',
  7764. 'jq.qiuFen': 'Autumnal Equinox',
  7765. 'jq.hanLu': 'Cold Dew',
  7766. 'jq.shuangJiang': 'First Frost',
  7767. 'jq.liDong': 'Beginning of Winter',
  7768. 'jq.xiaoXue': 'Light Snow',
  7769. 'jq.daXue': 'Heavy Snow',
  7770. 'sn.qingLong': 'Azure Dragon',
  7771. 'sn.baiHu': 'White Tiger',
  7772. 'sn.zhuQue': 'Rosefinch',
  7773. 'sn.xuanWu': 'Black Tortoise',
  7774. 'sn.tianEn': 'Serene Grace',
  7775. 'sn.siShen': 'Death',
  7776. 'sn.tianMa': 'Pegasus',
  7777. 'sn.baLong': 'Eight Dragon',
  7778. 'sn.jiuHu': 'Nine Tiger',
  7779. 'sn.qiNiao': 'Seven Bird',
  7780. 'sn.liuShe': 'Six Snake',
  7781. 's.none': 'None',
  7782. 's.goodLuck': 'Good luck',
  7783. 's.badLuck': 'Bad luck',
  7784. 's.yin': 'Yin',
  7785. 's.yang': 'Yang',
  7786. 's.white': 'White',
  7787. 's.black': 'Black',
  7788. 's.blue': 'Blue',
  7789. 's.green': 'Green',
  7790. 's.yellow': 'Yellow',
  7791. 's.red': 'Red',
  7792. 's.purple': 'Purple',
  7793. 'jr.chuXi': 'Chinese New Year\'s Eve',
  7794. 'jr.chunJie': 'Luna New Year',
  7795. 'jr.yuanXiao': 'Lantern Festival',
  7796. 'jr.duanWu': 'Dragon Boat Festival',
  7797. 'jr.qiXi': 'Begging Festival',
  7798. 'jr.zhongQiu': 'Mid-Autumn Festival',
  7799. 'jr.laBa': 'Laba Festival',
  7800. 'jr.yuanDan': 'New Year\'s Day',
  7801. 'jr.qingRen': 'Valentine\'s Day',
  7802. 'jr.fuNv': 'Women\'s Day',
  7803. 'jr.xiaoFei': 'Consumer Rights Day',
  7804. 'jr.zhiShu': 'Arbor Day',
  7805. 'jr.wuYi': 'International Worker\'s Day',
  7806. 'jr.erTong': 'Children\'s Day',
  7807. 'jr.qingNian': 'Youth Day',
  7808. 'jr.yuRen': 'April Fools\' Day',
  7809. 'jr.jianDang': 'Party\'s Day',
  7810. 'jr.jianJun': 'Army Day',
  7811. 'jr.jiaoShi': 'Teachers\' Day',
  7812. 'jr.guoQing': 'National Day',
  7813. 'jr.wanShengYe': 'All Saints\' Eve',
  7814. 'jr.wanSheng': 'All Saints\' Day',
  7815. 'jr.pingAn': 'Christmas Eve',
  7816. 'jr.shengDan': 'Christmas Day',
  7817. 'ts.zhan': 'At',
  7818. 'ts.hu': 'Household',
  7819. 'ts.zao': 'Cooker',
  7820. 'ts.dui': 'Pestle',
  7821. 'ts.xi': 'Habitat',
  7822. 'ts.win': 'Window',
  7823. 'ts.fang': 'Room',
  7824. 'ts.chuang': 'Bed',
  7825. 'ts.lu': 'Stove',
  7826. 'ts.mo': 'Mill',
  7827. 'ts.chu': 'Kitchen',
  7828. 'ts.ce': 'Toilet',
  7829. 'ts.cang': 'Depot',
  7830. 'ts.cangKu': 'Depot',
  7831. 'ts.daMen': 'Gate',
  7832. 'ts.men': 'Door',
  7833. 'ts.tang': 'Hall',
  7834. 'ly.xianSheng': 'Win first',
  7835. 'ly.xianFu': 'Lose first',
  7836. 'ly.youYin': 'Friend\'s referral',
  7837. 'ly.foMie': 'Buddhism\'s demise',
  7838. 'ly.daAn': 'Great safety',
  7839. 'ly.chiKou': 'Chikagoro',
  7840. 'yj.jiSi': 'Sacrifice',
  7841. 'yj.qiFu': 'Pray',
  7842. 'yj.qiuSi': 'Seek heirs',
  7843. 'yj.kaiGuang': 'Consecretion',
  7844. 'yj.suHui': 'Paint sculptural',
  7845. 'yj.qiJiao': 'Build altar',
  7846. 'yj.zhaiJiao': 'Taoist rites',
  7847. 'yj.muYu': 'Bathing',
  7848. 'yj.chouShen': 'Reward gods',
  7849. 'yj.zaoMiao': 'Build temple',
  7850. 'yj.siZhao': 'Offer kitchen god',
  7851. 'yj.fenXiang': 'Burn incense',
  7852. 'yj.xieTu': 'Earth gratitude',
  7853. 'yj.chuHuo': 'Expel the flame',
  7854. 'yj.diaoKe': 'Carving',
  7855. 'yj.jiaQu': 'Marriage',
  7856. 'yj.DingHun': 'Engagement',
  7857. 'yj.naCai': 'Proposing',
  7858. 'yj.wenMing': 'Ask name',
  7859. 'yj.naXu': 'Uxorilocal marriage',
  7860. 'yj.guiNing': 'Visit parents',
  7861. 'yj.anChuang': 'Bed placing',
  7862. 'yj.heZhang': 'Make up accounts',
  7863. 'yj.guanJi': 'Crowning adulthood',
  7864. 'yj.dingMeng': 'Make alliance',
  7865. 'yj.jinRenKou': 'Adopt',
  7866. 'yj.caiYi': 'Dressmaking',
  7867. 'yj.wanMian': 'Cosmeticsurgery',
  7868. 'yj.kaiRong': 'Open face',
  7869. 'yj.xiuFen': 'Grave repair',
  7870. 'yj.qiZuan': 'Open coffin',
  7871. 'yj.poTu': 'Break earth',
  7872. 'yj.anZang': 'Burial',
  7873. 'yj.liBei': 'Tombstone erecting',
  7874. 'yj.chengFu': 'Formation of clothes',
  7875. 'yj.chuFu': 'Mourning clothes removal',
  7876. 'yj.kaiShengFen': 'Open grave',
  7877. 'yj.heShouMu': 'Make coffin',
  7878. 'yj.ruLian': 'Body placing',
  7879. 'yj.yiJiu': 'Move coffin',
  7880. 'yj.puDu': 'Save soul',
  7881. 'yj.ruZhai': 'Enter house',
  7882. 'yj.anXiang': 'Incenst placement',
  7883. 'yj.anMen': 'Door placing',
  7884. 'yj.xiuZao': 'Repair',
  7885. 'yj.qiJi': 'Digging',
  7886. 'yj.dongTu': 'Break ground',
  7887. 'yj.shangLiang': 'Beam placing',
  7888. 'yj.shuZhu': 'Erecting pillars',
  7889. 'yj.kaiJing': 'Open pond and well',
  7890. 'yj.zuoBei': 'Make pond and fill water',
  7891. 'yj.chaiXie': 'Smash house',
  7892. 'yj.poWu': 'Break house',
  7893. 'yj.huaiYuan': 'Demolish',
  7894. 'yj.buYuan': 'Mending',
  7895. 'yj.faMuZuoLiang': 'Make beams',
  7896. 'yj.zuoZhao': 'Make stove',
  7897. 'yj.jieChu': 'Removal',
  7898. 'yj.kaiZhuYan': 'Build beam',
  7899. 'yj.chuanPing': 'Build door',
  7900. 'yj.gaiWuHeJi': 'Cover house',
  7901. 'yj.kaiCe': 'Open toilet',
  7902. 'yj.zaoCang': 'Build depot',
  7903. 'yj.saiXue': 'Block nest',
  7904. 'yj.pingZhi': 'Repair roads',
  7905. 'yj.zaoQiao': 'Build bridge',
  7906. 'yj.zuoCe': 'Build toilet',
  7907. 'yj.zhuDi': 'Fill',
  7908. 'yj.kaiChi': 'Open pond',
  7909. 'yj.faMu': 'Lumbering',
  7910. 'yj.kaiQu': 'Canalization',
  7911. 'yj.jueJing': 'Dig well',
  7912. 'yj.saoShe': 'Sweep house',
  7913. 'yj.fangShui': 'Drainage',
  7914. 'yj.zaoWu': 'Build house',
  7915. 'yj.heJi': 'Close ridge',
  7916. 'yj.zaoChuChou': 'Livestock thickening',
  7917. 'yj.xiuMen': 'Repair door',
  7918. 'yj.dingSang': 'Fix stone',
  7919. 'yj.zuoLiang': 'Beam construction',
  7920. 'yj.xiuShi': 'Decorate wall',
  7921. 'yj.jiaMa': 'Erect horse',
  7922. 'yj.kaiShi': 'Opening',
  7923. 'yj.guaBian': 'Hang plaque',
  7924. 'yj.naChai': 'Accept wealth',
  7925. 'yj.qiuCai': 'Seek wealth',
  7926. 'yj.kaiCang': 'Open depot',
  7927. 'yj.maiChe': 'Buy car',
  7928. 'yj.zhiChan': 'Buy property',
  7929. 'yj.guYong': 'Hire',
  7930. 'yj.chuHuoCai': 'Delivery',
  7931. 'yj.anJiXie': 'Build machine',
  7932. 'yj.zaoCheQi': 'Build car',
  7933. 'yj.jingLuo': 'Build loom',
  7934. 'yj.yunNiang': 'Brew',
  7935. 'yj.zuoRan': 'Dye',
  7936. 'yj.guZhu': 'Cast',
  7937. 'yj.zaoChuan': 'Build boat',
  7938. 'yj.geMi': 'Harvest honey',
  7939. 'yj.zaiZhong': 'Farming',
  7940. 'yj.quYu': 'Fishing',
  7941. 'yj.jieWang': 'Netting',
  7942. 'yj.muYang': 'Graze',
  7943. 'yj.anDuiWei': 'Build rub',
  7944. 'yj.xiYi': 'Learn',
  7945. 'yj.ruXue': 'Enter school',
  7946. 'yj.liFa': 'Haircut',
  7947. 'yj.tanBing': 'Visiting',
  7948. 'yj.jianGui': 'Meet noble',
  7949. 'yj.chengChuan': 'Ride boat',
  7950. 'yj.duShui': 'Cross water',
  7951. 'yj.zhenJiu': 'Acupuncture',
  7952. 'yj.chuXing': 'Travel',
  7953. 'yj.yiXi': 'Move',
  7954. 'yj.fenJu': 'Live apart',
  7955. 'yj.TiTou': 'Shave',
  7956. 'yj.zhengShou': 'Manicure',
  7957. 'yj.naChu': 'Feed livestock',
  7958. 'yj.buZhuo': 'Catch',
  7959. 'yj.tianLie': 'Hunt',
  7960. 'yj.jiaoNiuMa': 'Train horse',
  7961. 'yj.huiQinYou': 'Meet friends',
  7962. 'yj.fuRen': 'Go post',
  7963. 'yj.qiuYi': 'See doctor',
  7964. 'yj.zhiBing': 'Treat',
  7965. 'yj.ciSong': 'Litigation',
  7966. 'yj.qiJiDongTu': 'Lay foundation',
  7967. 'yj.poWuHuaiYuan': 'Demolish',
  7968. 'yj.gaiWu': 'Build house',
  7969. 'yj.zaoCangKu': 'Build depot',
  7970. 'yj.liQuanJiaoYi': 'Covenant trade',
  7971. 'yj.jiaoYi': 'Trade',
  7972. 'yj.liQuan': 'Covenant',
  7973. 'yj.anJi': 'Install machine',
  7974. 'yj.huiYou': 'Meet friends',
  7975. 'yj.qiuYiLiaoBing': 'Seek treatment',
  7976. 'yj.zhuShi': 'Everything Sucks',
  7977. 'yj.yuShi': 'Do nothing else',
  7978. 'yj.xingSang': 'Funeral',
  7979. 'yj.duanYi': 'Block ant hole',
  7980. 'yj.guiXiu': 'Place beam',
  7981. 'xx.bi': 'Finish',
  7982. 'xx.yi': 'Wing',
  7983. 'xx.ji': 'Sieve',
  7984. 'xx.kui': 'Qui',
  7985. 'xx.gui': 'Ghost',
  7986. 'xx.di': 'Foundation',
  7987. 'xx.xu': 'Virtual',
  7988. 'xx.wei': 'Danger',
  7989. 'xx.zi': 'Mouth',
  7990. 'xx.zhen': 'Cross-bar',
  7991. 'xx.dou': 'Fight',
  7992. 'xx.lou': 'Weak',
  7993. 'xx.liu': 'Willow',
  7994. 'xx.fang': 'House',
  7995. 'xx.xin': 'Heart',
  7996. 'xx.shi': 'Room',
  7997. 'xx.can': 'Join',
  7998. 'xx.jiao': 'Horn',
  7999. 'xx.niu': 'Ox',
  8000. 'xx.vei': 'Stomach',
  8001. 'xx.xing': 'Star',
  8002. 'xx.zhang': 'Chang',
  8003. 'xx.tail': 'Tail',
  8004. 'xx.qiang': 'Wall',
  8005. 'xx.jing': 'Well',
  8006. 'xx.kang': 'Kang',
  8007. 'xx.nv': 'Female',
  8008. 'xx.mao': 'Mao',
  8009. 'sz.chun': 'Spring',
  8010. 'sz.xia': 'Summer',
  8011. 'sz.qiu': 'Autumn',
  8012. 'sz.dong': 'Winter',
  8013. 'yx.shuo': 'New',
  8014. 'yx.eMeiXin': 'New waxing',
  8015. 'yx.eMei': 'Waxing',
  8016. 'yx.xi': 'Evening',
  8017. 'yx.shangXian': 'First quarter',
  8018. 'yx.jiuYe': 'Nine night',
  8019. 'yx.night': 'Night',
  8020. 'yx.jianYingTu': 'Gibbous',
  8021. 'yx.xiaoWang': 'Little full',
  8022. 'yx.wang': 'Full',
  8023. 'yx.jianKuiTu': 'Disseminating',
  8024. 'yx.xiaXian': 'Third quarter',
  8025. 'yx.eMeiCan': 'Waning waxing',
  8026. 'yx.can': 'Waning',
  8027. 'yx.xiao': 'Daybreak',
  8028. 'yx.hui': 'Obscure',
  8029. 'ny.sangZhe': 'Cudrania',
  8030. 'ny.baiLa': 'Wax',
  8031. 'ny.yangLiu': 'Willow',
  8032. 'ny.jinBo': 'Foil',
  8033. 'ny.haiZhong': 'Sea',
  8034. 'ny.daHai': 'Ocean',
  8035. 'ny.shaZhong': 'Sand',
  8036. 'ny.luZhong': 'Stove',
  8037. 'ny.shanXia': 'Piedmont',
  8038. 'ny.daLin': 'Forest',
  8039. 'ny.pingDi': 'Land',
  8040. 'ny.luPang': 'Roadside',
  8041. 'ny.biShang': 'Wall',
  8042. 'ny.jianFeng': 'Blade',
  8043. 'ny.shanTou': 'Hilltop',
  8044. 'ny.fuDeng': 'Light',
  8045. 'ny.jianXia': 'Valleyn',
  8046. 'ny.tianHe': 'River',
  8047. 'ny.chengTou': 'City',
  8048. 'ny.daYi': 'Post',
  8049. 'ny.chaiChuan': 'Ornaments',
  8050. 'ny.quanZhong': 'Spring',
  8051. 'ny.daXi': 'Stream',
  8052. 'ny.wuShang': 'Roof',
  8053. 'ny.piLi': 'Thunderbolt',
  8054. 'ny.tianShang': 'Sky',
  8055. 'ny.songBo': 'Coniferin',
  8056. 'ny.shiLiu': 'Pomegranate',
  8057. 'ny.changLiu': 'Flows'
  8058. }
  8059. };
  8060. var _objs = {
  8061. 'LunarUtil': LunarUtil,
  8062. 'SolarUtil': SolarUtil,
  8063. 'TaoUtil': TaoUtil,
  8064. 'FotoUtil': FotoUtil,
  8065. 'NineStarUtil': NineStarUtil
  8066. };
  8067. var _dictString = {
  8068. 'LunarUtil': {
  8069. 'TIAN_SHEN_TYPE': {},
  8070. 'TIAN_SHEN_TYPE_LUCK': {},
  8071. 'XIU_LUCK': {},
  8072. 'LU': {},
  8073. 'XIU': {},
  8074. 'SHA': {},
  8075. 'POSITION_DESC': {},
  8076. 'NAYIN': {},
  8077. 'WU_XING_GAN': {},
  8078. 'WU_XING_ZHI': {},
  8079. 'SHOU': {},
  8080. 'GONG': {},
  8081. 'FESTIVAL': {},
  8082. 'ZHENG': {},
  8083. 'ANIMAL': {},
  8084. 'SHI_SHEN_GAN': {},
  8085. 'SHI_SHEN_ZHI': {},
  8086. 'XIU_SONG': {}
  8087. },
  8088. 'SolarUtil': {
  8089. 'FESTIVAL': {}
  8090. },
  8091. 'TaoUtil': {
  8092. 'BA_HUI': {},
  8093. 'BA_JIE': {}
  8094. }
  8095. };
  8096. var _dictNumber = {
  8097. 'LunarUtil': {
  8098. 'ZHI_TIAN_SHEN_OFFSET': {},
  8099. 'CHANG_SHENG_OFFSET': {}
  8100. }
  8101. };
  8102. var _dictArray = {
  8103. 'LunarUtil': {
  8104. 'ZHI_HIDE_GAN': {}
  8105. }
  8106. };
  8107. var _arrays = {
  8108. 'LunarUtil': {
  8109. 'GAN': [],
  8110. 'ZHI': [],
  8111. 'JIA_ZI': [],
  8112. 'ZHI_XING': [],
  8113. 'XUN': [],
  8114. 'XUN_KONG': [],
  8115. 'CHONG': [],
  8116. 'CHONG_GAN': [],
  8117. 'CHONG_GAN_TIE': [],
  8118. 'HE_GAN_5': [],
  8119. 'HE_ZHI_6': [],
  8120. 'SHENGXIAO': [],
  8121. 'NUMBER': [],
  8122. 'POSITION_XI': [],
  8123. 'POSITION_YANG_GUI': [],
  8124. 'POSITION_YIN_GUI': [],
  8125. 'POSITION_FU': [],
  8126. 'POSITION_FU_2': [],
  8127. 'POSITION_CAI': [],
  8128. 'POSITION_TAI_SUI_YEAR': [],
  8129. 'POSITION_GAN': [],
  8130. 'POSITION_ZHI': [],
  8131. 'JIE_QI': [],
  8132. 'JIE_QI_IN_USE': [],
  8133. 'TIAN_SHEN': [],
  8134. 'SHEN_SHA': [],
  8135. 'PENGZU_GAN': [],
  8136. 'PENGZU_ZHI': [],
  8137. 'MONTH_ZHI': [],
  8138. 'CHANG_SHENG': [],
  8139. 'HOU': [],
  8140. 'WU_HOU': [],
  8141. 'POSITION_TAI_DAY': [],
  8142. 'POSITION_TAI_MONTH': [],
  8143. 'YI_JI': [],
  8144. 'LIU_YAO': [],
  8145. 'MONTH': [],
  8146. 'SEASON': [],
  8147. 'DAY': [],
  8148. 'YUE_XIANG': []
  8149. },
  8150. 'SolarUtil': {
  8151. 'WEEK': [],
  8152. 'XINGZUO': []
  8153. },
  8154. 'TaoUtil': {
  8155. 'AN_WU': []
  8156. },
  8157. 'FotoUtil': {
  8158. 'XIU_27': []
  8159. },
  8160. 'NineStarUtil': {
  8161. 'NUMBER': [],
  8162. 'WU_XING': [],
  8163. 'POSITION': [],
  8164. 'LUCK_XUAN_KONG': [],
  8165. 'YIN_YANG_QI_MEN': [],
  8166. 'COLOR': []
  8167. }
  8168. };
  8169. var _updateArray = function(c) {
  8170. var v = _arrays[c];
  8171. var o = _objs[c];
  8172. for (var k in v) {
  8173. var arr = v[k];
  8174. for (var i = 0, j = arr.length; i < j; i++) {
  8175. o[k][i] = arr[i].replace(/{(.[^}]*)}/g, ($0, $1) => {
  8176. return _getMessage($1);
  8177. });
  8178. }
  8179. }
  8180. };
  8181. var _updateStringDictionary = function(c) {
  8182. var v = _dictString[c];
  8183. var o = _objs[c];
  8184. for (var k in v) {
  8185. var dict = v[k];
  8186. for (var key in dict){
  8187. var i = key.replace(/{(.[^}]*)}/g, ($0, $1) => {
  8188. return _getMessage($1);
  8189. });
  8190. o[k][i] = dict[key].replace(/{(.[^}]*)}/g, ($0, $1) => {
  8191. return _getMessage($1);
  8192. });
  8193. }
  8194. }
  8195. };
  8196. var _updateNumberDictionary = function(c) {
  8197. var v = _dictNumber[c];
  8198. var o = _objs[c];
  8199. for (var k in v) {
  8200. var dict = v[k];
  8201. for (var key in dict){
  8202. var i = key.replace(/{(.[^}]*)}/g, ($0, $1) => {
  8203. return _getMessage($1);
  8204. });
  8205. o[k][i] = dict[key];
  8206. }
  8207. }
  8208. };
  8209. var _updateArrayDictionary = function(c) {
  8210. var v = _dictArray[c];
  8211. var o = _objs[c];
  8212. for (var k in v) {
  8213. var dict = v[k];
  8214. for (var key in dict){
  8215. var x = key.replace(/{(.[^}]*)}/g, ($0, $1) => {
  8216. return _getMessage($1);
  8217. });
  8218. var arr = dict[key];
  8219. for (var i = 0, j = arr.length; i < j; i++) {
  8220. arr[i] = arr[i].replace(/{(.[^}]*)}/g, ($0, $1) => {
  8221. return _getMessage($1);
  8222. });
  8223. }
  8224. o[k][x] = arr;
  8225. }
  8226. }
  8227. };
  8228. var _update = function() {
  8229. var c;
  8230. for (c in _arrays) {
  8231. _updateArray(c);
  8232. }
  8233. for (c in _dictString) {
  8234. _updateStringDictionary(c);
  8235. }
  8236. for (c in _dictNumber) {
  8237. _updateNumberDictionary(c);
  8238. }
  8239. for (c in _dictArray) {
  8240. _updateArrayDictionary(c);
  8241. }
  8242. };
  8243. var _setLanguage = function(lang) {
  8244. if (_messages[lang]) {
  8245. _lang = lang;
  8246. _update();
  8247. }
  8248. };
  8249. var _getLanguage = function() {
  8250. return _lang;
  8251. };
  8252. var _setMessages = function(lang, messages) {
  8253. if (!messages) {
  8254. return;
  8255. }
  8256. if (!_messages[lang]) {
  8257. _messages[lang] = {};
  8258. }
  8259. for (var key in messages) {
  8260. _messages[lang][key] = messages[key];
  8261. }
  8262. _update();
  8263. };
  8264. var _getMessage = function(key) {
  8265. var s = _messages[_lang][key];
  8266. if (undefined === s) {
  8267. s = _messages[_defaultLang][key];
  8268. }
  8269. if (undefined === s) {
  8270. s = key;
  8271. }
  8272. return s;
  8273. };
  8274. var _initArray = function(c) {
  8275. var v = _arrays[c];
  8276. var o = _objs[c];
  8277. for (var k in v) {
  8278. v[k].length = 0;
  8279. var arr = o[k];
  8280. for (var i = 0, j = arr.length; i < j; i++) {
  8281. v[k].push(arr[i]);
  8282. }
  8283. }
  8284. };
  8285. var _initDictionary = function(c, type) {
  8286. var v;
  8287. switch(type){
  8288. case 'string':
  8289. v = _dictString[c];
  8290. break;
  8291. case 'number':
  8292. v = _dictNumber[c];
  8293. break;
  8294. case 'array':
  8295. v = _dictArray[c];
  8296. break;
  8297. default:
  8298. }
  8299. var o = _objs[c];
  8300. for (var k in v) {
  8301. var dict = o[k];
  8302. for (var key in dict) {
  8303. v[k][key] = dict[key];
  8304. }
  8305. }
  8306. };
  8307. var _init = function() {
  8308. if (_inited) {
  8309. return;
  8310. }
  8311. _inited = true;
  8312. var c;
  8313. for (c in _arrays) {
  8314. _initArray(c);
  8315. }
  8316. for (c in _dictString) {
  8317. _initDictionary(c, 'string');
  8318. }
  8319. for (c in _dictNumber) {
  8320. _initDictionary(c, 'number');
  8321. }
  8322. for (c in _dictArray) {
  8323. _initDictionary(c, 'array');
  8324. }
  8325. _setLanguage(_defaultLang);
  8326. };
  8327. _init();
  8328. return {
  8329. getLanguage:function(){return _getLanguage();},
  8330. setLanguage:function(lang){_setLanguage(lang);},
  8331. getMessage:function(key){return _getMessage(key);},
  8332. setMessages:function(lang,messages){_setMessages(lang,messages);}
  8333. };
  8334. })();
  8335. return {
  8336. ShouXingUtil:ShouXingUtil,
  8337. SolarUtil:SolarUtil,
  8338. LunarUtil:LunarUtil,
  8339. FotoUtil:FotoUtil,
  8340. TaoUtil:TaoUtil,
  8341. NineStarUtil:NineStarUtil,
  8342. Solar:Solar,
  8343. Lunar:Lunar,
  8344. Foto:Foto,
  8345. Tao:Tao,
  8346. NineStar:NineStar,
  8347. EightChar:EightChar,
  8348. SolarWeek:SolarWeek,
  8349. SolarMonth:SolarMonth,
  8350. SolarSeason:SolarSeason,
  8351. SolarHalfYear:SolarHalfYear,
  8352. SolarYear:SolarYear,
  8353. LunarMonth:LunarMonth,
  8354. LunarYear:LunarYear,
  8355. LunarTime:LunarTime,
  8356. HolidayUtil:HolidayUtil,
  8357. I18n: I18n
  8358. };
  8359. });