dsh-metaphysics 0.66.0 → 0.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/client.almanac.js +25 -25
- package/client.chart.js +145 -135
- package/client.chenggu.js +25 -25
- package/client.convert.js +25 -25
- package/client.daliuren.js +102 -94
- package/client.fengshui.js +29 -29
- package/client.js +1 -1
- package/client.liuyao.js +85 -77
- package/client.mbti.js +26 -26
- package/client.name.js +70 -68
- package/client.numerology.js +27 -27
- package/client.qimen.js +95 -87
- package/client.star.js +30 -30
- package/client.tarot.js +109 -101
- package/client.xiaoliuren.js +27 -27
- package/client.zeri.js +24 -24
- package/engine/bazi.js +29 -0
- package/engine/geju.js +200 -0
- package/engine/hehua.js +185 -0
- package/engine/interpret.js +23 -0
- package/engine/plain-summary.js +23 -1
- package/package.json +1 -1
- package//345/221/275/347/220/206/346/216/222/347/233/230.html +469 -5
package/client.name.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.name.js",factory(
|
|
2
|
-
`);const
|
|
3
|
-
`)}const u=(i,h,m,x,M,H)=>({key:i,title:h,short:m,read:q=>{const hn=q[i]!==void 0?q[i]:q.schools&&q.schools[i];return H[hn]?hn:x},alt:q=>q===M?x:M,label:q=>H[q]||q}),r={bazi:[{key:"lateZi",title:"晚子时:23:00 后是否换日",short:"晚子时",read:i=>P(i.lateZi,!0),alt:i=>!i,label:i=>i?"换日":"不换日"},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:i=>P(i.trueSolar,!0),alt:i=>!i,label:i=>i?"修正":"不修正"}],ziwei:[{key:"leapMonth",title:"闰月归月:按日切分 / 整月归次月",short:"闰月归月",read:i=>i.leapMonth==="next"||i.leapMonth==="prev"?i.leapMonth:"split",alt:i=>i==="split"?"next":"split",label:i=>({split:"按日切分",next:"整月归次月",prev:"整月归本月"})[i]||i},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:i=>P(i.trueSolar,!0),alt:i=>!i,label:i=>i?"修正":"不修正"},u("brightnessSchool","亮度表:默认 / QS 七档","亮度表","default","QS",{default:"默认",QS:"QS(七档)",XD1:"XD1(七档)",ZZ:"ZZ(五档)",XD2:"XD2(五档)"}),u("gengYearSihua","庚干四化:阳武阴同 / 同科阴忌","庚干四化","GYWYT","GYWTY",{GYWYT:"阳武阴同",GYWTY:"同科阴忌",GYWFT:"府科同忌",GYWFX:"府科相忌",GYWTX:"同科相忌"}),u("tianmaSchool","天马:按年支 / 按生月","天马","year-branch","month-branch",{"year-branch":"年支","month-branch":"生月"}),u("tiankongSchool","天空:不排 / 年支顺行","天空","off","normal",{off:"不排",normal:"年支顺行","shun-jia-shi":"加生时"}),u("jiekongSchool","截空旬空:不排 / 正副双星","截空旬空","off","double",{off:"不排",single:"单星",double:"正副双星",zhanyan:"占验派"}),u("kuiyueSchool","魁钺:qs1 / qs2","魁钺","qs1","qs2",{qs1:"qs1",qs2:"qs2","zhong-yiming":"中一鸣"}),u("tianshiTianshang","天伤天使:常规 / 中州互换","天伤天使","normal","zhongzhou",{normal:"常规",zhongzhou:"中州(阴男阳女互换)"}),u("changshengSchool","长生:阴阳顺逆 / 火土起寅","长生","yin-yang-shun-ni","huo-tu",{"yin-yang-shun-ni":"阴阳顺逆","shui-tu":"水二","huo-tu":"火土(土五局起寅)"}),u("lateZishi","晚子时:归当日 / 归次日","晚子时","current-day","next-day",{"current-day":"归当日","next-day":"归次日","all-current":"全归当日","day-cur-time-next":"日归当日·时归次日"}),u("shenzhuSchool","身主:子午皆火星 / 子铃午火","身主","common","verse",{common:"子午皆火星",verse:"子铃午火(安身主诀逐字)"}),u("mingzhuSchool","命主取法:命宫地支 / 生年年支","命主取法","soul-branch","year-branch",{"soul-branch":"命宫地支(通行本)","year-branch":"生年年支(中州派)"}),u("zuoyaoSchool","杂曜:49 颗简盘 / 61 颗全表","杂曜全表","minimal","full",{minimal:"49 颗(简盘)",full:"61 颗(加十二颗杂曜)"}),u("liunianSihua","流年四化取干:流年天干 / 流年命宫宫干","流年四化取干","year-stem","life-palace-stem",{"year-stem":"流年天干","life-palace-stem":"流年命宫宫干"}),u("sihuaVariant","十干四化:通行表 / 变体整表替换","十干四化变体","default","廉破曲阳",{default:"各干通行表",廉破曲阳:"甲干 廉破曲阳",贪阴阳机:"戊干 贪阴阳机",阳武同阴:"庚干 阳武同阴",阳武府同:"庚干 阳武府同",阳武府相:"庚干 阳武府相",阳武同相:"庚干 阳武同相",巨阳武昌:"辛干 巨阳武昌",梁紫府武:"壬干 梁紫府武",梁紫相武:"壬干 梁紫相武",破巨阳贪:"癸干 破巨阳贪"}),u("jieluSchool","截路空亡:照常 / 不排(中州派)","截路空亡","off","zhongzhou",{off:"照常(截空/副截/旬空/副旬)",zhongzhou:"不排(中州派)"}),u("suipoSchool","岁前十二神:照常 / 大耗改岁破(中州派)","岁前十二神","off","zhongzhou",{off:"照常(大耗)",zhongzhou:"大耗改岁破"})],qimen:[{key:"juMethod",title:"取局流派:拆补 / 超神接气 / 置闰",short:"取局流派",read:i=>["chaibu","chaoshen","zhirun"].includes(i.juMethod)?i.juMethod:"chaibu",alt:i=>i==="chaibu"?"zhirun":"chaibu",label:i=>({chaibu:"拆补法",chaoshen:"超神接气",zhirun:"置闰法"})[i]||i},{key:"lateZiHourMode",title:"晚子时:23:00 后归当日 / 次日",short:"晚子时归日",read:i=>i.lateZiHourMode==="next-day"?"next-day":"same-day",alt:i=>i==="next-day"?"same-day":"next-day",label:i=>i==="next-day"?"归次日":"归当日"}]},z={bazi:[{path:"pillars.day.ganzhi",label:"日柱"},{path:"pillars.hour.ganzhi",label:"时柱"},{path:"strength.level",label:"旺衰"},{path:"frame.primaryName",label:"格局"},{path:"frame.yongshen.favor",label:"喜用"},{path:"dayun.jiao.at",label:"起运"}],ziwei:[{path:"soul.ganzhi",label:"命宫"},{path:"body.branch",label:"身宫支"},{path:"bureau.name",label:"五行局"},{path:"bodyMaster",label:"身主"},{path:"daxianList.0.ages",label:"起大限"}],qimen:[{path:"siZhu.day",label:"日柱"},{path:"ju",label:"局数"},{path:"zhiFu.star",label:"值符"},{path:"zhiShi.gate",label:"值使"}]};function g(i,h){let m=i;for(const x of String(h).split(".")){if(m==null)return;m=m[x]}return m}function y(i){return i==null?"—":Array.isArray(i)?i.join("、"):typeof i=="object"?"—":String(i)}function S(i,h,m){return(z[i]||[]).map(M=>{const H=y(g(h,M.path)),q=y(g(m,M.path));return{key:M.path,label:M.label,current:H,alt:q,changed:H!==q}})}return{diffObjects:fn,labelOf:L,categoryOf:k,rootOf:j,sortDiffs:$,summarize:G,formatValue:d,renderDiff:o,CALIBER_SWITCHES:r,CALIBER_VIEWS:z,viewCell:y,viewRows:S}})(),W.fingerprint=(function(){const P="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function en(A){return JSON.stringify(sn(A))}function sn(A){if(A===null)return null;const R=typeof A;if(R==="string")return typeof A.normalize=="function"?A.normalize("NFC"):A;if(R==="number")return Number.isFinite(A)?Object.is(A,-0)?0:A:null;if(R==="boolean")return A;if(Array.isArray(A))return A.map(sn);if(R==="object"){const L=Object.create(null);for(const k of Object.keys(A).sort()){const j=A[k];j===void 0||typeof j=="function"||typeof j=="symbol"||(L[k]=sn(j))}return L}return null}function fn(A){const R=String(A);let L=2166136261,k=2654435769;for(let G=0;G<R.length;G+=1){const d=R.charCodeAt(G);for(const o of[d&255,d>>>8])L=Math.imul(L^o,16777619),k=Math.imul(k^o,2246822507)}let j=(L>>>0)*8+(k>>>29),$="";for(let G=0;G<7;G+=1)$=P[j%32]+$,j=Math.floor(j/32);return $}function nn(A={}){const R=String(A.system||""),L=String(A.version||"dev"),k=A.seed===void 0||A.seed===null||A.seed===""?null:Number(A.seed),j=A.asOf?String(A.asOf):null,$=A.params&&typeof A.params=="object"?A.params:{},G=en({system:R,params:$,seed:k,asOf:j}),d=en({base:G,version:L});return{id:`LY-${fn(d)}`,baseId:`LY-${fn(G)}`,version:L,system:R,payload:G}}return{canonicalJson:en,shortHash:fn,fingerprintOf:nn}})(),W.validate=(function(){const{fail:P}=W.fail||{},en=1600,sn=2400;function fn($){return $%4===0&&$%100!==0||$%400===0}function nn($,G){return G===2?fn($)?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][G-1]||0}const A=$=>typeof $=="string"?`「${$}」`:String($),R="引擎只接受解析好的公历字段 { year, month, day, hour?, minute? };字符串请先交给宿主层的 parseDateTime 解析";function L($,G=""){const d=G?`${G} 的`:"";if(!$||typeof $!="object"||Array.isArray($)){const z=$===null?"null":Array.isArray($)?"数组":typeof $;throw P("E_INPUT",`${d}入参必须是对象(收到 ${z});${R}`)}const o=$.hour===void 0?0:$.hour,u=$.minute===void 0?0:$.minute;for(const[z,g]of[["year",$.year],["month",$.month],["day",$.day],["hour",o],["minute",u]])if(!Number.isInteger(g))throw P("E_INPUT",`${d}${z} 必须是整数(收到 ${A(g)});${R}`);if($.year<en||$.year>sn)throw P("E_INPUT",`${d}year 超出支持范围 ${en}–${sn}(收到 ${$.year});更早的年份时区与历法口径不可靠`);if($.month<1||$.month>12)throw P("E_INPUT",`${d}month 超出范围 1–12(收到 ${$.month})`);const r=nn($.year,$.month);if($.day<1||$.day>r)throw P("E_INPUT",`${d}日期不存在:${$.year}-${$.month}-${$.day}(${$.year} 年 ${$.month} 月只有 ${r} 天)`);if(o<0||o>23)throw P("E_INPUT",`${d}hour 超出范围 0–23(收到 ${o})`);if(u<0||u>59)throw P("E_INPUT",`${d}minute 超出范围 0–59(收到 ${u})`);return $}function k($,G,d){if(!$||typeof $!="object"||Array.isArray($)){const o=$===null?"null":$===void 0?"undefined":Array.isArray($)?"数组":typeof $;throw P("E_INPUT",`${G} 必须是对象(收到 ${o});${d}`)}return $}function j($,G=""){const d=G?`${G}:`:"";if($.year<en||$.year>sn)throw P("E_RANGE",`${d}晚子时按次日归后落到 ${$.year}-${String($.month).padStart(2,"0")}-${String($.day).padStart(2,"0")},超出可计算范围 ${en}–${sn};请把时刻挪到 23 点前,或换一天起课`);return $}return{MIN_YEAR:en,MAX_YEAR:sn,isLeapYear:fn,daysInMonth:nn,assertCivil:L,assertObject:k,assertShifted:j}})(),W.datetime=(function(){const{fail:P}=W.fail||{},{MIN_YEAR:en,MAX_YEAR:sn}=W.validate||{};function fn(R,L){return L===2?R%4===0&&R%100!==0||R%400===0?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][L-1]}function nn(R,L=""){const k=String(R??"").trim(),j=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(k);if(!j)return null;const $=Number(j[1]),G=Number(j[2]),d=Number(j[3]);if(G<1||G>12||d<1||d>fn($,G))return null;if($<en||$>sn){const o=L?`${L} `:"";throw P("E_RANGE",`${o}「${j[0]}」的年份超出可计算范围(${en}–${sn},收到 ${$} 年);农历与节气表不覆盖之外的年份`)}return{year:$,month:G,day:d}}function A(R){if(typeof R!="string"||!R.trim())throw P("E_INPUT","缺少 datetime(公历日期时间),例如 1990-05-12T14:30");const L=R.trim().match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T\s](\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?$/);if(!L)throw P("E_INPUT",`无法解析 datetime:「${R}」,请用 1990-05-12T14:30 这种格式`);if(L[6]!==void 0&&Number(L[6])>59)throw P("E_INPUT",`秒超出范围:${L[6]}`);const k={year:Number(L[1]),month:Number(L[2]),day:Number(L[3]),hour:Number(L[4]??0),minute:Number(L[5]??0)};if(k.month<1||k.month>12)throw P("E_INPUT",`月份超出范围:${k.month}`);const j=fn(k.year,k.month);if(k.day<1||k.day>j)throw P("E_INPUT",`日期不存在:${k.year}-${k.month}-${k.day}(${k.year} 年 ${k.month} 月只有 ${j} 天)`);if(k.hour>23||k.minute>59)throw P("E_INPUT",`时间超出范围:${k.hour}:${k.minute}`);if(k.year<en||k.year>sn)throw P("E_RANGE",`年份 ${k.year} 超出可计算范围(${en}–${sn})`);return(k.year<1900||k.year>2100)&&(k.precision={level:"approx",note:`ΔT 模型仅覆盖 1900–2100,${k.year} 年按端点值外推,节气与朔望时刻可能有分钟级偏差,月柱在交节前后需复核`}),k}return{daysInMonth:fn,parseYmd:nn,parseDateTime:A}})(),W.lru=(function(){function P({max:en=64,ttlMs:sn=0,name:fn="lru",now:nn=()=>Date.now()}={}){const A=new Map,R={name:fn,hits:0,misses:0,evictions:0,expirations:0},L=k=>sn>0&&nn()-k.at>sn;return{name:fn,max:en,ttlMs:sn,get(k){const j=A.get(k);if(!j||L(j)){j&&(A.delete(k),R.expirations+=1),R.misses+=1;return}return A.delete(k),A.set(k,j),R.hits+=1,j.value},set(k,j){for(A.has(k)&&A.delete(k),A.set(k,{value:j,at:nn()});A.size>en;)A.delete(A.keys().next().value),R.evictions+=1;return j},has(k){const j=A.get(k);return j?L(j)?(A.delete(k),R.expirations+=1,!1):!0:!1},delete(k){return A.delete(k)},clear(){A.clear()},get size(){return A.size},stats(){const k=R.hits+R.misses;return{name:fn,size:A.size,max:en,hits:R.hits,misses:R.misses,evictions:R.evictions,expirations:R.expirations,hitRate:k?R.hits/k:0}}}}return{createLru:P}})(),W.nayin=(function(){const P=["海中金","炉中火","大林木","路旁土","剑锋金","山头火","涧下水","城头土","白蜡金","杨柳木","泉中水","屋上土","霹雳火","松柏木","长流水","沙中金","山下火","平地木","壁上土","金箔金","覆灯火","天河水","大驿土","钗钏金","桑柘木","大溪水","沙中土","天上火","石榴木","大海水"];function en(sn){const fn=(Number(sn)%60+60)%60,nn=P[Math.floor(fn/2)];return{name:nn,element:nn[2]}}return{NAYIN_NAMES:P,nayinOf:en}})(),W.sanhe=(function(){const P=[{branches:["申","子","辰"],element:"水"},{branches:["亥","卯","未"],element:"木"},{branches:["寅","午","戌"],element:"火"},{branches:["巳","酉","丑"],element:"金"}],en=Object.fromEntries(P.map(nn=>[nn.branches.join(""),nn.element])),sn=Object.fromEntries(P.flatMap(nn=>nn.branches.map(A=>[A,nn.element])));function fn(nn){return P.find(A=>A.branches.includes(nn))||null}return{SANHE_GROUPS:P,SANHE:en,SANHE_ELEMENT:sn,sanheGroupOf:fn}})(),W["vsop-earth"]=(function(){const P=[[1.75347045673,0,0],[.03341656453,4.66925680415,6283.0758499914],[.00034894275,4.62610242189,12566.1516999828],[3417572e-11,2.82886579754,3.523118349],[3497056e-11,2.74411783405,5753.3848848968],[3135899e-11,3.62767041756,77713.7714681205],[2676218e-11,4.41808345438,7860.4193924392],[2342691e-11,6.13516214446,3930.2096962196],[1273165e-11,2.03709657878,529.6909650946],[1324294e-11,.74246341673,11506.7697697936],[901854e-11,2.04505446477,26.2983197998],[1199167e-11,1.10962946234,1577.3435424478],[857223e-11,3.50849152283,398.1490034082],[779786e-11,1.17882681962,5223.6939198022],[99025e-10,5.23268072088,5884.9268465832],[753141e-11,2.53339052847,5507.5532386674],[505267e-11,4.58292599973,18849.2275499742],[492392e-11,4.20505711826,775.522611324],[356672e-11,2.91954114478,.0673103028],[284125e-11,1.89869240932,796.2980068164],[242879e-11,.34481445893,5486.777843175],[317087e-11,5.84901948512,11790.6290886588],[271112e-11,.31486255375,10977.078804699],[206217e-11,4.80646631478,2544.3144198834],[205478e-11,1.86953770281,5573.1428014331],[202318e-11,2.45767790232,6069.7767545534],[126225e-11,1.08295459501,20.7753954924],[155516e-11,.83306084617,213.299095438],[115132e-11,.64544911683,.9803210682],[102851e-11,.63599845579,4694.0029547076],[101724e-11,4.2667980198,7.1135470008],[99206e-11,6.20992926918,2146.1654164752],[132212e-11,3.41118292683,2942.4634232916],[97607e-11,.68101342359,155.4203994342],[85128e-11,1.29870764804,6275.9623029906],[74651e-11,1.755089133,5088.6288397668],[101895e-11,.97569280312,15720.8387848784],[84711e-11,3.67080093031,71430.69561812909],[73547e-11,4.67926633877,801.8209311238],[73874e-11,3.50319414955,3154.6870848956],[78757e-11,3.03697458703,12036.4607348882],[79637e-11,1.80791287082,17260.1546546904],[85803e-11,5.9832263126,161000.6857376741],[56963e-11,2.78430458592,6286.5989683404],[61148e-11,1.81839892984,7084.8967811152],[69627e-11,.83297621398,9437.762934887],[56116e-11,4.38694865354,14143.4952424306],[62449e-11,3.97763912806,8827.3902698748],[51145e-11,.28306832879,5856.4776591154],[55577e-11,3.47006059924,6279.5527316424],[41036e-11,5.36817592855,8429.2412664666],[51605e-11,1.33282739866,1748.016413067],[51992e-11,.18914947184,12139.5535091068],[49e-8,.48735014197,1194.4470102246],[392e-9,6.16833020996,10447.3878396044],[3557e-10,1.775968892,6812.766815086],[3677e-10,6.04133863162,10213.285546211],[36596e-11,2.56957481827,1059.3819301892],[33296e-11,.59310278598,17789.845619785],[35954e-11,1.70875808777,2352.8661537718],[40938e-11,2.39850938714,19651.048481098],[30047e-11,2.73975124088,1349.8674096588],[30412e-11,.44294464169,83996.84731811189],[23663e-11,.48473622521,8031.0922630584],[23574e-11,2.06528133162,3340.6124266998],[21089e-11,4.14825468851,951.7184062506],[24738e-11,.21484762138,3.5904286518],[25352e-11,3.16470891653,4690.4798363586],[22823e-11,5.22195230819,4705.7323075436],[21419e-11,1.42563910473,16730.4636895958],[21891e-11,5.55594302779,553.5694028424],[203e-9,.37133792946,283.8593188652]],en=[[6283.0758499914,0,0],[.00206058863,2.67823455808,6283.0758499914],[4303419e-11,2.63512233481,12566.1516999828],[425264e-11,1.59046982018,3.523118349],[109017e-11,2.96631010675,1577.3435424478],[93479e-11,2.59211109542,18849.2275499742],[119305e-11,5.79555765566,26.2983197998],[72121e-11,1.13840581212,529.6909650946],[67784e-11,1.87453300345,398.1490034082],[6735e-10,4.40932832004,5507.5532386674],[59045e-11,2.88815790631,5223.6939198022],[55976e-11,2.17471740035,155.4203994342],[45411e-11,.39799502896,796.2980068164],[36298e-11,.46875437227,775.522611324],[28962e-11,2.64732254645,7.1135470008],[20844e-11,5.34138275149,.9803210682]],sn=[[8721859e-11,1.07253635559,6283.0758499914],[99099e-10,3.14159265359,0],[294833e-11,.43717350256,12566.1516999828],[27338e-11,.05295636147,3.523118349],[16333e-11,5.18820215724,26.2983197998],[15745e-11,3.68504712183,155.4203994342],[9425e-11,.29667114694,18849.2275499742],[8938e-11,2.05706319592,77713.7714681205],[694e-10,.82691541038,775.522611324],[5061e-11,4.6624323168,1577.3435424478]],fn=[[289058e-11,5.84173149732,6283.0758499914],[20712e-11,6.0498393902,12566.1516999828],[2962e-11,5.1956057957,155.4203994342],[2527e-11,3.14159265359,0],[1288e-11,4.7219761197,3.523118349]],nn=[[7714e-11,4.14117321449,6283.0758499914],[1016e-11,3.27573644241,12566.1516999828]];function A(R){let L=0;for(const[j,$,G]of P)L+=j*Math.cos($+G*R);let k=1;for(const j of[en,sn,fn,nn]){k*=R;for(const[$,G,d]of j)L+=$*k*Math.cos(G+d*R)}return L}return{earthL:A}})(),W.calendar=(function(){const{earthL:P}=W["vsop-earth"]||{},{createLru:en}=W.lru||{},{bool:sn}=W.bool||{},fn=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],nn=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],A=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"];function R(X){return(285+15*X)%360}function L(X,an,gn){const f=Math.floor((14-an)/12),C=X+4800-f,N=an+12*f-3;return gn+Math.floor((153*N+2)/5)+365*C+Math.floor(C/4)-Math.floor(C/100)+Math.floor(C/400)-32045}function k(X){const an=X+32044,gn=Math.floor((4*an+3)/146097),f=an-Math.floor(146097*gn/4),C=Math.floor((4*f+3)/1461),N=f-Math.floor(1461*C/4),B=Math.floor((5*N+2)/153);return{year:100*gn+C-4800+Math.floor(B/10),month:B+3-12*Math.floor(B/10),day:N-Math.floor((153*B+2)/5)+1}}function j(X,an){for(let gn=0;gn<60;gn++)if(gn%10===X&&gn%12===an)return gn;return-1}function $(X){const an=(X%60+60)%60;return{index:an,stem:fn[an%10],branch:nn[an%12],name:fn[an%10]+nn[an%12]}}function G(X){return((X+49)%60+60)%60}function d(X){const an=X-2451545,gn=an/36525,f=an/365250;let C=P(f)*180/Math.PI+180;C=(C%360+360)%360;const N=(5029.0966*gn+1.11113*gn*gn-6e-6*gn*gn*gn)/3600;C+=N,C-=.09033/3600;const B=(125.04452-1934.136261*gn)*Math.PI/180,pn=(280.4665+36000.7698*gn)*Math.PI/180,qn=(218.3165+481267.8813*gn)*Math.PI/180,Zn=(-17.2*Math.sin(B)-1.32*Math.sin(2*pn)-.23*Math.sin(2*qn)+.21*Math.sin(2*B))/3600;C+=Zn;const zn=(357.52911+35999.05029*gn-1537e-7*gn*gn)*Math.PI/180,Y=.016708634-42037e-9*gn-1267e-10*gn*gn,yn=1.000001018*(1-Y*Y)/(1+Y*Math.cos(zn+(1.914602-.004817*gn)*(Math.PI/180)*Math.sin(zn)));return C-=20.4898/3600/(yn||1),(C%360+360)%360}function o(X){if(X<1900){const B=X;if(B<1600)return 120;if(B<1700){const qn=B-1600;return 120-.9808*qn-.01532*qn*qn+qn*qn*qn/7129}if(B<1800){const qn=B-1700;return 8.83+.1603*qn-.0059285*qn*qn+13336e-8*qn*qn*qn-qn**4/1174e3}if(B<1860){const qn=B-1800;return 13.72-.332447*qn+.0068612*qn*qn+.0041116*qn**3-37436e-8*qn**4+121272e-10*qn**5-1699e-10*qn**6+875e-12*qn**7}const pn=B-1860;return 7.62+.5737*pn-.251754*pn*pn+.01680668*pn**3-.0004473624*pn**4+pn**5/233174}const an=[[1900,-2.8],[1920,21.2],[1940,24.3],[1950,29.1],[1960,33.2],[1970,40.2],[1980,50.5],[1990,56.9],[2e3,63.8],[2010,66.1],[2020,69.4],[2030,72],[2050,80],[2100,110]];if(X<=an[0][0])return an[0][1];for(let B=1;B<an.length;B++)if(X<=an[B][0]){const[pn,qn]=an[B-1],[Zn,zn]=an[B];return qn+(zn-qn)*(X-pn)/(Zn-pn)}const[gn,f]=an[an.length-1],C=(gn-1820)/100,N=(X-1820)/100;return f+32*(N*N-C*C)}const u=8/24,r=7.7611/24,z=2425612+4/24;function g(X){return X<z?r:u}const y=en({max:4096,name:"termInstant"}),S=1e-5,i=new Map,h=365.2422;function m(X,an){const gn=R(an),f=L(X,1,5)-.5+an*15.2184,C=i.get(an);let N=C!==void 0?C+h:f;Math.abs(N-f)>20&&(N=f);for(let pn=0;pn<12;pn++){let qn=gn-d(N);if(qn=((qn+180)%360+360)%360-180,N+=qn/.98564736,Math.abs(qn)<S)break}i.set(an,N);const B=N-o(X)/86400;return B+g(B)}function x(X,an){const gn=X*24+an,f=y.get(gn);if(f!==void 0)return f;const C=m(X,an);return y.set(gn,C),C}function M(X){const an=Math.floor(X+.5),gn=X+.5-an,f=Math.min(1439,Math.floor(Math.round(gn*86400)/60)),{year:C,month:N,day:B}=k(an);return{year:C,month:N,day:B,hour:Math.floor(f/60),minute:f%60}}function H({year:X,month:an,day:gn,hour:f=0,minute:C=0}){return L(X,an,gn)-.5+(f*60+C)/1440}function q(X,an,gn){const f=L(X,an,gn)-L(X,1,1)+1,C=2*Math.PI*(f-81)/364;return 9.87*Math.sin(2*C)-7.53*Math.cos(C)-1.5*Math.sin(C)}const hn=en({max:8,name:"termWindow"}),K=en({max:32,name:"termYear"}),Pn=Array.from({length:24},(X,an)=>an),Kn=Pn.filter(X=>X%2===0);function c(X,an){const gn=an?`${X}|jie`:`${X}|all`,f=K.get(gn);if(f)return f;if(an){const N=K.get(`${X}|all`);if(N){const B=N.filter(pn=>pn.index%2===0);return K.set(gn,B),B}}const C=[];for(const N of an?Kn:Pn)C.push({year:X,index:N,name:A[N],jd:x(X,N)});return C.sort((N,B)=>N.jd-B.jd),K.set(gn,C),C}function D(X,an={}){const gn=sn(an.jieOnly),f=gn?`${X}|jie`:X,C=hn.get(f);if(C)return C;const N=[...c(X-1,gn),...c(X,gn),...c(X+1,gn)];return N.sort((B,pn)=>B.jd-pn.jd),hn.set(f,N),N}function Sn(X){if(typeof X!="string"||X.length<2)return[];const an=fn.indexOf(X[0]),gn=nn.indexOf(X[1]);if(an<0||gn<0)return[];const f=j(an,gn);if(f<0)return[];const C=Math.floor(f/10)*10;return[nn[(C+10)%12],nn[(C+11)%12]]}function Mn(X,an){let gn=null;for(const f of X)if(f.index%2===0)if(f.jd<=an)gn=f;else break;return gn}function kn(X,an){for(const gn of X)if(gn.index%2===0&&gn.jd>an)return gn;return null}function wn(X){const an=M(X),gn=f=>String(f).padStart(2,"0");return`${an.year}-${gn(an.month)}-${gn(an.day)} ${gn(an.hour)}:${gn(an.minute)}`}function dn(){return[y.stats(),K.stats(),hn.stats()]}return{STEMS:fn,BRANCHES:nn,TERM_NAMES:A,termLongitude:R,toJDN:L,fromJDN:k,sexagenaryIndex:j,ganzhiName:$,dayGanzhiIndex:G,sunLongitude:d,deltaTSeconds:o,OFFSET_MODERN:u,OFFSET_BEIJING_LOCAL:r,CUTOVER_JD:z,localOffsetFor:g,termInstantJd:x,jdToParts:M,partsToJd:H,equationOfTime:q,termWindow:D,xunKongOf:Sn,previousJie:Mn,nextJie:kn,formatJd:wn,cacheMetrics:dn}})(),W.lunar=(function(){const{toJDN:P,jdToParts:en,termInstantJd:sn,deltaTSeconds:fn,localOffsetFor:nn}=W.calendar||{},A=29.530588861,R=245155009766e-5,L=Math.PI/180;function k(o){const u=o/1236.85,r=R+A*o+15437e-8*u*u-15e-8*u*u*u+73e-11*u*u*u*u,z=1-.002516*u-74e-7*u*u,g=(2.5534+29.1053567*o-14e-7*u*u-11e-8*u*u*u)*L,y=(201.5643+385.81693528*o+.0107582*u*u+1238e-8*u*u*u-58e-9*u*u*u*u)*L,S=(160.7108+390.67050284*o-.0016118*u*u-227e-8*u*u*u+11e-9*u*u*u*u)*L,i=(124.7746-1.56375588*o+.0020672*u*u+215e-8*u*u*u)*L,h=-.4072*Math.sin(y)+.17241*z*Math.sin(g)+.01608*Math.sin(2*y)+.01039*Math.sin(2*S)+.00739*z*Math.sin(y-g)-.00514*z*Math.sin(y+g)+.00208*z*z*Math.sin(2*g)-.00111*Math.sin(y-2*S)-57e-5*Math.sin(y+2*S)+56e-5*z*Math.sin(2*y+g)-42e-5*Math.sin(3*y)+42e-5*z*Math.sin(g+2*S)+38e-5*z*Math.sin(g-2*S)-24e-5*z*Math.sin(2*y-g)-17e-5*Math.sin(i)-7e-5*Math.sin(y+2*g)+4e-5*Math.sin(2*y-2*S)+4e-5*Math.sin(3*g)+3e-5*Math.sin(y+g-2*S)+3e-5*Math.sin(2*y+2*S)-3e-5*Math.sin(y+g+2*S)+3e-5*Math.sin(y-g+2*S)-2e-5*Math.sin(y-g-2*S)-2e-5*Math.sin(3*y+g)+2e-5*Math.sin(4*y),m=r+h-fn(2e3+u*100)/86400;return m+nn(m)}function j(o){return Math.floor(o+.5)}function $(o){return Math.round((o+.5-R)/A)}function G(o,u,r){for(let z=o-1;z<=o+1;z++)for(let g=1;g<24;g+=2){const y=sn(z,g),S=j(y);if(S>=u&&S<r)return{index:g,jd:y}}return null}function d(o,u,r){const z=P(o,u,r),g=j(sn(o,23)),y=z<g?o-1:o,S=j(sn(y,23));let i=$(S);for(;j(k(i))>S;)i--;for(;j(k(i+1))<=S;)i++;const h=j(sn(y+1,23));let m=i;for(;j(k(m+1))<=h;)m++;const x=m-i;let M=-1;if(x===13)for(let hn=1;hn<=x;hn++){const K=j(k(i+hn-1)),Pn=j(k(i+hn));if(!G(y,K,Pn)){M=hn;break}}let H=11,q=!1;for(let hn=1;hn<=15;hn++){const K=j(k(i+hn-1)),Pn=j(k(i+hn)),Kn=G(y,K,Pn),c=hn===M;if(z>=K&&z<Pn){const D=en(k(i+hn-1)),Sn=c?(H+10)%12+1:H;return{year:y,lunarYear:q?y+1:y,month:Sn,day:z-K+1,isLeap:c,monthStart:`${D.year}-${String(D.month).padStart(2,"0")}-${String(D.day).padStart(2,"0")}`,hasZhongQi:!!Kn}}c||(H=H%12+1,H===1&&(q=!0))}throw new Error(`农历换算失败:${o}-${u}-${r}`)}return{SYNODIC:A,newMoonJd:k,dayNumberOf:j,solarToLunar:d}})(),W.geo=(function(){const{bool:P}=W.bool||{},en=`
|
|
1
|
+
window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.name.js",factory(qt){const V={};return V.fail=(function(){return{fail:(cn,un)=>{const fn=new Error(un);return fn.code=cn,fn}}})(),V.bool=(function(){function B(i,h=!1){return i==null||i===""?h:i===!0||i===1||i==="true"||i==="1"?!0:i===!1||i===0||i==="false"||i==="0"?!1:h}const cn={lateZi:!0,trueSolar:!0,dst:!0,isLeapMonth:!1,leapAsNext:!1,cross:!1,hourUnknown:!1,diff:!1,shadow:!1,trace:!1,rectify:!1,withInterpret:!1},un={lateZi:!0,trueSolar:!0,dst:!0,hourUnknown:!1};function fn(i,h){let u=i;const b=(S,q)=>{Object.is(i[S],q)||(u===i&&(u={...i}),u[S]=q)},w=S=>{u===i&&(u={...i}),delete u[S]};for(const[S,q]of Object.entries(h))if(i[S]!==void 0){if(typeof i[S]=="string"&&i[S].trim()===""){w(S);continue}b(S,B(i[S],q))}return u}function an(i){if(!i||typeof i!="object"||Array.isArray(i))return i;let h=i;for(const[u,b]of Object.entries(un)){if(i[u]===void 0)continue;if(typeof i[u]=="string"&&i[u].trim()===""){h===i&&(h={...i}),delete h[u];continue}const w=B(i[u],b);Object.is(i[u],w)||(h===i&&(h={...i}),h[u]=w)}return h}function I(i){if(!i||typeof i!="object")return i;let h=fn(i,cn);for(const u of["partner","partner2"]){const b=h[u],w=an(b);w!==b&&(h===i&&(h={...i}),h[u]=w)}return h}const H=["hour","minute","longitude","verifyPast","seed","days","lunarYear","lunarMonth","lunarDay","num1","num2","num3","upper","lower","changing","count","toAge","fortuneYear","period","limit","sittingOffset","sittingDegree","facingOffset","facingDegree","year","month","day"],P=["lines","rectifyHours","answers"],A=["strokeOverrides","surnameStrokes"],E=/^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;function j(i){if(typeof i!="string")return i;const h=i.trim();if(!E.test(h))return i;const u=Number(h);return Number.isFinite(u)?u:i}function Y(i){let h=!1;const u={};for(const[b,w]of Object.entries(i)){const S=w===null?null:j(w);Object.is(S,w)||(h=!0),u[b]=S}return h?u:i}function p(i){if(!i||typeof i!="object")return i;let h=i;const u=(b,w)=>{Object.is(i[b],w)||(h===i&&(h={...i}),h[b]=w)};for(const b of H)if(i[b]!==void 0){if(typeof i[b]=="string"&&i[b].trim()===""){h===i&&(h={...i}),delete h[b];continue}u(b,j(i[b]))}for(const b of P){const w=i[b];if(!Array.isArray(w))continue;let S=!1;const q=w.map(o=>{if(o===null)return null;if(typeof o=="string"&&o.trim()===""){S=!0;return}const d=j(o);return Object.is(d,o)||(S=!0),d});S&&u(b,q)}for(const b of A){const w=i[b];!w||typeof w!="object"||Array.isArray(w)||u(b,Y(w))}return h}return{bool:B,FLAG_DEFAULTS:cn,canonicalFlags:I,NUMERIC_KEYS:H,NUMERIC_ARRAY_KEYS:P,NUMERIC_MAP_KEYS:A,canonicalNumbers:p}})(),V.diff=(function(){const{bool:B}=V.bool||{},cn=new Set(["summary","interpret","castAt","asOf","precision","disclaimer","note","trueSolarText","civilText","offsetMinutes","input","jd","juMethod","juMethodNote","lateZiHourMode","leapPolicy","schools","bodyMasterSchool","bodyMasterNote","handle","handleError","revision","brief","briefError"]),un=o=>o!==null&&typeof o=="object";function fn(o,d,g="",z=[]){if(o===d)return z;if(!un(o)||!un(d))return z.push({path:g||"(root)",from:o,to:d}),z;const T=new Set([...Object.keys(o),...Object.keys(d)]);for(const Z of T){if(cn.has(Z))continue;const N=g?`${g}.${Z}`:Z,dn=o[Z],J=d[Z];un(dn)&&un(J)?fn(dn,J,N,z):JSON.stringify(dn)!==JSON.stringify(J)&&z.push({path:N,from:dn,to:J})}return z}const an=[[/^pillars\.year\.ganzhi$/,"年柱"],[/^pillars\.month\.ganzhi$/,"月柱"],[/^pillars\.day\.ganzhi$/,"日柱"],[/^pillars\.hour\.ganzhi$/,"时柱"],[/^pillars\.\w+\.hidden/,"藏干"],[/^pillars\.\w+\.stemTenGod$/,"十神"],[/^pillars\.\w+\.kongwang/,"空亡"],[/^pillars\.\w+\.dishi$|^pillars\.\w+\.zizuo$/,"十二长生"],[/^pillars\.\w+\.nayin$/,"纳音"],[/^dayMaster\./,"日主"],[/^palaces\.(taiyuan|minggong|shengong)\./,"命身宫"],[/^palaces\.\d+\.(palace|branch|stem|ganzhi)$/,"宫位"],[/^palaces\.\d+\.stars\.\d+\.(name|brightness|type)$/,"星曜"],[/^palaces\.\d+\.shensha\./,"神煞"],[/^palaces\.\d+\.(daxian|xiaoxian)\./,"大限"],[/^palaces\.\d+\.sanfang\./,"三方四正"],[/^palaces\.\d+\./,"宫位"],[/^palaces\./,"命身宫"],[/^soul\./,"命宫"],[/^body\./,"身宫"],[/^doujun\./,"流年斗君"],[/^siZhu\.year$/,"年柱"],[/^siZhu\.month$/,"月柱"],[/^siZhu\.day$/,"日柱"],[/^siZhu\.time$/,"时柱"],[/^ju$|^juNumber$/,"局数"],[/^yuan$/,"三元"],[/^dun$/,"阴阳遁"],[/^daxian(List)?\./,"大限"],[/^fly(Chains|Composite)?\./,"飞星"],[/^pattern/,"格局"],[/^schools\./,"流派回显"],[/^dayun\.jiao\./,"起运"],[/^dayun\.toNextJieDays$/,"起运时间"],[/^dayun\.list\.(\d+)\.ganzhi$/,"大运干支"],[/^dayun\.startAge(Exact)?\./,"起运时间"],[/^dayun\./,"大运评分"],[/^liunian\./,"流年"],[/^jieqi\./,"节气边界"],[/^solarTime\./,"真太阳时"],[/^dayGanZhi$/,"日辰"],[/^hourZhi$/,"时支"],[/^yueJiang\./,"月将"],[/^xunKong$/,"旬空"],[/^lines\.(\d+)\./,"爻"],[/^shensha\./,"神煞"],[/^frame\./,"格局用神"],[/^strength\./,"旺衰"],[/^wuxing\./,"五行计数"],[/^relations\./,"干支关系"],[/^input\./,"输入回显"]],I=[[/^pillars\./,"四柱"],[/^shensha\./,"神煞"],[/^dayun\./,"大运"],[/^liunian\./,"流年"],[/^frame\./,"格局用神"],[/^strength\./,"旺衰"],[/^wuxing\./,"五行计数"],[/^dayMaster\./,"日主"],[/^relations\./,"干支关系"],[/^palaces\.(taiyuan|minggong|shengong)\./,"命身宫"],[/^palaces\.\d+\./,"宫位"],[/^palaces\./,"命身宫"],[/^soul\.|^body\.|^doujun\./,"命身宫"],[/^siZhu\./,"四柱"],[/^ju$|^juNumber$|^yuan$|^dun$/,"局数"],[/^daxian/,"大限"],[/^fly/,"飞星"],[/^pattern/,"格局"],[/^jieqi\./,"节气"],[/^solarTime\./,"真太阳时"],[/^input\./,"输入回显"],[/^lines\./,"爻"]],H=[[/^pillars\.(year|month|day|hour)\.ganzhi$/,"柱"],[/^palaces\.(minggong|shengong)\.ganzhi$/,"命身宫"],[/^soul\.ganzhi$/,"命宫"],[/^body\.branch$/,"身宫"],[/^siZhu\.(year|month|day|time)$/,"柱"],[/^dayun\.jiao\.at$/,"起运"],[/^dayGanZhi$/,"日辰"],[/^hourZhi$/,"时支"],[/^ju$|^juNumber$|^juName$/,"局数"],[/^dun$/,"阴阳遁"],[/^lines\.\d+\.(ganzhi|yinYang|name)$/,"爻"],[/^yueJiang\.(name|zhi)$/,"月将"]];function P(o){for(const[d,g]of an)if(d.test(o))return g;return A(o)||o}function A(o){for(const[d,g]of I)if(d.test(o))return g;return""}function E(o){for(const[d,g]of H)if(d.test(o))return g;return""}function j(o){return[...o].sort((d,g)=>d.path.localeCompare(g.path,"zh-Hans-CN",{numeric:!0}))}function Y(o){if(!o.length)return"本盘不受此口径影响:所有字段一致。";const d=o.filter(Z=>E(Z.path)),g=[...new Set(o.map(Z=>A(Z.path)).filter(Boolean))],z=d.length?`根因 ${d.length} 处:`+d.slice(0,4).map(Z=>`${P(Z.path)} ${p(Z.from)}→${p(Z.to)}`).join("、")+(d.length>4?" 等":""):"无单一根因",T=g.length?`;连带影响 ${g.slice(0,6).join("、")}${g.length>6?" 等":""} ${g.length} 类,共 ${o.length} 处`:`;共 ${o.length} 处`;return z+T+"。"}const p=o=>o===void 0?"—":o===null?"null":typeof o=="string"?o:Array.isArray(o)?o.join("")||"[]":typeof o=="object"?JSON.stringify(o):String(o);function i(o,{title:d="",limit:g=12}={}){const z=[];if(d&&z.push(`【${d}】`),z.push(Y(o)),!o.length)return z.join(`
|
|
2
|
+
`);const T=j(o.filter(N=>E(N.path))),Z=j(o.filter(N=>!E(N.path)));if(T.length){z.push(""),z.push(" 根因(口径直接改动):");for(const N of T)z.push(` ${P(N.path).padEnd(6)} ${p(N.from)} → ${p(N.to)}`)}if(Z.length){z.push(""),z.push(` 连带变化(${Z.length} 处,展示前 ${Math.min(g,Z.length)} 处):`);for(const N of Z.slice(0,g))z.push(` ${P(N.path).padEnd(6)} ${p(N.from)} → ${p(N.to)}`);if(Z.length>g){const N={};for(const dn of Z.slice(g)){const J=A(dn.path)||"其他";N[J]=(N[J]||0)+1}z.push(" 其余:"+Object.entries(N).map(([dn,J])=>`${dn} ${J} 处`).join("、"))}}return z.join(`
|
|
3
|
+
`)}const h=(o,d,g,z,T,Z)=>({key:o,title:d,short:g,read:N=>{const dn=N[o]!==void 0?N[o]:N.schools&&N.schools[o];return Z[dn]?dn:z},alt:N=>N===T?z:T,label:N=>Z[N]||N}),u={bazi:[{key:"lateZi",title:"晚子时:23:00 后是否换日",short:"晚子时",read:o=>B(o.lateZi,!0),alt:o=>!o,label:o=>o?"换日":"不换日"},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:o=>B(o.trueSolar,!0),alt:o=>!o,label:o=>o?"修正":"不修正"}],ziwei:[{key:"leapMonth",title:"闰月归月:按日切分 / 整月归次月",short:"闰月归月",read:o=>o.leapMonth==="next"||o.leapMonth==="prev"?o.leapMonth:"split",alt:o=>o==="split"?"next":"split",label:o=>({split:"按日切分",next:"整月归次月",prev:"整月归本月"})[o]||o},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:o=>B(o.trueSolar,!0),alt:o=>!o,label:o=>o?"修正":"不修正"},h("brightnessSchool","亮度表:默认 / QS 七档","亮度表","default","QS",{default:"默认",QS:"QS(七档)",XD1:"XD1(七档)",ZZ:"ZZ(五档)",XD2:"XD2(五档)"}),h("gengYearSihua","庚干四化:阳武阴同 / 同科阴忌","庚干四化","GYWYT","GYWTY",{GYWYT:"阳武阴同",GYWTY:"同科阴忌",GYWFT:"府科同忌",GYWFX:"府科相忌",GYWTX:"同科相忌"}),h("tianmaSchool","天马:按年支 / 按生月","天马","year-branch","month-branch",{"year-branch":"年支","month-branch":"生月"}),h("tiankongSchool","天空:不排 / 年支顺行","天空","off","normal",{off:"不排",normal:"年支顺行","shun-jia-shi":"加生时"}),h("jiekongSchool","截空旬空:不排 / 正副双星","截空旬空","off","double",{off:"不排",single:"单星",double:"正副双星",zhanyan:"占验派"}),h("kuiyueSchool","魁钺:qs1 / qs2","魁钺","qs1","qs2",{qs1:"qs1",qs2:"qs2","zhong-yiming":"中一鸣"}),h("tianshiTianshang","天伤天使:常规 / 中州互换","天伤天使","normal","zhongzhou",{normal:"常规",zhongzhou:"中州(阴男阳女互换)"}),h("changshengSchool","长生:阴阳顺逆 / 火土起寅","长生","yin-yang-shun-ni","huo-tu",{"yin-yang-shun-ni":"阴阳顺逆","shui-tu":"水二","huo-tu":"火土(土五局起寅)"}),h("lateZishi","晚子时:归当日 / 归次日","晚子时","current-day","next-day",{"current-day":"归当日","next-day":"归次日","all-current":"全归当日","day-cur-time-next":"日归当日·时归次日"}),h("shenzhuSchool","身主:子午皆火星 / 子铃午火","身主","common","verse",{common:"子午皆火星",verse:"子铃午火(安身主诀逐字)"}),h("mingzhuSchool","命主取法:命宫地支 / 生年年支","命主取法","soul-branch","year-branch",{"soul-branch":"命宫地支(通行本)","year-branch":"生年年支(中州派)"}),h("zuoyaoSchool","杂曜:49 颗简盘 / 61 颗全表","杂曜全表","minimal","full",{minimal:"49 颗(简盘)",full:"61 颗(加十二颗杂曜)"}),h("liunianSihua","流年四化取干:流年天干 / 流年命宫宫干","流年四化取干","year-stem","life-palace-stem",{"year-stem":"流年天干","life-palace-stem":"流年命宫宫干"}),h("sihuaVariant","十干四化:通行表 / 变体整表替换","十干四化变体","default","廉破曲阳",{default:"各干通行表",廉破曲阳:"甲干 廉破曲阳",贪阴阳机:"戊干 贪阴阳机",阳武同阴:"庚干 阳武同阴",阳武府同:"庚干 阳武府同",阳武府相:"庚干 阳武府相",阳武同相:"庚干 阳武同相",巨阳武昌:"辛干 巨阳武昌",梁紫府武:"壬干 梁紫府武",梁紫相武:"壬干 梁紫相武",破巨阳贪:"癸干 破巨阳贪"}),h("jieluSchool","截路空亡:照常 / 不排(中州派)","截路空亡","off","zhongzhou",{off:"照常(截空/副截/旬空/副旬)",zhongzhou:"不排(中州派)"}),h("suipoSchool","岁前十二神:照常 / 大耗改岁破(中州派)","岁前十二神","off","zhongzhou",{off:"照常(大耗)",zhongzhou:"大耗改岁破"})],qimen:[{key:"juMethod",title:"取局流派:拆补 / 超神接气 / 置闰",short:"取局流派",read:o=>["chaibu","chaoshen","zhirun"].includes(o.juMethod)?o.juMethod:"chaibu",alt:o=>o==="chaibu"?"zhirun":"chaibu",label:o=>({chaibu:"拆补法",chaoshen:"超神接气",zhirun:"置闰法"})[o]||o},{key:"lateZiHourMode",title:"晚子时:23:00 后归当日 / 次日",short:"晚子时归日",read:o=>o.lateZiHourMode==="next-day"?"next-day":"same-day",alt:o=>o==="next-day"?"same-day":"next-day",label:o=>o==="next-day"?"归次日":"归当日"}]},b={bazi:[{path:"pillars.day.ganzhi",label:"日柱"},{path:"pillars.hour.ganzhi",label:"时柱"},{path:"strength.level",label:"旺衰"},{path:"frame.primaryName",label:"格局"},{path:"frame.yongshen.favor",label:"喜用"},{path:"dayun.jiao.at",label:"起运"}],ziwei:[{path:"soul.ganzhi",label:"命宫"},{path:"body.branch",label:"身宫支"},{path:"bureau.name",label:"五行局"},{path:"bodyMaster",label:"身主"},{path:"daxianList.0.ages",label:"起大限"}],qimen:[{path:"siZhu.day",label:"日柱"},{path:"ju",label:"局数"},{path:"zhiFu.star",label:"值符"},{path:"zhiShi.gate",label:"值使"}]};function w(o,d){let g=o;for(const z of String(d).split(".")){if(g==null)return;g=g[z]}return g}function S(o){return o==null?"—":Array.isArray(o)?o.join("、"):typeof o=="object"?"—":String(o)}function q(o,d,g){return(b[o]||[]).map(T=>{const Z=S(w(d,T.path)),N=S(w(g,T.path));return{key:T.path,label:T.label,current:Z,alt:N,changed:Z!==N}})}return{diffObjects:fn,labelOf:P,categoryOf:A,rootOf:E,sortDiffs:j,summarize:Y,formatValue:p,renderDiff:i,CALIBER_SWITCHES:u,CALIBER_VIEWS:b,viewCell:S,viewRows:q}})(),V.fingerprint=(function(){const B="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function cn(I){return JSON.stringify(un(I))}function un(I){if(I===null)return null;const H=typeof I;if(H==="string")return typeof I.normalize=="function"?I.normalize("NFC"):I;if(H==="number")return Number.isFinite(I)?Object.is(I,-0)?0:I:null;if(H==="boolean")return I;if(Array.isArray(I))return I.map(un);if(H==="object"){const P=Object.create(null);for(const A of Object.keys(I).sort()){const E=I[A];E===void 0||typeof E=="function"||typeof E=="symbol"||(P[A]=un(E))}return P}return null}function fn(I){const H=String(I);let P=2166136261,A=2654435769;for(let Y=0;Y<H.length;Y+=1){const p=H.charCodeAt(Y);for(const i of[p&255,p>>>8])P=Math.imul(P^i,16777619),A=Math.imul(A^i,2246822507)}let E=(P>>>0)*8+(A>>>29),j="";for(let Y=0;Y<7;Y+=1)j=B[E%32]+j,E=Math.floor(E/32);return j}function an(I={}){const H=String(I.system||""),P=String(I.version||"dev"),A=I.seed===void 0||I.seed===null||I.seed===""?null:Number(I.seed),E=I.asOf?String(I.asOf):null,j=I.params&&typeof I.params=="object"?I.params:{},Y=cn({system:H,params:j,seed:A,asOf:E}),p=cn({base:Y,version:P});return{id:`LY-${fn(p)}`,baseId:`LY-${fn(Y)}`,version:P,system:H,payload:Y}}return{canonicalJson:cn,shortHash:fn,fingerprintOf:an}})(),V.validate=(function(){const{fail:B}=V.fail||{},cn=1600,un=2400;function fn(j){return j%4===0&&j%100!==0||j%400===0}function an(j,Y){return Y===2?fn(j)?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][Y-1]||0}const I=j=>typeof j=="string"?`「${j}」`:String(j),H="引擎只接受解析好的公历字段 { year, month, day, hour?, minute? };字符串请先交给宿主层的 parseDateTime 解析";function P(j,Y=""){const p=Y?`${Y} 的`:"";if(!j||typeof j!="object"||Array.isArray(j)){const b=j===null?"null":Array.isArray(j)?"数组":typeof j;throw B("E_INPUT",`${p}入参必须是对象(收到 ${b});${H}`)}const i=j.hour===void 0?0:j.hour,h=j.minute===void 0?0:j.minute;for(const[b,w]of[["year",j.year],["month",j.month],["day",j.day],["hour",i],["minute",h]])if(!Number.isInteger(w))throw B("E_INPUT",`${p}${b} 必须是整数(收到 ${I(w)});${H}`);if(j.year<cn||j.year>un)throw B("E_INPUT",`${p}year 超出支持范围 ${cn}–${un}(收到 ${j.year});更早的年份时区与历法口径不可靠`);if(j.month<1||j.month>12)throw B("E_INPUT",`${p}month 超出范围 1–12(收到 ${j.month})`);const u=an(j.year,j.month);if(j.day<1||j.day>u)throw B("E_INPUT",`${p}日期不存在:${j.year}-${j.month}-${j.day}(${j.year} 年 ${j.month} 月只有 ${u} 天)`);if(i<0||i>23)throw B("E_INPUT",`${p}hour 超出范围 0–23(收到 ${i})`);if(h<0||h>59)throw B("E_INPUT",`${p}minute 超出范围 0–59(收到 ${h})`);return j}function A(j,Y,p){if(!j||typeof j!="object"||Array.isArray(j)){const i=j===null?"null":j===void 0?"undefined":Array.isArray(j)?"数组":typeof j;throw B("E_INPUT",`${Y} 必须是对象(收到 ${i});${p}`)}return j}function E(j,Y=""){const p=Y?`${Y}:`:"";if(j.year<cn||j.year>un)throw B("E_RANGE",`${p}晚子时按次日归后落到 ${j.year}-${String(j.month).padStart(2,"0")}-${String(j.day).padStart(2,"0")},超出可计算范围 ${cn}–${un};请把时刻挪到 23 点前,或换一天起课`);return j}return{MIN_YEAR:cn,MAX_YEAR:un,isLeapYear:fn,daysInMonth:an,assertCivil:P,assertObject:A,assertShifted:E}})(),V.datetime=(function(){const{fail:B}=V.fail||{},{MIN_YEAR:cn,MAX_YEAR:un}=V.validate||{};function fn(H,P){return P===2?H%4===0&&H%100!==0||H%400===0?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][P-1]}function an(H,P=""){const A=String(H??"").trim(),E=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(A);if(!E)return null;const j=Number(E[1]),Y=Number(E[2]),p=Number(E[3]);if(Y<1||Y>12||p<1||p>fn(j,Y))return null;if(j<cn||j>un){const i=P?`${P} `:"";throw B("E_RANGE",`${i}「${E[0]}」的年份超出可计算范围(${cn}–${un},收到 ${j} 年);农历与节气表不覆盖之外的年份`)}return{year:j,month:Y,day:p}}function I(H){if(typeof H!="string"||!H.trim())throw B("E_INPUT","缺少 datetime(公历日期时间),例如 1990-05-12T14:30");const P=H.trim().match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T\s](\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?$/);if(!P)throw B("E_INPUT",`无法解析 datetime:「${H}」,请用 1990-05-12T14:30 这种格式`);if(P[6]!==void 0&&Number(P[6])>59)throw B("E_INPUT",`秒超出范围:${P[6]}`);const A={year:Number(P[1]),month:Number(P[2]),day:Number(P[3]),hour:Number(P[4]??0),minute:Number(P[5]??0)};if(A.month<1||A.month>12)throw B("E_INPUT",`月份超出范围:${A.month}`);const E=fn(A.year,A.month);if(A.day<1||A.day>E)throw B("E_INPUT",`日期不存在:${A.year}-${A.month}-${A.day}(${A.year} 年 ${A.month} 月只有 ${E} 天)`);if(A.hour>23||A.minute>59)throw B("E_INPUT",`时间超出范围:${A.hour}:${A.minute}`);if(A.year<cn||A.year>un)throw B("E_RANGE",`年份 ${A.year} 超出可计算范围(${cn}–${un})`);return(A.year<1900||A.year>2100)&&(A.precision={level:"approx",note:`ΔT 模型仅覆盖 1900–2100,${A.year} 年按端点值外推,节气与朔望时刻可能有分钟级偏差,月柱在交节前后需复核`}),A}return{daysInMonth:fn,parseYmd:an,parseDateTime:I}})(),V.lru=(function(){function B({max:cn=64,ttlMs:un=0,name:fn="lru",now:an=()=>Date.now()}={}){const I=new Map,H={name:fn,hits:0,misses:0,evictions:0,expirations:0},P=A=>un>0&&an()-A.at>un;return{name:fn,max:cn,ttlMs:un,get(A){const E=I.get(A);if(!E||P(E)){E&&(I.delete(A),H.expirations+=1),H.misses+=1;return}return I.delete(A),I.set(A,E),H.hits+=1,E.value},set(A,E){for(I.has(A)&&I.delete(A),I.set(A,{value:E,at:an()});I.size>cn;)I.delete(I.keys().next().value),H.evictions+=1;return E},has(A){const E=I.get(A);return E?P(E)?(I.delete(A),H.expirations+=1,!1):!0:!1},delete(A){return I.delete(A)},clear(){I.clear()},get size(){return I.size},stats(){const A=H.hits+H.misses;return{name:fn,size:I.size,max:cn,hits:H.hits,misses:H.misses,evictions:H.evictions,expirations:H.expirations,hitRate:A?H.hits/A:0}}}}return{createLru:B}})(),V.nayin=(function(){const B=["海中金","炉中火","大林木","路旁土","剑锋金","山头火","涧下水","城头土","白蜡金","杨柳木","泉中水","屋上土","霹雳火","松柏木","长流水","沙中金","山下火","平地木","壁上土","金箔金","覆灯火","天河水","大驿土","钗钏金","桑柘木","大溪水","沙中土","天上火","石榴木","大海水"];function cn(un){const fn=(Number(un)%60+60)%60,an=B[Math.floor(fn/2)];return{name:an,element:an[2]}}return{NAYIN_NAMES:B,nayinOf:cn}})(),V.sanhe=(function(){const B=[{branches:["申","子","辰"],element:"水"},{branches:["亥","卯","未"],element:"木"},{branches:["寅","午","戌"],element:"火"},{branches:["巳","酉","丑"],element:"金"}],cn=Object.fromEntries(B.map(an=>[an.branches.join(""),an.element])),un=Object.fromEntries(B.flatMap(an=>an.branches.map(I=>[I,an.element])));function fn(an){return B.find(I=>I.branches.includes(an))||null}return{SANHE_GROUPS:B,SANHE:cn,SANHE_ELEMENT:un,sanheGroupOf:fn}})(),V["vsop-earth"]=(function(){const B=[[1.75347045673,0,0],[.03341656453,4.66925680415,6283.0758499914],[.00034894275,4.62610242189,12566.1516999828],[3417572e-11,2.82886579754,3.523118349],[3497056e-11,2.74411783405,5753.3848848968],[3135899e-11,3.62767041756,77713.7714681205],[2676218e-11,4.41808345438,7860.4193924392],[2342691e-11,6.13516214446,3930.2096962196],[1273165e-11,2.03709657878,529.6909650946],[1324294e-11,.74246341673,11506.7697697936],[901854e-11,2.04505446477,26.2983197998],[1199167e-11,1.10962946234,1577.3435424478],[857223e-11,3.50849152283,398.1490034082],[779786e-11,1.17882681962,5223.6939198022],[99025e-10,5.23268072088,5884.9268465832],[753141e-11,2.53339052847,5507.5532386674],[505267e-11,4.58292599973,18849.2275499742],[492392e-11,4.20505711826,775.522611324],[356672e-11,2.91954114478,.0673103028],[284125e-11,1.89869240932,796.2980068164],[242879e-11,.34481445893,5486.777843175],[317087e-11,5.84901948512,11790.6290886588],[271112e-11,.31486255375,10977.078804699],[206217e-11,4.80646631478,2544.3144198834],[205478e-11,1.86953770281,5573.1428014331],[202318e-11,2.45767790232,6069.7767545534],[126225e-11,1.08295459501,20.7753954924],[155516e-11,.83306084617,213.299095438],[115132e-11,.64544911683,.9803210682],[102851e-11,.63599845579,4694.0029547076],[101724e-11,4.2667980198,7.1135470008],[99206e-11,6.20992926918,2146.1654164752],[132212e-11,3.41118292683,2942.4634232916],[97607e-11,.68101342359,155.4203994342],[85128e-11,1.29870764804,6275.9623029906],[74651e-11,1.755089133,5088.6288397668],[101895e-11,.97569280312,15720.8387848784],[84711e-11,3.67080093031,71430.69561812909],[73547e-11,4.67926633877,801.8209311238],[73874e-11,3.50319414955,3154.6870848956],[78757e-11,3.03697458703,12036.4607348882],[79637e-11,1.80791287082,17260.1546546904],[85803e-11,5.9832263126,161000.6857376741],[56963e-11,2.78430458592,6286.5989683404],[61148e-11,1.81839892984,7084.8967811152],[69627e-11,.83297621398,9437.762934887],[56116e-11,4.38694865354,14143.4952424306],[62449e-11,3.97763912806,8827.3902698748],[51145e-11,.28306832879,5856.4776591154],[55577e-11,3.47006059924,6279.5527316424],[41036e-11,5.36817592855,8429.2412664666],[51605e-11,1.33282739866,1748.016413067],[51992e-11,.18914947184,12139.5535091068],[49e-8,.48735014197,1194.4470102246],[392e-9,6.16833020996,10447.3878396044],[3557e-10,1.775968892,6812.766815086],[3677e-10,6.04133863162,10213.285546211],[36596e-11,2.56957481827,1059.3819301892],[33296e-11,.59310278598,17789.845619785],[35954e-11,1.70875808777,2352.8661537718],[40938e-11,2.39850938714,19651.048481098],[30047e-11,2.73975124088,1349.8674096588],[30412e-11,.44294464169,83996.84731811189],[23663e-11,.48473622521,8031.0922630584],[23574e-11,2.06528133162,3340.6124266998],[21089e-11,4.14825468851,951.7184062506],[24738e-11,.21484762138,3.5904286518],[25352e-11,3.16470891653,4690.4798363586],[22823e-11,5.22195230819,4705.7323075436],[21419e-11,1.42563910473,16730.4636895958],[21891e-11,5.55594302779,553.5694028424],[203e-9,.37133792946,283.8593188652]],cn=[[6283.0758499914,0,0],[.00206058863,2.67823455808,6283.0758499914],[4303419e-11,2.63512233481,12566.1516999828],[425264e-11,1.59046982018,3.523118349],[109017e-11,2.96631010675,1577.3435424478],[93479e-11,2.59211109542,18849.2275499742],[119305e-11,5.79555765566,26.2983197998],[72121e-11,1.13840581212,529.6909650946],[67784e-11,1.87453300345,398.1490034082],[6735e-10,4.40932832004,5507.5532386674],[59045e-11,2.88815790631,5223.6939198022],[55976e-11,2.17471740035,155.4203994342],[45411e-11,.39799502896,796.2980068164],[36298e-11,.46875437227,775.522611324],[28962e-11,2.64732254645,7.1135470008],[20844e-11,5.34138275149,.9803210682]],un=[[8721859e-11,1.07253635559,6283.0758499914],[99099e-10,3.14159265359,0],[294833e-11,.43717350256,12566.1516999828],[27338e-11,.05295636147,3.523118349],[16333e-11,5.18820215724,26.2983197998],[15745e-11,3.68504712183,155.4203994342],[9425e-11,.29667114694,18849.2275499742],[8938e-11,2.05706319592,77713.7714681205],[694e-10,.82691541038,775.522611324],[5061e-11,4.6624323168,1577.3435424478]],fn=[[289058e-11,5.84173149732,6283.0758499914],[20712e-11,6.0498393902,12566.1516999828],[2962e-11,5.1956057957,155.4203994342],[2527e-11,3.14159265359,0],[1288e-11,4.7219761197,3.523118349]],an=[[7714e-11,4.14117321449,6283.0758499914],[1016e-11,3.27573644241,12566.1516999828]];function I(H){let P=0;for(const[E,j,Y]of B)P+=E*Math.cos(j+Y*H);let A=1;for(const E of[cn,un,fn,an]){A*=H;for(const[j,Y,p]of E)P+=j*A*Math.cos(Y+p*H)}return P}return{earthL:I}})(),V.calendar=(function(){const{earthL:B}=V["vsop-earth"]||{},{createLru:cn}=V.lru||{},{bool:un}=V.bool||{},fn=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],an=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],I=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"];function H(en){return(285+15*en)%360}function P(en,tn,hn){const y=Math.floor((14-tn)/12),U=en+4800-y,v=tn+12*y-3;return hn+Math.floor((153*v+2)/5)+365*U+Math.floor(U/4)-Math.floor(U/100)+Math.floor(U/400)-32045}function A(en){const tn=en+32044,hn=Math.floor((4*tn+3)/146097),y=tn-Math.floor(146097*hn/4),U=Math.floor((4*y+3)/1461),v=y-Math.floor(1461*U/4),F=Math.floor((5*v+2)/153);return{year:100*hn+U-4800+Math.floor(F/10),month:F+3-12*Math.floor(F/10),day:v-Math.floor((153*F+2)/5)+1}}function E(en,tn){for(let hn=0;hn<60;hn++)if(hn%10===en&&hn%12===tn)return hn;return-1}function j(en){const tn=(en%60+60)%60;return{index:tn,stem:fn[tn%10],branch:an[tn%12],name:fn[tn%10]+an[tn%12]}}function Y(en){return((en+49)%60+60)%60}function p(en){const tn=en-2451545,hn=tn/36525,y=tn/365250;let U=B(y)*180/Math.PI+180;U=(U%360+360)%360;const v=(5029.0966*hn+1.11113*hn*hn-6e-6*hn*hn*hn)/3600;U+=v,U-=.09033/3600;const F=(125.04452-1934.136261*hn)*Math.PI/180,$n=(280.4665+36000.7698*hn)*Math.PI/180,jn=(218.3165+481267.8813*hn)*Math.PI/180,Cn=(-17.2*Math.sin(F)-1.32*Math.sin(2*$n)-.23*Math.sin(2*jn)+.21*Math.sin(2*F))/3600;U+=Cn;const wn=(357.52911+35999.05029*hn-1537e-7*hn*hn)*Math.PI/180,Dn=.016708634-42037e-9*hn-1267e-10*hn*hn,oe=1.000001018*(1-Dn*Dn)/(1+Dn*Math.cos(wn+(1.914602-.004817*hn)*(Math.PI/180)*Math.sin(wn)));return U-=20.4898/3600/(oe||1),(U%360+360)%360}function i(en){if(en<1900){const F=en;if(F<1600)return 120;if(F<1700){const jn=F-1600;return 120-.9808*jn-.01532*jn*jn+jn*jn*jn/7129}if(F<1800){const jn=F-1700;return 8.83+.1603*jn-.0059285*jn*jn+13336e-8*jn*jn*jn-jn**4/1174e3}if(F<1860){const jn=F-1800;return 13.72-.332447*jn+.0068612*jn*jn+.0041116*jn**3-37436e-8*jn**4+121272e-10*jn**5-1699e-10*jn**6+875e-12*jn**7}const $n=F-1860;return 7.62+.5737*$n-.251754*$n*$n+.01680668*$n**3-.0004473624*$n**4+$n**5/233174}const tn=[[1900,-2.8],[1920,21.2],[1940,24.3],[1950,29.1],[1960,33.2],[1970,40.2],[1980,50.5],[1990,56.9],[2e3,63.8],[2010,66.1],[2020,69.4],[2030,72],[2050,80],[2100,110]];if(en<=tn[0][0])return tn[0][1];for(let F=1;F<tn.length;F++)if(en<=tn[F][0]){const[$n,jn]=tn[F-1],[Cn,wn]=tn[F];return jn+(wn-jn)*(en-$n)/(Cn-$n)}const[hn,y]=tn[tn.length-1],U=(hn-1820)/100,v=(en-1820)/100;return y+32*(v*v-U*U)}const h=8/24,u=7.7611/24,b=2425612+4/24;function w(en){return en<b?u:h}const S=cn({max:4096,name:"termInstant"}),q=1e-5,o=new Map,d=365.2422;function g(en,tn){const hn=H(tn),y=P(en,1,5)-.5+tn*15.2184,U=o.get(tn);let v=U!==void 0?U+d:y;Math.abs(v-y)>20&&(v=y);for(let $n=0;$n<12;$n++){let jn=hn-p(v);if(jn=((jn+180)%360+360)%360-180,v+=jn/.98564736,Math.abs(jn)<q)break}o.set(tn,v);const F=v-i(en)/86400;return F+w(F)}function z(en,tn){const hn=en*24+tn,y=S.get(hn);if(y!==void 0)return y;const U=g(en,tn);return S.set(hn,U),U}function T(en){const tn=Math.floor(en+.5),hn=en+.5-tn,y=Math.min(1439,Math.floor(Math.round(hn*86400)/60)),{year:U,month:v,day:F}=A(tn);return{year:U,month:v,day:F,hour:Math.floor(y/60),minute:y%60}}function Z({year:en,month:tn,day:hn,hour:y=0,minute:U=0}){return P(en,tn,hn)-.5+(y*60+U)/1440}function N(en,tn,hn){const y=P(en,tn,hn)-P(en,1,1)+1,U=2*Math.PI*(y-81)/364;return 9.87*Math.sin(2*U)-7.53*Math.cos(U)-1.5*Math.sin(U)}const dn=cn({max:8,name:"termWindow"}),J=cn({max:32,name:"termYear"}),Un=Array.from({length:24},(en,tn)=>tn),bn=Un.filter(en=>en%2===0);function r(en,tn){const hn=tn?`${en}|jie`:`${en}|all`,y=J.get(hn);if(y)return y;if(tn){const v=J.get(`${en}|all`);if(v){const F=v.filter($n=>$n.index%2===0);return J.set(hn,F),F}}const U=[];for(const v of tn?bn:Un)U.push({year:en,index:v,name:I[v],jd:z(en,v)});return U.sort((v,F)=>v.jd-F.jd),J.set(hn,U),U}function C(en,tn={}){const hn=un(tn.jieOnly),y=hn?`${en}|jie`:en,U=dn.get(y);if(U)return U;const v=[...r(en-1,hn),...r(en,hn),...r(en+1,hn)];return v.sort((F,$n)=>F.jd-$n.jd),dn.set(y,v),v}function on(en){if(typeof en!="string"||en.length<2)return[];const tn=fn.indexOf(en[0]),hn=an.indexOf(en[1]);if(tn<0||hn<0)return[];const y=E(tn,hn);if(y<0)return[];const U=Math.floor(y/10)*10;return[an[(U+10)%12],an[(U+11)%12]]}function zn(en,tn){let hn=null;for(const y of en)if(y.index%2===0)if(y.jd<=tn)hn=y;else break;return hn}function xn(en,tn){for(const hn of en)if(hn.index%2===0&&hn.jd>tn)return hn;return null}function pn(en){const tn=T(en),hn=y=>String(y).padStart(2,"0");return`${tn.year}-${hn(tn.month)}-${hn(tn.day)} ${hn(tn.hour)}:${hn(tn.minute)}`}function ln(){return[S.stats(),J.stats(),dn.stats()]}return{STEMS:fn,BRANCHES:an,TERM_NAMES:I,termLongitude:H,toJDN:P,fromJDN:A,sexagenaryIndex:E,ganzhiName:j,dayGanzhiIndex:Y,sunLongitude:p,deltaTSeconds:i,OFFSET_MODERN:h,OFFSET_BEIJING_LOCAL:u,CUTOVER_JD:b,localOffsetFor:w,termInstantJd:z,jdToParts:T,partsToJd:Z,equationOfTime:N,termWindow:C,xunKongOf:on,previousJie:zn,nextJie:xn,formatJd:pn,cacheMetrics:ln}})(),V.lunar=(function(){const{toJDN:B,jdToParts:cn,termInstantJd:un,deltaTSeconds:fn,localOffsetFor:an}=V.calendar||{},I=29.530588861,H=245155009766e-5,P=Math.PI/180;function A(i){const h=i/1236.85,u=H+I*i+15437e-8*h*h-15e-8*h*h*h+73e-11*h*h*h*h,b=1-.002516*h-74e-7*h*h,w=(2.5534+29.1053567*i-14e-7*h*h-11e-8*h*h*h)*P,S=(201.5643+385.81693528*i+.0107582*h*h+1238e-8*h*h*h-58e-9*h*h*h*h)*P,q=(160.7108+390.67050284*i-.0016118*h*h-227e-8*h*h*h+11e-9*h*h*h*h)*P,o=(124.7746-1.56375588*i+.0020672*h*h+215e-8*h*h*h)*P,d=-.4072*Math.sin(S)+.17241*b*Math.sin(w)+.01608*Math.sin(2*S)+.01039*Math.sin(2*q)+.00739*b*Math.sin(S-w)-.00514*b*Math.sin(S+w)+.00208*b*b*Math.sin(2*w)-.00111*Math.sin(S-2*q)-57e-5*Math.sin(S+2*q)+56e-5*b*Math.sin(2*S+w)-42e-5*Math.sin(3*S)+42e-5*b*Math.sin(w+2*q)+38e-5*b*Math.sin(w-2*q)-24e-5*b*Math.sin(2*S-w)-17e-5*Math.sin(o)-7e-5*Math.sin(S+2*w)+4e-5*Math.sin(2*S-2*q)+4e-5*Math.sin(3*w)+3e-5*Math.sin(S+w-2*q)+3e-5*Math.sin(2*S+2*q)-3e-5*Math.sin(S+w+2*q)+3e-5*Math.sin(S-w+2*q)-2e-5*Math.sin(S-w-2*q)-2e-5*Math.sin(3*S+w)+2e-5*Math.sin(4*S),g=u+d-fn(2e3+h*100)/86400;return g+an(g)}function E(i){return Math.floor(i+.5)}function j(i){return Math.round((i+.5-H)/I)}function Y(i,h,u){for(let b=i-1;b<=i+1;b++)for(let w=1;w<24;w+=2){const S=un(b,w),q=E(S);if(q>=h&&q<u)return{index:w,jd:S}}return null}function p(i,h,u){const b=B(i,h,u),w=E(un(i,23)),S=b<w?i-1:i,q=E(un(S,23));let o=j(q);for(;E(A(o))>q;)o--;for(;E(A(o+1))<=q;)o++;const d=E(un(S+1,23));let g=o;for(;E(A(g+1))<=d;)g++;const z=g-o;let T=-1;if(z===13)for(let dn=1;dn<=z;dn++){const J=E(A(o+dn-1)),Un=E(A(o+dn));if(!Y(S,J,Un)){T=dn;break}}let Z=11,N=!1;for(let dn=1;dn<=15;dn++){const J=E(A(o+dn-1)),Un=E(A(o+dn)),bn=Y(S,J,Un),r=dn===T;if(b>=J&&b<Un){const C=cn(A(o+dn-1)),on=r?(Z+10)%12+1:Z;return{year:S,lunarYear:N?S+1:S,month:on,day:b-J+1,isLeap:r,monthStart:`${C.year}-${String(C.month).padStart(2,"0")}-${String(C.day).padStart(2,"0")}`,hasZhongQi:!!bn}}r||(Z=Z%12+1,Z===1&&(N=!0))}throw new Error(`农历换算失败:${i}-${h}-${u}`)}return{SYNODIC:I,newMoonJd:A,dayNumberOf:E,solarToLunar:p}})(),V.geo=(function(){const{bool:B}=V.bool||{},cn=`
|
|
4
4
|
北京 116.41 39.90;上海 121.47 31.23;天津 117.20 39.13;重庆 106.55 29.56
|
|
5
5
|
广州 113.26 23.13;深圳 114.06 22.55;珠海 113.58 22.27;东莞 113.75 23.02;佛山 113.12 23.02
|
|
6
6
|
汕头 116.68 23.35;中山 113.39 22.52;惠州 114.42 23.11;江门 113.08 22.58;湛江 110.36 21.27
|
|
@@ -67,82 +67,84 @@ window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.name.js",factor
|
|
|
67
67
|
贵港 109.60 23.11;贺州 111.57 24.40;来宾 109.23 23.75;崇左 107.36 22.40
|
|
68
68
|
海口 110.20 20.04;三亚 109.51 18.25;儋州 109.58 19.52;琼海 110.47 19.26
|
|
69
69
|
香港 114.17 22.32;澳门 113.55 22.20;台北 121.52 25.03;高雄 120.31 22.63;台中 120.68 24.14
|
|
70
|
-
`,
|
|
71
|
-
`))for(const u of o.split(";")){const r=u.trim().split(/\s+/);if(r.length!==3)continue;const[z,g,y]=r;d[z]={lon:Number(g),lat:Number(y)}}for(const[o,[u,r]]of Object.entries(fn))d[o]||(d[o]={lon:u,lat:r});return d})(),A=/[省区路街道巷弄号村镇乡组队]/,R={中山区:{city:"大连"},朝阳区:{city:"北京",byProvince:{吉林:"长春",辽宁:"朝阳"}}};function L(d){const o=String(d||"").trim();if(!o)return null;const u=Number(o);if(Number.isFinite(u)&&/^-?\d+(\.\d+)?$/.test(o)&&u>=60&&u<=150)return{lon:u,lat:null,matched:`${u}°E`,level:"经度",note:"按你输入的经度计算"};const r=o.replace(/\s/g,""),z=Object.keys(nn).sort((S,i)=>i.length-S.length),g=[];for(const S of z)for(let i=r.indexOf(S);i>=0;i=r.indexOf(S,i+S.length)){const h=r.charAt(i+S.length);A.test(h)||g.push({name:S,at:i,after:h,explicit:h==="市"?1:0})}if(g.sort((S,i)=>i.explicit-S.explicit||S.at-i.at),g.length){const S=g[0],i=nn[S.name];return S.after==="县"?{lon:i.lon,lat:i.lat,matched:`${S.name}县`,level:"区县",note:`「${S.name}县」按 ${S.name} 城区估算(约 ${i.lon}°E)`}:{lon:i.lon,lat:i.lat,matched:S.name,level:"地级市",note:`按 ${S.name} 估算(约 ${i.lon}°E)`}}for(const[S,i]of Object.entries(R)){if(!r.includes(S))continue;let h=i.city;for(const[x,M]of Object.entries(i.byProvince||{}))if(r.includes(x)){h=M;break}const m=nn[h];if(m)return{lon:m.lon,lat:m.lat,matched:h,level:"区县",note:`「${S}」按 ${h} 估算(约 ${m.lon}°E)`}}const y=z.find(S=>r.includes(`${S}路`)||r.includes(`${S}街`));if(y)return{lon:null,lat:null,matched:null,level:"未匹配",note:`「${y}路」是全国常见的路名,无法确定城市;请补上城市(如「厦门市${y}路」)或直接填经度`};for(const[S,i]of Object.entries(sn)){const h=r.indexOf(S);if(h<0)continue;const m=r.charAt(h+S.length);if(m==="区"||m==="县")continue;const x=nn[i]||{lon:fn[i][0],lat:fn[i][1]};return{lon:x.lon,lat:x.lat,matched:i,level:"省会",note:`未匹配到具体城市,按 ${S} 省会 ${i} 估算(约 ${x.lon}°E)`}}return{lon:null,lat:null,matched:null,level:"未匹配",note:`没查到「${o}」,可改填经度(如 116.4)`}}const k=/(区|县|镇|乡|村|小区|街道|路|号|巷|弄|组|队)/,j="dsh-metaphysics (+https://github.com/xuanfu-web/dsh-metaphysics)";async function $(d,{timeoutMs:o=2500}={}){if(typeof fetch!="function")return null;let u=null;try{const r=typeof AbortController=="function"?new AbortController:null;r&&(u=setTimeout(()=>r.abort(),o));const z="https://nominatim.openstreetmap.org/search?format=jsonv2&limit=1&accept-language=zh-CN&countrycodes=cn&q="+encodeURIComponent(d),g=await fetch(z,{signal:r?r.signal:void 0,headers:{"User-Agent":j}});if(!g||!g.ok)return null;const y=await g.json();if(!Array.isArray(y)||y.length===0)return null;const S=y[0],i=Number(S.lon),h=Number(S.lat);return Number.isFinite(i)?{lon:i,lat:h,matched:S.display_name,level:"在线",note:`在线解析:${S.display_name}`}:null}catch{return null}finally{u&&clearTimeout(u)}}async function G(d,o={}){const u=L(d),r=String(d||"").trim();if(!r||!P(o.online)||u&&typeof u.lon=="number"&&!k.test(r))return u;const g=await $(r,o);return g?{...g,local:u&&u.lon!=null?u:null}:u&&typeof u.lon=="number"?{...u,onlineFailed:!0,note:`${u.note}(联网解析失败或超时,已退回内置坐标表)`}:{...u,onlineFailed:!0}}return{CITIES:nn,PROVINCES:sn,resolveAddress:L,geocodeAddress:G}})(),W.random=(function(){function P(A){const R=Number(A),L=R>>>0,k=Math.floor(Math.abs(R)/4294967296)>>>0,j=Math.round((R-Math.trunc(R))*4294967296)>>>0;let $=(L^Math.imul(k+1,2246822507)^j)>>>0;return $||($=2654435769),function(){$=$+1831565813>>>0;let d=$;return d=Math.imul(d^d>>>15,d|1),d^=d+Math.imul(d^d>>>7,d|61),((d^d>>>14)>>>0)/4294967296}}const en=/^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/,sn=A=>{if(typeof A=="number")return Number.isFinite(A)?A:NaN;if(typeof A=="string"){const R=A.trim();if(R!==""&&en.test(R))return Number(R)}return NaN};function fn(A){if(A==null||A==="")return Math.random;const R=sn(A);return Number.isFinite(R)?P(R):Math.random}function nn(A){return A==null||A===""?!0:Number.isFinite(sn(A))}return{mulberry32:P,randomOf:fn,isSeed:nn}})(),W.dst=(function(){const{daysInMonth:P}=W.validate||{},en={1986:["1986-05-04","1986-09-14"],1987:["1987-04-12","1987-09-13"],1988:["1988-04-10","1988-09-11"],1989:["1989-04-16","1989-09-17"],1990:["1990-04-15","1990-09-16"],1991:["1991-04-14","1991-09-15"]},sn=(R,L,k)=>R*1e4+L*100+k;function fn(R){const L=en[R.year];if(!L)return!1;const[k,j,$]=L[0].split("-").map(Number),[G,d,o]=L[1].split("-").map(Number),u=sn(R.year,R.month,R.day);if(u<sn(k,j,$)||u>sn(G,d,o))return!1;const r=R.hour*60+(R.minute||0);return!(u===sn(k,j,$)&&r<120||u===sn(G,d,o)&&r>=120)}function nn(R){const L=en[R.year];if(!L)return null;const[k,j,$]=L[0].split("-").map(Number),[G,d,o]=L[1].split("-").map(Number),u=sn(R.year,R.month,R.day),r=R.hour*60+(R.minute||0);return u===sn(k,j,$)&&r>=120&&r<180?"gap":u===sn(G,d,o)&&r>=60&&r<120?"twice":null}function A(R){const L=R.minute||0;if(!fn(R))return{year:R.year,month:R.month,day:R.day,hour:R.hour,minute:L,applied:!1,note:null};let{year:k,month:j,day:$,hour:G}=R;G-=1,G<0&&(G+=24,$-=1,$<1&&(j-=1,j<1&&(j=12,k-=1),$=P(k,j)));const d=nn(R);return{year:k,month:j,day:$,hour:G,minute:L,applied:!0,note:`检出自 ${en[R.year][0]} 至 ${en[R.year][1]} 的中国夏令时:出生钟面时间已减 1 小时校正`+(d==="gap"?";这一天 02:00–03:00 钟表直接跳过,所给钟面时间在当年并不存在——这里按「拨快后的读数」回退一小时,若登记的本是标准时间,请传 dst:false 重排。":d==="twice"?";这一天 01:00–02:00 因回拨走了两遍,同一钟面时间对应两个真实时刻——这里按夏令时的那一遍(回退一小时)取。":"")}}return{DST_SPANS:en,inDstSpan:fn,dstAmbiguity:nn,applyDst:A}})(),W.shensha=(function(){const{BRANCHES:P}=W.calendar||{},{sanheGroupOf:en}=W.sanhe||{},sn=["year","month","day","hour"],fn={year:"年柱",month:"月柱",day:"日柱",hour:"时柱"},nn=["贵人","文星","婚姻","性情","事业","凶煞","格局"],A=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],R={year:"年干",month:"月干",day:"日干",hour:"时干"},L={year:"年支",month:"月支",day:"日支",hour:"时支"},k=w=>{const s=en(w);return s?s.branches.join(""):void 0},j={亥子丑:["寅","戌"],寅卯辰:["巳","丑"],巳午未:["申","辰"],申酉戌:["亥","未"]},$=w=>Object.keys(j).find(s=>s.includes(w)),G={寅:"春",卯:"春",辰:"春",巳:"夏",午:"夏",未:"夏",申:"秋",酉:"秋",戌:"秋",亥:"冬",子:"冬",丑:"冬"},d=w=>({kind:"branch",ch:w}),o=w=>({kind:"stem",ch:w}),u=w=>({kind:"gz",ch:w}),r={甲:["丑","未"],戊:["丑","未"],庚:["丑","未"],乙:["子","申"],己:["子","申"],丙:["亥","酉"],丁:["亥","酉"],辛:["午","寅"],壬:["卯","巳"],癸:["卯","巳"]},z={甲:["子","午"],乙:["子","午"],丙:["卯","酉"],丁:["卯","酉"],戊:["辰","戌","丑","未"],己:["辰","戌","丑","未"],庚:["寅","亥"],辛:["寅","亥"],壬:["巳","申"],癸:["巳","申"]},g={寅:"丁",卯:"申",辰:"壬",巳:"辛",午:"亥",未:"甲",申:"癸",酉:"寅",戌:"丙",亥:"乙",子:"巳",丑:"庚"},y={寅午戌:"丙",申子辰:"壬",亥卯未:"甲",巳酉丑:"庚"},S={丙:"辛",壬:"丁",甲:"己",庚:"乙"},i={甲:["寅","子"],丙:["寅","子"],乙:["卯","丑"],癸:["卯","丑"],丁:["亥"],戊:["申"],己:["未"],庚:["午"],辛:["巳"],壬:["辰"]},h={甲:["未"],乙:["辰"],丙:["巳"],丁:["酉"],戊:["戌"],己:["卯"],庚:["亥"],辛:["申"],壬:["午"],癸:["寅"]},m={甲:["戌"],乙:["亥"],丙:["丑"],丁:["寅"],戊:["丑"],己:["寅"],庚:["辰"],辛:["巳"],壬:["未"],癸:["申"]},x={甲:["巳"],乙:["午"],丙:["巳"],丁:["午"],戊:["申"],己:["酉"],庚:["亥"],辛:["子"],壬:["寅"],癸:["卯"]},M={寅:"丑",卯:"寅",辰:"卯",巳:"辰",午:"巳",未:"午",申:"未",酉:"申",戌:"酉",亥:"戌",子:"亥",丑:"子"},H={甲:["巳"],乙:["午"],丙:["申"],丁:["酉"],戊:["申"],己:["酉"],庚:["亥"],辛:["子"],壬:["寅"],癸:["卯"]},q={寅午戌:["丙","丁","戊","癸"],申子辰:["壬","癸","戊","己","丙","辛","甲","己"],巳酉丑:["庚","辛","乙"],亥卯未:["甲","乙","丁","壬"]},hn={寅午戌:["卯"],申子辰:["酉"],巳酉丑:["午"],亥卯未:["子"]},K={寅午戌:["午"],申子辰:["子"],巳酉丑:["酉"],亥卯未:["卯"]},Pn={寅午戌:["戌"],申子辰:["辰"],巳酉丑:["丑"],亥卯未:["未"]},Kn={寅午戌:["申"],申子辰:["寅"],巳酉丑:["亥"],亥卯未:["巳"]},c={寅午戌:["亥"],申子辰:["巳"],巳酉丑:["寅"],亥卯未:["申"]},D={寅午戌:["子"],申子辰:["午"],巳酉丑:["卯"],亥卯未:["酉"]},Sn={寅午戌:["巳"],申子辰:["亥"],巳酉丑:["申"],亥卯未:["寅"]},Mn={甲:["辰"],乙:["巳"],丙:["未"],丁:["申"],戊:["未"],己:["申"],庚:["戌"],辛:["亥"],壬:["丑"],癸:["寅"]},kn={甲:["寅"],乙:["卯"],丙:["巳"],丁:["午"],戊:["巳"],己:["午"],庚:["申"],辛:["酉"],壬:["亥"],癸:["子"]},wn={甲:["卯"],乙:["寅"],丙:["午"],丁:["巳"],戊:["午"],己:["巳"],庚:["酉"],辛:["申"],壬:["子"],癸:["亥"]},dn=Object.fromEntries(Object.entries(wn).map(([w,s])=>[w,s.map(O=>P[(P.indexOf(O)+6)%12])])),X={甲:["酉"],乙:["戌"],丙:["未"],丁:["申"],戊:["巳"],己:["午"],庚:["辰"],辛:["卯"],壬:["亥"],癸:["寅"]},an=["庚辰","庚戌","壬辰","戊戌"],gn=["甲寅","丙辰","戊辰","庚辰","壬戌"],f=["丁酉","丁亥","癸巳","癸卯"],C=["丙午","丁未","戊子","戊午","己丑","己未"],N=["甲辰","乙巳","丙申","丁亥","戊戌","己丑","庚辰","辛巳","壬申","癸亥"],B=["丙子","丁丑","戊寅","辛卯","壬辰","癸巳","丙午","丁未","戊申","辛酉","壬戌","癸亥"],pn={春:"戊寅",夏:"甲午",秋:"戊申",冬:"甲子"},qn={春:["庚申","辛酉"],夏:["壬子","癸亥"],秋:["甲寅","乙卯"],冬:["丙午","丁巳"]},Zn={春:["寅","子"],秋:["寅","子"],夏:["卯","未","辰"],冬:["卯","未","辰"]},zn={金:["午","卯"],木:["午","卯"],水:["酉","戌"],火:["酉","戌"],土:["辰","巳"]},Y=["甲戊庚","乙丙丁","壬癸辛"],yn=["乙丑","己巳","癸酉"],Q={寅:"壬",卯:"巳",辰:"丁",巳:"丙",午:"寅",未:"己",申:"戊",酉:"亥",戌:"辛",亥:"庚",子:"申",丑:"乙"},T={寅:"丑",卯:"未",辰:"寅",巳:"申",午:"卯",未:"酉",申:"辰",酉:"戌",戌:"巳",亥:"亥",子:"午",丑:"子"},rn={甲:["午"],乙:["午"],丙:["寅"],丁:["未"],戊:["辰"],己:["辰"],庚:["戌"],辛:["酉"],壬:["子"],癸:["申"]},I=["甲寅","乙巳","丙午","丁巳","戊午","戊申","辛亥","壬子"],F=["甲辰","乙亥","丙辰","丁酉","戊午","庚戌","庚寅","辛亥","壬寅","癸未"],ln=["甲寅","乙卯","丁未","戊戌","己未","庚申","辛酉","癸丑"],xn=["丁酉","戊子","戊午","己卯","己酉","辛卯","辛酉","壬子","壬午"],tn={春:"乙卯",夏:"丙午",秋:"辛酉",冬:"壬子"},In={春:"辛卯",夏:"戊午",秋:"癸酉",冬:"丙子"},un={金:"巳",木:"亥",水:"申",土:"申",火:"寅"},_n={金:"申",木:"寅",水:"亥",土:"亥",火:"巳"};function U(w,s,O,An,Cn,Fn=["day"]){return{name:w,cat:s,luck:O,rule:An,refs:Fn,refKind:"stem",targets:($n,Un)=>(Cn[$n.pillars[Un].stem]||[]).map(d)}}function cn(w,s,O,An,Cn,Fn=["year","day"]){return{name:w,cat:s,luck:O,rule:An,refs:Fn,refKind:"branch",targets:($n,Un)=>{const Vn=k($n.pillars[Un].branch);return Vn&&Cn[Vn]?Cn[Vn].map(d):[]}}}function on(w,s,O,An,Cn,Fn="year"){return{name:w,cat:s,luck:O,rule:An,refs:[Fn],refKind:"branch",viaLabel:L[Fn],targets:$n=>Cn($n)}}function b(w,s,O,An,Cn,Fn){return{name:w,cat:s,luck:O,rule:An,refs:["month"],refKind:"branch",viaLabel:"月支",slots:Fn,targets:$n=>Cn($n)}}function E(w,s,O,An,Cn,Fn="day"){return{name:w,cat:s,luck:O,rule:An,refs:[Fn],refKind:"branch",viaLabel:fn[Fn],slots:[Fn],targets:($n,Un)=>Cn.includes($n.pillars[Un].ganzhi)?[u($n.pillars[Un].ganzhi)]:[]}}const V=[U("天乙贵人","贵人","good","甲戊庚见丑未,乙己见子申,丙丁见亥酉,辛见午寅,壬癸见卯巳(年干、日干查四支)",r,["year","day"]),U("太极贵人","贵人","good","甲乙见子午,丙丁见卯酉,戊己见辰戌丑未,庚辛见寅亥,壬癸见巳申(年干、日干查四支)",z,["year","day"]),b("天德贵人","贵人","good","正月丁、二月申、三月壬、四月辛、五月亥、六月甲、七月癸、八月寅、九月丙、十月乙、冬月巳、腊月庚(月支查干或支)",w=>{const s=g[w.pillars.month.branch];return s?A.includes(s)?[o(s)]:[d(s)]:[]}),b("月德贵人","贵人","good","寅午戌月见丙,申子辰月见壬,亥卯未月见甲,巳酉丑月见庚(月支查天干)",w=>{const s=k(w.pillars.month.branch);return s&&y[s]?[o(y[s])]:[]}),b("月德合","贵人","good","月德之合干:丙见辛、壬见丁、甲见己、庚见乙(月支定月德后查天干)",w=>{const s=k(w.pillars.month.branch),O=s&&y[s]?S[y[s]]:null;return O?[o(O)]:[]}),b("天德合","贵人","good","天德之合:寅月丁德→壬合、卯月申→巳、辰月壬→丁、巳月辛→丙、午月亥→寅、未月甲→己、申月癸→戊、酉月寅→亥、戌月丙→辛、亥月乙→庚、子月巳→申、丑月庚→乙(月支查干或支;无天德时天德合同样起作用)",w=>{const s=Q[w.pillars.month.branch];return s?A.includes(s)?[o(s)]:[d(s)]:[]}),U("福星贵人","贵人","good","甲丙见寅子,乙癸见卯丑,戊见申、己见未、丁见亥、庚见午、辛见巳、壬见辰(年干、日干查四支)。出自《甲丙相邀入虎乡歌》「戊猴己未丁宜亥」;旧本有作丁见酉者,与歌诀不合,本插件从歌诀",i,["year","day"]),U("天官贵人","贵人","good","甲未、乙辰、丙巳、丁酉、戊戌、己卯、庚亥、辛申、壬午、癸寅(年干、日干查四支;此表流派有异)",h,["year","day"]),U("国印贵人","贵人","good","甲戌、乙亥、丙丑、丁寅、戊丑、己寅、庚辰、辛巳、壬未、癸申(年干、日干查四支)",m,["year","day"]),U("天厨贵人","贵人","good","食神之禄:甲巳、乙午、丙巳、丁午、戊申、己酉、庚亥、辛子、壬寅、癸卯(日干查四支)",x,["day"]),b("天医","贵人","good","月支退一位:寅月见丑、卯月见寅……丑月见子(月支查四支)",w=>{const s=M[w.pillars.month.branch];return s?[d(s)]:[]}),U("文昌贵人","文星","good","甲巳、乙午、丙申、丁酉、戊申、己酉、庚亥、辛子、壬寅、癸卯(年干、日干查四支)",H,["year","day"]),b("德秀贵人","文星","good","寅午戌月德丙丁、秀戊癸;申子辰月德壬癸戊己、秀丙辛甲己;巳酉丑月德庚辛、秀乙庚;亥卯未月德甲乙、秀丁壬(月支查天干)",w=>{const s=k(w.pillars.month.branch);return s&&q[s]?q[s].map(o):[]}),cn("桃花","婚姻","neutral","寅午戌见卯、申子辰见酉、巳酉丑见午、亥卯未见子(年支、日支双查)",hn),on("红鸾","婚姻","good","卯起子逆数:子见卯、丑见寅、寅见丑、卯见子……(年支查四支)",w=>{const s=P.indexOf(w.pillars.year.branch);return[d(P[((3-s)%12+12)%12])]}),on("天喜","婚姻","good","红鸾对冲之位:子见酉、丑见申、寅见未……(年支查四支)",w=>{const O=((3-P.indexOf(w.pillars.year.branch))%12+12)%12;return[d(P[(O+6)%12])]}),on("孤辰","婚姻","bad","亥子丑年见寅、寅卯辰年见巳、巳午未年见申、申酉戌年见亥(年支查四支)",w=>{const s=$(w.pillars.year.branch);return s?[d(j[s][0])]:[]}),on("寡宿","婚姻","bad","亥子丑年见戌、寅卯辰年见丑、巳午未年见辰、申酉戌年见未(年支查四支)",w=>{const s=$(w.pillars.year.branch);return s?[d(j[s][1])]:[]}),U("金舆","婚姻","good","禄前二位:甲龙乙蛇丙戊羊、丁己申宫庚犬乡、辛猪壬牛癸虎位(日干查四支)",Mn,["day"]),U("红艳煞","婚姻","neutral","甲乙午、丙寅、丁未、戊己辰、庚戌、辛酉、壬子、癸申(日干查四支)",rn,["day"]),E("孤鸾煞","婚姻","bad","日柱甲寅、乙巳、丙午、丁巳、戊午、戊申、辛亥、壬子(日柱见之;又名呻吟煞)",I),on("勾绞煞","婚姻","bad","桃花六冲之位:子见卯酉、丑见辰戌、寅见巳亥……(年支查余三支;阳男阴女命前三辰为勾后三为绞,阴男阳女反之)",w=>{const s=P.indexOf(w.pillars.year.branch),O=P[(s+3)%12],An=P[(s+9)%12];return(w.gender==="male"?s%2===0:s%2===1)?[{kind:"branch",ch:O,label:"勾"},{kind:"branch",ch:An,label:"绞"}]:[{kind:"branch",ch:An,label:"勾"},{kind:"branch",ch:O,label:"绞"}]}),on("元辰","凶煞","bad","阳男阴女:子见未、丑见申、寅见酉……(年支次一位的对冲);阴男阳女:子见巳、丑见午……(年支退一位的对冲)(年支查余三支;又名毛头星、大耗)",w=>{const s=P.indexOf(w.pillars.year.branch),An=(w.gender==="male"?s%2===0:s%2===1)?(s+1)%12:(s+11)%12;return[d(P[(An+6)%12])]}),cn("华盖","性情","neutral","寅午戌见戌、申子辰见辰、巳酉丑见丑、亥卯未见未(年支、日支双查)",Pn),U("羊刃","性情","bad","帝旺之位:甲卯、乙寅、丙午、丁巳、戊午、己巳、庚酉、辛申、壬子、癸亥(日干查四支)。旧本把阴干记作禄前一位(乙辰、丁未、己未、辛戌、癸丑),那一位实为阴干之「衰」,与十二长生自相矛盾,本插件不取",wn,["day"]),U("飞刃","性情","bad","羊刃六冲(由羊刃位逐干对冲推得,不另立表):甲酉、乙申、丙子、丁亥、戊子、己亥、庚卯、辛寅、壬午、癸巳(日干查四支)",dn,["day"]),E("魁罡","性情","neutral","日柱庚辰、庚戌、壬辰、戊戌(日柱见之)",an),b("童子煞","性情","neutral","两法并行:①季节法——春秋生见寅子,冬夏生见卯未辰(查日支、时支);②纳音法——金木命见午卯,水火命见酉戌,土命见辰巳(年柱纳音查日支、时支)。任一中即算",w=>{const s=new Set,O=G[w.pillars.month.branch];for(const An of O&&Zn[O]||[])s.add(An);for(const An of zn[w.nayinElement]||[])s.add(An);return[...s].map(d)},["day","hour"]),E("六秀日","性情","good","日柱丙午、丁未、戊子、戊午、己丑、己未(日柱见之)",C),E("日德","性情","good","日柱甲寅、丙辰、戊辰、庚辰、壬戌(日柱见之)",gn),E("日贵","性情","good","日柱丁酉、丁亥、癸巳、癸卯(日柱见之)",f),E("十灵日","性情","good","日柱甲辰、乙亥、丙辰、丁酉、戊午、庚戌、庚寅、辛亥、壬寅、癸未(日柱见之;「男带十灵好文章,女带十灵好衣裳」)",F),E("八专","性情","neutral","日柱甲寅、乙卯、丁未、戊戌、己未、庚申、辛酉、癸丑(日柱见之;干支同气坐禄或冠带)",ln),E("九丑","性情","neutral","日柱丁酉、戊子、戊午、己卯、己酉、辛卯、辛酉、壬子、壬午(日柱见之;「丑」指名声风评非容貌)",xn),U("禄神","事业","good","甲寅、乙卯、丙戊巳、丁己午、庚申、辛酉、壬亥、癸子(日干查四支)",kn,["day"]),cn("将星","事业","good","寅午戌见午、申子辰见子、巳酉丑见酉、亥卯未见卯(年支、日支双查)",K),cn("驿马","事业","neutral","寅午戌见申、申子辰见寅、巳酉丑见亥、亥卯未见巳(年支、日支双查)",Kn),cn("劫煞","凶煞","bad","寅午戌见亥、申子辰见巳、巳酉丑见寅、亥卯未见申(年支、日支双查)",c),cn("灾煞","凶煞","bad","寅午戌见子、申子辰见午、巳酉丑见卯、亥卯未见酉(年支、日支双查)",D),cn("亡神","凶煞","bad","寅午戌见巳、申子辰见亥、巳酉丑见申、亥卯未见寅(年支、日支双查)",Sn),{name:"空亡",cat:"凶煞",luck:"bad",rule:"以日柱所在旬的空亡反查各柱地支(日柱旬空,主法);另有年柱旬空一派,一并标出",refs:["day"],refKind:"branch",viaLabel:"日柱旬空",targets:w=>(w.kongwang||[]).map(d)},{name:"年空",cat:"凶煞",luck:"bad",rule:"以年柱所在旬的空亡反查其余三支(年柱旬空;古法多取日柱旬空,此派并存,命中单独标注)",refs:["year"],refKind:"branch",viaLabel:"年柱旬空",slots:["month","day","hour"],targets:w=>(w.yearKongwang||[]).map(d)},E("十恶大败","凶煞","bad","日柱甲辰、乙巳、丙申、丁亥、戊戌、己丑、庚辰、辛巳、壬申、癸亥(日柱见之)",N),E("阴差阳错","凶煞","bad","日柱丙子、丁丑、戊寅、辛卯、壬辰、癸巳、丙午、丁未、戊申、辛酉、壬戌、癸亥(日柱见之)",B),b("四废日","凶煞","bad","春庚申辛酉、夏壬子癸亥、秋甲寅乙卯、冬丙午丁巳(月支定季节查日柱)",w=>{const s=G[w.pillars.month.branch],O=w.pillars.day.ganzhi;return s&&qn[s].includes(O)?[u(O)]:[]},["day"]),U("流霞","凶煞","bad","甲酉、乙戌、丙未、丁申、戊巳、己午、庚辰、辛卯、壬亥、癸寅(日干查四支;通行表)",X,["day"]),b("血刃","凶煞","bad","寅月丑、卯月未、辰月寅、巳月申、午月卯、未月酉、申月辰、酉月戌、戌月巳、亥月亥、子月午、丑月子(月支查四支)",w=>{const s=T[w.pillars.month.branch];return s?[d(s)]:[]}),on("丧门","凶煞","bad","年支前两位:子见寅、丑见卯……(年支查余三支)",w=>{const s=P.indexOf(w.pillars.year.branch);return[d(P[(s+2)%12])]}),on("吊客","凶煞","bad","年支后两位:子见戌、丑见亥……(年支查余三支)",w=>{const s=P.indexOf(w.pillars.year.branch);return[d(P[(s+10)%12])]}),on("披麻","凶煞","bad","年支后三位:子见酉、丑见戌……(年支查余三支)",w=>{const s=P.indexOf(w.pillars.year.branch);return[d(P[(s+9)%12])]}),b("天赦日","格局","good","春戊寅、夏甲午、秋戊申、冬甲子(月支定季节查日柱)",w=>{const s=G[w.pillars.month.branch],O=w.pillars.day.ganzhi;return s&&pn[s]===O?[u(O)]:[]},["day"]),E("金神","格局","neutral","时柱乙丑、己巳、癸酉(时柱见之;严格成格另需日主身旺,此仅记星)",yn,"hour"),{name:"拱禄",cat:"格局",luck:"good",rule:"日时同干而禄位虚拱:癸亥日癸丑时、癸丑日癸亥时(拱子),丁巳日丁未时、己未日己巳时(拱午),戊辰日戊午时(拱巳);只宜虚拱,忌填实空亡",custom:w=>{const s={"癸亥|癸丑":"子","癸丑|癸亥":"子","丁巳|丁未":"午","己未|己巳":"午","戊辰|戊午":"巳"},O=`${w.pillars.day.ganzhi}|${w.pillars.hour.ganzhi}`;return s[O]?[{pillars:["day","hour"],via:"日时",target:s[O]}]:[]}},b("天转","凶煞","bad","春乙卯、夏丙午、秋辛酉、冬壬子(月支定季节查日柱;「春兔夏马天地转,秋鸡冬鼠便为殃」)",w=>{const s=G[w.pillars.month.branch],O=w.pillars.day.ganzhi;return s&&tn[s]===O?[u(O)]:[]},["day"]),b("地转","凶煞","bad","春辛卯、夏戊午、秋癸酉、冬丙子(月支定季节查日柱)",w=>{const s=G[w.pillars.month.branch],O=w.pillars.day.ganzhi;return s&&In[s]===O?[u(O)]:[]},["day"]),{name:"学堂",cat:"文星",luck:"good",rule:"年纳音五行之长生:金见巳、木见亥、水见申、土见申、火见寅(年纳音查月日时支;学堂为纳音长生,主人聪明文才出众)",refs:["year"],refKind:"branch",viaLabel:"年纳音",slots:["month","day","hour"],targets:w=>[d(un[w.nayinElement]||"")].filter(s=>s.ch)},{name:"词馆",cat:"文星",luck:"good",rule:"年纳音五行之临官:金见申、木见寅、水见亥、土见亥、火见巳(年纳音查月日时支;词馆为纳音临官,主文章学识)",refs:["year"],refKind:"branch",viaLabel:"年纳音",slots:["month","day","hour"],targets:w=>[d(_n[w.nayinElement]||"")].filter(s=>s.ch)},{name:"天罗",cat:"凶煞",luck:"bad",rule:"戌亥为天罗。法一以年支/日支查余三支:戌见亥、亥见戌即算,不要求四支俱全;法二以年柱纳音查日支:火命见戌或亥。两法任一成立即命中(男忌天罗)",custom:w=>Hn(w,"戌","亥","天罗",["火"])},{name:"地网",cat:"凶煞",luck:"bad",rule:"辰巳为地网。法一以年支/日支查余三支:辰见巳、巳见辰即算,不要求四支俱全;法二以年柱纳音查日支:水命、土命见辰或巳。两法任一成立即命中(女忌地网)",custom:w=>Hn(w,"辰","巳","地网",["水","土"])},{name:"三奇贵人",cat:"格局",luck:"good",rule:"年月日或月日时天干依序为甲戊庚(天上)、乙丙丁(地下)、壬癸辛(人中)",custom:w=>{const s=[];for(const O of[["year","month","day"],["month","day","hour"]]){const An=O.map(Cn=>w.pillars[Cn].stem).join("");Y.includes(An)&&s.push({pillars:O.slice(),via:"三柱天干",target:An})}return s}}];function Hn(w,s,O,An,Cn){const Fn=[];for(const $n of["year","day"]){const Un=w.pillars[$n].branch,Vn=Un===s?O:Un===O?s:null;if(!Vn)continue;const ee=sn.filter(re=>re!==$n&&w.pillars[re].branch===Vn);for(const re of ee)Fn.push({pillars:[$n,re],via:L[$n],target:Vn})}return Cn.includes(w.nayinElement)&&(w.pillars.day.branch===s||w.pillars.day.branch===O)&&Fn.push({pillars:["day"],via:`年纳音${w.nayinElement}`,target:w.pillars.day.branch}),Fn}function bn(w,s){return s.kind==="stem"?w.stem===s.ch:s.kind==="branch"?w.branch===s.ch:w.ganzhi===s.ch}function Tn(w,s){if(w.custom)return w.custom(s);const O=[];for(const An of w.refs){const Cn=w.targets(s,An)||[];if(!Cn.length)continue;const Fn=w.viaLabel||(w.refKind==="stem"?R:L)[An];for(const $n of w.slots||sn){const Un=s.pillars[$n];for(const Vn of Cn)bn(Un,Vn)&&O.push({pillars:[$n],via:Fn,target:Vn.ch})}}return O}function Rn(w,s=[],O={}){const An={pillars:w,kongwang:s,gender:O.gender,nayinElement:O.yearNayinElement,yearKongwang:O.yearKongwang||[]},Cn=[];for(const Un of V){const Vn=Tn(Un,An);if(!Vn.length)continue;const ee={name:Un.name,cat:Un.cat,luck:Un.luck,rule:Un.rule,pillars:[],via:new Set,target:new Set};for(const re of Vn){for(const fe of re.pillars)ee.pillars.includes(fe)||ee.pillars.push(fe);re.via&&ee.via.add(re.via),re.target&&ee.target.add(re.target)}ee.pillars.sort((re,fe)=>sn.indexOf(re)-sn.indexOf(fe)),Cn.push(ee)}Cn.sort((Un,Vn)=>nn.indexOf(Un.cat)-nn.indexOf(Vn.cat));const Fn={year:[],month:[],day:[],hour:[]};for(const Un of Cn)for(const Vn of Un.pillars)Fn[Vn].push({name:Un.name,cat:Un.cat,luck:Un.luck,via:[...Un.via].join("、"),target:[...Un.target].join("、"),rule:Un.rule});const $n=[];for(const Un of nn){const Vn=Cn.filter(ee=>ee.cat===Un);Vn.length&&$n.push({cat:Un,items:Vn.map(ee=>({name:ee.name,cat:ee.cat,luck:ee.luck,pillars:ee.pillars.slice(),via:[...ee.via].join("、"),target:[...ee.target].join("、"),rule:ee.rule}))})}return{detail:Fn,groups:$n,names:Cn.map(Un=>Un.name),count:Cn.reduce((Un,Vn)=>Un+Vn.pillars.length,0)}}const Nn=V.reduce((w,s)=>(w[s.name]={cat:s.cat,luck:s.luck,rule:s.rule},w),{});return{PILLAR_KEYS:sn,PILLAR_LABEL:fn,CATEGORY_ORDER:nn,computeBaziShensha:Rn,RULE_TABLE:Nn}})(),W.tiaohou=(function(){const P={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},en={亥:-1.8,子:-2,丑:-1.5,寅:-.4,卯:.2,辰:.5,巳:1.3,午:2,未:1.5,申:.6,酉:.2,戌:-.2},sn={亥:"初冬",子:"仲冬",丑:"季冬",寅:"初春",卯:"仲春",辰:"季春",巳:"初夏",午:"仲夏",未:"季夏",申:"初秋",酉:"仲秋",戌:"季秋"},fn={丑:1,辰:1,子:.6,亥:.5},nn={未:1,戌:1,午:.4,巳:.4},A={寒湿:{element:"火",stem:"丙",avoid:"水",why:"冻土要太阳来解,水再多只会更冷"},寒燥:{element:"火",stem:"丙",avoid:"水",why:"天寒地干,先要一点阳和之气"},寒:{element:"火",stem:"丙",avoid:"水",why:"冬令气寒,非火不暖"},温热:{element:"水",stem:"壬",avoid:"火",why:"火气初旺,得水润泽才好用"},湿热:{element:"水",stem:"壬",avoid:"火",why:"湿热交蒸,得壬水引热下行,再添火只会更闷"},燥热:{element:"水",stem:"壬",avoid:"火",why:"火炎土燥,非水不润"},湿滞:{element:"火",stem:"丙",avoid:"水",why:"湿气郁结,要火来蒸腾"},燥:{element:"水",stem:"壬",avoid:"火",why:"气燥不润,得水则舒"},平和:{element:null,stem:null,avoid:null,why:"寒暖相济,气候不是这一盘的主要矛盾"}},R={寒湿:"寒湿",寒燥:"寒燥",寒:"寒",温热:"温热",湿热:"湿热",燥热:"燥热",湿滞:"湿滞",燥:"燥",平和:"平和"},L={寒湿:{木:"木是花草藤萝,冰封的土里抽不出芽——它不缺雨水,缺的是一轮太阳",火:"火在冬天最怕被水浇,一点火苗要护住,才谈得上发光",土:"土冻成一块,再厚也长不出东西,得先晒透",金:"金在寒水里泡久了,锋刃会发滞,要火来炼一炼",水:"水本就冷,再加寒就是死水;要火把它烧活"},寒燥:{木:"木在干冷里最难熬,既缺暖气,又缺一点滋润",火:"火在寒天里要先活下来,才有余力照别人",土:"土冷而干,板结着,得暖气与一点水汽一起松",金:"金寒则脆,得火炼、得土养,才成器",水:"水在寒天里收得太紧,要一点火气化开"},寒:{木:"冬木先要暖,暖了才谈得上发荣",火:"火在冬天要护住,别被冷风吹散",土:"土寒不生物,先暖后养",金:"金寒则钝,得火则利",水:"水寒则滞,得火则行"},温热:{木:"木在暖和里长得快,但要防长得太急、根扎不深",火:"火得时令,容易旺过头,要留一点水来收",土:"土被火烤着,容易燥,得水润一润",金:"金在暖处容易软,需要一点水土把它养住",水:"水在暖处容易蒸干,要源头不断"},燥热:{木:"木被火烤着,叶子先焦,得先补水",火:"火已经够旺了,再添柴只会烧到自己",土:"土燥则裂,得水润、得木疏",金:"金在燥热里容易发烫变形,要水来淬",水:"水在燥热里最珍贵,一滴都不能浪费"},湿热:{木:"木沤在湿热里容易烂根生虫,先要疏泄,不能再烘",火:"火在闷热里只会更闷,得引一点水气把它透开",土:"土湿热成泥沼,得疏得泄,再烘只会更黏",金:"金在湿热里容易生锈,要泄热、要见燥,才显出锋",水:"水不算少却带着热,得把热泄出去,水才用得干净"},湿滞:{木:"木泡在水里会烂根,先要疏土透气",火:"火在湿气里点不着,得先除湿",土:"土湿成泥,得火蒸腾、得木来疏",金:"金埋在湿土里会生锈,要见火见光",水:"水已经太多,再添就是泛滥"},燥:{木:"木在燥气里容易枯,先要一点水",火:"火在燥处容易失控,要收",土:"土燥不毛,得水润、得木疏",金:"金在燥处要水来洗,才不刺手",水:"水在燥处最容易被耗干,要护住"},平和:{木:"寒暖还算相济,木有生长的余地",火:"气候不偏,火可以按自己的节奏用",土:"土不燥不湿,能养也能载",金:"金不寒不燥,成器只差打磨",水:"水不冰不涸,能流得动"}},k=o=>Math.round(o*100)/100;function j({monthBranch:o,dayStem:u,wuxing:r={},branches:z=[]}){const g=Number(r.火||0),y=Number(r.水||0);let S=0,i=0,h=0,m=0;for(const wn of z)fn[wn]&&(S+=fn[wn],(wn==="丑"||wn==="辰")&&(h+=1)),nn[wn]&&(i+=nn[wn],(wn==="未"||wn==="戌")&&(m+=1));const x=en[o]??0,M=k(x+.45*g-.4*y),H=k(S-i+.25*y-.25*g),q=M<=-.8,hn=M>=.9,K=H>=.8,Pn=H<=-.8;let Kn="平和";q&&K?Kn="寒湿":q&&Pn?Kn="寒燥":q?Kn="寒":hn&&Pn?Kn="燥热":hn&&K?Kn="湿热":hn?Kn="温热":Pn?Kn="燥":K&&(Kn="湿滞");const c=A[Kn]||A.平和,D=P[u]||"土",Sn=[`${sn[o]||o}${o}月`,`火${g}`,`水${y}`,h?`湿土${h}处`:"",m?`燥土${m}处`:""].filter(Boolean),Mn=Math.abs(M)>=1.2||Math.abs(H)>=1.2?"调候优先":"扶抑为主",kn=$({kind:Kn,monthBranch:o,dayElement:D,need:c,temp:M,damp:H,fire:g,water:y});return{kind:Kn,label:R[Kn]||Kn,temp:M,damp:H,cold:q,hot:hn,wet:K,dry:Pn,need:c.element?{element:c.element,stem:c.stem,why:c.why}:null,avoidElement:c.avoid,dayElement:D,priority:Mn,evidence:Sn,narration:kn}}function $({kind:o,monthBranch:u,dayElement:r,need:z,fire:g,water:y}){const S=(L[o]||L.平和)[r]||"",i=sn[u]||"",h=`${i||""}${u}月出生,全局火${g}、水${y},这一盘的气候是「${R[o]||o}」`;return z.element?`${h}。${S}。所以这一局要的不是更多的${z.avoid},而是${z.stem}${z.element}——${z.why}。`:`${h}。${S}。调候不是这一盘的主要矛盾,取用仍以扶抑为主,寒暖只作微调。`}function G(o,u=[],r=[]){if(!o||!o.need)return{clash:!1,text:"气候平和,按扶抑取用即可。"};const z=o.need.element,g=u.includes(z),y=r.includes(z);return g&&!y?{clash:!1,text:`调候要${o.need.stem}${z},扶抑也以${z}为喜——两套取法同向,不必取舍。`}:{clash:!0,text:`调候要${o.need.stem}${z},扶抑却把${z}列为${y?"忌":"闲"};两者不一致,本盘按调候优先取${z},扶抑次之——因为寒暖失衡时,再补强弱也难受。`}}function d(o){if(!o)return"";const u=(o.evidence||[]).join("、"),r=o.need?`调候取${o.need.stem}${o.need.element}(${o.need.why}),忌${o.avoidElement}。`:"气候平和,调候不作主取。";return`${o.label}(${u})。${o.narration}${r}${o.priority==="调候优先"?" 本盘调候优先于扶抑。":""}`}return{judgeClimate:j,arbitrate:G,climateText:d}})(),W.qiongtong=(function(){const P=["寅","卯","辰","巳","午","未","申","酉","戌","亥","子","丑"],en=["正月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],sn="https://www.luckclub.cn/bazi/004/",fn="用神顺序据通行整理表,原文摘句照录;各版本有异文,按条目 note 标注待核处。",nn={甲:[{b:"寅",m:"正月",y:"丙癸",q:"正月甲木,初春尚有余寒,得丙癸逢,富贵双全。癸藏丙透,名寒木向阳,主大富贵。倘风水不及,亦不失儒林俊秀。如无丙癸,平常人也。",ch:2,qs:"丙癸"},{b:"卯",m:"二月",y:"庚丙丁戊己",q:"或二月甲木,庚金得所者,名阳刃架煞,可许异途小贵,若武职便显,但要财资煞,柱中逢财,英雄独压万人,若见癸水,困了财杀,主为光棍,重刃必定遭凶,煞重无凶,但性格横暴,正二月甲木,无从财化土之格。",ch:3,qs:"庚癸"},{b:"辰",m:"三月",y:"庚丁壬",q:"三月甲木,木气相竭。先取庚金,次用壬水。",ch:4,qs:"庚壬"},{b:"巳",m:"四月",y:"癸丁庚",q:"四月甲木退气,丙火司权,先癸后丁。",ch:5,qs:"丙癸丁"},{b:"午",m:"五月",y:"癸丁庚",q:"五六月甲木,木性虚焦,一理共推,五月先癸后丁,庚金次之。,或五月乏癸,用丁亦可,要运行地为佳。六月三伏生寒,丁火退气。先丁后庚,无癸亦可。",ch:6,qs:"癸丁庚"},{b:"未",m:"六月",y:"丁庚癸",q:"五六月甲木,木性虚焦,一理共推,五月先癸后丁,庚金次之。,或五月乏癸,用丁亦可,要运行地为佳。六月三伏生寒,丁火退气。先丁后庚,无癸亦可。",ch:6,qs:"癸丁庚"},{b:"申",m:"七月",y:"庚丁壬",q:"七月甲堪为戟,然非丁不能造庚,非庚不能造甲,丁庚两透,科甲可许。",ch:7,qs:"丁庚"},{b:"酉",m:"八月",y:"丁丙庚",q:"八月甲木,木囚金旺。丁火为先,次用丙火,庚金再次。",ch:8,qs:"丁丙庚"},{b:"戌",m:"九月",y:"庚甲丁壬癸",q:"九月甲木,木星凋零,独爱丁火壬癸滋扶。",ch:9,qs:"丁壬癸"},{b:"亥",m:"十月",y:"庚丁丙戊",q:"十月甲木,以庚为君,以丁为佐,丙火次之,忌壬水泛木,须戊土为制,故戊又次之。",ch:10,qs:"庚丁丙壬戊"},{b:"子",m:"十一月",y:"丁庚丙",q:"十一月甲木,木性生寒,丁先庚后,丙火佐之,癸水司权,为火金之病。",ch:11,qs:"丁庚丙癸"},{b:"丑",m:"十二月",y:"丁庚丙",q:"十二月甲木,天寒气冻,木性极寒,无发生之象。先用庚劈甲,方引丁火,始得木火有通明之象,故丁次之。",ch:12,qs:"庚丁"}],乙:[{b:"寅",m:"正月",y:"丙癸",q:"正月天气,犹有余寒,非丙不长,虽有癸润,恐凝寒气,故先用丙,癸次之。",ch:13,qs:"丙癸"},{b:"卯",m:"二月",y:"丙癸",q:"二月乙木,阳气渐升,木不寒矣,以丙为君,癸为臣,丙癸两透,不透庚金,大富大贵。",ch:14,qs:"丙癸庚"},{b:"辰",m:"三月",y:"癸丙戊",q:"三月乙木,阳气愈炽,先癸后丙",ch:15,qs:"癸丙"},{b:"巳",m:"四月",y:"癸",q:"四月乙木,巳宫自有丙火,戊取癸水为尊。四月乙木,专用癸水,丙火酌用,虽以庚辛佐癸,须辛透为清。",ch:16,qs:"丙戊癸庚辛"},{b:"午",m:"五月",y:"癸丙",q:"五月乙木,丁火司权,禾稼俱旱。上半月属阳,先癸次丙;下半月属阴,三伏生寒,丙癸齐用。柱多金水,丙火为先,余皆用癸水为先。",ch:17,qs:"丁癸丙"},{b:"未",m:"六月",y:"癸丙",q:"六月乙木,木性且寒,柱多金水,丙火为尊。支成水局,乙得无伤。癸水透干,大富大贵。无癸定作常人,运不行北,困苦一生。",ch:18,qs:"丙癸"},{b:"申",m:"七月",y:"丙癸己",q:"七月乙木,庚金乘令,庚虽输情于乙妹,怎奈干乙难合支庚。柱见庚多,乙难受载。或丙癸透干,又加己出埋金,丙癸己俱透,此格可云科甲,大富大贵",ch:19,qs:"庚丙癸己甲"},{b:"酉",m:"八月",y:"癸丙丁",q:"八月乙木,芝兰禾稼均退,以丹桂为乙木。在白露之后,桂蕊未开,专用癸水,以滋桂萼。若秋分后,桂花已开,又当向阳,宜先用丙,癸水次之,丙癸两透,科甲名臣。",ch:20,qs:"癸丙甲"},{b:"戌",m:"九月",y:"癸辛",q:"九月乙木,枝枯叶落,必赖癸水滋养。如见甲申时,名为藤萝繁甲,可秋可冬。",ch:21,qs:"癸甲"},{b:"亥",m:"十月",y:"丙戊",q:"十月乙木,丙不受气,壬水司令,丙为尊,或壬多,用戊土。",ch:22,qs:"丙壬戊"},{b:"子",m:"十一月",y:"丙",q:"十一月乙木,根叶寒冻,喜丙复一阳,用丙火解冻,斯花木有向阳之意,不宜癸水出干以冻花木,故专用丙火。",ch:23,qs:"丙癸"},{b:"丑",m:"十二月",y:"丙",q:"十二月乙木,木寒宜丙,有寒谷回春之象。得一丙透,无癸出破格,不特科甲,定主名臣显宦。丙火藏支,不过廪贡生员。干支无丙,一介寒儒。",ch:24,qs:"丙癸甲"}],丙:[{b:"寅",m:"正月",y:"壬庚",q:"正月三阳开泰,火气渐炎,取壬为尊,庚金为佐。壬庚两透,定许科甲,即壬透庚藏,虽不由科甲,恰有异途恩封",ch:25,qs:"壬庚甲"},{b:"卯",m:"二月",y:"壬己",q:"二月丙火,阳气舒升,专用壬水。",ch:26,qs:"壬"},{b:"辰",m:"三月",y:"壬甲",q:"三月火气渐炎,专用壬水,或支成土局,取甲为辅,壬不可离。",ch:27,qs:"壬甲"},{b:"巳",m:"四月",y:"壬癸庚",q:"四月丙火,建禄于巳,火势炎炎,宜专用壬水,解炎威之力,成既济之功。如无壬水,名孤阳失辅,难透清光,得庚发水源,方为有根之水。壬庚两透,不见戊己出干,号曰湖海汪洋,广映太阳,光辉显著,文明之象。",ch:28,qs:"壬庚戊己",cut:!0},{b:"午",m:"五月",y:"壬庚",q:"五月丙火愈炎,得壬庚高透,方为上命。或一壬无庚,亦主贡监,还须好运。犹防戊己出干,丁壬化合,则为平人。即不透庚壬。或有申宫长生之水,济之坐禄之金,至妙,必入词林。又怕戊己杂乱,则为异路。",ch:29,qs:"壬庚戊己丁"},{b:"未",m:"六月",y:"壬庚",q:"六月丙火退气,三伏生寒,己土泄气,壬水为用,取庚辅佐。",ch:30,qs:"己壬庚"},{b:"申",m:"七月",y:"壬戊",q:"七月丙火,太阳转西,阳气渐衰。日近西山,见土皆晦。惟日照湖海,暮夜光天,故仍用壬水,辅映太阳光辉。",ch:31,qs:"壬"},{b:"酉",m:"八月",y:"壬癸",q:"八月丙火,日近黄昏,丙有余光,存于湖海,仍用壬水辅映。",ch:32,qs:"壬"},{b:"戌",m:"九月",y:"甲壬",q:"九月丙火,火气愈退,忌土晦光,必须先用甲木,次取壬水。",ch:33,qs:"甲壬"},{b:"亥",m:"十月",y:"甲戊庚壬",q:"十月丙火,太阳失令,得见甲戊庚齐透,科甲有准,风土不及,终成选拔,主为人性好清高,斯文领袖。",ch:34,qs:"甲戊庚"},{b:"子",m:"十一月",y:"壬戊己",q:"十一月丙火,冬至一阳生,弱中复强,壬水为最,戊土佐之。",ch:35,qs:"壬戊"},{b:"丑",m:"十二月",y:"壬甲",q:"十二月丙火,气进二阳,每雪欺霜,喜壬为用,己土司令,土多又不可少甲",ch:36,qs:"壬己甲"}],丁:[{b:"寅",m:"正月",y:"甲庚",q:"正月丁火,甲木当权,乃为母旺,非庚不能劈甲,何以引丁,先庚次壬。",ch:37,qs:"甲庚壬"},{b:"卯",m:"二月",y:"庚甲",q:"二月丁火,湿乙伤丁,先庚后甲,非庚不能去乙,非甲不能引丁。",ch:38,qs:"乙庚甲"},{b:"辰",m:"三月",y:"甲庚",q:"三月丁火,戊土司令,泄弱丁气,先用甲木引丁制土,次看庚金。",ch:39,qs:"戊甲庚"},{b:"巳",m:"四月",y:"甲庚",q:"四月丁火乘旺,虽取甲引丁,必须用庚劈甲,有庚伐甲、方云木火通明;甲多、又取庚为先。",ch:40,qs:"甲庚"},{b:"午",m:"五月",y:"壬庚癸",q:"五月丁火,时逢建禄,不得轻用甲木;遇干透隔位之壬,不贪丁合,忠而且孝。",ch:41,qs:"甲壬"},{b:"未",m:"六月",y:"甲壬庚",q:"六月丁火,阴柔退气,但值三伏生寒,丁弱极矣,专取甲木,壬水次之。",ch:42,qs:"甲壬"},{b:"申",m:"七月",y:"甲庚丙戊",q:"七月丁火,退气柔弱,端用甲木,金虽乘旺司权,无伤丁之理,仍取庚劈甲,为引火之物,或借丙暖金晒甲,不虑丙夺丁光,凡两丙夹丁者,夏月忌之,余月不忌,但此格少年困苦刑克中年富贵,必要地支见水制丙,方",ch:43,qs:"甲庚丙",cut:!0},{b:"酉",m:"八月",y:"甲庚丙戊",q:"或八月一派辛金,不见庚金,又无比劫,比弃命从才,富而且贵,虽不科甲,亦有异途,从才者水为妻,不克,有正偏,木为子,不刑。或九月一派戊土,泄丁火之气,不见甲木,为伤官伤尽,非寻常可比,或甲木透出",ch:44,qs:"辛庚甲戊",cut:!0,note:"原文全章未见「丙」,此格按整理表录入,待以善本核对"},{b:"戌",m:"九月",y:"甲庚戊",q:"或八月一派辛金,不见庚金,又无比劫,比弃命从才,富而且贵,虽不科甲,亦有异途,从才者水为妻,不克,有正偏,木为子,不刑。或九月一派戊土,泄丁火之气,不见甲木,为伤官伤尽,非寻常可比,或甲木透出",ch:44,qs:"辛庚甲戊",cut:!0},{b:"亥",m:"十月",y:"甲庚",q:"三冬丁火微寒,端用庚甲,甲乃庚之良友,凡用甲木,庚不可少,无庚无甲,何能引丁,难云木火通明,冬丁有甲,不怕水多金多,可称上格,甲庚两透,科甲分明,见己则否,己多合甲,则为常人。或一丙夺丁,必赖",ch:45,qs:"庚甲己丙",cut:!0},{b:"子",m:"十一月",y:"甲庚",q:"或仲冬水多癸旺,金无比印,此作弃命从杀,亦有异途功名,见丁比出干,难合格局,常人,且主骨肉浮云,六亲流水,戊出破癸,颇有兄弟妻儿,此格用戊,火妻土子,用甲,水妻木子。或四柱多丙丁,又用癸制火,",ch:46,qs:"癸戊甲丙",cut:!0},{b:"丑",m:"十二月",y:"甲庚",q:"或仲冬水多癸旺,金无比印,此作弃命从杀,亦有异途功名,见丁比出干,难合格局,常人,且主骨肉浮云,六亲流水,戊出破癸,颇有兄弟妻儿,此格用戊,火妻土子,用甲,水妻木子。或四柱多丙丁,又用癸制火,",ch:46,qs:"癸戊甲丙",cut:!0}],戊:[{b:"寅",m:"正月",y:"丙甲癸",q:"正二月宜先透丙,三月宜先透甲,盖正二月虽有癸甲,无丙亦难除寒气,如风雨淹淹,万物生而不长,故无丙者,一生成败,富贵艰辛,或有丙无癸甲者,名曰春旱,如万物生而多厄,一生勤苦,劳而无功。",ch:48,qs:"丙甲癸辛"},{b:"卯",m:"二月",y:"丙甲癸",q:"正二月宜先透丙,三月宜先透甲,盖正二月虽有癸甲,无丙亦难除寒气,如风雨淹淹,万物生而不长,故无丙者,一生成败,富贵艰辛,或有丙无癸甲者,名曰春旱,如万物生而多厄,一生勤苦,劳而无功。",ch:48,qs:"丙甲癸辛"},{b:"辰",m:"三月",y:"甲丙癸",q:"三月戊土司令,不见丙甲癸者,愚而且贱,甲癸透者、科甲;两癸透者、生员。丙透甲藏,无癸者富;有癸者,异途显达。",ch:49,qs:"丙甲癸"},{b:"巳",m:"四月",y:"甲丙癸",q:"四月戊土,阳气发升,寒气内藏,外实内虚,不畏火炎,无阳气相催,万物不长,故先用甲疏劈,次取丙癸为佐。",ch:50,qs:"甲丙癸"},{b:"午",m:"五月",y:"壬甲丙",q:"五月戊土,仲夏火炎,先看壬水,次取甲木,丙火酌用,用癸恐其力微。",ch:51,qs:"壬甲丙癸"},{b:"未",m:"六月",y:"癸丙甲",q:"六月戊土,遇夏干枯,先看癸水,次用丙火、甲木。",ch:52,qs:"癸丙甲"},{b:"申",m:"七月",y:"丙癸甲",q:"七月戊土,阳气渐入,寒气渐出,先丙后癸,甲木次之。",ch:53,qs:"丙癸甲"},{b:"酉",m:"八月",y:"丙癸",q:"八月戊土,金泄身寒,赖丙照暖,喜水滋润,先丙后癸,不必木疏。",ch:54,qs:"丙癸"},{b:"戌",m:"九月",y:"甲丙癸",q:"九月戊土当权,不可专用丙火。先看甲木,次取癸水,却忌戊与癸合。见金先用癸水,后取丙火,配合支干,方成有生之土,合此定发云程,科甲有准。",ch:55,qs:"丙甲癸"},{b:"亥",m:"十月",y:"甲丙",q:"十月戊土,时值小阳,阳气略出,先用甲木,次取丙火,非甲,土不灵,非丙,土不暖;安能发生万物。",ch:56,qs:"甲丙"},{b:"子",m:"十一月",y:"丙甲",q:"十一二月严寒冰冻,丙火为尊,甲木为佐。丙甲两透,桃浪之人;丙出甲藏,采芹食饩,丙藏甲出,佐杂前程;有丙无甲者,豪富,有甲无丙者,清贫,丙甲全无,下流之造。",ch:57,qs:"丙甲"},{b:"丑",m:"十二月",y:"丙甲",q:"十一二月严寒冰冻,丙火为尊,甲木为佐。丙甲两透,桃浪之人;丙出甲藏,采芹食饩,丙藏甲出,佐杂前程;有丙无甲者,豪富,有甲无丙者,清贫,丙甲全无,下流之造。",ch:57,qs:"丙甲"}],己:[{b:"寅",m:"正月",y:"丙庚甲",q:"正月己土,寒气未退,田园犹冻,丙暖为尊,得丙照暖,万物自生。忌见壬水,盖壬不为丙优,反为己病,何也?壬乃江湖之水,田园浸没,急须修堤岸,田园始得播种,须戊作堤,以保园圃,壬多见戊者,定主清雅富",ch:58,qs:"丙壬戊",cut:!0},{b:"卯",m:"二月",y:"甲癸丙",q:"二月己土,阳气渐升,虽禾稼未成,万物发生。但田园未展,宜先取甲木疏之,忌合;次取癸水润之。",ch:59,qs:"甲癸"},{b:"辰",m:"三月",y:"丙癸甲",q:"三月己土,正栽培禾稼之时。先丙后癸,土暖而润,随用甲疏。",ch:60,qs:"丙癸甲"},{b:"巳",m:"四月",y:"癸丙",q:"三夏己土,时值禾稼在田,最喜甘沛,取癸为要,次用丙火。夏无太阳,禾稼不长,故无癸曰旱田,无丙曰孤阴。",ch:61,qs:"癸丙"},{b:"午",m:"五月",y:"癸丙",q:"三夏己土,时值禾稼在田,最喜甘沛,取癸为要,次用丙火。夏无太阳,禾稼不长,故无癸曰旱田,无丙曰孤阴。",ch:61,qs:"癸丙"},{b:"未",m:"六月",y:"癸丙",q:"三夏己土,时值禾稼在田,最喜甘沛,取癸为要,次用丙火。夏无太阳,禾稼不长,故无癸曰旱田,无丙曰孤阴。",ch:61,qs:"癸丙"},{b:"申",m:"七月",y:"丙癸",q:"三秋己土,万物收藏之际,外虚内实,寒气渐升,须丙火温之,癸水润之。不特此也,且癸能泄金,丙能制金,补土精神,则秋生之物咸茂矣。",ch:62,qs:"丙癸"},{b:"酉",m:"八月",y:"丙癸",q:"三秋己土,万物收藏之际,外虚内实,寒气渐升,须丙火温之,癸水润之。不特此也,且癸能泄金,丙能制金,补土精神,则秋生之物咸茂矣。",ch:62,qs:"丙癸"},{b:"戌",m:"九月",y:"甲丙癸",q:"三秋己土,万物收藏之际,外虚内实,寒气渐升,须丙火温之,癸水润之。不特此也,且癸能泄金,丙能制金,补土精神,则秋生之物咸茂矣。",ch:62,qs:"丙癸"},{b:"亥",m:"十月",y:"丙甲戊",q:"三冬己土,湿泥寒冻,非丙暖不生,取丙为尊,甲木能参用,不可用癸。唯初冬壬水旺,用以为制,余皆用丙。无丙用丁,但丁不能解冻除寒,不能火济;丁多,衣禄安然。",ch:63,qs:"丙甲癸壬丁"},{b:"子",m:"十一月",y:"丙甲戊",q:"三冬己土,湿泥寒冻,非丙暖不生,取丙为尊,甲木能参用,不可用癸。唯初冬壬水旺,用以为制,余皆用丙。无丙用丁,但丁不能解冻除寒,不能火济;丁多,衣禄安然。",ch:63,qs:"丙甲癸壬丁"},{b:"丑",m:"十二月",y:"丙甲戊",q:"三冬己土,湿泥寒冻,非丙暖不生,取丙为尊,甲木能参用,不可用癸。唯初冬壬水旺,用以为制,余皆用丙。无丙用丁,但丁不能解冻除寒,不能火济;丁多,衣禄安然。",ch:63,qs:"丙甲癸壬丁"}],庚:[{b:"寅",m:"正月",y:"戊甲壬丙丁",q:"正月庚金,木旺之际,有土皆死,不能生金。且金之寒气未除,先用丙暖庚性。又虑土厚埋金,须甲疏泄。",ch:65,qs:"丙甲"},{b:"卯",m:"二月",y:"丁甲庚丙",q:"二月庚金,卯中乙木当权,柱中自然有乙,当令之乙,得庚辰时,庚必留情于乙,此金有暗强之势,如秋金相似。",ch:66,qs:"乙"},{b:"辰",m:"三月",y:"甲丁壬癸",q:"三月庚金,戊土司令,不怕生寒,无生金之理,有埋金之忧。故先用甲木疏土,次用丁火煅炼成器,不必用庚劈甲。",ch:67,qs:"戊甲丁"},{b:"巳",m:"四月",y:"壬戊丙丁",q:"四月庚金,长生在巳,巳虽有丙,内有戊土,丙不熔金,故不畏火炎。但丙不可轻用,宜先用壬水,方得中和。书曰:群金生夏,妙用玄武;次取戊土,丙火佐之;三者皆全,富贵无双。或透一二,亦主贡监衣衿。",ch:68,qs:"丙戊壬"},{b:"午",m:"五月",y:"壬癸",q:"五月庚金,丁火旺烈,庚金败地,专用壬水,癸又次之。",ch:69,qs:"丁壬癸"},{b:"未",m:"六月",y:"丁甲",q:"六月庚金,三伏生寒,金顽已极。先用丁火,次取甲木。",ch:70,qs:"丁甲"},{b:"申",m:"七月",y:"丁甲",q:"七月庚金,刚锐极矣。专用丁火煅炼,次取木引丁。故曰:秋金刚锐最为奇,壬癸相逢总不宜:如逢木火来成局,试看福寿与天齐。",ch:71,qs:"丁壬癸"},{b:"酉",m:"八月",y:"丁甲丙",q:"八月庚金,刚锐未退,仍用丁甲,丙不可少。",ch:72,qs:"丁甲丙"},{b:"戌",m:"九月",y:"甲壬",q:"九月庚金,戊土司令,最怕土厚埋金。宜先用甲疏,后用壬洗,则金自出矣,忌见己土浊壬。",ch:73,qs:"戊甲壬己"},{b:"亥",m:"十月",y:"丁丙",q:"十月庚金,水冷性寒,非丁莫造,非丙不暖。",ch:74,qs:"丁丙"},{b:"子",m:"十一月",y:"丁甲丙",q:"十一月庚金,天气严寒,仍取丁甲,次取丙火照暖。",ch:75,qs:"丁甲丙"},{b:"丑",m:"十二月",y:"丙丁甲",q:"十二月庚金,寒气太重,丑为湿泥,愈寒愈冻,先取丙火解冻,次取丁火炼金,甲亦不可少。",ch:76,qs:"丙丁甲"}],辛:[{b:"寅",m:"正月",y:"己壬庚",q:"正月辛金,阳气舒升寒气未除。然正月建寅,中有长生之丙,可解寒气。但忌甲木司权,辛金失令。性爱湿泥滋养,取己土为身之本。次用壬水淘洗,欲得辛金发现,全赖壬水之功。",ch:77,qs:"丙甲己壬"},{b:"卯",m:"二月",y:"壬甲",q:"二月辛金,阳和之际,壬水为尊。见戊己为病,得甲制伏,则辛金不致埋没,壬水不致混浊,合此者,必身入玉堂。故二月庚金,有壬甲透者贵显;否则,乡绅。或壬坐亥支,不见土出,可能入芥,家亦小康。得申中之",ch:78,qs:"壬戊己甲庚",cut:!0},{b:"辰",m:"三月",y:"壬甲",q:"三月辛金,戊土司令,辛承正气,母旺子相。",ch:79,qs:"戊"},{b:"巳",m:"四月",y:"壬甲癸",q:"四月辛金,时道首夏,忌丙火之燥烈,喜壬水之洗淘。",ch:80,qs:"丙壬"},{b:"午",m:"五月",y:"壬己癸",q:"五月辛金,丁火司权,辛金失令,阴柔之极,不宜煅炼,须己壬兼用。何也?己为泥沙,壬为湖海,己无壬不湿,辛无己不生,故壬己并用。无壬,癸亦可用,但癸力小。",ch:81,qs:"丁己壬癸"},{b:"未",m:"六月",y:"壬庚甲",q:"六月己土当权,滋扶太过,恐污金不耀,专用壬水为妙,次取庚金佐之。",ch:82,qs:"己壬庚"},{b:"申",m:"七月",y:"壬甲戊",q:"七月辛金,值庚秉令,不旺自旺。且申中有长生之壬,四柱不见戊土透干,胎元亦无戊制,唯申中一戊,为壬堤岸,人命得此,为官清正,但不富耳。",ch:83,qs:"庚壬戊"},{b:"酉",m:"八月",y:"壬甲",q:"八月辛金,当权,得令,旺之极矣,专用壬水淘之泄之为贵,故云:金见水以流通。",ch:84,qs:"壬"},{b:"戌",m:"九月",y:"壬甲",q:"九月辛金,戊土司令,母旺子相,须甲疏土,壬泄旺金,先壬后甲。壬甲两透,桃洞之仙。",ch:85,qs:"戊甲壬"},{b:"亥",m:"十月",y:"壬丙",q:"十月时值小阳,阳气初潜,寒气未盛,先用壬水,次用丙火,暖壬温辛。",ch:86,qs:"壬丙"},{b:"子",m:"十一月",y:"丙戊壬甲",q:"十一月辛金,癸水司令,为寒冬雨露,最忌癸水出干,冻金而困丙火。",ch:87,qs:"癸丙"},{b:"丑",m:"十二月",y:"丙壬戊己",q:"十二月辛金,寒冻之极,先丙后壬。无丙不能解冻,无壬不能洗淘。",ch:88,qs:"丙壬"}],壬:[{b:"寅",m:"正月",y:"庚丙戊",q:"正月壬水,汪洋之象,能并百川之流。然水性柔弱,宜用庚金之源,次取丙火以除寒气,又次取戊土以止其流,庶不致汪洋无度。",ch:90,qs:"庚丙戊"},{b:"卯",m:"二月",y:"戊辛庚",q:"二月壬水,寒气初除,清流湛深,不用丙暖,专取戊土为堤岸,辛发其源,庚金次之。",ch:91,qs:"丙戊辛庚"},{b:"辰",m:"三月",y:"甲庚",q:"三月壬水,戊土司权,死有推山塞海之患,先用甲疏季土,次取庚发水源。",ch:92,qs:"戊甲庚"},{b:"巳",m:"四月",y:"壬辛庚癸",q:"四月壬水,丙火司权,水弱极矣。专取壬水比肩为助,次取辛金发源,忌与丙火合化,又以庚金为佐。",ch:93,qs:"丙辛庚"},{b:"午",m:"五月",y:"癸庚辛",q:"五月壬水,丁旺壬弱,取庚为用,取癸为佐。无庚不能蓄源,无癸不能伤丁。",ch:94,qs:"丁庚癸"},{b:"未",m:"六月",y:"辛甲",q:"六月壬水,己土当权,丁火退气,用辛蓄源,用甲劈土;先辛后甲,次取癸水。",ch:95,qs:"己丁辛甲癸"},{b:"申",m:"七月",y:"戊丁",q:"七月壬水,庚金司令,壬得申之长生,源流自远,转弱为强。专用戊土,次取丁火,佐戊制庚,但用辰戌之戊,不用申中受病之戊。",ch:96,qs:"庚戊丁"},{b:"酉",m:"八月",y:"甲庚",q:"八月壬水,辛金司权,金白水清之时,忌戊己为病,专取甲木。",ch:97,qs:"辛戊己甲"},{b:"戌",m:"九月",y:"甲丙",q:"九月亥水进气,其性将厚。若一派壬水,见一甲制戌中之戊,又见一戊出干,斯用丙火,此格清贵极矣,正谓一将当关,群邪自伏。见丙,便主衣禄,或不见丙戊,终为下格。",ch:98,qs:"甲戊丙"},{b:"亥",m:"十月",y:"戊丙庚",q:"十月壬水司权,至旺之极,取戊为用。",ch:99,qs:"戊"},{b:"子",m:"十一月",y:"戊丙",q:"十一月壬水,阳刃帮身,较前更旺,先取戊土,次用丙火。",ch:100,qs:"戊丙"},{b:"丑",m:"十二月",y:"丙丁甲",q:"十二月壬水,旺极复衰,何也?上半月癸辛主事,壬水稍旺,专用丙火解冻,下半月己土主事,故衰,亦用丙火,甲木佐之;故有丙,名利两全。",ch:101,qs:"癸辛丙己甲"}],癸:[{b:"寅",m:"正月",y:"辛丙",q:"正月癸水,值三阳之候,为雨露之精,其性至柔。先用辛金,生癸水之源,次用丙火照暖,名阴阳和合,万物发生。",ch:102,qs:"辛丙"},{b:"卯",m:"二月",y:"庚辛",q:"二月癸水,不刚不柔,乙木司令,泄弱元神,专用庚金为用,辛金次之。",ch:103,qs:"乙庚辛"},{b:"辰",m:"三月",y:"丙辛甲",q:"三月癸水,要分清明鼓雨,清明后火气未炽,专用丙火,名阴阳承蔼。谷雨后虽用丙火,还宜辛金佐之,富贵;次看何神高透无伤,便可定格局高低。如",ch:104,qs:"丙辛"},{b:"巳",m:"四月",y:"辛",q:"四月癸水,喜见新母,无辛,庚亦可用,但不自然。",ch:105,qs:"辛庚"},{b:"午",m:"五月",y:"庚辛壬癸",q:"五月癸水,至弱无根,必须庚辛为生身之本,但丁火司权,金难敌火,安能滋养癸水?宜见比劫,方得庚辛妙用。",ch:106,qs:"庚辛丁"},{b:"未",m:"六月",y:"庚辛壬癸",q:"六月癸水,有上下月之分,上半月庚辛无气,下半月庚辛有气。凡六癸日,人多推此月多不验者,何也?俗士不知此理,不知未中有乙,与己同宫,破而不破,故癸水不能从煞,所以专用庚辛。如上半月,金神衰弱,火",ch:107,qs:"庚辛乙己",cut:!0,note:"原文全章未见「壬」,此格按整理表录入,待以善本核对"},{b:"申",m:"七月",y:"丁",q:"七月癸水,正母旺子相之时。癸虽死申,殊不知申中有庚生之,名死处逢生,弱中复强,即运行西北,亦不死也。但庚司令,刚锐极矣,必取丁火为用。",ch:108,qs:"庚丁"},{b:"酉",m:"八月",y:"辛丙",q:"八月癸水,辛金虚灵,非顽金可比,正金白水清。故取辛金为用,丙火佐之,名水暖金温。",ch:109,qs:"辛丙"},{b:"戌",m:"九月",y:"辛甲壬癸",q:"九月癸水,失令无根,戊土司权,克制太过,专用辛金发癸水之源,次用癸甲,要比肩滋甲制戊方妙。",ch:110,qs:"戊辛甲"},{b:"亥",m:"十月",y:"庚辛戊丁",q:"十月癸水,旺中有弱,何也?因亥摇木,泄散元神,宜用庚辛为妙。",ch:111,qs:"庚辛"},{b:"子",m:"十一月",y:"丙辛",q:"十一月癸水,值冰冻之时,金水无交欢之象,专用丙火解冻,庶不致变雨为雪,结露为霜。又要辛金滋扶,然无丙火,辛亦不妙。凡冬季癸水,有丙透解冻,则金温水暖,两两相生,要不见壬透,自然登科及第,紫诰金",ch:112,qs:"丙辛壬",cut:!0},{b:"丑",m:"十二月",y:"丙丁",q:"十二月癸水,落地成冰,万物不能舒泰,专用丙火解冻。",ch:113,qs:"丙"}]};function A(L,k){const j=nn[L];if(!j)return null;const $=P.indexOf(k);if($<0)return null;const G=j[$];if(!G)return null;const d=[...G.y];return{stem:L,branch:G.b,month:G.m,yong:d,primary:d[0]||null,quote:G.q,truncated:!!G.cut,quoteStems:[...G.qs],chapter:G.ch,url:sn+String(G.ch).padStart(3,"0")+"/",note:G.note||"",label:L+"日生于"+G.m+"("+G.m+G.b+"月)"}}function R(L){return L?L.label+":用神 "+L.yong.join("、")+"(首取 "+L.primary+")":""}return{QT_BRANCHES:P,QT_MONTHS:en,QT_BASE_URL:sn,QT_NOTE:fn,QT:nn,qtOf:A,qtLine:R}})(),W.classics=(function(){const P={ziping:{name:"子平真诠",author:"清·沈孝瞻",base:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},sanming:{name:"三命通会",author:"明·万民英",base:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/"}},en=[{id:"zp-yongshen",book:"ziping",chapter:"八、论用神",scene:"用神",tags:[],quote:"八字用神,专求月令,以日干配月令地支,而生克不同,格局分焉。财官印食,此用神之善而顺用之者也;煞伤劫刃,用神之不善而逆用之者也。",plain:"用神从月令里找:财、官、印、食四吉神顺用(生之护之),煞、伤、劫、刃四凶神逆用(制之化之)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53628.html"},{id:"zp-zhenguan",book:"ziping",chapter:"三十一、论正官",scene:"格局",tags:["正官"],quote:"以刑冲破害为忌,则以生之护之为喜矣。存其喜而去其忌则贵,而贵之中又有高低者,何也?",plain:"正官格最忌刑冲破害,喜财生官、印护官;去忌存喜才谈得上贵,贵的层次还要看财印是否并透、有无伤官七煞混杂。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53651.html"},{id:"zp-cai",book:"ziping",chapter:"三十三、论财",scene:"格局",tags:["财","正财","偏财"],quote:"财为我克,使用之物也,以能生官,所以为美。为财帛,为妻妾,为才能,为驿马,皆财类也。",plain:"财是我所克、能为我用之物,因能生官而美;它同时代表钱财、配偶、才能、走动,不只「钱」一项。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53653.html"},{id:"zp-yin",book:"ziping",chapter:"三十五、论印绶",scene:"格局",tags:["印"],quote:"印绶喜其生身,正偏同为美格,故财与印不分偏正,同为一格而论之。",plain:"印能生身,正印偏印都算美格,不分偏正而论;印格的关键在身印强弱与官杀、食伤、财的配合。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53655.html"},{id:"zp-shishen",book:"ziping",chapter:"三十七、论食神",scene:"格局",tags:["食神"],quote:"食神本属泄气,以其能生正财,所以喜之。故食神生财,美格也。财要有根,不必偏正叠出,如身强食旺而财透,大贵之格。",plain:"食神本是泄气,可贵在能生财;食神生财要财有根,身强、食旺、财透三者齐,格局才大。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53657.html"},{id:"zp-pianguan",book:"ziping",chapter:"三十九、论偏官",scene:"格局",tags:["七杀","偏官"],quote:"煞以攻身,似非美物,百大贵之格,多存七煞。盖控制得宜,煞为我用,如大英雄大豪杰,似难驾驭,而处之有方,则惊天动地之功,忽焉而就。",plain:"七煞攻身,看着不美,但大贵之格多有七煞——能控制住就为我所用,像驾驭豪杰,处之有方就能成大事。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53659.html"},{id:"zp-shangguan",book:"ziping",chapter:"四十一、论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽非吉神,实为秀气,故文人学士,多于伤官格内得之。而夏木见水,冬金见火,则又为秀之尤秀者也。",plain:"伤官不是吉神,却是秀气所在,文人多出伤官格;夏木得水、冬金得火,是秀气里更秀的两种。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53661.html"},{id:"zp-yangren",book:"ziping",chapter:"四十三、论阳刃",scene:"格局",tags:["劫财","阳刃"],quote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之,故为阳刃。不曰劫而曰刃,劫之甚也。刃宜伏制,官煞皆宜,财印相随,尤为贵显。",verifiedQuote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之",variantNote:"典藏网此页把「故为阳刃」刻作「故为旭刃」,与通行本异文;前段仍可逐字核验",plain:"阳刃是劫财之极(只有五阳干有),宜用官煞制伏;财印相随而不相碍,格局更显。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53663.html"},{id:"zp-lujie",book:"ziping",chapter:"四十五、论建禄月劫",scene:"格局",tags:["比肩","建禄","月劫"],quote:"故建禄与月劫,可同一格,不必加分,皆以透干支,别取财官煞食为用。",plain:"建禄、月劫同看一格,月令本身不算用神,要另看透出的财官煞食取用。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53665.html"},{id:"zp-qihou",book:"ziping",chapter:"十四、论用神配气候得失",scene:"调候",tags:[],quote:"论命惟以月令用神为主,然亦须配气候而互参之。譬如英雄豪杰,生得其时,自然事半功倍;遭时不顺,虽有奇才,成功不易。",plain:"月令用神为主,但必须配气候参看;同样的格局,生在得时的气候里事半功倍,逆着气候就费劲。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53634.html"},{id:"zp-chengbai",book:"ziping",chapter:"九、论用神成败救应",scene:"格局",tags:[],quote:"成中有败,必是带忌;败中有成,全凭救应。",plain:"成格不等于一路顺:成中带忌(官逢财又逢伤、官被合之类)就打了折;败格也未必无救——印来解伤、合来清煞,败中还能转成。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53629.html"},{id:"zp-zaji",book:"ziping",chapter:"十六、论杂气如何取用",scene:"用神",tags:[],quote:"何谓透干?如甲生辰月,透戊则用偏财,透癸则用正印,透乙则用月劫是也。何谓会支?如甲生辰月,逢申与子会局,则用水印是也。一透则一用,兼透则兼用,透而又会,则透与会并用。",plain:"四墓(辰戌丑未)所藏不止一气,所以叫杂气:取用先看哪一藏干透到天干,透一个用一个;没有透干,再看地支有没有与月支会成三合局,会成什么局就取局中那一气。透干与会支同时成立时两样并用。原文对「兼透」只给原则,没有给取舍次序。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53636.html"},{id:"zp-bianhua",book:"ziping",chapter:"十、论用神变化",scene:"格局",tags:[],quote:"故若丁生亥月,本为正官,支全卯未,则化为印。己生申月,本属伤官。藏庚透壬,则化为财。凡此之类皆用神之变化也。",plain:"用神本从月令取,但月令藏干不一:丁生亥月本为正官,支会卯未就化为印;己生申月本属伤官,庚藏壬透就化为财。起点相同,合化一变,取用也跟着变(原文只说变化之由,不断定某盘必化)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53630.html"},{id:"dt-hannuan",book:"ditian",chapter:"通神论·寒暖",scene:"调候",tags:[],quote:"天道有寒暖,生育万物,人道行之,不可过也。",plain:"天有寒暖才能生养万物,人命里寒暖也不能过——过寒过热都要调。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zaoshi",book:"ditian",chapter:"通神论·燥湿",scene:"调候",tags:[],quote:"地道有燥湿,生成品汇,人道得之,不可偏也。",plain:"地有燥湿才有品类生成,人命得燥湿之气也不能偏。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shuaiwang",book:"ditian",chapter:"通神论·衰旺",scene:"调候",tags:[],quote:"能知旺衰之真机,其于三命之奥,思过半矣。",plain:"真正看懂旺衰的机关,命理之奥就过了一半——旺衰不是数个数,要看真机。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zhonghe",book:"ditian",chapter:"通神论·中和",scene:"调候",tags:[],quote:"既识中和之正理,而于五行之妙,有全能焉。",plain:"懂得中和的道理,五行的妙处就都在其中了。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-guansha",book:"ditian",chapter:"通神论·官杀",scene:"十神",tags:["正官","七杀"],quote:"官杀混杂来问我,有可有不可。",plain:"官杀混杂不是一律不好,要看能不能去留取清。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shangguan",book:"ditian",chapter:"通神论·伤官",scene:"十神",tags:["伤官"],quote:"伤官见官最难辨,可见不可见。",plain:"伤官见官是最难分辨的一条:有的能见,有的不能见,不能一句「伤官见官为祸百端」了事。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-yueling",book:"ditian",chapter:"通神论·月令",scene:"用神",tags:[],quote:"月令乃提纲之府,譬之宅也,人元为用事之神,宅之定向也,不可以不卜。",plain:"月令像宅子,藏干是用事之神,像宅子的朝向,必须细看。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tiyong",book:"ditian",chapter:"通神论·体用",scene:"用神",tags:[],quote:"道有体用,不可以一端论也,要在扶之抑之得其宜。",plain:"体用不能只看一头,关键是扶抑得宜。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-jingshen",book:"ditian",chapter:"通神论·精神",scene:"用神",tags:[],quote:"人有精神,不可以一偏求也,要在损之益之得其中。",plain:"看精神不能偏执一端,要在损益之间求其中。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tongguan",book:"ditian",chapter:"通神论·通关",scene:"用神",tags:[],quote:"关内有织女,关外有牛郎,此关若通也,相邀入洞房。",plain:"两股力隔着一道关相望:一边织女、一边牛郎,中间若有一行能把两边接上(一方生它、它再生另一方),对峙就化成相生。原文只给取象,哪一行为关要按五行生克定。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"smt-zhenguan",book:"sanming",chapter:"卷五·论正官",scene:"格局",tags:["正官"],quote:"正官者,乃甲见辛、乙见庚之例。阴阳配合,相制有用,成其道也。故正官为六格之首,止许一位,多则不宜。",plain:"正官取「克我而阴阳相配」,有制而能成用;六格以正官居首,只宜一位,多见就杂。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7582.html"},{id:"smt-zhengcai",book:"sanming",chapter:"卷六·论正财",scene:"格局",tags:["财","正财"],quote:"正财者,乃甲见己、乙见戊之例。受我克制,为我之妻,譬人娶妻,妻赍财嫁我,我必精神康强,而后可享用,若衰微不振,虽妻财丰厚,但能目视,终不得用。",plain:"正财是我克制之物,古人以「娶妻带财」作比:自身精神康强才受用得起,身弱不振,财再厚也只是看着。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7645.html"},{id:"smt-piancai",book:"sanming",chapter:"卷六·论偏财",scene:"格局",tags:["财","偏财"],quote:"何谓偏财?乃甲见戊、乙见己之例。非妻所带,乃众人之财也。切忌有姊妹兄弟分夺,柱无官星,祸患百出。",plain:"偏财取「我克而阴阳不同」:不是妻家带来的私财,而是众人之财,宜流通不宜独占。原文最忌比肩劫财来分夺,又说柱中无官星则多事(旧说的重话照录,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7650.html"},{id:"smt-yinshou",book:"sanming",chapter:"卷六·论印绶",scene:"格局",tags:["印"],quote:"印绶者,乃五行生我之名。如甲乙在亥子月,丙丁在寅卯月之类,乃我气之源,为生气,为父母,能护我官星,使无伤克",plain:"印是生我之气,像源头与父母:它能护住官星,使官不受伤克;反过来说,印重就怕财来破。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7655.html"},{id:"smt-shishen",book:"sanming",chapter:"卷六·论食神",scene:"格局",tags:["食神"],quote:"凡命遇财煞之地,食神旺相,煞被食制,不敢为祸,财被食生,充裕不竭,故食神一名寿星,一名爵星,良有以也。",plain:"食神旺,一头制煞、一头生财:煞被制住不敢为祸,财被生起不至枯竭;所以食神又叫寿星、爵星。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7663.html"},{id:"smt-shangguan",book:"sanming",chapter:"卷六·论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽凶,乃我所生,自家之物,伤尽则能生财,财旺则能生官,造化展转有情。",plain:"伤官虽称凶,却是我自己生出来的:伤尽(柱中不见官星)反能生财,财旺再生官,辗转还是有情。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7662.html"},{id:"smt-yangren",book:"sanming",chapter:"卷六·论阳刃",scene:"格局",tags:["阳刃","劫财"],quote:"阳者,阴阳之阳,刃者,刀刃之刃,即禄前一位,言旺越其分,故险。",plain:"阳刃指禄前一位,旺过了本分,所以险;甲丙戊庚壬五阳干才有刃,阴干见伤官同论。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7671.html"},{id:"smt-jianlu",book:"sanming",chapter:"卷六·论建禄",scene:"格局",tags:["建禄","比肩","月劫"],quote:"凡命月令建禄,难招祖业,必主平生见财不聚,却病少寿长,行运再见比肩,克妻妨父损子",plain:"月令建禄是日主临官之地,身旺而财官难取:古说难承祖业、见财不聚,但病少寿长;再走比肩运,古书说克妻妨父损子(属于旧说的重话,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7672.html"},{id:"smt-guansha-liu",book:"sanming",chapter:"卷五·官煞去留杂论",scene:"格局",tags:["七杀","偏官"],quote:"凡看去留,要详柱中官煞孰重孰轻,天干透者易去,月支所藏者难去,须伤官食神去官煞之物众而有力,方才去得。",plain:"官煞混见时先比谁重谁轻:天干透出的容易去,月支藏着的难去;用来去官煞的伤官食神要成众、有根有力,才真去得掉。七杀格遇正官混杂,就按这一篇看取舍。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7599.html"},{id:"smt-quzhi",book:"sanming",chapter:"卷六·曲直",scene:"格局",tags:["曲直格","专旺"],quote:"甲乙日得亥卯未局,柱中须有亥字带印为入格,若无亥有卯,止是木之本气,却要见金土为贵,既无亥字,又无金土,则木不秀不实,难以言贵。",plain:"曲直格要木局成方(亥卯未)且带亥字为印,才算入格;只有卯、没有亥,只是木的本气,得另见金土才谈得上贵;两样都没有,木虽旺而无成,难称贵格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7630.html"},{id:"smt-yanshang",book:"sanming",chapter:"卷六·炎上",scene:"格局",tags:["炎上格","专旺"],quote:"丙丁日遇寅午戌局,柱中须有寅字带印为入格,无寅止是九流近贵之命,若火自旺,无亥水相济,不贵。喜东北方运,忌见辰丑戊己,晦火光明,多主眼疾,或患风气,柱有木制成贵,忌水金乡,怕冲。",plain:"炎上格要火局成方(寅午戌)且带寅字为印才入格;无寅只是偏贵的命。火自旺还要一点水相济,过燥不贵;行运喜东北、忌湿土晦火,也怕冲。原文另带「多主眼疾」一句,属于旧说,本插件只记原文、不作健康判断。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7631.html"},{id:"smt-congge",book:"sanming",chapter:"卷六·从革",scene:"格局",tags:["从革格","专旺"],quote:"庚辛日见巳酉丑局,须带丙丁巳午一二位方成其器,但不可火多。如辛巳、辛酉、辛丑三日不喜五月生,被火所伤,宜八月或水土养育食神印绶为吉。",plain:"从革格是金局成方(巳酉丑),但金要火炼才成器:须带丙丁或巳午一二位,火又不能多。辛巳、辛酉、辛丑三日出身在五月(火旺)被伤,原文说宜八月或水土养育。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7632.html"},{id:"smt-runxia",book:"sanming",chapter:"卷六·润下",scene:"格局",tags:["润下格","专旺"],quote:"壬癸日见申子辰全,忌引卯巳死绝之地,三刑四冲之乡,死绝则不流,冲刑则横流,岁运同。或曰水太泛须柱有土神一两位制之,得成堤岸,既有土怕会木为凶,如有木伤土要金印救解,终是一生成败。",plain:"润下格是水局三合全(申子辰),最忌卯巳死绝与三刑四冲:死绝水不流,冲刑水横流,行运也一样看。水太泛要一两位土作堤,有土又怕木来破堤,木伤土再用金印解救——原文把成败条件摊开讲。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7633.html"},{id:"smt-jiasi",book:"sanming",chapter:"卷六·稼穑",scene:"格局",tags:["稼穑格","专旺"],quote:"赋云:戊己忻逢四季,乃为稼穑之名。是戊己生逢季月,喜见木为官,止得一木为妙,木多则土虚,主虚诈为破家不仁之人。",plain:"稼穑格取戊己生于四季月(辰戌丑未)。原文说喜见一木为官,木多则土虚;后半对木多之人的评语是旧说的重话,本插件只照录条件、不拿来评价人。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7634.html"},{id:"smt-congsha",book:"sanming",chapter:"卷五·弃命从煞",scene:"格局",tags:["从杀格"],quote:"《独步》云:弃命从煞,须要会煞从财,忌煞从煞。盖言从煞格,以煞神太重,身无所归,不得已从之,要行煞旺及财乡,四柱无一点比肩印绶方论,如遇运扶身旺,与煞为敌,从煞不专,故为祸患。",plain:"从煞格是煞太重、日主无所归才「弃命」相从:条件是四柱没有一点比肩印绶扶身,行运喜煞旺与财乡;一旦走扶身之运,与煞为敌,就从得不专。本插件只作结构说明,不据此断寿夭。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7598.html"},{id:"smt-congcai",book:"sanming",chapter:"卷六·弃命从财",scene:"格局",tags:["从财格"],quote:"《独步》云:弃命从财,须要会财,若逢根气,命损无猜。假如丁生酉月,柱多庚辛,日干无气,只得弃命相从,运入北方财官旺地,乃为入格,南行灾。",plain:"从财格要财会成局、日干无气;一见根气就破格,原文用「命损无猜」这种重话写明。以丁生酉月、柱多庚辛为例:只能弃命相从,行北方财官旺地为入格,南行则灾。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7652.html"},{id:"smt-suiyun",book:"sanming",chapter:"卷二·总论岁运",scene:"岁运",tags:[],quote:"行运以生月为运元,最怕行运与太岁冲克,若岁运冲月必祸;若岁运与日相对,谓之返吟,岁运压日,谓之伏吟,二者不利六亲,非横破财,不为吉兆。",plain:"大运以生月为起点,最怕与流年(太岁)冲克:原文说岁运冲月为祸,又把「岁运与日柱相对」叫返吟、「岁运压日」叫伏吟。这两句是按「对日柱」说的,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义(本插件取后者);末句「不利六亲、破财」是旧说的重话,只作变动提示,不作断语。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html"},{id:"smt-renyuan",book:"sanming",chapter:"卷二·论人元司事",scene:"人元",tags:[],quote:"故支吕所藏者主命,谓之人元,名为司事之神,以命术言之为月令。如正月建寅,寅中有艮土用事五日,丙火长生五日,甲木二十日;二月建卯,卯中有甲木用事七日,乙木二十三日;",plain:"地支所藏为「人元」,按月令分日轮值。三命通会这一本给的是另一套日数:寅月艮土(戊土)五日、丙火五日、甲木二十日,卯月甲七日、乙二十三日。它与本插件采用的通行 30 日表(寅月戊7丙7甲16,即 7/7/16;卯月甲10乙20,即 10/20)不是同一套分法;两表各照原样并列,本插件仍按通行表给「第几日谁当权」,不改取格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7529.html"}],sn=en.reduce((d,o)=>(d[o.id]=o,d),{}),fn={正官格:"正官",七杀格:"七杀",偏官格:"偏官",正财格:"正财",偏财格:"偏财",正印格:"印",偏印格:"印",食神格:"食神",伤官格:"伤官",阳刃格:"阳刃",月劫格:"月劫",建禄格:"建禄"},nn={曲直格:"smt-quzhi",炎上格:"smt-yanshang",从革格:"smt-congge",润下格:"smt-runxia",稼穑格:"smt-jiasi",从财格:"smt-congcai",从杀格:"smt-congsha"};function A(d){return sn[d]||null}function R(d){return(d&&Array.isArray(d.liunian)?d.liunian:[]).some(r=>r&&r.suiyun&&Array.isArray(r.suiyun.signals)&&r.suiyun.signals.length)?A("smt-suiyun"):null}function L(d){const o=String(d||"");if(fn[o])return fn[o];const u=o.replace(/格$/,"");return fn[u+"格"]||u}function k(d,o){return en.find(u=>u.scene==="格局"&&u.tags.includes(d)&&(!o||u.book===o))||null}function j(d){return d.chapter.replace(/^.*[、·]/,"").replace(/^论/,"")}function $(d,o=5){if(!d)return[];const u=[],r=new Set,z=(q,hn)=>{!q||r.has(q.id)||u.length>=o||(r.add(q.id),u.push({...q,why:hn}))},g=Array.isArray(d.geju)?d.geju:d.frame&&Array.isArray(d.frame.geju)?d.frame.geju:[],y=g.some(q=>q&&q.kind==="化气格");for(const q of g){if(q&&q.status==="破格"||y&&q&&q.status==="假从")continue;const hn=q&&nn[q.name]?A(nn[q.name]):null;hn&&z(hn,`本盘列有「${q.name}」,故取${P[hn.book].name}「${j(hn)}」一条`)}for(const q of g){if(!q||q.kind&&q.kind!=="月令格")continue;const hn=L(q.name),K=k(hn,"ziping")||k(hn);K&&z(K,`你的月令格局是「${q.name}」,故取${P[K.book].name}「${j(K)}」一条`);const Pn=en.find(Kn=>Kn.scene==="格局"&&Kn.tags.includes(hn)&&(!K||Kn.book!==K.book));Pn&&z(Pn,`同是「${q.name}」,${P[Pn.book].name}「${j(Pn)}」另有取法,可对照读`)}const S=d.climate||d.frame&&d.frame.yongshen&&(d.frame.yongshen.climate||d.frame.yongshen.tiaohou),i=d.frame&&d.frame.yongshen&&d.frame.yongshen.tongguan,h=i&&i.usable?A("dt-tongguan"):null;if(S&&S.kind&&S.kind!=="平和"){const q=!!(S.cold||S.kind.indexOf("寒")>=0),hn=!!(S.hot||S.kind.indexOf("热")>=0);z(A(q?"dt-hannuan":"dt-zaoshi"),`本盘气候判为「${S.kind}」,故取${P.ditian.name}寒暖燥湿一条`),h||z(A("zp-qihou"),"气候与月令用神要互参,故取子平真诠「用神配气候」一条"),hn&&z(A("dt-hannuan"),"本盘偏热,寒暖一条正对")}h&&z(h,`本盘忌${i.foe}克用${i.use},局中${i.bridge}${i.weight}分可作通关,故取${P.ditian.name}「通关」一条`);const m=g.find(q=>q&&q.kind==="化气格"),x=g.find(q=>q&&q.kind==="组合"),M=d.monthBranch||d.frame&&d.frame.monthBranch||d.pillars&&d.pillars.month&&d.pillars.month.branch,H=["辰","未","戌","丑"].includes(M);return m?z(A("zp-bianhua"),`本盘列有「${m.name}」:用神由月令合化而变,总纲一位改取${P.ziping.name}论用神变化`):H?z(A("zp-zaji"),`月令${M}属四墓杂气,取用先看透干、再看会支,总纲一位取${P.ziping.name}论杂气如何取用`):x?z(A("zp-chengbai"),`本盘另有「${x.name}」组合:成格还要看带忌与救应,总纲一位改取${P.ziping.name}论用神成败救应`):z(A("zp-yongshen"),"用神从月令取、四吉顺用四凶逆用,是通用总纲"),u}function G(d){return!d||!d.length?"":d.map(o=>`《${P[o.book].name}·${o.chapter}》「${o.quote}」`).join(`
|
|
72
|
-
`)}return{CLASSIC_BOOKS:P,CLASSICS:en,classicOf:A,suiyunClassicOf:R,classicsFor:$,classicsText:G}})(),W.structure=(function(){const P={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},en={木:"火",火:"土",土:"金",金:"水",水:"木"},sn={stem:{year:2,month:5,day:0,hour:3},branch:{year:11,month:36,day:27,hour:16}},fn={子:{癸:100},丑:{己:20,辛:40,癸:40},寅:{甲:65,丙:30,戊:5},卯:{乙:100},辰:{戊:45,乙:30,癸:25},巳:{丙:65,戊:20,庚:15},午:{丁:90,己:10},未:{己:55,丁:40,乙:5},申:{庚:65,壬:30,戊:5},酉:{辛:100},戌:{戊:55,辛:25,丁:20},亥:{壬:70,甲:30}},nn={木:{得地:"亥子寅卯",半:{辰:.5,未:.2}},火:{得地:"寅卯巳午未",半:{戌:0}},土:{得地:"巳午未戌",半:{寅:.2,辰:.5}},金:{得地:"丑酉申戌辰",半:{未:.1,巳:.1}},水:{得地:"申亥子丑",半:{辰:.5}}},A=["year","month","day","hour"],R={year:"年",month:"月",day:"日",hour:"时"},L={AAAA:{prob:99,range:"≈99%",word:"四支同党,基本为真从"},ABBB:{prob:80,range:"≈80%",word:"年支独异,极易从"},AAAB:{prob:55,range:"50-60%",word:"时支独异,从与不从各半"},AABA:{prob:20,range:"≈20%",word:"日支独异,不易从"},ABAA:{prob:1,range:"≈1%",word:"月支独异,几乎不从"},AABB:{prob:0,range:"0%",word:"二对二最平衡,无从格"},ABAB:{prob:0,range:"0%",word:"二对二,无从格"},ABBA:{prob:null,range:"原文未给",word:"二对二,原文只说「有可能从格」"}};function k(o,u){const r=P[o],z=nn[r];if(!z)return{level:"不得地",weight:0};if(z.得地.includes(u))return{level:"得地",weight:1};const g=z.半[u];return g!==void 0?{level:"半得地",weight:g}:{level:"不得地",weight:0}}function j(o,u){const r=P[o],z=P[u];return!r||!z?"B":z===r||en[z]===r?"A":"B"}function $(o,u){const r=A.filter(dn=>o[dn]&&o[dn].branch);if(!r.length)return null;const z=G(o.year.branch,u),g=r.map(dn=>{const X=o[dn].branch,an=k(u,X),gn=an.weight>=1?"A":"B";return{key:dn,label:R[dn],branch:X,camp:gn===z?"A":"B",support:an.level,supportWeight:an.weight,weight:sn.branch[dn]}}),y=g.map(dn=>dn.camp).join(""),S=L[y]||null,i=k(u,o.year.branch).weight>=1?"身强阵营":"身弱阵营",h=i==="身强阵营"?"身弱阵营":"身强阵营",m=(dn,X)=>g.filter(an=>an.camp===dn).reduce((an,gn)=>an+gn[X],0),x={A:m("A","weight"),B:m("B","weight")},M=i==="身强阵营"?x.A:x.B,H=i==="身强阵营"?x.B:x.A,q=["year","month","hour"].filter(dn=>o[dn]&&o[dn].stem),hn={A:0,B:0};for(const dn of q)hn[j(u,o[dn].stem)]+=sn.stem[dn];const K=g.filter(dn=>dn.support!=="得地"),Pn=g.filter(dn=>dn.camp==="A").length,Kn=g.length-Pn,c=Pn===0||Kn===0?null:Pn<Kn?"A":Kn<Pn?"B":null,D=c?g.filter(dn=>dn.camp===c):[],Sn={aCamp:i,branch:x,stem:hn,total:{A:x.A+hn.A,B:x.B+hn.B}},Mn=c?`异类为${D.map(dn=>`${dn.label}支(${dn.weight} 分)`).join("、")}`:Pn===g.length||Kn===g.length?`四支同党(均属${i})`:`二对二:${g.filter(dn=>dn.camp==="A").map(dn=>dn.label).join("、")}支属${i},${g.filter(dn=>dn.camp==="B").map(dn=>dn.label).join("、")}支属${h}`,kn=[`四支${y}(${g.map(dn=>`${dn.label}支${dn.branch}${dn.support}`).join("、")})`,Mn,`地支 身强${M} : 身弱${H},加天干 ${Sn.total[i==="身强阵营"?"A":"B"]}:${Sn.total[i==="身强阵营"?"B":"A"]}`],wn=g.length===4;return{code:y,complete:wn,aCamp:i,congProb:wn&&S?S.prob:null,congRange:wn&&S?S.range:"三柱不判结构概率",word:wn&&S?S.word:"时柱暂缺,只列三支结构,不套从格概率",branches:g,balance:Sn,odd:D.map(dn=>({key:dn.key,label:dn.label,branch:dn.branch,weight:dn.weight})),halfSupported:K.filter(dn=>dn.support==="半得地").map(dn=>`${dn.label}支${dn.branch}`),detail:kn.join(";"),method:"按年支定 A 档,四支分两营;异类支的宫位权重决定静态从格概率(炳祥课堂口径,非唯一流派)",note:"静态结构。三合/三会/六合把某一支合走时,应以合化后的阵营重排;概率只作提示,不直接断从格。"}}function G(o,u){return k(u,o).weight>=1?"A":"B"}function d(o={},{hourUnknown:u=!1}={}){const r=A.filter(q=>o[q]&&o[q].branch),z=!u&&r.length===4,g=z?A.slice():r.filter(q=>!(q==="hour"&&u)),y={},S={},i={};for(const q of A)y[q]=sn.stem[q],S[q]=sn.branch[q],i[q]=g.includes(q)?y[q]+S[q]:0;const h=g.reduce((q,hn)=>q+y[hn],0),m=g.reduce((q,hn)=>q+S[hn],0),x=h+m,M=g.map(q=>`${R[q]} ${i[q]}%(干${y[q]}+支${S[q]})`).join("、"),H=g.length<4?`;${A.filter(q=>!g.includes(q)).map(q=>R[q]).join("、")}柱未计`:"";return{complete:z,stem:y,branch:S,pct:i,total:{stem:h,branch:m,all:x},detail:`宫位权重合计 ${x}:${M}${H}`,method:"炳祥课程宫位权重:天干 2/5/0/3、地支 11/36/27/16,合计 100;日干为参照点计 0。只作展示换算,不改旺衰评分",note:z?"月令 41% 为四柱之首(课堂称事业宫);日 27%、时 19%、年 13%":"时柱暂缺,权重表照列,但本盘合计不足 100;不重新归一化"}}return{PILLAR_WEIGHT:sn,HIDDEN_PCT:fn,supportOf:k,branchStructureOf:$,weightPctOf:d}})(),W.geju=(function(){const{judgeClimate:P,arbitrate:en}=W.tiaohou||{},{qtOf:sn}=W.qiongtong||{},{SANHE_GROUPS:fn,sanheGroupOf:nn}=W.sanhe||{},A=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],R=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],L={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},k={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"},j={木:"火",火:"土",土:"金",金:"水",水:"木"},$={木:"土",土:"水",水:"火",火:"金",金:"木"},G={子:["癸"],丑:["己","癸","辛"],寅:["甲","丙","戊"],卯:["乙"],辰:["戊","乙","癸"],巳:["丙","庚","戊"],午:["丁","己"],未:["己","丁","乙"],申:["庚","壬","戊"],酉:["辛"],戌:["戊","辛","丁"],亥:["壬","甲"]},d=[1,.5,.3],o={甲:"寅",乙:"卯",丙:"巳",丁:"午",戊:"巳",己:"午",庚:"申",辛:"酉",壬:"亥",癸:"子"},u={甲:"卯",乙:"辰",丙:"午",丁:"未",戊:"午",己:"未",庚:"酉",辛:"戌",壬:"子",癸:"丑"},r={甲己:"土",乙庚:"金",丙辛:"水",丁壬:"木",戊癸:"火"},z=Y=>A.indexOf(Y)%2===0,g=["木","火","土","金","水"];function y(Y,yn){const Q=L[Y],T=L[yn],rn=z(Y)===z(yn);return Q===T?rn?"比肩":"劫财":j[Q]===T?rn?"食神":"伤官":$[Q]===T?rn?"偏财":"正财":$[T]===Q?rn?"七杀":"正官":j[T]===Q?rn?"偏印":"正印":"?"}const S={比劫:["比肩","劫财"],食伤:["食神","伤官"],财:["正财","偏财"],官杀:["正官","七杀"],印:["正印","偏印"]};function i(Y,yn){const Q={比劫:0,食伤:0,财:0,官杀:0,印:0},T={比肩:0,劫财:0,食神:0,伤官:0,正财:0,偏财:0,正官:0,七杀:0,正印:0,偏印:0},rn=(I,F)=>{const ln=y(yn,I),xn=Object.keys(S).find(tn=>S[tn].includes(ln));xn&&(Q[xn]+=F),T[ln]!==void 0&&(T[ln]+=F)};for(const I of["year","month","day","hour"].filter(F=>Y[F]))rn(Y[I].stem,I==="day"?.6:1),(G[Y[I].branch]||[]).forEach((F,ln)=>rn(F,d[ln]??.1));for(const I of Object.keys(Q))Q[I]=Math.round(Q[I]*10)/10;for(const I of Object.keys(T))T[I]=Math.round(T[I]*10)/10;return{groups:Q,byGod:T}}function h(Y){const yn=L[Y],Q=g.find(rn=>j[rn]===yn),T=g.find(rn=>$[rn]===yn);return{me:yn,inMe:Q,shi:j[yn],cai:$[yn],guan:T}}const m=["辰","未","戌","丑"];function x(Y,yn,Q){if(!m.includes(yn))return null;const T=nn(yn);if(!T)return null;const rn=["year","day","hour"],I=T.branches.filter(xn=>xn!==yn);if(!I.every(xn=>rn.some(tn=>Y[tn].branch===xn)))return null;const F=Q.find(xn=>L[xn.stem]===T.element);if(!F)return null;const ln=rn.filter(xn=>I.includes(Y[xn].branch)).map(xn=>`${{year:"年",day:"日",hour:"时"}[xn]}支${Y[xn].branch}`);return{...F,group:T,where:ln}}function M(Y,yn,Q){const T=G[Q]||[],rn=T.map((on,b)=>({stem:on,god:y(yn,on),pos:["本气","中气","余气"][b],w:d[b]??.1})),I=["year","month","hour"],F=rn[0];let ln=null,xn=null;for(const on of rn){const b=I.filter(E=>Y[E].stem===on.stem);if(b.length){xn=on,ln=b.includes("month")?"month":b[0];break}}const tn=ln?null:x(Y,Q,rn);xn||(xn=tn||F);const In=ln?"透干":tn?"会支":"本气",un=ln?{year:"年",month:"月",hour:"时"}[ln]:null,_n=(on,b,E)=>({stem:on.stem,god:on.god,pos:on.pos,usedBy:b,exposedKey:E||null,exposedPos:E?{year:"年",month:"月",hour:"时"}[E]:null});if(F.god==="比肩"&&o[yn]===Q)return{name:"建禄格",kind:"月令格",evidence:`月令${Q}为日干${yn}之禄(本气${F.stem}比肩),身坐禄地`,..._n(F,"本气",null)};if(F.god==="劫财")return u[yn]===Q?{name:z(yn)?"阳刃格":"月刃格",kind:"月令格",evidence:`月令${Q}为日干${yn}之刃(本气${F.stem}劫财)${z(yn)?"":",阴干统称月刃"}`,..._n(F,"本气",null)}:{name:"月劫格",kind:"月令格",evidence:`月令${Q}本气${F.stem}为劫财`,..._n(F,"本气",null)};if(In==="本气"&&F.god==="比肩")return{name:"比肩格",kind:"月令格",evidence:`月令${Q}藏${T.join("")},本气${F.stem}为比肩,但${yn}禄在${o[yn]}、不在${Q},属杂气月比肩当权`,..._n(F,"本气",null)};if(In!=="本气"&&xn.god==="劫财"){const on=ln?`透于${un}干`:`${tn.where.join("、")}会成${tn.group.element}局`;return{name:"月劫格",kind:"月令格",evidence:`月令${Q}藏${T.join("")},${xn.pos}${xn.stem}(劫财)${on},劫财为用,作月劫论`,..._n(xn,In,ln)}}const U=`${xn.god}格`;let cn;return ln?cn=`月令${Q}藏${T.join("")},${xn.pos}${xn.stem}(${xn.god})透于${un}干`:tn?cn=`月令${Q}藏${T.join("")},本气${F.stem}(${F.god})未透干,而${tn.where.join("、")}会成${tn.group.element}局,取${xn.pos}${xn.stem}(${xn.god})为用`:cn=`月令${Q}藏${T.join("")},本气${F.stem}(${F.god})未透干,以月令本气取格`,{name:U,kind:"月令格",evidence:cn,..._n(xn,In,ln)}}const H=["子","午","卯","酉"],q={专气透:90,本气透:70,中气透:50,余气透:20,同五行透:5,会支取用:60,月令不透:40},hn=30,K=20,Pn=60,Kn=["建禄格","阳刃格","月刃格","月劫格"];function c(Y,yn){for(const Q of["year","month","day","hour"]){const T=yn[Q];if(!(!T||!T.stem||T.stem===Y)&&(r[Y+T.stem]||r[T.stem+Y]))return{pillar:wn[Q],key:Q,stem:T.stem}}return null}function D(Y,yn,Q={}){const T=Y.stem,rn=L[T],I=["year","month","day","hour"].some(un=>{const _n=yn[un];return _n?(G[_n.branch]||[])[0]===T:!1}),F=Object.values(Q).reduce((un,_n)=>un+(Number(_n)||0),0),ln=F>0?Math.round((Number(Q[rn])||0)/F*1e3)/10:0,xn=["year","month","day","hour"].some(un=>{const _n=yn[un];if(!_n||!_n.stem||_n.stem===T)return!1;const U=L[_n.stem];return U&&$[U]===rn}),tn=!I&&(ln<18||xn),In=[I?`有本气通根(${T})`:"四支无本气通根",`全局 ${ln}%`,xn?"且被天干克":""].filter(Boolean);return{weak:tn,pct:ln,hasBaseRoot:I,overcome:xn,detail:In.join(",")}}function Sn(Y,yn,Q,T,rn={}){if(!Y)return null;if(Y.kind!=="月令格"||Kn.includes(Y.name))return{applicable:!1,base:null,baseLabel:null,deductions:[],score:null,pass:null,grade:null,threshold:Pn,detail:`${Y.name}属外格(建禄/羊刃/月劫),课程不按正八格的透干档位计成格分,故不套 −30 / −20。`,method:"只评正八格月令格;建禄/羊刃/月劫属外格,不评分"};const I=Y.monthBranch||T;let F;if(Y.usedBy==="透干")H.includes(I)&&Y.pos==="本气"?F="专气透":F=`${Y.pos}透`;else if(Y.usedBy==="会支")F="会支取用";else{const on=L[Y.stem];F=["year","month","hour"].map(E=>yn[E]&&yn[E].stem).find(E=>E&&E!==Y.stem&&L[E]===on)?"同五行透":"月令不透"}const ln=q[F]??40,xn=[],tn=Y.usedBy==="透干"?c(Y.stem,yn):null;tn&&xn.push({reason:"透干被合",points:hn,detail:`${Y.stem}与${tn.pillar}干${tn.stem}五合(合而不化也按被合论)`});const In=D(Y,yn,rn);In.weak&&xn.push({reason:"用神太弱",points:K,detail:In.detail});const un=xn.reduce((on,b)=>on+b.points,0),_n=Math.max(0,ln-un),U=_n>=Pn,cn=`基础分 ${ln}(${F})${xn.length?`,${xn.map(on=>`${on.reason} −${on.points}(${on.detail})`).join(",")}`:",无减项"},成格分 ${_n}/100,${U?`过 ${Pn} 分线,按课里作成格论`:`不及 ${Pn} 分线,按课里作不成格论`}。`;return{applicable:!0,base:ln,baseLabel:F,deductions:xn,score:_n,pass:U,grade:U?"成格":"不成格",threshold:Pn,detail:cn,method:"基础分按取格档位(专气透 90 / 本气透 70 / 中气透 50 / 余气透 20 / 同五行透 5 / 会支取用 60 / 月令不透 40);透干被合 −30、用神太弱 −20;60 分及格。只读标注,不改取格与既有三态。"}}const Mn={木:"曲直格",火:"炎上格",土:"稼穑格",金:"从革格",水:"润下格"},kn={财:"从财格",官杀:"从杀格",食伤:"从儿格",印:"从强格",比劫:"从强格"},wn={year:"年",month:"月",day:"日",hour:"时"};function dn(Y,yn){const Q=L[yn],T={bi:0,yin:0,total:0,details:[],helpers:[]};for(const rn of["year","month","day","hour"].filter(I=>Y[I])){const I=Y[rn].branch;(G[I]||[]).forEach((F,ln)=>{const xn=L[F],tn=d[ln]??.1;xn===Q?(T.bi+=tn,T.details.push(`${wn[rn]}支${I}藏${F}(比劫 ${tn})`)):j[xn]===Q&&(T.yin+=tn,T.details.push(`${wn[rn]}支${I}藏${F}(印 ${tn})`))})}for(const rn of["year","month","hour"]){const I=Y[rn].stem,F=L[I];(F===Q||j[F]===Q)&&T.helpers.push(`${wn[rn]}干${I}(${F===Q?"比劫":"印"})`)}return T.bi=Math.round(T.bi*10)/10,T.yin=Math.round(T.yin*10)/10,T.total=Math.round((T.bi+T.yin)*10)/10,T}function X(Y,yn,Q,T,rn,I){const F=[],ln=h(yn),xn=ln.me,tn=rn[xn]??0,In=rn[ln.inMe]??0,un=rn[ln.cai]??0,_n=rn[ln.guan]??0,U=rn[ln.shi]??0;for(const bn of["year","month","hour"]){const Tn=Y[bn].stem,Rn=r[yn+Tn]||r[Tn+yn];if(!Rn)continue;const Nn=k[Q];if(Nn===Rn||j[Nn]===Rn){F.push({name:`${Rn==="土"?"化土格":`化${Rn}格`}`,kind:"化气格",evidence:`日干${yn}与${["年","月","时"][["year","month","hour"].indexOf(bn)]}干${Tn}合化${Rn},月令${Q}${Nn}${Nn===Rn?"同化神":"生助化神"};化气格须全局无争合妒合才算真,此处仅列条件`});break}}if((T.level==="身强"||T.level==="偏强")&&tn+In>=5){const bn=[];_n>1.2&&bn.push(`官杀 ${_n} 分,逆旺势`),un>1.8&&bn.push(`财 ${un} 分,耗旺气`);const Tn=k[Q],Rn=Tn===xn||Tn===ln.inMe,Nn=fn.find(An=>An.element===xn),w=["year","month","day","hour"].filter(An=>Y[An]).map(An=>Y[An].branch),s=Nn&&Nn.branches.every(An=>w.includes(An))?Nn.branches.join(""):null,O=bn.length?"破格":Rn?"成格":"待定";F.push({name:Mn[xn],kind:"专旺格",status:O,breaks:bn,ju:s,evidence:`日主${xn}得${tn+In}分(同类+印),官杀${_n}、财${un}${bn.length?"":"皆弱"};${Rn?`月令${Q}${Tn}助旺`:`月令${Q}${Tn}不助旺`}${s?`,地支${s}成局`:""},${O==="成格"?"成格":O==="破格"?"见破格条件":"成势而条件未全"}`,breakRule:bn.length?"专旺以官杀逆旺势、财星耗旺气为破;见其一即不纯":void 0})}const cn=dn(Y,yn);if(cn.total<1&&(T.level==="身弱"||T.level==="偏弱")){const bn=Object.entries({财:un,官杀:_n,食伤:U,印:In}).sort((Tn,Rn)=>Rn[1]-Tn[1])[0];if(bn[1]>=2.5){const Tn=cn.total>0||cn.helpers.length>0,Rn=[...cn.details,...cn.helpers.map(Nn=>`天干${Nn}虚透`)];F.push({name:kn[bn[0]],kind:"从格",status:Tn?"假从":"真从",breaks:Tn?Rn:[],rootWeight:cn.total,evidence:Tn?`日主有微根或虚透(${Rn.join(";")}),${bn[0]}占 ${bn[1]} 分最旺,假从${bn[0]};行运助身则不从`:`日主无根(四支藏干无同类与印、天干无比劫印绶),${bn[0]}占 ${bn[1]} 分最旺,真从${bn[0]}`,breakRule:Tn?"从格以日主有根、比劫印绶透出为破;有根而从者称假从,运助身则不从":void 0})}}const on=I.byGod||{},b=I.groups||I,E=bn=>(on[bn]??0)>=.5,V=(on.正印??0)+(on.偏印??0),Hn=[["官印相生",E("正官")&&V>=.5,"正官与印并见,官生印而护身"],["杀印相生",E("七杀")&&V>=.5&&(on.七杀??0)>(on.正官??0),"七杀与印并见,杀印相生"],["食伤生财",(b.食伤??0)>=.6&&(b.财??0)>=.6,`食伤${b.食伤}+财${b.财},食伤生财`],["财官相生",(b.财??0)>=.6&&(b.官杀??0)>=.6,`财${b.财}+官杀${b.官杀},财生官`],["伤官配印",E("伤官")&&V>=.5&&(b.财??0)<=1,"伤官与印并见,伤官配印"],["伤官见官",E("伤官")&&E("正官"),"伤官与正官并见(伤官见官,为祸百端之说)"],["羊刃驾杀",(b.官杀??0)>=1&&u[yn]===Q,`月令为刃,又有七杀${b.官杀},刃杀相制`]];for(const[bn,Tn,Rn]of Hn)Tn&&F.push({name:bn,kind:"组合",evidence:Rn});return F}const an=1.5,gn=.5;function f(Y=[],yn=[],Q={}){const T=rn=>Math.round((Number(Q[rn])||0)*10)/10;for(const rn of Y)if(!(T(rn)<an))for(const I of yn){if($[I]!==rn||T(I)<an)continue;const F=j[I];if(!F||j[F]!==rn)continue;const ln=T(F),xn=yn.includes(F)&&!Y.includes(F),tn=xn?"为忌":ln>=an?"可通":ln>0?"关弱":"未通";return{use:rn,foe:I,bridge:F,weight:ln,present:ln>0,bridgeIsAvoid:xn,level:tn,usable:tn==="可通",note:"相战=用神与忌神两行各在局中 ≥1.5 分且相克;通关一行=克方所生、又能生用神的那一行(五行里唯一),只报局中分量,不据此断吉凶"}}return null}const C={正格:35,从格:15};function N({dayStem:Y,strength:yn,wuxing:Q={},yongshen:T={},geju:rn=[]}){const I=h(Y),F=s=>s===I.me?"比劫":s===I.inMe?"印":s===I.shi?"食伤":s===I.cai?"财":"官杀",ln=s=>Math.round((Number(Q[s])||0)*10)/10,xn=Object.values(Q).reduce((s,O)=>s+(Number(O)||0),0),tn=s=>xn>0?Math.round(ln(s)/xn*1e3)/10:0,In=s=>`${s.element}(${s.role}·${s.pct}%)`,un=(rn||[]).find(s=>s.kind==="从格"),_n=un?C.从格:C.正格;let U=T.favor||[],cn=T.avoid||[],on="扶抑喜忌";un&&(un.name==="从强格"?(U=[I.inMe,I.me],cn=[I.cai,I.guan,I.shi]):un.name==="从儿格"?(U=[I.shi,I.cai],cn=[I.inMe,I.guan]):un.name==="从杀格"?(U=[I.guan,I.cai],cn=[I.me,I.inMe]):(U=[I.cai,I.guan,I.shi],cn=[I.me,I.inMe]),on="从格反转");const b=cn.map(s=>({element:s,role:F(s),pct:tn(s)})).sort((s,O)=>O.pct-s.pct)[0]||null,E={threshold:_n,isCong:!!un,congName:un?un.name:null,favorSource:on,sick:b||null,remedy:null,level:"无病",method:"病=最强忌神;正格 >35%、从格 >15% 才算病;从格先按喜忌反转取忌;药优先取克忌神的喜神,其次取泄;只作标注,不改喜忌"};if(!b||b.pct<=_n)return{...E,detail:b?`忌神最重为${In(b)},未过${un?"从格":"正格"} ${_n}% 门槛,按炳祥口径作无病论。`:"本盘无忌神可论,按炳祥口径作无病论。"};const V=U.map(s=>({element:s,role:F(s),pct:tn(s)})).filter(s=>s.pct>0).sort((s,O)=>O.pct-s.pct),Hn=(s,O)=>$[s]===O;let bn=null,Tn=null,Rn="";if(b.role==="印"){const s=V.find(An=>An.role==="财"),O=V.find(An=>An.role==="食伤");s&&tn(I.cai)>=tn(I.shi)*.5?(bn=s,Tn="财克印"):O&&tn(I.shi)>=1?(bn=O,Tn="食伤硬抗(安慰剂)",Rn=`财力${tn(I.cai)}% 不足食伤的 50%(食伤${tn(I.shi)}%),按课里只能以食伤硬抗。`):Rn=`财、食伤都不足以制印(财${tn(I.cai)}%、食伤${tn(I.shi)}%),按课里属有病无药。`}else{const s=V.find(O=>Hn(O.element,b.element));if(s)bn=s,Tn="克";else{const O=V.find(An=>j[b.element]===An.element);O&&(bn=O,Tn="泄",Rn=`喜神中无克${b.element}者,退取${O.element}泄其势(课里「克 > 泄」,泄力次之)。`)}}const Nn=bn?"有病有药":"有病无药",w=[`病为${In(b)},已过${un?`从格(${un.name})`:"正格"} ${_n}% 门槛。`,bn?`药取${In(bn)},以「${Tn}」制病${bn.pct<b.pct?`;药力弱于病(${bn.pct}% < ${b.pct}%)`:""}。`:"喜神中无可制之药,按炳祥口径属有病无药。",Rn].filter(Boolean).join("");return{...E,level:Nn,remedy:bn,mode:Tn,detail:w}}function B({dayStem:Y,wuxing:yn={},pillars:Q={},yongshen:T={}}){const rn=h(Y),I=V=>Math.round((Number(yn[V])||0)*10)/10,F=Object.values(yn).reduce((V,Hn)=>V+(Number(Hn)||0),0),ln=V=>F>0?Math.round(I(V)/F*1e3)/10:0,tn=[{role:"食伤",element:rn.shi},{role:"官杀",element:rn.guan}].map(V=>({...V,pct:ln(V.element)})).sort((V,Hn)=>V.pct-Hn.pct)[0],In=tn.pct<=4?"最佳":tn.pct<10?"合格":"显忌",_n=["year","month","day","hour"].map(V=>Q[V]&&Q[V].stem).filter(Boolean).some(V=>L[V]===tn.element),U=T.favorRoles||[],cn=T.avoidRoles||[],on=U.includes(tn.role)?"喜":cn.includes(tn.role)?"忌":"中性",b=In==="显忌"?"闲神显忌":In==="最佳"?"闲神得位":"闲神合格",E=[`狭义闲神取${tn.element}(${tn.role},全局 ${tn.pct}%),是食伤与官杀中较弱的一个。`,In==="最佳"?"4% 上下,正是课里说的最佳区间。":In==="合格"?"不足 10%,按课里算合格,不作显忌。":"超过 10%,课里按忌神论:不是大凶,是别扭、乱使劲、干了很多事没结果。",_n?"此神透干(显性),按课里「显性 ×3」在文案里优先提示;分值不改。":"此神未透干,属暗闲神,影响更轻。",`在现有喜忌里为${on}。`].join("");return{idle:tn,band:In,level:b,visible:_n,stance:on,displayWeight:Math.round(tn.pct*(_n?3:1)*10)/10,detail:E,method:"闲神=食伤与官杀中较弱者;4% 最佳 / <10% 合格 / >=10% 显忌;显性 ×3 只作文案排序,不改分值与喜忌"}}function pn(Y,yn,Q,T,rn=[]){const I=h(Y),F=I.me,ln=Q.level==="身弱"||Q.level==="偏弱",xn=Q.level==="身强"||Q.level==="偏强",tn=$n=>$n===F?"比劫":$n===I.inMe?"印":$n===I.shi?"食伤":$n===I.cai?"财":"官杀",In={比劫:"帮身",印:"生身",食伤:"泄秀",财:"耗",官杀:"制"},un=ln?[I.inMe,F]:xn?[I.shi,I.cai,I.guan]:[I.inMe,F,I.shi],_n=ln?[I.shi,I.cai,I.guan]:xn?[F,I.inMe]:[I.guan,I.cai];let U=un.slice(),cn=_n.slice();const on=[],b=P({monthBranch:yn,dayStem:Y,wuxing:T,branches:rn}),E=sn(Y,yn),V=en(b,un,_n);if(b.need&&b.priority==="调候优先"){const $n=b.need.element;U.includes($n)||U.unshift($n),cn=cn.filter(Vn=>Vn!==$n);const Un=b.avoidElement;Un&&U.includes(Un)?on.push({element:Un,favorRole:tn(Un),favorVerb:In[tn(Un)],climate:b.label,note:`调候忌${Un}(${b.label}),但它在扶抑里为${tn(Un)};本表保留在喜用,不列入忌。`}):Un&&!cn.includes(Un)&&cn.unshift(Un)}const Hn={比劫:["比肩","劫财"],印:["正印","偏印"],食伤:["食神","伤官"],财:["正财","偏财"],官杀:["正官","七杀"]},bn=Array.from(new Set(U.flatMap($n=>Hn[tn($n)]||[]))),Tn=Array.from(new Set(cn.flatMap($n=>Hn[tn($n)]||[]))),Rn=Array.from(new Set(on.flatMap($n=>Hn[tn($n.element)]||[]))),Nn=$n=>Math.round((Number(T[$n])||0)*10)/10,w=cn.filter($n=>Nn($n)<gn).map($n=>({element:$n,role:tn($n),verb:In[tn($n)],weight:Nn($n)})),s=Array.from(new Set(w.flatMap($n=>Hn[$n.role]||[]))),O=f(U,cn,T),An=$n=>`${$n}(${tn($n)}·${In[tn($n)]})`,Cn=on.map($n=>`${$n.element}(扶抑为${$n.favorRole}·${$n.favorVerb};${$n.climate}盘调候忌${$n.element},本表保留在喜用)`).join("、"),Fn=[`日主${Y}${F},${Q.level}(${Q.score} 分):`,`喜${U.map(An).join("、")||"—"};忌${cn.map(An).join("、")||"—"}。`,w.length?`中性偏忌:${w.map($n=>`${$n.element}(局中 ${$n.weight} 分)`).join("、")}——分量近零,不作实忌论,但不从此盘喜忌中删除(行运遇之仍按忌计)。`:"",on.length?`有争议:${Cn}。`:"",!ln&&!xn?"身中和,先取调候与通关,喜忌随大运流年动态变化。":"",`调候:${b.label}(${(b.evidence||[]).join("、")})${b.need?`,取${b.need.stem}${b.need.element},忌${b.avoidElement}${on.some($n=>$n.element===b.avoidElement)?"(有争议)":""}`:",气候平和"}。`,E?`穷通宝鉴:${E.month}${Y}${F},用神${E.yong.join("、")}(首取${E.primary})。`:"",O?`通关:忌${O.foe}克用${O.use},五行以${O.bridge}为关;局中${O.level==="可通"?`${O.bridge} ${O.weight} 分,关可通`:O.level==="关弱"?`仅 ${O.bridge} ${O.weight} 分,关弱`:O.level==="为忌"?`${O.bridge} ${O.weight} 分但此行为忌,通关力打折`:`未见${O.bridge},关未通`}(只作结构提示,不据此断吉凶)。`:"",V.text,V.clash?"取舍:本盘按「调候优先、扶抑次之」取用;若你更认同扶抑派,可把调候当环境偏好,强弱判断不受影响。":""].filter(Boolean).join("");return{method:b.priority==="调候优先"?"调候优先 + 扶抑校验":"扶抑为主 + 调候校验",level:Q.level,favor:U,avoid:cn,disputed:on,neutral:w,favorRoles:U.map(tn),avoidRoles:cn.map(tn),neutralRoles:w.map($n=>$n.role),favorTenGods:bn,avoidTenGods:Tn,disputedTenGods:Rn,neutralTenGods:s,tiaohou:{...b,...V,element:b.need?b.need.element:null},climate:b,qt:E,tongguan:O,detail:Fn}}const qn=[[1.3,"大吉"],[.6,"吉"],[-.6,"平"],[-1.3,"忌"],[-1/0,"大忌"]];function Zn(Y,yn){const Q=yn.yongshen,T=Y[0],rn=Y[1],I=L[T],F=k[rn],ln=Q.tiaohou||Q.climate||null,xn=b=>{let E=0;return Q.favor.includes(b)&&(E+=1),Q.avoid.includes(b)&&(E-=1),E};let tn=xn(I)*1+xn(F)*.8;for(const b of(G[rn]||[]).slice(1))tn+=xn(L[b])*.2;const In=[];if(Q.favor.includes(I)?In.push(`天干${T}${I}为用神`):Q.avoid.includes(I)?In.push(`天干${T}${I}为忌神`):In.push(`天干${T}${I}不喜不忌`),Q.favor.includes(F)?In.push(`地支${rn}${F}助用`):Q.avoid.includes(F)&&In.push(`地支${rn}${F}助忌`),ln&&ln.need&&ln.priority==="调候优先"){const b=ln.need.element,E=ln.avoidElement,V=String(ln.kind).includes("寒");I===b?(tn+=1.1,In.push(`${ln.label}之局得${T}${I},${V?"解冻":"得润"}`)):I===E&&(tn-=.9,In.push(`${ln.label}之局再逢${T}${I},${V?"冻木难生":"燥上加燥"}`)),F===b?(tn+=.9,In.push(`地支${rn}${F}合调候`)):F===E&&(tn-=1,In.push(`地支${rn}${F}加重${ln.label}`)),V&&(I==="水"||F==="水")&&(tn-=.3)}else ln&&ln.need&&(I===ln.need.element||F===ln.need.element)&&In.push(`合调候(${ln.need.element})`);const un=y(yn.dayStem,T),_n=Q.favorTenGods.includes(un)?.3:0,U=Q.qt||null;U&&U.primary&&!Q.avoid.includes(L[U.primary])&&(T===U.primary?(tn+=.3,In.push(`天干${T}正是${U.branch}月${U.stem}日的首取(穷通宝鉴)`)):U.yong.includes(T)&&!Q.avoid.includes(L[T])&&(tn+=.15,In.push(`天干${T}为穷通宝鉴次取`)));let cn=Math.round((tn+_n)*10)/10;cn=Math.max(-4,Math.min(4,cn));const on=qn.find(([b])=>cn>=b)[1];return{ganzhi:Y,score:cn,tier:on,stemTenGod:un,reasons:In,note:`${un}运,${on}(${cn})`}}function zn({pillars:Y,dayStem:yn,monthBranch:Q,strength:T,wuxing:rn}){const I=i(Y,yn),F=M(Y,yn,Q),ln=Sn(F,Y,yn,Q,rn);ln&&ln.applicable&&(F.score=ln.score,F.scoreDetail=ln);const xn=X(Y,yn,Q,T,rn,I),tn=[F,...xn],In=pn(yn,Q,T,rn,Object.values(Y).map(U=>U.branch)),un=N({dayStem:yn,strength:T,wuxing:rn,yongshen:In,geju:tn}),_n=B({dayStem:yn,wuxing:rn,pillars:Y,yongshen:In});return{geju:tn,primary:F,primaryName:F.name,godStats:I,yongshen:In,bingyao:un,xianshen:_n,patternScore:ln,dayStem:yn,monthBranch:Q,structure:T.branchStructure||null}}return{tenGod:y,elementRoles:h,patternScoreOf:Sn,tongguanOf:f,bingyaoOf:N,xianshenOf:B,scoreLuck:Zn,analyzeBaziFrame:zn}})(),W.bazi=(function(){const{STEMS:P,BRANCHES:en,TERM_NAMES:sn,ganzhiName:fn,dayGanzhiIndex:nn,jdToParts:A,partsToJd:R,sexagenaryIndex:L,termWindow:k,previousJie:j,nextJie:$,equationOfTime:G,formatJd:d,xunKongOf:o}=W.calendar||{},{resolveAddress:u}=W.geo||{},{computeBaziShensha:r}=W.shensha||{},{assertCivil:z,assertShifted:g,daysInMonth:y}=W.validate||{},{applyDst:S}=W.dst||{},{bool:i}=W.bool||{},{nayinOf:h}=W.nayin||{},{SANHE:m}=W.sanhe||{},{analyzeBaziFrame:x,scoreLuck:M}=W.geju||{},{branchStructureOf:H,weightPctOf:q}=W.structure||{},hn={子:["癸"],丑:["己","癸","辛"],寅:["甲","丙","戊"],卯:["乙"],辰:["戊","乙","癸"],巳:["丙","庚","戊"],午:["丁","己"],未:["己","丁","乙"],申:["庚","壬","戊"],酉:["辛"],戌:["戊","辛","丁"],亥:["壬","甲"]},K={寅:[["戊",7],["丙",7],["甲",16]],卯:[["甲",10],["乙",20]],辰:[["乙",9],["癸",3],["戊",18]],巳:[["戊",5],["庚",9],["丙",16]],午:[["丙",10],["己",9],["丁",11]],未:[["丁",9],["乙",3],["己",18]],申:[["戊",7],["壬",3],["庚",20]],酉:[["庚",10],["辛",20]],戌:[["辛",9],["丁",3],["戊",18]],亥:[["戊",7],["甲",5],["壬",18]],子:[["壬",10],["癸",20]],丑:[["癸",9],["辛",3],["己",18]]},Pn={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},Kn={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"},c={木:"火",火:"土",土:"金",金:"水",水:"木"},D={木:"土",土:"水",水:"火",火:"金",金:"木"},Sn=U=>P.indexOf(U)%2===0,Mn=[1,.5,.3],kn=[1.2,.6,.3],wn={甲己:"土",乙庚:"金",丙辛:"水",丁壬:"木",戊癸:"火"},dn=["甲庚","乙辛","丙壬","丁癸"],X={子丑:"土",寅亥:"木",卯戌:"火",辰酉:"金",巳申:"水",午未:"土"},an={寅卯辰:"木",巳午未:"火",申酉戌:"金",亥子丑:"水"},gn=["子午","丑未","寅申","卯酉","辰戌","巳亥"],f=["子未","丑午","寅巳","卯辰","申亥","酉戌"],C=["子酉","丑辰","寅亥","卯午","巳申","未戌"],N=[["寅","巳","申"],["丑","戌","未"],["子","卯"]],B=["辰","午","酉","亥"],pn=(U,cn,on)=>U.includes(cn+on)||U.includes(on+cn);function qn(U,cn){const on=Object.keys(c).find(Rn=>c[Rn]===cn),b=["year","month","day","hour"].map(Rn=>U[Rn].branch),E=new Set(b),V={};for(const Rn of b)V[Rn]=1;const Hn=[],bn=new Set,Tn=(Rn,Nn,w,s)=>{const O=[];for(const An of[...Rn])(V[An]??1)>w&&(V[An]=w,O.push(An)),bn.add(An);O.length&&w<1&&Hn.push(`${Rn}${s}${Nn},${O.join("")}根气按${Math.round(w*10)}成计`)};for(const[Rn,Nn]of Object.entries(an))[...Rn].every(w=>E.has(w))&&Tn(Rn,Nn,Nn===cn?1:Nn===on?.6:.1,"三会");for(const[Rn,Nn]of Object.entries(m))[...Rn].every(w=>E.has(w))&&Tn(Rn,Nn,Nn===cn?1:Nn===on?.6:.2,"三合");for(let Rn=0;Rn<b.length;Rn++)for(let Nn=Rn+1;Nn<b.length;Nn++){const w=b[Rn],s=b[Nn],O=X[w+s]||X[s+w];if(!O||bn.has(w)&&bn.has(s))continue;const An=O===cn?1:O===on?.8:.5,Cn=[];for(const Fn of[w,s])bn.has(Fn)||(V[Fn]??1)>An&&(V[Fn]=An,Cn.push(Fn));Cn.length&&An<1&&Hn.push(`${w}${s}合${O},${Cn.join("")}根气按${Math.round(An*10)}成计`)}return{factor:V,notes:Hn,inJu:bn}}const Zn=.3;function zn(U,cn,on){let b=0;for(const E of["year","month","day","hour"]){const V=U[E],Hn=on[V.branch]??1;Hn<=.1||V.hidden.forEach((bn,Tn)=>{Pn[bn.stem]===cn&&(b+=(kn[Tn]??.1)*Hn)})}return b}const Y=[["亥","午"],["寅","丑"]],yn=[["卯","申"],["午","亥"],["巳","子"]],Q=new Set(["甲午","丁亥","戊子","辛巳","壬午","癸巳"]),T=new Set(["辰"]);function rn(U,cn){const on=[],b=cn.map(bn=>U[bn].branch),E=(bn,Tn)=>b.includes(bn)&&b.includes(Tn),V=new Set,Hn=bn=>{V.has(bn)||(V.add(bn),on.push(bn))};for(const[bn,Tn]of Y)E(bn,Tn)&&Hn(`${bn}${Tn}通合(藏干双合)`);for(const[bn,Tn]of yn)E(bn,Tn)&&(V.has(`${bn}${Tn}通合(藏干双合)`)||V.has(`${Tn}${bn}通合(藏干双合)`)||Hn(`${bn}${Tn}禄合`));for(const bn of cn){const Tn=U[bn],Rn=Tn.ganzhi||`${Tn.stem}${Tn.branch}`;Q.has(Rn)&&Hn(`${Rn}干支暗合`),T.has(Tn.branch)&&Hn(`${Rn}自合`)}return on}function I(U,cn=["year","month","day","hour"]){const on=cn.map(Nn=>U[Nn].stem),b=cn.map(Nn=>U[Nn].branch),E=[];for(let Nn=0;Nn<on.length;Nn++)for(let w=Nn+1;w<on.length;w++){const s=on[Nn],O=on[w];if(s===O)continue;const An=wn[s+O]||wn[O+s];if(An){E.push({text:`${s}${O}合(化${An}待定)`,rank:0});continue}if(pn(dn,s,O)){E.push({text:`${s}${O}相冲`,rank:1});continue}const Cn=Pn[s],Fn=Pn[O];D[Cn]===Fn?E.push({text:`${s}克${O}`,rank:3}):D[Fn]===Cn&&E.push({text:`${O}克${s}`,rank:3})}const V=[],Hn=new Set(b),bn=[];for(const[Nn,w]of Object.entries(m))[...Nn].every(s=>Hn.has(s))&&(V.push({text:`${Nn}三合${w}`,rank:0}),bn.push(Nn));const Tn=[];for(const[Nn,w]of Object.entries(an))[...Nn].every(s=>Hn.has(s))&&(V.push({text:`${Nn}三会${w}`,rank:0}),Tn.push(Nn));for(let Nn=0;Nn<b.length;Nn++)for(let w=Nn+1;w<b.length;w++){const s=b[Nn],O=b[w];if(s===O){B.includes(s)&&V.push({text:`${s}${O}自刑`,rank:2});continue}const An=X[s+O]||X[O+s],Cn=Object.keys(m).find($n=>$n.includes(s)&&$n.includes(O)),Fn=Object.keys(an).find($n=>$n.includes(s)&&$n.includes(O));if(An)V.push({text:`${s}${O}合${An}`,rank:0});else{if(Cn&&!bn.includes(Cn)){const $n=Cn[1],Un=s===$n||O===$n?"半合":"拱合";V.push({text:`${s}${O}${Un}${m[Cn]}`,rank:0})}if(Fn&&!Tn.includes(Fn)){const $n=Math.abs(Fn.indexOf(s)-Fn.indexOf(O))===1;V.push({text:`${s}${O}${$n?"半会":"拱会"}${an[Fn]}`,rank:0})}}pn(gn,s,O)&&V.push({text:`${s}${O}相冲`,rank:1}),pn(f,s,O)&&V.push({text:`${s}${O}相害`,rank:2}),pn(C,s,O)&&V.push({text:`${s}${O}相破`,rank:2});for(const $n of N)$n.includes(s)&&$n.includes(O)&&V.push({text:`${s}${O}相刑`,rank:2})}const Rn=Nn=>{const w=new Set,s=[];for(const O of[...Nn].sort((An,Cn)=>An.rank-Cn.rank))w.has(O.text)||(w.add(O.text),s.push(O.text));return s};return{stems:Rn(E),branches:Rn(V),anhe:rn(U,cn),anheNote:"暗合只作取象与风水参考,不参与旺衰与格局;只出现一对时按课里可忽略"}}function F(U,cn){const on=Pn[U],b=Pn[cn],E=Sn(U)===Sn(cn);return on===b?E?"比肩":"劫财":c[on]===b?E?"食神":"伤官":D[on]===b?E?"偏财":"正财":D[b]===on?E?"七杀":"正官":c[b]===on?E?"偏印":"正印":"?"}function ln(U){return h(U).name}const xn={0:1,2:2,4:3,6:4,8:5,10:6,12:7,14:8,16:9,18:10,20:11,22:0};function tn(U,cn){const on=fn(U),b=hn[on.branch];return{ganzhi:on.name,stem:on.stem,branch:on.branch,stemElement:Pn[on.stem],branchElement:Kn[on.branch],stemTenGod:cn?F(cn,on.stem):null,hidden:b.map((E,V)=>({stem:E,element:Pn[E],tenGod:cn?F(cn,E):null,role:["本气","中气","余气"][V]??"余气"})),nayin:ln(U)}}function In(U,cn){const on=A(U);if(cn==null||Number.isNaN(cn))return{offsetMinutes:0,jd:U,note:"未提供经度,按东八区平太阳时"};const b=(cn-120)*4,E=G(on.year,on.month,on.day),V=b+E;return{offsetMinutes:Math.round(V*10)/10,jd:U+V/1440,note:`经度差 ${b.toFixed(1)} 分 + 均时差 ${E.toFixed(1)} 分`}}function un(U,cn,on){const b=K[U];if(!b)return null;const E=[];let V=1;for(const[s,O]of b)E.push({stem:s,element:Pn[s],from:V,to:V+O-1}),V+=O;const Hn=V-1,bn=Math.max(1,Math.floor(cn)-Math.floor(on+.5)+1),Tn=bn>Hn,Rn=Tn?E.length-1:E.findIndex(s=>bn>=s.from&&bn<=s.to),Nn=E[Rn]||E[E.length-1],w=E[Rn+1]||null;return{month:U,day:bn,tableDays:Hn,segments:E,active:Nn.stem,activeElement:Nn.element,segment:{from:Nn.from,to:Nn.to},next:w?{stem:w.stem,element:w.element,from:w.from,inDays:w.from-bn}:null,inHidden:(hn[U]||[]).includes(Nn.stem),beyond:Tn,note:"人元司权按「节」当日起算,节当日为第 1 日,日差用本盘所用时刻(含真太阳时)所在日计;本插件固定 30 日表(余气 → 中气 → 本气),第 31 日以后按本气算。只作解释层的一层细节,不改取格。"}}function _n(U){z(U);let{year:cn,month:on,day:b,hour:E=0,minute:V=0,gender:Hn="male"}=U;const bn=i(U.hourUnknown);bn&&(E=12,V=0);const Tn=i(U.lateZi,!0),Rn=i(U.trueSolar,!0),Nn=i(U.dst,!0)?S({year:cn,month:on,day:b,hour:E,minute:V}):{applied:!1,note:null};Nn.applied&&(cn=Nn.year,on=Nn.month,b=Nn.day,E=Nn.hour,V=Nn.minute);const w=R({year:cn,month:on,day:b,hour:E,minute:V}),s=U.geo||(U.address?u(U.address):null),O=typeof U.longitude=="number"?U.longitude:s&&typeof s.lon=="number"?s.lon:void 0,An=Rn?In(w,O):{offsetMinutes:0,jd:w,note:"未启用真太阳时"},Cn=An.jd,Fn=k(cn,{jieOnly:!0}),$n=j(Fn,Cn),Un=$(Fn,Cn),Vn=Fn.find(mn=>mn.index===2&&mn.year===cn),ee=Vn&&Cn<Vn.jd?cn-1:cn,re=((ee-4)%60+60)%60,fe=P[re%10],Oe=xn[$n.index],mt=(P.indexOf(fe)%5*2+2)%10,Jn=((Oe-2)%12+12)%12,xt=(mt+Jn)%10,Ue=L(xt,Oe),ve=Math.floor(Cn+.5),te=A(Cn).hour,ft=Tn&&te>=23?ve+1:ve;Tn&&te>=23&&g(A(Cn+1),"八字");const Qe=nn(ft),ce=P[Qe%10],Ve=Math.floor((te+1)%24/2),de=(P.indexOf(ce)%5*2%10+Ve)%10,dt=L(de,Ve),oe={year:tn(re,ce),month:tn(Ue,ce),day:tn(Qe,ce),hour:tn(dt,ce)},Be=P.indexOf(fe)%2===0,Se=Be&&Hn==="male"||!Be&&Hn==="female",Me=Se?Un.jd-Cn:Cn-$n.jd,Te=Me*4;let Ze=Math.floor(Te/12),Ie=Math.round(Te%12);Ie>=12&&(Ie-=12,Ze+=1);const nt=Math.floor(Te/12),et=Te-nt*12,tt=Math.floor(et),ot=(et-tt)*30,it=Math.floor(ot),gt=Math.floor((ot-it)*24),at=365.2422,_e=at/3,Re=Se?Un:$n,be=Cn+Me*_e,st=A(be),rt=(mn,Gn)=>{const En=mn.year+Gn;return{year:En,month:mn.month,day:Math.min(mn.day,y(En,mn.month)),hour:mn.hour,minute:mn.minute}},Ye=[],Le=[];for(let mn=1;mn<=8;mn++){const Gn=((Ue+(Se?mn:-mn))%60+60)%60,En=fn(Gn),Qn=R(rt(st,(mn-1)*10)),ne=R(rt(st,mn*10));Ye.push({step:mn,startAge:Ze+(mn-1)*10,ganzhi:En.name,stem:En.stem,branch:En.branch,stemTenGod:F(ce,En.stem),nayin:ln(Gn),fromDate:d(Qn),toDate:d(ne)}),Le.push({step:mn,ganzhi:En.name,fromJd:Qn,toJd:ne})}const xe=Number(U.nowYear)||new Date().getFullYear(),yt=Math.max(xe,Number(U.liunianTo)||xe+9),ke=[];for(let mn=xe;mn<=yt;mn++){const Gn=((mn-4)%60+60)%60;ke.push({year:mn,age:mn-cn+1,ganzhi:fn(Gn).name,stemTenGod:F(ce,fn(Gn).stem)})}const ye={木:0,火:0,土:0,金:0,水:0};for(const mn of Object.values(oe))ye[mn.stemElement]+=1,mn.hidden.forEach((Gn,En)=>{ye[Gn.element]+=Mn[En]??.1});for(const mn of Object.keys(ye))ye[mn]=Math.round(ye[mn]*10)/10;const ut=Math.floor(Qe/10)*10,Pe=[en[(ut+10)%12],en[(ut+11)%12]],ct=["长生","沐浴","冠带","临官","帝旺","衰","病","死","墓","绝","胎","养"],$t={甲:11,乙:6,丙:2,丁:9,戊:2,己:9,庚:5,辛:0,壬:8,癸:3},pt=mn=>P.indexOf(mn)%2===0;function lt(mn,Gn){const En=$t[mn],Qn=en.indexOf(Gn),ne=pt(mn)?Qn-En:En-Qn;return ct[(ne%12+12)%12]}const Ce=oe.month.branch,Fe=r(oe,Pe,{gender:Hn,yearNayinElement:h(re).element,yearKongwang:o(oe.year.ganzhi)});for(const mn of["year","month","day","hour"]){const Gn=oe[mn];Gn.dishi=lt(ce,Gn.branch),Gn.zizuo=lt(Gn.stem,Gn.branch),Gn.kongwang=o(Gn.ganzhi),Gn.shensha=Fe.detail[mn].map(En=>En.name),Gn.shenshaDetail=Fe.detail[mn]}const Ke={寅:"木",卯:"木",巳:"火",午:"火",申:"金",酉:"金",亥:"水",子:"水",辰:"土",戌:"土",丑:"土",未:"土"},le=Pn[ce],we=Ke[Ce];let he,$e;le===we?(he=3,$e="旺"):c[we]===le?(he=2,$e="相"):c[le]===we?(he=1,$e="休"):D[le]===we?(he=.5,$e="囚"):(he=0,$e="死");const qe=qn(oe,le);let ze=0;const Je=[];for(const mn of["year","month","day","hour"]){const Gn=oe[mn],En=qe.factor[Gn.branch]??1;let Qn=!1;Gn.hidden.forEach((ne,Wn)=>{Pn[ne.stem]===le?(ze+=(kn[Wn]??.1)*En,Qn=!0):c[Pn[ne.stem]]===le&&(ze+=(kn[Wn]??.1)*.4*En,Qn=!0)}),Qn&&Je.push(Gn.branch)}let ge=0;const We=[],Ee=[],Ge=[];for(const mn of["year","month","hour"]){const Gn=oe[mn].stem,En=Pn[Gn];if(En===le||c[En]===le){const Qn=En===le?1:.8;zn(oe,En,qe.factor)>=Zn?ge+=Qn:(ge+=Qn*.5,Ge.push(Gn)),We.push(Gn)}else D[En]===le?(ge-=1,Ee.push(Gn)):D[le]===En?(ge-=.8,Ee.push(Gn)):(ge-=.5,Ee.push(Gn))}const Ne=Math.round((he+ze+ge)*10)/10,bt=Ne>=4?"身强":Ne>=2.5?"偏强":Ne>=1.5?"中和":Ne>=.5?"偏弱":"身弱",wt=qe.notes.length?`;合会折根:${qe.notes.join("、")}`:"",Xe=Ge.length?`;虚透${Ge.join("")}帮扶减半`:"",De={level:bt,score:Ne,detail:`月令${Ce}${we},日主${le}${$e}(${he});通根${Je.join("")||"无"}(${ze.toFixed(1)});天干帮扶${We.join("")||"无"}/耗泄${Ee.join("")||"无"}(${ge.toFixed(1)})${wt}${Xe}`,method:"月令权重 3/2/1/0.5/0 + 地支藏干通根(三会/三合/六合折根)+ 天干帮扶(虚透减半),量化后分档;属简化算法,非唯一流派",parts:{season:{branch:Ce,element:we,word:$e,weight:he},roots:Je,rootScore:Math.round(ze*10)/10,helpers:We,drainers:Ee,helpScore:Math.round(ge*10)/10,structure:qe.notes,virtualHelpers:Ge}};De.branchStructure=H(oe,ce),De.weightPct=q(oe,{hourUnknown:bn});const Ae=x({pillars:oe,dayStem:ce,monthBranch:Ce,strength:De,wuxing:ye}),jt=(mn,Gn)=>{if(!mn||!Gn)return[];if(mn===Gn)return B.includes(mn)?["自刑"]:[];const En=[];(X[mn+Gn]||X[Gn+mn])&&En.push("合"),pn(gn,mn,Gn)&&En.push("冲"),pn(f,mn,Gn)&&En.push("害"),pn(C,mn,Gn)&&En.push("破");for(const Qn of N)Qn.includes(mn)&&Qn.includes(Gn)&&En.push("刑");return En},St=["year","month","day","hour"].map(mn=>oe[mn].branch),ht=mn=>{const Gn=new Set,En=[];for(const Qn of St)for(const ne of jt(Qn,mn)){const Wn=ne+Qn;Gn.has(Wn)||(Gn.add(Wn),En.push(Wn))}return En};for(const mn of Ye)mn.relations=ht(mn.branch),mn.luck=M(mn.ganzhi,Ae);for(const mn of ke)mn.relations=ht(mn.ganzhi[1]),mn.luck=M(mn.ganzhi,Ae);const n={year:"年柱",month:"月柱",day:"日柱",hour:"时柱"},t=(mn,Gn)=>D[Pn[mn]]===Pn[Gn],a=(mn,Gn)=>typeof mn!="string"||typeof Gn!="string"||mn.length<2||Gn.length<2||!(mn[0]in Pn)||!(Gn[0]in Pn)?!1:(t(mn[0],Gn[0])||t(Gn[0],mn[0]))&&pn(gn,mn[1],Gn[1]),e=mn=>{const Gn=k(mn,{jieOnly:!0}).find(En=>En.index===2&&A(En.jd).year===mn);return Gn?Gn.jd:R({year:mn,month:2,day:4})};for(const mn of ke){const Gn=e(mn.year),En=e(mn.year+1),Qn=Le.filter(Wn=>Wn.fromJd<En&&Wn.toJd>Gn),ne=[];for(const Wn of Qn){Wn.ganzhi===mn.ganzhi?ne.push({type:"岁运并临",target:`第${Wn.step}步大运`,detail:`大运与流年同为${mn.ganzhi}`}):a(Wn.ganzhi,mn.ganzhi)&&ne.push({type:"运年反吟",target:`第${Wn.step}步大运`,detail:`大运${Wn.ganzhi}与流年${mn.ganzhi}天克地冲`});for(const ae of["year","month","day","hour"]){const pe=oe[ae].ganzhi;pe&&(Wn.ganzhi===pe?ne.push({type:"大运伏吟",target:`第${Wn.step}步大运·${n[ae]}`,detail:`大运${Wn.ganzhi}与${n[ae]}同干支`}):a(Wn.ganzhi,pe)&&ne.push({type:"大运反吟",target:`第${Wn.step}步大运·${n[ae]}`,detail:`大运${Wn.ganzhi}与${n[ae]}${pe}天克地冲`}))}}for(const Wn of["year","month","day","hour"]){const ae=oe[Wn].ganzhi;ae&&(mn.ganzhi===ae?ne.push({type:"流年伏吟",target:n[Wn],detail:`流年${mn.ganzhi}与${n[Wn]}同干支`}):a(mn.ganzhi,ae)&&ne.push({type:"流年反吟",target:n[Wn],detail:`流年${mn.ganzhi}与${n[Wn]}${ae}天克地冲`}))}mn.suiyun={dayun:Qn.map(Wn=>({step:Wn.step,ganzhi:Wn.ganzhi})),signals:ne,note:"只标干支重复与天克地冲这类变动信号,不判吉凶;大运按该年立春到次年立春的区间取,交运落在年内时前后两步并列;大运与本命四柱的伏吟/反吟整步大运都在,逐年重复列出"}}const p=A(Cn),l=P.indexOf(oe.month.stem),v=en.indexOf(oe.month.branch),_=fn(L((l+1)%10,(v+3)%12)),Z=P.indexOf(oe.day.stem),Ln=en.indexOf(oe.day.branch),On=fn(L((Z+5)%10,(1-Ln+12)%12)),jn=en.indexOf(oe.hour.branch),J=P.indexOf(oe.year.stem),Dn=((J*12+(27-v-jn)%12+2)%60+60)%60,vn=((J*12+(11+v+jn)%12+2)%60+60)%60,ie=fn(Dn),Xn=fn(vn),ue=un(en[Oe],ve,$n.jd);ue&&(ue.term={name:$n.name,time:d($n.jd)});const Yn={system:"bazi",relations:I(oe,bn?["year","month","day"]:void 0),palaces:{taiyuan:{ganzhi:_.name,note:"月干进一、月支进三"},taixi:{ganzhi:On.name,note:"日干五合、日支六合"},minggong:{ganzhi:ie.name,branch:ie.branch,note:"生月与生时支合数定宫(27 减,取模后 +2);干随六十甲子"},shengong:{ganzhi:Xn.name,branch:Xn.branch,note:"生月与生时支合数定宫(11 加,取模后 +2);干随六十甲子"}},input:{civil:{year:cn,month:on,day:b,hour:E,minute:V},gender:Hn,longitude:O??null,address:U.address||null,geo:s,lateZi:Tn,trueSolar:Rn,dst:{applied:!!Nn.applied,note:Nn.note||null}},solarTime:{civilText:`${cn}-${String(on).padStart(2,"0")}-${String(b).padStart(2,"0")} ${String(E).padStart(2,"0")}:${String(V).padStart(2,"0")}`,trueSolarText:d(Cn),offsetMinutes:An.offsetMinutes,note:Nn.applied?`${Nn.note};${An.note}`:An.note,lunarYearForPillar:ee},jieqi:{previous:{name:$n.name,time:d($n.jd)},next:{name:Un.name,time:d(Un.jd)},nearBoundaryMinutes:Math.round(Math.min(Cn-$n.jd,Un.jd-Cn)*1440)},renyuan:ue,pillars:oe,dayMaster:{stem:ce,element:Pn[ce],yinYang:Sn(ce)?"阳":"阴"},wuxing:ye,kongwang:Pe,shensha:Fe,dayun:{direction:Se?"顺行":"逆行",rule:`${Be?"阳":"阴"}年${Hn==="male"?"男":"女"}${Se?"顺排":"逆排"}`,startAge:{years:Ze,months:Ie},startAgeExact:{years:nt,months:tt,days:it,hours:gt,caliber:"截断到年月日时"},toNextJieDays:Math.round(Me*100)/100,jiao:{at:d(be),jd:Math.round(be*1e6)/1e6,scaleDaysPerDay:_e,yearDays:at,spanDays:Math.round(Me*1e4)/1e4,from:{name:Re.name,time:d(Re.jd)},frame:An.offsetMinutes?"真太阳时":"平太阳时",offsetMinutes:An.offsetMinutes,note:"三日折一年:出生到节令的真实间隔按 365.2422/3 放大后加到出生时刻;同一比例即「一日折四月、一时辰折十日」,每步大运在同月同日同时刻换"},list:Ye},strength:De,frame:Ae,climate:Ae.yongshen.climate||Ae.yongshen.tiaohou||null,liunian:ke,liunianFrom:xe};if(bn){const mn=Yn.pillars.hour;Yn.hourUnknown=!0,Yn.provisionalHour="noon",Yn.pillars.hour=null,Yn.palaces.minggong=null,Yn.palaces.shengong=null,Yn.input.civil.hour=null,Yn.input.civil.minute=null;const Gn=`${Yn.input.civil.year}-${String(Yn.input.civil.month).padStart(2,"0")}-${String(Yn.input.civil.day).padStart(2,"0")}`;if(Yn.solarTime.civilText=`${Gn}(时辰未知)`,Yn.solarTime.trueSolarText=`${Gn}(时辰未知)`,Yn.dayun.precision="day",Yn.dayun.jiao=null,Yn.dayun.note="时柱暂缺:起运与交运按日估算,仅供参考",Yn.dayun.list=Yn.dayun.list.map(En=>({...En,fromDate:En.fromDate?String(En.fromDate).slice(0,10):En.fromDate,toDate:En.toDate?String(En.toDate).slice(0,10):En.toDate})),mn){const En={...Yn.wuxing};En[mn.stemElement]-=1,mn.hidden.forEach((Qn,ne)=>{En[Qn.element]-=Mn[ne]??.1});for(const Qn of Object.keys(En))En[Qn]=Math.round(Math.max(0,En[Qn])*10)/10;Yn.wuxing=En}if(Yn.shensha&&Yn.shensha.detail&&(Yn.shensha.detail.hour=[],Array.isArray(Yn.shensha.groups))){const En=[];for(const Qn of Yn.shensha.groups){const ne=[];for(const Wn of Qn.items||[]){const ae=(Wn.pillars||[]).filter(He=>He!=="hour");if(!ae.length)continue;const pe=String(Wn.via||"").split("、").filter(He=>He&&!He.includes("时")).join("、");ne.push({...Wn,pillars:ae,via:pe})}ne.length&&En.push({...Qn,items:ne})}Yn.shensha.groups=En,Yn.shensha.count=En.reduce((Qn,ne)=>Qn+ne.items.reduce((Wn,ae)=>Wn+ae.pillars.length,0),0)}if(Yn.strength.precision="three-pillars",Yn.strength.branchStructure){const En=Yn.strength.branchStructure;En.placeholderHour=!0,En.congProb=null,En.congRange="三柱不判结构概率",En.word="时柱暂缺,第四支为正午占位,不套从格概率",En.note="时柱暂缺:第四支为占位值,只列结构形态,不据此断从格;补上出生时刻后可能改变",En.detail=`${En.detail}(时支为占位值)`}Yn.strength.weightPct&&(Yn.strength.weightPct.placeholderHour=!0,Yn.strength.weightPct.note="时柱暂缺:时柱权重不计入合计(本盘 81%),不重新归一化;补上出生时刻后再按 100% 看"),Yn.notes=["时柱暂缺:未提供出生时刻,时柱不对外给出,也不计入神煞与干支关系","旺衰、格局、用神、调候暂以正午时柱估算,补上出生时刻后可能改变"]}return Yn}return{HIDDEN_STEMS:hn,RENYUAN_TABLE:K,STEM_ELEMENT:Pn,BRANCH_ELEMENT:Kn,buildRelations:I,tenGod:F,nayin:ln,applyTrueSolar:In,renyuanOf:un,buildBazi:_n}})(),W["name-extra"]=(function(){return{EXTRA_READING:[["杰","jie",2,12],["军","jun",1,9],["强","qiang",2,12],["彬","bin",1,11],["国","guo",2,11],["春","chun",1,9],["梅","mei",2,11],["英","ying",1,11],["玉","yu",4,5],["桂","gui",4,10],["莉","li",4,13],["芊","qian",1,9],["苏","su",1,22],["苑","yuan",4,11],["苓","ling",2,11],["荔","li",4,12],["慕","mu",4,15],["懋","mao",4,17],["楦","xuan",4,13],["树","shu",4,16],["柳","liu",3,9],["杨","yang",2,13],["桦","hua",4,16],["桃","tao",2,10],["杏","xing",4,7],["朵","duo",3,6],["根","gen",1,10],["桥","qiao",2,16],["楼","lou",2,15],["榜","bang",3,14],["模","mo",2,15],["格","ge",2,10],["籍","ji",2,20],["箭","jian",4,15],["篪","chi",2,16],["箫","xiao",1,18],["笙","sheng",1,11],["程","cheng",2,12],["秦","qin",2,10],["稳","wen",3,19],["栗","li",4,14],["梨","li",2,11],["杜","du",4,7],["村","cun",1,7],["校","xiao",4,10],["标","biao",1,15],["桩","zhuang",1,15],["梵","fan",4,11],["棣","di",4,12],["椿","chun",1,13],["榉","ju",3,21],["橄","gan",3,16],["橦","tong",2,16],["芦","lu",2,22],["苍","cang",1,16],["茅","mao",2,11],["荀","xun",2,12],["艺","yi",4,21],["艾","ai",4,8],["藤","teng",2,21],["蕖","qu",2,18],["荐","jian",4,19],["茏","long",2,22],["枞","cong",1,15],["柽","cheng",1,17],["柞","zha",4,9],["柚","you",4,9],["枳","zhi",3,9],["枸","gou",3,9],["枇","pi",2,8],["杷","pa",2,8],["柃","ling",2,9],["桉","an",1,10],["栟","ben",1,10],["榔","lang",2,13],["槲","hu",2,15],["橼","yuan",2,19],["檩","lin",3,17],["檗","bo",4,17],["椴","duan",4,13],["槭","qi",4,15],["芙","fu",2,10],["蓝","lan",2,20],["芍","shao",2,9],["茹","ru",2,12],["菖","chang",1,14],["菘","song",1,14],["萝","luo",2,25],["葳","wei",1,15],["葭","jia",1,15],["蒲","pu",2,16],["蓼","liao",3,17],["蕤","rui",2,18],["藜","li",2,21],["蘅","heng",2,22],["苹","ping",2,22],["篁","huang",2,15],["篆","zhuan",4,15],["篇","pian",1,15],["笺","jian",1,14],["种","zhong",4,14],["科","ke",1,9],["季","ji",4,8],["秉","bing",3,8],["秩","zhi",4,10],["稔","ren",3,13],["稻","dao",4,15],["乔","qiao",2,12],["娇","jiao",1,15],["巧","qiao",3,5],["俏","qiao",4,9],["柱","zhu",4,9],["栖","qi",1,12],["栉","zhi",4,19],["榭","xie",4,14],["檠","qing",2,17],["櫆","kui",2,18],["櫂","zhao",4,18],["柟","nan",2,9],["枥","li",4,20],["栌","lu",2,20],["桤","qi",1,14],["梣","chen",2,11],["梃","ting",3,11],["梼","tao",2,18],["椁","guo",3,15],["椋","liang",2,12],["椤","luo",2,23],["楗","jian",4,13],["楝","lian",4,13],["楫","ji",2,13],["榀","pin",3,13],["榇","chen",4,20],["榈","lv",2,19],["榍","xie",4,14],["榧","fei",3,14],["槎","cha",2,14],["槔","gao",1,14],["槠","zhu",1,20],["樘","tang",2,15],["樨","xi",1,15],["橹","lu",3,19],["檫","cha",2,18],["秣","mo",4,10],["稞","ke",1,13],["稹","zhen",3,15],["穰","rang",2,22],["穑","se",4,18],["笏","hu",4,10],["笈","ji",2,10],["笕","jian",3,13],["笋","sun",3,12],["笳","jia",1,11],["筌","quan",2,12],["筇","qiong",2,12],["筑","zhu",4,16],["筚","bi",4,17],["筵","yan",2,13],["箐","qing",4,14],["箓","lu",4,22],["箦","ze",2,17],["箴","zhen",1,15],["篌","hou",2,15],["篙","gao",1,16],["篝","gou",1,16],["簃","yi",2,17],["簌","su",4,17],["籁","lai",4,22],["籀","zhou",4,19],["奕","yi",4,9],["可","ke",3,5],["雅","ya",3,12],["毅","yi",4,15],["健","jian",4,11],["康","kang",1,11],["彦","yan",4,9],["家","jia",1,12],["庆","qing",4,15],["高","gao",1,10],["久","jiu",3,3],["功","gong",1,5],["贵","gui",4,12],["绮","qi",3,14],["虹","hong",2,9],["皓","hao",4,12],["婧","jing",4,11],["婕","jie",2,11],["义","yi",4,13],["廉","lian",2,13],["勤","qin",2,13],["俭","jian",3,15],["谷","gu",3,15],["谨","jin",3,18],["敬","jing",4,13],["恭","gong",1,10],["宽","kuan",1,15],["棋","qi",2,12],["笔","bi",3,12],["歌","ge",1,14],["翠","cui",4,14],["雁","yan",4,12],["莺","ying",1,21],["麒","qi",2,19],["骐","qi",2,18],["仪","yi",2,15],["喆","zhe",2,12],["翊","yi",4,11],["芯","xin",1,10],["娟","juan",1,10],["凯","kai",3,12],["德","de",2,15],["志","zhi",4,14],["丽","li",4,19],["娜","na",4,10],["天","tian",1,4],["哲","zhe",2,10],["映","ying",4,9],["辉","hui",1,15],["耀","yao",4,20],["烁","shuo",4,19],["燃","ran",2,16],["燊","shen",1,16],["焰","yan",4,12],["曙","shu",3,18],["煦","xu",4,13],["赤","chi",4,7],["绯","fei",1,14],["忠","zhong",1,8],["念","nian",4,8],["情","qing",2,12],["昌","chang",1,8],["昇","sheng",1,8],["昶","chang",3,9],["晁","chao",2,10],["晞","xi",1,11],["暧","ai",4,17],["曌","zhao",4,16],["昉","fang",3,8],["昫","xu",4,9],["晅","xuan",3,10],["旸","yang",2,13],["炘","xin",1,8],["炆","wen",2,8],["炬","ju",4,9],["炳","bing",3,9],["烈","lie",4,10],["烊","yang",2,10],["焱","yan",4,12],["煌","huang",2,13],["熀","huang",3,14],["燎","liao",2,16],["燚","yi",4,16],["燧","sui",4,17],["燮","xie",4,17],["爔","xi",1,20],["恕","shu",4,10],["慈","ci",2,14],["晃","huang",3,10],["晢","zhe",2,11],["晰","xi",1,12],["暐","wei",3,13],["暘","yang",2,13],["曈","tong",2,16],["良","liang",2,7],["郎","lang",2,13],["耿","geng",3,10],["离","li",2,19],["午","wu",3,4],["炯","jiong",3,9],["焜","kun",1,12],["煐","ying",1,13],["婷","ting",2,12],["妮","ni",1,8],["媛","yuan",4,12],["隆","long",2,17],["代","dai",4,5],["之","zhi",1,4],["政","zheng",4,8],["登","deng",1,12],["达","da",2,16],["通","tong",1,14],["长","chang",2,8],["进","jin",4,15],["显","xian",3,23],["绫","ling",2,14],["章","zhang",1,11],["采","cai",3,8],["礼","li",3,18],["理","li",3,12],["中","zhong",1,4],["让","rang",4,24],["腾","teng",2,20],["鹭","lu",4,24],["麟","lin",2,23],["翎","ling",2,11],["龙","long",2,16],["绿","lv",4,14],["立","li",4,5],["力","li",4,2],["伟","wei",3,11],["勇","yong",3,9],["怡","yi",2,9],["婉","wan",3,11],["娅","ya",4,11],["威","wei",1,9],["卫","wei",4,15],["嫣","yan",1,14],["燕","yan",4,16],["艳","yan",4,24],["优","you",1,17],["允","yun",3,4],["友","you",3,4],["有","you",3,6],["央","yang",1,5],["亚","ya",4,8],["爱","ai",4,13],["壮","zhuang",4,7],["庄","zhuang",1,13],["岱","dai",4,8],["峤","jiao",4,15],["崑","kun",1,11],["崙","lun",2,11],["崴","wai",3,12],["嶂","zhang",4,14],["峦","luan",2,22],["峒","dong",4,9],["峄","yi",4,16],["峪","yu",4,10],["崤","xiao",2,11],["嶙","lin",2,15],["砺","li",4,20],["砥","di",3,10],["碇","ding",4,13],["碚","bei",4,13],["磬","qing",4,16],["圭","gui",1,6],["圻","qi",2,7],["垠","yin",2,9],["垣","yuan",2,9],["堃","kun",1,11],["境","jing",4,14],["增","zeng",1,15],["墀","chi",2,14],["墉","yong",1,14],["壎","xun",1,17],["圩","wei",2,6],["坂","ban",3,12],["坊","fang",1,7],["坞","wu",4,13],["坝","ba",4,24],["垌","dong",4,9],["垓","gai",1,9],["垭","ya",1,11],["埂","geng",3,10],["埕","cheng",2,10],["埙","xun",1,13],["堇","jin",3,11],["塬","yuan",2,13],["塾","shu",2,14],["畴","chou",2,19],["畦","qi",2,11],["畹","wan",3,13],["研","yan",2,9],["砚","yan",4,12],["磐","pan",2,15],["砂","sha",1,9],["峥","zheng",1,11],["嵘","rong",2,17],["岷","min",2,8],["峨","e",2,10],["嵋","mei",2,12],["崧","song",1,11],["岫","xiu",4,8],["屹","yi",4,6],["旺","wang",4,8],["缨","ying",1,23],["娥","e",2,10],["跃","yue",4,21],["翔","xiang",2,12],["羽","yu",3,6],["翼","yi",4,17],["黄","huang",2,12],["道","dao",4,16],["伊","yi",1,6],["越","yue",4,12],["以","yi",3,5],["予","yu",3,4],["禹","yu",3,9],["馨","xin",1,20],["诚","cheng",2,13],["铃","ling",2,13],["银","yin",2,14],["铜","tong",2,14],["铁","tie",3,21],["钊","zhao",1,10],["钿","dian",4,13],["铄","shuo",4,23],["锟","kun",1,16],["镕","rong",2,18],["镛","yong",1,19],["镒","yi",4,18],["铖","cheng",2,15],["玫","mei",2,9],["玥","yue",4,9],["珂","ke",1,10],["珉","min",2,10],["珀","po",4,10],["珮","pei",4,11],["琛","chen",1,13],["琢","zuo",2,13],["琥","hu",3,13],["琨","kun",1,13],["瑀","yu",3,14],["瑗","yuan",4,14],["瑛","ying",1,14],["瑭","tang",2,15],["璎","ying",1,22],["瓒","zan",4,24],["瑨","jin",4,15],["倩","qian",4,10],["姗","shan",1,8],["姝","shu",1,9],["娴","xian",2,15],["嫦","chang",2,14],["声","sheng",1,17],["胜","sheng",4,12],["才","cai",2,3],["千","qian",1,3],["士","shi",4,3],["小","xiao",3,3],["上","shang",4,3],["玙","yu",2,19],["玚","yang",2,14],["玠","jie",4,9],["玢","bin",1,9],["玟","wen",2,9],["玳","dai",4,10],["珈","jia",1,10],["珖","guang",1,11],["珙","gong",3,11],["珞","luo",4,11],["珺","jun",4,12],["琇","xiu",4,12],["琊","ya",2,12],["琍","li",2,12],["琎","jin",4,17],["琏","lian",3,16],["琚","ju",1,13],["琤","cheng",1,13],["琬","wan",3,13],["琮","cong",2,13],["琯","guan",3,13],["琰","yan",3,13],["琲","bei",4,13],["琴","qin",2,13],["瑁","mao",4,14],["瑆","xing",1,14],["瑢","rong",2,15],["瑱","tian",4,15],["瑷","ai",4,18],["璆","qiu",2,16],["璋","zhang",1,16],["璘","lin",2,17],["璜","huang",2,17],["璞","pu",2,17],["璠","fan",2,17],["璩","qu",2,18],["璪","zao",3,18],["璨","can",4,18],["钟","zhong",1,17],["钥","yao",4,25],["钲","zheng",1,13],["钺","yue",4,13],["铉","xuan",4,13],["铨","quan",2,14],["铸","zhu",4,22],["锌","xin",1,15],["锏","jian",3,20],["锶","si",1,17],["锷","e",4,17],["镌","juan",1,18],["镐","gao",3,18],["镜","jing",4,19],["镝","di",1,19],["镠","liu",2,19],["镡","chan",2,20],["镧","lan",2,25],["镫","deng",4,20],["镯","zhuo",2,21],["镱","yi",4,21],["镳","biao",1,23],["镶","xiang",1,25],["钏","chuan",4,11],["钗","chai",1,11],["钤","qian",2,12],["钫","fang",1,12],["铼","lai",2,16],["舜","shun",4,12],["朝","chao",2,12],["赛","sai",4,17],["仕","shi",4,5],["佐","zuo",3,7],["儒","ru",2,16],["仁","ren",2,4],["宗","zong",1,8],["守","shou",3,6],["定","ding",4,8],["宝","bao",3,20],["盛","sheng",4,11],["真","zhen",1,10],["纯","chun",2,10],["紫","zi",3,11],["缜","zhen",3,16],["识","shi",2,19],["顺","shun",4,12],["升","sheng",1,4],["寿","shou",4,14],["财","cai",2,10],["绣","xiu",4,18],["彩","cai",3,11],["婵","chan",2,15],["瑟","se",4,14],["鹊","que",4,19],["骏","jun",4,17],["骥","ji",4,27],["宙","zhou",4,8],["石","shi",2,5],["青","qing",1,8],["慎","shen",4,14],["帅","shuai",4,9],["靖","jing",4,13],["华","hua",2,14],["红","hong",2,9],["萍","ping",2,14],["斌","bin",1,11],["妍","yan",2,9],["美","mei",3,9],["妹","mei",4,8],["媚","mei",4,12],["妙","miao",4,7],["妤","yu",2,7],["凡","fan",2,3],["百","bai",3,6],["万","wan",4,15],["井","jing",3,4],["品","pin",3,9],["民","min",2,5],["求","qiu",2,6],["孚","fu",2,7],["朋","peng",2,8],["霞","xia",2,17],["霁","ji",4,22],["霄","xiao",1,15],["霭","ai",3,24],["霂","mu",4,15],["湖","hu",2,13],["沅","yuan",2,8],["沄","yun",2,16],["沣","feng",1,22],["泸","lu",2,20],["泷","long",2,20],["泠","ling",2,9],["沫","mo",4,9],["沭","shu",4,9],["泺","luo",4,19],["洪","hong",2,10],["洱","er",3,10],["涓","juan",1,11],["涔","cen",2,11],["涧","jian",4,16],["淋","lin",2,12],["淑","shu",1,12],["淞","song",1,12],["淡","dan",4,12],["淮","huai",2,12],["淳","chun",2,12],["溯","su",4,14],["溶","rong",2,14],["滢","ying",2,19],["满","man",3,15],["潇","xiao",1,20],["漪","yi",1,15],["漫","man",4,15],["漾","yang",4,15],["潭","tan",2,16],["澎","peng",2,16],["濛","meng",2,18],["瀛","ying",2,20],["泛","fan",4,9],["泱","yang",1,9],["泮","pan",4,9],["泌","mi",4,9],["泫","xuan",4,9],["洌","lie",4,10],["洮","tao",2,10],["浠","xi",1,11],["浣","huan",4,11],["浚","jun",4,11],["浔","xun",2,16],["涑","su",4,11],["涟","lian",2,15],["涣","huan",4,13],["涤","di",2,15],["淀","dian",4,17],["渌","lu",4,12],["渑","mian",3,17],["渔","yu",2,15],["温","wen",1,14],["港","gang",3,13],["渲","xuan",4,13],["游","you",2,13],["渺","miao",3,13],["湟","huang",2,13],["湫","jiao",3,13],["源","yuan",2,14],["溱","qin",2,14],["滁","chu",2,14],["滂","pang",1,14],["滇","dian",1,14],["滏","fu",3,14],["滔","tao",1,14],["滕","teng",2,14],["滦","luan",2,27],["漆","qi",1,15],["演","yan",3,15],["漠","mo",4,15],["漩","xuan",2,15],["潋","lian",4,21],["潍","wei",2,18],["潜","qian",2,16],["潞","lu",4,16],["濠","hao",2,18],["濡","ru",2,18],["濮","pu",2,18],["濯","zhuo",2,18],["灞","ba",4,25],["霙","ying",1,17],["沂","yi",2,8],["沔","mian",3,8],["泾","jing",1,11],["学","xue",2,16],["欢","huan",1,22],["喜","xi",3,12],["福","fu",2,14],["富","fu",4,12],["名","ming",2,6],["好","hao",3,6],["贝","bei",4,7],["麦","mai",4,11],["武","wu",3,8],["一","yi",1,1],["泰","tai",4,9],["兴","xing",1,15],["治","zhi",4,9],["邦","bang",1,11],["恒","heng",2,10],["发","fa",1,12],["赋","fu",4,15],["碧","bi",4,14],["雷","lei",2,13],["霜","shuang",1,17],["凤","feng",4,14],["鹏","peng",2,19],["鹤","he",4,21],["鸥","ou",1,22],["鸣","ming",2,14],["翰","han",4,16],["飞","fei",1,9],["豪","hao",2,14],["虎","hu",3,8],["兵","bing",1,7]],EXTRA_LIB:[["杰","木","才能出众","m"],["军","木","军旅坚毅","m"],["强","木","刚健有力","m"],["彬","木","文质彬彬","m"],["国","木","家国担当","n"],["春","木","春意生机","n"],["梅","木","梅花傲雪","f"],["英","木","英华出众","n"],["玉","木","温润如玉","f"],["桂","木","桂香高洁","n"],["莉","木","茉莉清雅","f"],["芊","木","草木芊绵","f"],["苏","木","复苏新生","n"],["苑","木","苑囿文雅","n"],["苓","木","茯苓甘润","f"],["荔","木","荔枝明艳","f"],["慕","木","仰慕追远","n"],["懋","木","勤勉盛大","m"],["楦","木","楦木成器","n"],["树","木","树立成材","n"],["柳","木","柳枝柔韧","f"],["杨","木","杨树挺拔","n"],["桦","木","白桦正直","n"],["桃","木","桃李芳华","f"],["杏","木","杏花明丽","f"],["朵","木","花朵轻盈","f"],["根","木","根深本固","n"],["桥","木","桥梁通达","n"],["楼","木","楼阁高远","n"],["榜","木","榜样立身","m"],["模","木","楷模可法","m"],["格","木","格调方正","n"],["籍","木","典籍文雅","n"],["箭","木","箭矢进取","m"],["篪","木","竹篪清音","n"],["箫","木","箫声悠远","n"],["笙","木","笙歌和鸣","n"],["程","木","前程有序","n"],["秦","木","秦地厚重","n"],["稳","木","稳当笃实","n"],["栗","木","栗实坚实","n"],["梨","木","梨花洁白","f"],["杜","木","杜若芬芳","n"],["村","木","村野质朴","n"],["校","木","校序文教","n"],["标","木","标格出众","m"],["桩","木","桩基稳固","m"],["梵","木","梵音清净","n"],["棣","木","棠棣和睦","n"],["椿","木","椿树长寿","m"],["榉","木","榉木坚实","n"],["橄","木","橄榄和平","n"],["橦","木","橦木挺立","n"],["芦","木","芦苇柔韧","n"],["苍","木","苍翠辽阔","n"],["茅","木","茅草质朴","n"],["荀","木","荀草芳洁","n"],["艺","木","才艺出众","n"],["艾","木","艾草温厚","f"],["藤","木","藤蔓绵延","n"],["蕖","木","芙蕖清丽","f"],["荐","木","荐举贤能","n"],["茏","木","茏葱茂盛","n"],["枞","木","枞树常青","n"],["柽","木","柽柳坚韧","n"],["柞","木","柞木坚实","n"],["柚","木","柚实丰硕","n"],["枳","木","枳壳有用","n"],["枸","木","枸木长青","n"],["枇","木","枇杷成荫","n"],["杷","木","枇杷甘美","n"],["柃","木","柃木细密","n"],["桉","木","桉树挺拔","n"],["栟","木","栟榈常绿","n"],["榔","木","榔木坚实","n"],["槲","木","槲叶宽厚","n"],["橼","木","香橼清芬","n"],["檩","木","檩条承重","n"],["檗","木","黄檗味苦","n"],["椴","木","椴木细白","n"],["槭","木","槭叶明丽","n"],["芙","木","芙蓉清艳","f"],["蓝","木","蓝草青碧","n"],["芍","木","芍药明媚","f"],["茹","木","茹含柔韧","f"],["菖","木","菖蒲清芬","n"],["菘","木","菘菜朴实","n"],["萝","木","女萝绵延","f"],["葳","木","葳蕤繁盛","f"],["葭","木","蒹葭苍苍","f"],["蒲","木","蒲草柔韧","n"],["蓼","木","蓼花淡雅","f"],["蕤","木","葳蕤华美","f"],["藜","木","藜藿质朴","n"],["蘅","木","杜蘅香草","f"],["苹","木","苹草清雅","f"],["篁","木","竹篁幽深","n"],["篆","木","篆书古雅","n"],["篇","木","篇章有序","n"],["笺","木","笺纸雅致","f"],["种","木","种德收福","n"],["科","木","科第有成","n"],["季","木","四季有序","n"],["秉","木","秉持正直","m"],["秩","木","秩序井然","n"],["稔","木","岁稔丰实","n"],["稻","木","稻谷丰登","n"],["乔","木","乔木高耸","n"],["娇","木","娇柔明丽","f"],["巧","木","巧思灵慧","f"],["俏","木","俏丽灵动","f"],["柱","木","柱石担当","m"],["栖","木","栖居安稳","n"],["栉","木","栉比有序","n"],["榭","木","亭榭雅致","n"],["檠","木","灯檠照夜","n"],["櫆","木","櫆木挺立","n"],["櫂","木","舟櫂行远","n"],["柟","木","楠木坚韧","n"],["枥","木","枥马志远","m"],["栌","木","栌木坚实","n"],["桤","木","桤木速生","n"],["梣","木","梣木细密","n"],["梃","木","梃木挺直","n"],["梼","木","梼木坚韧","n"],["椁","木","椁木厚重","n"],["椋","木","椋鸟群飞","n"],["椤","木","椤木常绿","n"],["楗","木","楗木固本","n"],["楝","木","楝花清苦","n"],["楫","木","舟楫济渡","n"],["榀","木","榀木成架","n"],["榇","木","榇木质朴","n"],["榈","木","棕榈常青","n"],["榍","木","榍木细坚","n"],["榧","木","榧木香实","n"],["槎","木","星槎远行","n"],["槔","木","桔槔提水","n"],["槠","木","槠木结实","n"],["樘","木","樘木成室","n"],["樨","木","木樨清香","f"],["橹","木","橹楫行舟","n"],["檫","木","檫木初生","n"],["秣","木","秣马厉兵","n"],["稞","木","青稞丰实","n"],["稹","木","稹密周到","n"],["穰","木","丰穰满仓","n"],["穑","木","稼穑勤劳","n"],["笏","木","笏板端持","n"],["笈","木","书笈负行","n"],["笕","木","竹笕引泉","n"],["笋","木","春笋新生","n"],["笳","木","胡笳悠远","n"],["筌","木","筌蹄得意","n"],["筇","木","筇竹清瘦","n"],["筑","木","筑室成业","n"],["筚","木","筚路蓝缕","n"],["筵","木","筵席和乐","n"],["箐","木","竹箐深青","n"],["箓","木","符箓玄远","n"],["箦","木","箦床安寝","n"],["箴","木","箴言规正","n"],["篌","木","箜篌清音","n"],["篙","木","竹篙撑舟","n"],["篝","木","篝火夜明","n"],["簃","木","楼簃清幽","n"],["簌","木","簌簌轻响","n"],["籁","木","天籁清远","n"],["籀","木","籀文古拙","n"],["奕","木","神采奕奕","n"],["可","木","可心如意","n"],["雅","木","雅正清和","f"],["毅","木","刚毅果决","m"],["健","木","健朗有力","m"],["康","木","康宁和乐","m"],["彦","木","俊彦有才","m"],["家","木","家和人兴","n"],["庆","木","庆云呈祥","m"],["高","木","高远志洁","m"],["久","木","久远恒长","n"],["功","木","功成不居","m"],["贵","木","贵而不骄","m"],["绮","木","绮丽华美","f"],["虹","木","虹霓明丽","f"],["皓","木","皓月当空","n"],["婧","木","婧秀美好","f"],["婕","木","婕妤温婉","f"],["义","木","义正担当","m"],["廉","木","廉正自守","m"],["勤","木","勤勉不懈","m"],["俭","木","俭以养德","m"],["谷","木","谷虚能容","n"],["谨","木","谨言慎行","n"],["敬","木","敬慎有礼","n"],["恭","木","恭谨温良","n"],["宽","木","宽厚容人","n"],["棋","木","棋局从容","n"],["笔","木","笔耕不辍","n"],["歌","木","歌韵悠扬","f"],["翠","木","翠色欲滴","f"],["雁","木","雁行有序","f"],["莺","木","莺啼春晓","f"],["麒","木","麒麟祥瑞","m"],["骐","木","骐骥千里","m"],["仪","木","仪范端庄","n"],["喆","木","喆睿明达","m"],["翊","木","翊赞高飞","n"],["芯","木","芯香清婉","f"],["娟","木","娟秀清丽","f"],["凯","木","凯旋豪迈","m"],["德","火","德行厚正","m"],["志","火","志向高远","m"],["丽","火","明丽秀美","f"],["娜","火","婀娜多姿","f"],["天","火","天宇开阔","n"],["哲","火","明哲通达","m"],["映","火","映照生辉","n"],["辉","火","光辉焕发","n"],["耀","火","光耀门庭","m"],["烁","火","烁亮明盛","n"],["燃","火","燃志进取","m"],["燊","火","炽盛兴旺","m"],["焰","火","光焰明朗","n"],["曙","火","曙色初开","n"],["煦","火","和煦温暖","n"],["赤","火","赤诚热烈","m"],["绯","火","绯红明艳","f"],["忠","火","忠厚守信","m"],["念","火","念兹在兹","n"],["情","火","情意温厚","f"],["昌","火","昌盛兴隆","n"],["昇","火","旭日上升","n"],["昶","火","日长天朗","n"],["晁","火","晨光初照","n"],["晞","火","晨露待晞","n"],["暧","火","暧然温煦","n"],["曌","火","日月当空","n"],["昉","火","天方亮","n"],["昫","火","日光温煦","n"],["晅","火","日光明朗","n"],["旸","火","日出晴明","n"],["炘","火","火热明亮","n"],["炆","火","温火细烹","n"],["炬","火","火炬照路","m"],["炳","火","炳然显著","n"],["烈","火","刚烈有节","m"],["烊","火","熔金流彩","n"],["焱","火","火花飞腾","m"],["煌","火","辉煌明亮","n"],["熀","火","火光闪耀","n"],["燎","火","燎原之势","m"],["燚","火","火势炽盛","m"],["燧","火","取火启明","n"],["燮","火","调和燮理","n"],["爔","火","晨光熹微","n"],["恕","火","恕道宽厚","n"],["慈","火","慈爱温厚","f"],["晃","火","明光晃朗","n"],["晢","火","明亮昭著","n"],["晰","火","清晰明辨","n"],["暐","火","日盛光明","n"],["暘","火","日出晴明","n"],["曈","火","曚昽初明","n"],["良","火","良善温厚","n"],["郎","火","俊朗少年","m"],["耿","火","耿直光明","m"],["离","火","离火明丽","n"],["午","火","午日正中","n"],["炯","火","目光炯炯","n"],["焜","火","明亮光辉","n"],["煐","火","光彩焕发","f"],["婷","火","婷婷玉立","f"],["妮","火","妮子亲切","f"],["媛","火","媛德温婉","f"],["隆","火","隆盛高显","m"],["代","火","代有传承","n"],["之","火","行之有恒","n"],["政","火","政通人和","m"],["登","火","登高望远","m"],["达","火","通达明理","m"],["通","火","通明畅达","n"],["长","火","长乐未央","n"],["进","火","进取不息","m"],["显","火","显扬光达","m"],["绫","火","绫罗轻柔","f"],["章","火","文章华彩","n"],["采","火","采采流水","n"],["礼","火","礼敬和正","m"],["理","火","理明通达","m"],["中","火","中正平和","n"],["让","火","谦让有度","n"],["腾","火","腾达向上","m"],["鹭","火","鹭立清波","f"],["麟","火","麟趾呈祥","m"],["翎","火","翎羽华美","f"],["龙","火","龙腾四海","m"],["绿","火","绿意盎然","f"],["立","火","立身有成","n"],["力","火","力行致远","m"],["伟","土","伟岸担当","m"],["勇","土","勇敢果决","m"],["怡","土","怡然和悦","f"],["婉","土","婉约温润","f"],["娅","土","娅然清秀","f"],["威","土","威严有度","m"],["卫","土","护卫担当","m"],["嫣","土","嫣然明丽","f"],["燕","土","燕子轻盈","f"],["艳","土","明艳照人","f"],["优","土","优游从容","n"],["允","土","允执厥中","n"],["友","土","友睦和善","n"],["有","土","有守有为","n"],["央","土","中央端正","n"],["亚","土","亚次有序","n"],["爱","土","仁爱温厚","f"],["壮","土","壮健有力","m"],["庄","土","庄重端方","n"],["岱","土","岱岳崇高","m"],["峤","土","山峤高峻","m"],["崑","土","崑仑高远","m"],["崙","土","崑仑苍茫","n"],["崴","土","山崴峻拔","n"],["嶂","土","层嶂叠翠","n"],["峦","土","山峦绵延","n"],["峒","土","山峒清幽","n"],["峄","土","峄山孤秀","n"],["峪","土","山谷幽深","n"],["崤","土","崤函险要","n"],["嶙","土","嶙峋有骨","n"],["砺","土","砥砺前行","m"],["砥","土","砥柱中流","m"],["碇","土","碇泊安稳","n"],["碚","土","碚石坚稳","n"],["磬","土","磬音清越","n"],["圭","土","圭璧端洁","n"],["圻","土","疆圻辽阔","n"],["垠","土","垠际无涯","n"],["垣","土","垣墙守护","n"],["堃","土","厚德载物","m"],["境","土","境界高远","n"],["增","土","增益进取","n"],["墀","土","丹墀明亮","n"],["墉","土","墉垣坚固","n"],["壎","土","埙乐和鸣","n"],["圩","土","圩堤护田","n"],["坂","土","坡坂上行","n"],["坊","土","街坊和乐","n"],["坞","土","山坞清幽","n"],["坝","土","堤坝稳固","n"],["垌","土","田垌开阔","n"],["垓","土","垓下辽阔","n"],["垭","土","山垭通达","n"],["埂","土","田埂有序","n"],["埕","土","埕地和畅","n"],["埙","土","埙音古朴","n"],["堇","土","堇菜清雅","f"],["塬","土","塬上高平","n"],["塾","土","塾学育人","n"],["畴","土","田畴丰茂","n"],["畦","土","畦田整齐","n"],["畹","土","畹亩兰芳","f"],["研","土","研精致思","n"],["砚","土","砚田笔耕","n"],["磐","土","磐石坚定","n"],["砂","土","砂砾成珠","n"],["峥","土","峥嵘岁月","m"],["嵘","土","峥嵘高峻","m"],["岷","土","岷山高远","n"],["峨","土","峨眉秀拔","n"],["嵋","土","峨嵋秀丽","n"],["崧","土","崧岳崇高","m"],["岫","土","云岫出山","n"],["屹","土","屹然挺立","m"],["旺","土","旺达兴隆","m"],["缨","土","缨络华美","f"],["娥","土","娥眉秀美","f"],["跃","土","跃马扬鞭","m"],["翔","土","翔集高远","m"],["羽","土","羽翼丰满","n"],["翼","土","翼展云天","n"],["黄","土","黄中通理","n"],["道","土","道法自然","m"],["伊","土","伊人清婉","f"],["越","土","越超卓然","n"],["以","土","以诚立身","n"],["予","土","予怀温厚","n"],["禹","土","禹功远志","m"],["馨","金","德馨远闻","f"],["诚","金","诚正守信","n"],["铃","金","铃音清越","f"],["银","金","银白光洁","n"],["铜","金","铜质坚厚","n"],["铁","金","铁骨铮铮","m"],["钊","金","钊勉进取","m"],["钿","金","钿饰明丽","f"],["铄","金","铄金流彩","n"],["锟","金","锟铻利剑","m"],["镕","金","镕铸成器","n"],["镛","金","大钟和鸣","n"],["镒","金","镒金厚重","n"],["铖","金","铖金坚利","m"],["玫","金","玫瑰芬芳","f"],["玥","金","神珠温润","f"],["珂","金","珂玉洁白","f"],["珉","金","珉石似玉","n"],["珀","金","琥珀温润","n"],["珮","金","玉佩叮咚","f"],["琛","金","琛宝珍贵","n"],["琢","金","琢磨成器","n"],["琥","金","琥珀生辉","n"],["琨","金","琨玉坚美","m"],["瑀","金","瑀玉温润","f"],["瑗","金","瑗玉大孔","f"],["瑛","金","瑛华晶莹","f"],["瑭","金","瑭玉温润","n"],["璎","金","璎珞华美","f"],["瓒","金","瓒圭礼器","n"],["瑨","金","瑨玉坚美","n"],["倩","金","倩丽美好","f"],["姗","金","姗姗从容","f"],["姝","金","姝丽端庄","f"],["娴","金","娴静文雅","f"],["嫦","金","嫦娥明丽","f"],["声","金","声名清远","n"],["胜","金","胜志有为","m"],["才","金","才思敏捷","n"],["千","金","千山辽阔","n"],["士","金","士志弘毅","m"],["小","金","小巧玲珑","f"],["上","金","上进不息","n"],["玙","金","玙璠美玉","n"],["玚","金","玚圭礼玉","n"],["玠","金","玠圭瑞玉","n"],["玢","金","玢玉纹理","n"],["玟","金","玟玉温润","f"],["玳","金","玳瑁华美","n"],["珈","金","珈饰华美","f"],["珖","金","珖玉温润","n"],["珙","金","珙璧大玉","n"],["珞","金","珞珞坚石","f"],["珺","金","珺玉温润","f"],["琇","金","琇玉洁白","f"],["琊","金","琅琊秀色","n"],["琍","金","琍玉玲珑","f"],["琎","金","琎玉似石","n"],["琏","金","琏瑚礼器","n"],["琚","金","琚玉佩玉","f"],["琤","金","琤琮玉声","n"],["琬","金","琬圭温润","f"],["琮","金","琮璧礼天","n"],["琯","金","琯玉古雅","n"],["琰","金","琰圭上尖","f"],["琲","金","琲珠成串","f"],["琴","金","琴音和雅","f"],["瑁","金","瑁圭礼器","n"],["瑆","金","瑆玉光洁","f"],["瑢","金","瑢玉温润","f"],["瑱","金","瑱玉充耳","f"],["瑷","金","瑷玉美善","f"],["璆","金","璆琳美玉","n"],["璋","金","璋圭瑞器","m"],["璘","金","璘彬有文","n"],["璜","金","璜璧礼器","n"],["璞","金","璞玉浑金","n"],["璠","金","璠玙美玉","n"],["璩","金","璩玉环佩","n"],["璪","金","璪玉华饰","n"],["璨","金","璨然明丽","n"],["钟","金","钟声远扬","n"],["钥","金","钥启门庭","n"],["钲","金","钲鼓清亮","n"],["钺","金","钺斧威仪","m"],["铉","金","铉鼎之重","n"],["铨","金","铨衡公正","n"],["铸","金","铸造成器","n"],["锌","金","锌白坚润","n"],["锏","金","锏锏刚直","m"],["锶","金","锶光清亮","n"],["锷","金","锷锋锐利","m"],["镌","金","镌刻铭心","n"],["镐","金","镐京古都","n"],["镜","金","镜明如水","n"],["镝","金","镝锋鸣响","n"],["镠","金","镠金精纯","n"],["镡","金","镡剑厚重","n"],["镧","金","镧光清润","n"],["镫","金","镫鞍稳当","n"],["镯","金","镯环明丽","f"],["镱","金","镱光清亮","n"],["镳","金","镳马疾驰","n"],["镶","金","镶饰华美","f"],["钏","金","钏镯清脆","f"],["钗","金","钗头明丽","f"],["钤","金","钤印守信","n"],["钫","金","钫钟清鸣","n"],["铼","金","铼金坚亮","n"],["舜","金","舜日尧天","m"],["朝","金","朝阳向上","n"],["赛","金","赛过进取","n"],["仕","金","仕途有为","m"],["佐","金","佐理有成","m"],["儒","金","儒雅博学","m"],["仁","金","仁厚爱人","m"],["宗","金","宗本承先","n"],["守","金","守正不移","n"],["定","金","安定有定","n"],["宝","金","珍宝可贵","n"],["盛","金","兴盛丰盛","n"],["真","金","真诚不伪","f"],["纯","金","纯良清正","f"],["紫","金","紫气东来","f"],["缜","金","缜密周全","n"],["识","金","见识明达","n"],["顺","金","顺遂和达","m"],["升","金","升腾向上","m"],["寿","金","寿康安泰","m"],["财","金","财源广进","m"],["绣","金","锦绣前程","f"],["彩","金","彩云呈祥","f"],["婵","金","婵娟明丽","f"],["瑟","金","琴瑟和鸣","f"],["鹊","金","鹊报佳音","f"],["骏","金","骏马奔腾","m"],["骥","金","骥足千里","m"],["宙","金","宇宙辽阔","n"],["石","金","石坚志定","m"],["青","金","青出于蓝","n"],["慎","金","慎思笃行","n"],["帅","金","帅毅英朗","m"],["靖","金","靖安和正","n"],["华","水","华彩光华","n"],["红","水","红润明丽","f"],["萍","水","浮萍清圆","f"],["斌","水","文质彬彬","m"],["妍","水","妍丽美好","f"],["美","水","美善温润","f"],["妹","水","妹好亲切","f"],["媚","水","妩媚明丽","f"],["妙","水","妙思灵秀","f"],["妤","水","婕妤温婉","f"],["凡","水","凡而不庸","n"],["百","水","百川归海","n"],["万","水","万流归海","n"],["井","水","井泉清冽","n"],["品","水","品正清雅","n"],["民","水","民厚安和","n"],["求","水","求索不止","n"],["孚","水","孚信立身","n"],["朋","水","朋交和乐","n"],["霞","水","霞光满天","f"],["霁","水","雨霁天晴","n"],["霄","水","云霄高远","n"],["霭","水","云霭温和","n"],["霂","水","霂雨润物","n"],["湖","水","湖光浩渺","n"],["沅","水","沅水清长","n"],["沄","水","沄水流转","n"],["沣","水","沣水丰沛","n"],["泸","水","泸水清深","n"],["泷","水","泷水奔流","n"],["泠","水","泠泠清响","f"],["沫","水","沫花轻盈","f"],["沭","水","沭水润泽","n"],["泺","水","泺水清源","n"],["洪","水","洪流浩大","m"],["洱","水","洱海清碧","n"],["涓","水","涓流不息","f"],["涔","水","涔涔细雨","n"],["涧","水","山涧清幽","n"],["淋","水","淋漓畅快","n"],["淑","水","淑善温良","f"],["淞","水","淞江雾凇","n"],["淡","水","淡泊明志","n"],["淮","水","淮水长流","n"],["淳","水","淳厚质朴","n"],["溯","水","溯本求源","n"],["溶","水","溶溶月色","n"],["滢","水","滢澈清亮","f"],["满","水","满而不溢","n"],["潇","水","潇洒清逸","n"],["漪","水","涟漪轻漾","f"],["漫","水","漫远从容","n"],["漾","水","水漾清波","f"],["潭","水","潭水深沉","n"],["澎","水","澎湃有力","n"],["濛","水","濛濛细雨","n"],["瀛","水","瀛洲浩渺","n"],["泛","水","泛舟江湖","n"],["泱","水","泱泱大度","n"],["泮","水","泮宫文教","n"],["泌","水","泌泉清甘","n"],["泫","水","泫然清露","f"],["洌","水","清洌甘甜","n"],["洮","水","洮水长流","n"],["浠","水","浠水清涟","n"],["浣","水","浣纱清丽","f"],["浚","水","浚深通远","m"],["浔","水","浔阳江头","n"],["涑","水","涑水清流","n"],["涟","水","涟漪轻柔","f"],["涣","水","涣然冰释","n"],["涤","水","涤故更新","n"],["淀","水","淀水澄明","n"],["渌","水","渌水清波","n"],["渑","水","渑水长流","n"],["渔","水","渔歌晚唱","n"],["温","水","温润和厚","f"],["港","水","港湾安泊","n"],["渲","水","渲染成画","n"],["游","水","游刃有余","n"],["渺","水","渺远辽阔","n"],["湟","水","湟水浩荡","n"],["湫","水","湫水清深","n"],["源","水","源远流长","n"],["溱","水","溱水丰沛","n"],["滁","水","滁水清幽","n"],["滂","水","滂沱丰沛","n"],["滇","水","滇池浩渺","n"],["滏","水","滏水清流","n"],["滔","水","滔滔不绝","m"],["滕","水","滕水腾涌","n"],["滦","水","滦水长流","n"],["漆","水","漆园吏隐","n"],["演","水","演迤绵长","n"],["漠","水","漠野辽阔","n"],["漩","水","漩涡流转","n"],["潋","水","潋滟波光","f"],["潍","水","潍水长流","n"],["潜","水","潜心笃志","n"],["潞","水","潞水安流","n"],["濠","水","濠梁观鱼","n"],["濡","水","濡润涵养","n"],["濮","水","濮水清远","n"],["濯","水","濯缨清流","n"],["灞","水","灞桥烟柳","n"],["霙","水","霙雪花明","f"],["沂","水","沂水春风","n"],["沔","水","沔水悠悠","n"],["泾","水","泾渭分明","n"],["学","水","学而不厌","n"],["欢","水","欢欣和乐","n"],["喜","水","喜乐安宁","n"],["福","水","福泽绵长","n"],["富","水","富足丰盈","n"],["名","水","名实相符","n"],["好","水","好善和乐","f"],["贝","水","贝珠珍美","f"],["麦","水","麦浪丰登","n"],["武","水","武毅有威","m"],["一","水","一心一意","n"],["泰","水","泰然安和","m"],["兴","水","兴旺进取","m"],["治","水","治世有方","m"],["邦","水","邦国安定","m"],["恒","水","恒久有常","m"],["发","水","发荣滋长","n"],["赋","水","赋性聪敏","n"],["碧","水","碧玉清莹","f"],["雷","水","雷厉风行","m"],["霜","水","霜华清冷","f"],["凤","水","凤鸣朝阳","f"],["鹏","水","鹏程万里","m"],["鹤","水","鹤立清远","m"],["鸥","水","鸥鹭忘机","n"],["鸣","水","鸣珂锵玉","m"],["翰","水","翰墨书香","m"],["飞","水","飞鸿远志","m"],["豪","水","豪迈开阔","m"],["虎","水","虎步生风","m"],["兵","水","兵毅果敢","m"]]}})(),W["surname-data"]=(function(){return{SURNAME_ROWS:[["乙",1,"yi",3],["卜",2,"bu",3],["刀",2,"dao",1],["刁",2,"diao",1],["丁",2,"ding",1],["九",2,"jiu",3],["力",2,"li",4],["乜",2,"nie",4],["人",2,"ren",2],["寸",3,"cun",4],["大",3,"",0],["干",3,"gan",1],["弓",3,"gong",1],["己",3,"ji",3],["么",3,"yao",1],["千",3,"qian",1],["山",3,"shan",1],["上",3,"shang",4],["士",3,"shi",4],["夕",3,"xi",1],["于",3,"yu",2],["子",3,"zi",2],["巴",4,"ba",1],["卞",4,"bian",4],["不",4,"",0],["才",4,"cai",2],["仇",4,"qiu",2],["丹",4,"dan",1],["方",4,"fang",1],["夫",4,"",0],["父",4,"fu",4],["戈",4,"ge",1],["公",4,"gong",1],["勾",4,"gou",1],["户",4,"hu",4],["化",4,"",0],["及",4,"ji",2],["介",4,"jie",4],["井",4,"jing",3],["亢",4,"kang",4],["孔",4,"kong",3],["六",4,"lu",4],["毛",4,"mao",2],["木",4,"mu",4],["牛",4,"niu",2],["亓",4,"qi",2],["仁",4,"ren",2],["壬",4,"ren",2],["仍",4,"reng",2],["少",4,"",0],["殳",4,"shu",1],["水",4,"shui",3],["太",4,"tai",4],["天",4,"tian",1],["王",4,"wang",2],["文",4,"wen",2],["毋",4,"wu",2],["五",4,"wu",3],["尹",4,"yin",3],["尤",4,"you",2],["友",4,"you",3],["元",4,"yuan",2],["允",4,"yun",3],["仉",4,"zhang",3],["之",4,"zhi",1],["支",4,"zhi",1],["止",4,"zhi",3],["中",4,"",0],["白",5,"bai",2],["包",5,"bao",1],["北",5,"",0],["本",5,"ben",3],["丙",5,"bing",3],["布",5,"bu",4],["出",5,"chu",1],["代",5,"dai",4],["付",5,"fu",4],["甘",5,"gan",1],["功",5,"gong",1],["古",5,"gu",3],["禾",5,"he",2],["弘",5,"hong",2],["甲",5,"jia",3],["巨",5,"ju",4],["句",5,"gou",1],["可",5,"",0],["令",5,"ling",4],["卯",5,"mao",3],["母",5,"mu",3],["皮",5,"pi",2],["平",5,"ping",2],["巧",5,"qiao",3],["丘",5,"qiu",1],["冉",5,"ran",3],["申",5,"shen",1],["生",5,"sheng",1],["石",5,"shi",2],["史",5,"shi",3],["世",5,"shi",4],["市",5,"shi",4],["示",5,"shi",4],["司",5,"si",1],["台",5,"tai",2],["田",5,"tian",2],["仝",5,"tong",2],["戊",5,"wu",4],["仙",5,"xian",1],["玄",5,"xuan",2],["以",5,"yi",3],["永",5,"yong",3],["用",5,"yong",4],["由",5,"you",2],["玉",5,"yu",4],["占",5,"",0],["召",5,"shao",4],["正",5,"zheng",4],["左",5,"zuo",3],["安",6,"an",1],["百",6,"bai",3],["充",6,"chong",1],["次",6,"ci",4],["多",6,"duo",1],["伏",6,"fu",2],["光",6,"guang",1],["圭",6,"gui",1],["亥",6,"hai",4],["合",6,"",0],["后",6,"hou",4],["回",6,"hui",2],["吉",6,"ji",2],["考",6,"kao",3],["匡",6,"kuang",1],["老",6,"lao",3],["米",6,"mi",3],["牟",6,"mou",2],["年",6,"nian",2],["朴",6,"piao",2],["求",6,"qiu",2],["曲",6,"qu",1],["全",6,"quan",2],["任",6,"ren",2],["戎",6,"rong",2],["舌",6,"she",2],["守",6,"shou",3],["夙",6,"su",4],["同",6,"",0],["危",6,"wei",1],["仵",6,"wu",3],["伍",6,"wu",3],["西",6,"xi",1],["向",6,"xiang",4],["刑",6,"xing",2],["行",6,"xing",2],["休",6,"",0],["羊",6,"yang",2],["仰",6,"yang",3],["伊",6,"yi",1],["衣",6,"yi",1],["夷",6,"yi",2],["印",6,"yin",4],["有",6,"you",3],["宇",6,"yu",3],["羽",6,"yu",3],["在",6,"zai",4],["兆",6,"zhao",4],["仲",6,"zhong",4],["朱",6,"zhu",1],["竹",6,"zhu",2],["字",6,"zi",4],["贝",7,"bei",4],["孛",7,"bei",4],["别",7,"bie",2],["伯",7,"bo",2],["步",7,"bu",4],["岑",7,"cen",2],["车",7,"che",1],["成",7,"cheng",2],["池",7,"chi",2],["赤",7,"chi",4],["初",7,"chu",1],["但",7,"dan",4],["豆",7,"dou",4],["杜",7,"du",4],["佛",7,"",0],["甫",7,"fu",3],["改",7,"gai",3],["告",7,"gao",4],["谷",7,"gu",3],["汗",7,"",0],["何",7,"he",2],["宏",7,"hong",2],["夹",7,"jia",1],["江",7,"jiang",1],["局",7,"ju",2],["牢",7,"lao",2],["冷",7,"leng",3],["李",7,"li",3],["里",7,"li",3],["利",7,"li",4],["良",7,"liang",2],["吕",7,"lv",3],["杞",7,"qi",3],["汝",7,"ru",3],["佘",7,"she",2],["束",7,"shu",4],["似",7,"",0],["宋",7,"song",4],["佟",7,"tong",2],["彤",7,"tong",2],["完",7,"wan",2],["尾",7,"",0],["位",7,"wei",4],["巫",7,"wu",1],["吴",7,"wu",2],["吾",7,"",0],["希",7,"xi",1],["系",7,"",0],["孝",7,"xiao",4],["辛",7,"xin",1],["延",7,"yan",2],["言",7,"yan",2],["冶",7,"ye",3],["余",7,"yu",2],["艾",8,"ai",4],["昂",8,"ang",2],["板",8,"ban",3],["卑",8,"bei",1],["帛",8,"bo",2],["昌",8,"chang",1],["抄",8,"chao",1],["承",8,"cheng",2],["狄",8,"di",2],["典",8,"dian",3],["定",8,"ding",4],["东",8,"dong",1],["房",8,"fang",2],["奉",8,"feng",4],["扶",8,"fu",2],["府",8,"fu",3],["庚",8,"geng",1],["官",8,"guan",1],["果",8,"guo",3],["函",8,"han",2],["杭",8,"hang",2],["和",8,"he",2],["呼",8,"hu",1],["虎",8,"hu",3],["汲",8,"ji",2],["季",8,"ji",4],["佼",8,"jiao",3],["金",8,"jin",1],["京",8,"jing",1],["咎",8,"jiu",4],["居",8,"ju",1],["卷",8,"",0],["抗",8,"kang",4],["空",8,"kong",1],["狂",8,"kuang",2],["来",8,"lai",2],["林",8,"lin",2],["枚",8,"mei",2],["门",8,"men",2],["孟",8,"meng",4],["宓",8,"mi",4],["明",8,"ming",2],["沐",8,"mu",4],["牧",8,"mu",4],["佴",8,"nai",4],["奈",8,"nai",4],["念",8,"nian",4],["朋",8,"peng",2],["祁",8,"qi",2],["其",8,"",0],["奇",8,"",0],["歧",8,"qi",2],["青",8,"qing",1],["屈",8,"qu",1],["沙",8,"sha",1],["尚",8,"shang",4],["沈",8,"shen",3],["始",8,"shi",3],["侍",8,"shi",4],["受",8,"shou",4],["叔",8,"shu",1],["姒",8,"si",4],["所",8,"suo",3],["帖",8,"",0],["宛",8,"",0],["汪",8,"wang",1],["委",8,"",0],["沃",8,"wo",4],["武",8,"wu",3],["昔",8,"xi",1],["析",8,"xi",1],["冼",8,"xian",3],["忻",8,"xin",1],["姓",8,"xing",4],["幸",8,"xing",4],["依",8,"yi",1],["宜",8,"yi",2],["易",8,"yi",4],["於",8,"yu",1],["岳",8,"yue",4],["长",8,"zhang",3],["折",8,"she",2],["政",8,"zheng",4],["枝",8,"",0],["周",8,"zhou",1],["竺",8,"zhu",2],["卓",8,"zhuo",2],["宗",8,"zong",1],["哀",9,"ai",1],["柏",9,"bai",3],["拜",9,"bai",4],["保",9,"bao",3],["表",9,"biao",3],["波",9,"bo",1],["查",9,"zha",1],["柴",9,"chai",2],["春",9,"chun",1],["度",9,"",0],["段",9,"duan",4],["法",9,"fa",3],["飞",9,"fei",1],["风",9,"",0],["封",9,"feng",1],["革",9,"",0],["冠",9,"",0],["哈",9,"ha",3],["罕",9,"han",3],["红",9,"hong",2],["侯",9,"hou",2],["厚",9,"hou",4],["後",9,"hou",4],["狐",9,"hu",2],["宦",9,"huan",4],["皇",9,"huang",2],["计",9,"ji",4],["纪",9,"ji",3],["建",9,"jian",4],["姜",9,"jiang",1],["军",9,"jun",1],["柯",9,"ke",1],["况",9,"kuang",4],["柳",9,"liu",3],["律",9,"lv",4],["芒",9,"mang",2],["冒",9,"",0],["弭",9,"mi",3],["南",9,"nan",2],["泥",9,"",0],["祈",9,"qi",2],["俟",9,"qi",2],["泣",9,"qi",4],["前",9,"qian",2],["秋",9,"qiu",1],["泉",9,"quan",2],["却",9,"que",4],["柔",9,"rou",2],["厍",9,"she",4],["施",9,"shi",1],["是",9,"shi",4],["首",9,"shou",3],["帅",9,"shuai",4],["拓",9,"tuo",4],["泰",9,"tai",4],["威",9,"wei",1],["韦",9,"wei",2],["相",9,"xiang",4],["香",9,"xiang",1],["肖",9,"xiao",1],["信",9,"",0],["星",9,"xing",1],["性",9,"xing",4],["宣",9,"xuan",1],["姚",9,"yao",2],["要",9,"yao",1],["奕",9,"yi",4],["羿",9,"yi",4],["盈",9,"ying",2],["勇",9,"yong",3],["俞",9,"yu",2],["禹",9,"yu",3],["昝",9,"zan",3],["招",9,"zhao",1],["俎",9,"zu",3],["晁",10,"chao",2],["城",10,"cheng",2],["乘",10,"",0],["肥",10,"fei",2],["刚",10,"gang",1],["皋",10,"",0],["高",10,"gao",1],["耿",10,"geng",3],["宫",10,"gong",1],["恭",10,"gong",1],["拱",10,"gong",3],["贡",10,"gong",4],["桂",10,"gui",4],["邗",10,"han",2],["盍",10,"he",2],["洪",10,"hong",2],["候",10,"hou",4],["花",10,"hua",1],["桓",10,"huan",2],["姬",10,"ji",1],["家",10,"jia",1],["晋",10,"jin",4],["酒",10,"jiu",3],["库",10,"ku",4],["栗",10,"li",4],["凌",10,"ling",2],["留",10,"liu",2],["旅",10,"lv",3],["伦",10,"lun",2],["洛",10,"luo",4],["马",10,"ma",3],["秘",10,"",0],["纳",10,"na",4],["倪",10,"ni",2],["旁",10,"",0],["秦",10,"qin",2],["邛",10,"qiong",2],["容",10,"rong",2],["芮",10,"rui",4],["桑",10,"sang",1],["闪",10,"shan",3],["师",10,"shi",1],["时",10,"shi",2],["书",10,"shu",1],["素",10,"su",4],["孙",10,"sun",1],["索",10,"suo",3],["唐",10,"tang",2],["桐",10,"tong",2],["徒",10,"tu",2],["翁",10,"weng",1],["乌",10,"wu",1],["奚",10,"xi",1],["席",10,"xi",2],["夏",10,"xia",4],["校",10,"",0],["修",10,"xiu",1],["徐",10,"xu",2],["轩",10,"xuan",1],["晏",10,"yan",4],["洋",10,"yang",2],["益",10,"yi",4],["殷",10,"yin",1],["员",10,"yun",4],["原",10,"yuan",2],["袁",10,"yuan",2],["宰",10,"zai",3],["展",10,"zhan",3],["钊",10,"zhao",1],["针",10,"zhen",1],["真",10,"zhen",1],["衷",10,"zhong",1],["祝",10,"zhu",4],["祖",10,"zu",3],["敖",11,"ao",2],["班",11,"ban",1],["毕",11,"bi",4],["闭",11,"bi",4],["曹",11,"cao",2],["常",11,"chang",2],["巢",11,"chao",2],["崇",11,"chong",2],["啜",11,"chuai",4],["从",11,"cong",2],["崔",11,"cui",1],["笪",11,"da",2],["第",11,"di",4],["浮",11,"fu",2],["符",11,"fu",2],["盖",11,"ge",3],["苟",11,"gou",3],["贯",11,"guan",4],["国",11,"guo",2],["海",11,"hai",3],["胡",11,"hu",2],["斛",11,"hu",2],["扈",11,"hu",4],["祭",11,"ji",4],["坚",11,"jian",1],["将",11,"",0],["康",11,"kang",1],["寇",11,"kou",4],["苦",11,"ku",3],["犁",11,"li",2],["梁",11,"liang",2],["聊",11,"liao",2],["娄",11,"lou",2],["鹿",11,"lu",4],["麻",11,"ma",2],["麦",11,"mai",4],["茅",11,"mao",2],["茆",11,"mao",2],["茂",11,"mao",4],["梅",11,"mei",2],["苗",11,"miao",2],["敏",11,"min",3],["那",11,"na",1],["偶",11,"ou",3],["浦",11,"pu",3],["戚",11,"qi",1],["牵",11,"qian",1],["乾",11,"",0],["卿",11,"qing",1],["区",11,"ou",1],["雀",11,"",0],["商",11,"shang",1],["绍",11,"shao",4],["宿",11,"su",4],["眭",11,"sui",1],["堂",11,"tang",2],["涂",11,"tu",2],["庹",11,"tuo",3],["望",11,"wang",4],["伟",11,"wei",3],["尉",11,"yu",4],["问",11,"wen",4],["务",11,"wu",4],["悟",11,"wu",4],["悉",11,"xi",1],["习",11,"xi",2],["邢",11,"xing",2],["胥",11,"xu",1],["许",11,"xu",3],["雪",11,"xue",3],["焉",11,"yan",1],["闫",11,"yan",2],["野",11,"ye",3],["英",11,"ying",1],["鱼",11,"yu",2],["御",11,"yu",4],["苑",11,"yuan",4],["粘",11,"",0],["张",11,"zhang",1],["章",11,"zhang",1],["终",11,"zhong",1],["紫",11,"zi",3],["跋",12,"ba",2],["邶",12,"bei",4],["贲",12,"ben",1],["邴",12,"bing",3],["曾",12,"zeng",1],["钞",12,"chao",1],["程",12,"cheng",2],["淳",12,"chun",2],["答",12,"",0],["单",12,"shan",4],["淡",12,"dan",4],["登",12,"deng",1],["邸",12,"di",3],["栋",12,"dong",4],["钭",12,"tou",3],["堵",12,"du",3],["贰",12,"er",4],["斐",12,"fei",3],["费",12,"fei",4],["冯",12,"feng",2],["傅",12,"fu",4],["富",12,"fu",4],["淦",12,"gan",4],["辜",12,"gu",1],["妫",12,"gui",1],["贵",12,"gui",4],["寒",12,"han",2],["贺",12,"he",4],["闳",12,"hong",2],["黄",12,"huang",2],["惠",12,"hui",4],["嵇",12,"ji",1],["集",12,"ji",2],["焦",12,"jiao",1],["接",12,"jie",1],["捷",12,"jie",2],["荆",12,"jing",1],["景",12,"jing",3],["开",12,"kai",1],["劳",12,"lao",2],["理",12,"li",3],["买",12,"mai",3],["贸",12,"mao",4],["闵",12,"min",3],["赧",12,"nan",3],["能",12,"nai",4],["甯",12,"ning",4],["钮",12,"niu",3],["彭",12,"peng",2],["普",12,"pu",3],["强",12,"qiang",2],["乔",12,"qiao",2],["钦",12,"qin",1],["清",12,"qing",1],["邱",12,"qiu",1],["茹",12,"ru",2],["阮",12,"ruan",3],["森",12,"sen",1],["善",12,"shan",4],["邵",12,"shao",4],["盛",12,"sheng",4],["疏",12,"shu",1],["舒",12,"shu",1],["税",12,"shui",4],["舜",12,"shun",4],["斯",12,"si",1],["粟",12,"su",4],["邰",12,"tai",2],["覃",12,"qin",2],["童",12,"tong",2],["屠",12,"tu",2],["无",12,"wu",2],["喜",12,"xi",3],["项",12,"xiang",4],["象",12,"xiang",4],["须",12,"xu",1],["寻",12,"xun",2],["荀",12,"xun",2],["尧",12,"yao",2],["庾",12,"yu",3],["喻",12,"yu",4],["越",12,"yue",4],["云",12,"yun",2],["迮",12,"ze",2],["掌",12,"zhang",3],["植",12,"zhi",2],["智",12,"zhi",4],["訾",12,"zi",1],["阿",13,"",0],["爱",13,"ai",4],["楚",13,"chu",3],["督",13,"du",1],["顿",13,"dun",4],["浑",13,"hun",2],["戢",13,"ji",2],["贾",13,"jia",3],["揭",13,"",0],["节",13,"",0],["解",13,"xie",4],["靳",13,"jin",4],["经",13,"jing",1],["敬",13,"jing",4],["靖",13,"jing",4],["隽",13,"",0],["郎",13,"lang",2],["雷",13,"lei",2],["廉",13,"lian",2],["零",13,"ling",2],["禄",13,"lu",4],["路",13,"lu",4],["莫",13,"mo",4],["貊",13,"mo",4],["睦",13,"mu",4],["农",13,"nong",2],["逄",13,"pang",2],["辟",13,"",0],["琦",13,"qi",2],["郄",13,"qie",4],["琴",13,"qin",2],["禽",13,"qin",2],["勤",13,"qin",2],["裘",13,"qiu",2],["渠",13,"",0],["塞",13,"",0],["莘",13,"shen",1],["圣",13,"sheng",4],["诗",13,"shi",1],["势",13,"shi",4],["睢",13,"",0],["塔",13,"ta",3],["汤",13,"tang",1],["脱",13,"tuo",1],["陀",13,"tuo",2],["微",13,"wei",1],["温",13,"wen",1],["烟",13,"yan",1],["扬",13,"yang",2],["杨",13,"yang",2],["徭",13,"yao",2],["业",13,"ye",4],["义",13,"yi",4],["裔",13,"yi",4],["雍",13,"yong",1],["犹",13,"you",2],["游",13,"you",2],["愚",13,"yu",2],["虞",13,"yu",2],["郁",13,"yu",4],["愈",13,"yu",4],["毓",13,"yu",4],["恽",13,"yun",4],["载",13,"",0],["詹",13,"zhan",1],["湛",13,"zhan",4],["庄",13,"zhuang",1],["资",13,"zi",1],["碧",14,"bi",4],["宾",14,"bin",1],["苌",14,"chang",2],["畅",14,"chang",4],["称",14,"",0],["慈",14,"ci",2],["翠",14,"cui",4],["翟",14,"zhai",2],["端",14,"duan",1],["尔",14,"er",3],["逢",14,"feng",2],["凤",14,"feng",4],["福",14,"fu",2],["郜",14,"gao",4],["管",14,"guan",3],["郝",14,"hao",3],["赫",14,"he",4],["华",14,"hua",4],["滑",14,"hua",2],["箕",14,"ji",1],["暨",14,"ji",4],["嘉",14,"jia",1],["郏",14,"jia",2],["菅",14,"jian",1],["竭",14,"jie",2],["僪",14,"",0],["莱",14,"lai",2],["连",14,"lian",2],["廖",14,"liao",4],["闽",14,"min",3],["宁",14,"ning",4],["裴",14,"pei",2],["仆",14,"",0],["溥",14,"pu",3],["齐",14,"qi",2],["旗",14,"qi",2],["綦",14,"qi",2],["侨",14,"qiao",2],["荣",14,"rong",2],["瑞",14,"rui",4],["僧",14,"seng",1],["韶",14,"shao",2],["慎",14,"shen",4],["实",14,"shi",2],["寿",14,"shou",4],["说",14,"",0],["硕",14,"shuo",4],["速",14,"su",4],["滕",14,"teng",2],["通",14,"tong",1],["闻",14,"wen",2],["郗",14,"xi",1],["郤",14,"xi",4],["熊",14,"xiong",2],["绪",14,"xu",4],["银",14,"yin",2],["源",14,"yuan",2],["臧",14,"zang",1],["赵",14,"zhao",4],["肇",14,"zhao",4],["甄",14,"zhen",1],["种",14,"",0],["褒",15,"bao",1],["暴",15,"bao",4],["褚",15,"chu",3],["逮",15,"",0],["德",15,"de",2],["董",15,"dong",3],["樊",15,"fan",2],["范",15,"fan",4],["葛",15,"ge",3],["巩",15,"gong",3],["缑",15,"gou",1],["穀",15,"gu",3],["广",15,"guang",3],["郭",15,"guo",1],["虢",15,"guo",2],["汉",15,"han",4],["辉",15,"hui",1],["荤",15,"hun",1],["稽",15,"",0],["翦",15,"jian",3],["剑",15,"jian",4],["进",15,"jin",4],["驹",15,"ju",1],["剧",15,"ju",4],["乐",15,"yue",4],["黎",15,"li",2],["厉",15,"li",4],["练",15,"lian",4],["刘",15,"liu",2],["楼",15,"lou",2],["鲁",15,"lu",3],["逯",15,"lu",4],["闾",15,"lv",2],["满",15,"man",3],["漫",15,"man",4],["摩",15,"",0],["墨",15,"mo",4],["慕",15,"mu",4],["欧",15,"ou",1],["盘",15,"pan",2],["漆",15,"qi",1],["庆",15,"qing",4],["锐",15,"rui",4],["赏",15,"shang",3],["驷",15,"si",4],["谈",15,"tan",2],["郯",15,"tan",2],["万",15,"wan",4],["卫",15,"wei",4],["线",15,"xian",4],["兴",15,"",0],["养",15,"yang",3],["叶",15,"ye",4],["仪",15,"yi",2],["禚",15,"zhuo",2],["鲍",16,"bao",4],["苍",16,"cang",1],["潮",16,"chao",2],["陈",16,"chen",2],["谌",16,"chen",2],["澄",16,"",0],["错",16,"cuo",4],["达",16,"da",2],["道",16,"dao",4],["雕",16,"diao",1],["都",16,"du",1],["笃",16,"du",3],["鄂",16,"e",4],["过",16,"guo",1],["蒿",16,"hao",1],["衡",16,"heng",2],["霍",16,"huo",4],["机",16,"ji",1],["冀",16,"ji",4],["谏",16,"jian",4],["蒯",16,"kuai",3],["赖",16,"lai",4],["历",16,"li",4],["龙",16,"long",2],["卢",16,"lu",2],["陆",16,"lu",4],["骆",16,"luo",4],["蒙",16,"meng",2],["磨",16,"",0],["穆",16,"mu",4],["诺",16,"nuo",4],["潘",16,"pan",1],["频",16,"",0],["凭",16,"ping",2],["蒲",16,"pu",2],["钱",16,"qian",2],["潜",16,"qian",2],["桥",16,"qiao",2],["融",16,"rong",2],["撒",16,"sa",3],["树",16,"shu",4],["潭",16,"tan",2],["陶",16,"tao",2],["学",16,"xue",2],["阎",16,"yan",2],["燕",16,"yan",1],["阴",16,"yin",1],["嬴",16,"ying",2],["遇",16,"yu",4],["运",16,"yun",4],["战",16,"zhan",4],["诸",16,"zhu",1],["蔡",17,"cai",4],["操",17,"cao",1],["丑",17,"chou",3],["蹉",17,"cuo",1],["澹",17,"dan",4],["独",17,"du",2],["繁",17,"po",2],["韩",17,"han",2],["检",17,"jian",3],["謇",17,"jian",3],["蹇",17,"jian",3],["蒋",17,"jiang",3],["矫",17,"jiao",3],["鞠",17,"ju",1],["励",17,"li",4],["敛",17,"lian",3],["隆",17,"long",2],["弥",17,"",0],["糜",17,"mi",2],["缪",17,"miao",4],["蓬",17,"peng",2],["赛",17,"sai",4],["声",17,"sheng",1],["霜",17,"shuang",1],["隋",17,"",0],["檀",17,"tan",2],["蔚",17,"wei",4],["邬",17,"wu",1],["戏",17,"",0],["鲜",17,"xian",1],["谢",17,"xie",4],["阳",17,"yang",2],["应",17,"ying",1],["营",17,"ying",2],["辕",17,"yuan",2],["斋",17,"zhai",1],["钟",17,"zhong",1],["锺",17,"zhong",1],["纵",17,"",0],["邹",17,"zou",1],["储",18,"chu",3],["丛",18,"cong",2],["戴",18,"dai",4],["丰",18,"feng",1],["归",18,"gui",1],["环",18,"huan",2],["简",18,"jian",3],["蒉",18,"",0],["礼",18,"li",3],["谬",18,"miu",4],["聂",18,"nie",4],["濮",18,"pu",2],["骑",18,"qi",2],["璩",18,"qu",2],["瞿",18,"qu",2],["阙",18,"que",1],["双",18,"shuang",1],["松",18,"song",1],["锁",18,"suo",3],["隗",18,"wei",3],["魏",18,"wei",4],["萧",18,"xiao",1],["鄢",18,"yan",1],["颜",18,"yan",2],["鄞",18,"yin",2],["镇",18,"zhen",4],["颛",18,"zhuan",1],["濯",18,"zhuo",2],["薄",19,"bo",2],["迟",19,"chi",2],["郸",19,"dan",1],["邓",19,"deng",4],["关",19,"guan",1],["蓟",19,"ji",4],["镜",19,"jing",4],["旷",19,"kuang",4],["类",19,"lei",4],["离",19,"li",2],["祢",19,"mi",2],["庞",19,"pang",2],["谯",19,"qiao",2],["麹",19,"qu",1],["麴",19,"qu",1],["绳",19,"sheng",2],["谭",19,"tan",2],["薛",19,"xue",1],["蚁",19,"yi",3],["郑",19,"zheng",4],["宝",20,"bao",3],["藏",20,"",0],["党",20,"dang",3],["窦",20,"dou",4],["怀",20,"huai",2],["籍",20,"ji",2],["阚",20,"kan",4],["蓝",20,"lan",2],["泷",20,"",0],["罗",20,"luo",2],["壤",20,"rang",3],["萨",20,"sa",4],["释",20,"shi",4],["腾",20,"teng",2],["咸",20,"xian",2],["严",20,"yan",2],["铎",21,"duo",2],["藩",21,"fan",1],["顾",21,"gu",4],["夔",21,"kui",2],["饶",21,"rao",2],["随",21,"sui",2],["藤",21,"teng",2],["铁",21,"tie",3],["续",21,"xu",4],["边",22,"bian",1],["龚",22,"gong",1],["邝",22,"kuang",4],["蔺",22,"lin",4],["权",22,"quan",2],["穰",22,"rang",2],["苏",22,"su",1],["袭",22,"xi",2],["隐",22,"",0],["兰",23,"lan",2],["栾",23,"luan",2],["让",24,"rang",4],["酆",25,"feng",1],["蛮",25,"man",2],["衅",25,"xin",4],["郦",26,"li",4],["钻",27,"zuan",1],["鬱",29,"yu",4]],COMPOUND_ROWS:[["百里",6,7,"baili",3],["碧鲁",14,15,"bilu",4],["淳于",12,3,"chunyu",2],["单于",12,3,"chanyu",2],["澹台",17,5,"tantai",2],["第五",11,4,"diwu",4],["东方",8,4,"dongfang",1],["东郭",8,15,"dongguo",1],["东门",8,8,"dongmen",1],["端木",14,4,"duanmu",1],["段干",9,3,"duangan",4],["范姜",15,9,"fanjiang",4],["费莫",12,13,"feimo",4],["富察",12,14,"fucha",4],["公良",4,7,"gongliang",1],["公叔",4,8,"gongshu",1],["公孙",4,10,"gongsun",1],["公西",4,6,"gongxi",1],["公羊",4,6,"gongyang",1],["公冶",4,7,"gongye",1],["谷梁",7,11,"guliang",3],["榖梁",14,11,"guliang",3],["毌丘",4,5,"guanqiu",4],["赫连",14,14,"helian",4],["呼延",8,7,"huyan",1],["皇甫",9,7,"huangfu",2],["夹谷",7,7,"jiagu",2],["句龙",5,16,"goulong",1],["乐正",15,5,"yuezheng",4],["梁丘",11,5,"liangqiu",2],["令狐",5,9,"linghu",2],["闾丘",15,5,"lvqiu",2],["马佳",10,8,"majia",3],["慕容",15,10,"murong",4],["那拉",11,9,"",0],["纳喇",10,12,"nala",4],["南宫",9,10,"nangong",2],["南门",9,8,"nanmen",2],["欧阳",15,17,"ouyang",1],["濮阳",18,17,"puyang",2],["漆雕",15,16,"qidiao",1],["亓官",4,8,"qiguan",2],["壤驷",20,15,"rangsi",3],["上官",3,8,"shangguan",4],["申屠",5,12,"shentu",1],["司空",5,8,"sikong",1],["司寇",5,11,"sikou",1],["司马",5,10,"sima",1],["司徒",5,10,"situ",1],["拓跋",9,12,"tuoba",4],["太史",4,5,"taishi",4],["太叔",4,8,"taishu",4],["佟佳",7,8,"tongjia",2],["图门",14,8,"tumen",2],["完颜",7,18,"wanyan",2],["万俟",15,9,"moqi",4],["微生",13,5,"weisheng",1],["尉迟",11,19,"yuchi",4],["闻人",14,2,"wenren",2],["乌孙",10,10,"wusun",1],["乌雅",10,12,"wuya",1],["巫马",7,10,"wuma",1],["西门",6,8,"ximen",1],["夏侯",10,9,"xiahou",4],["鲜于",17,3,"xianyu",1],["轩辕",10,17,"xuanyuan",1],["羊舌",6,6,"yangshe",2],["宇文",6,4,"yuwen",3],["宰父",10,4,"zaifu",3],["张简",11,18,"zhangjian",1],["张廖",11,14,"zhangliao",1],["章佳",11,8,"zhangjia",1],["仉督",4,13,"zhangdu",3],["长孙",8,10,"zhangsun",3],["钟离",17,19,"zhongli",1],["锺离",17,19,"zhongli",1],["仲孙",6,10,"zhongsun",4],["诸葛",16,15,"zhuge",1],["颛孙",18,10,"zhuansun",1],["子车",3,7,"ziju",3],["宗政",8,8,"zongzheng",1],["左丘",5,5,"zuoqiu",3]],SURNAME_ALT:{尉:["wei",4],覃:["tan",2],蔚:["yu",4],隗:["kui",2],柏:["bo",2],乐:["le",4],能:["neng",2],查:["cha",2],石:["dan",4]},SURNAME_COUNTS:{single:998,compound:82,strokeOnly:71,alt:9}}})(),W["name-data"]=(function(){const{EXTRA_READING:P}=W["name-extra"]||{},{SURNAME_ROWS:en,COMPOUND_ROWS:sn,SURNAME_ALT:fn,SURNAME_COUNTS:nn}=W["surname-data"]||{},R=[...[["梓","zi",3,11],["桐","tong",2,10],["楠","nan",2,13],["楷","kai",3,13],["松","song",1,8],["柏","bai",3,9],["枫","feng",1,13],["榕","rong",2,14],["槿","jin",3,15],["棠","tang",2,12],["楚","chu",3,13],["柯","ke",1,9],["桓","huan",2,10],["榆","yu",2,13],["栩","xu",3,10],["榛","zhen",1,14],["芸","yun",2,10],["芷","zhi",3,10],["芮","rui",4,10],["若","ruo",4,11],["茜","qian",4,12],["茵","yin",1,12],["茗","ming",2,12],["莎","sha",1,13],["茉","mo",4,11],["筱","xiao",3,13],["蓉","rong",2,16],["萱","xuan",1,15],["蕙","hui",4,18],["蕊","rui",3,18],["菲","fei",1,14],["蔓","man",4,17],["荣","rong",2,14],["茂","mao",4,11],["栋","dong",4,12],["梁","liang",2,11],["朴","pu",3,6],["本","ben",3,5],["林","lin",2,8],["森","sen",1,12],["枝","zhi",1,8],["果","guo",3,8],["禾","he",2,5],["秀","xiu",4,7],["穗","sui",4,17],["稼","jia",4,15],["颖","ying",3,16],["苗","miao",2,8],["菁","jing",1,14],["菡","han",4,14],["蕴","yun",4,22],["蕾","lei",3,19],["薇","wei",1,19],["薏","yi",4,19],["菀","wan",3,14],["荷","he",2,13],["莲","lian",2,17],["菱","ling",2,14],["苇","wei",3,15],["荻","di",2,13],["筠","yun",2,13],["笛","di",2,11],["杉","shan",1,7],["柠","ning",2,18],["桢","zhen",1,13],["樾","yue",4,16],["柘","zhe",4,9],["权","quan",2,22],["材","cai",2,7],["杭","hang",2,8],["枚","mei",2,8],["梧","wu",2,11],["竹","zhu",2,6],["简","jian",3,18],["策","ce",4,12],["筹","chou",2,20],["芬","fen",1,10],["芳","fang",1,10],["花","hua",1,10],["菊","ju",2,14],["兰","lan",2,23],["芝","zhi",1,10],["芹","qin",2,10],["荃","quan",2,12],["萃","cui",4,14],["蓁","zhen",1,16],["荞","qiao",2,18],["莞","wan",3,13],["萦","ying",2,16],["蔚","wei",4,17],["芃","peng",2,9],["芩","qin",2,10],["苡","yi",3,11],["莱","lai",2,14],["萌","meng",2,14],["葆","bao",3,15],["萧","xiao",1,18],["樟","zhang",1,15],["樱","ying",1,21],["栎","li",4,19],["棹","zhao",4,12],["楸","qiu",1,13],["槐","huai",2,14],["橙","cheng",2,16],["檀","tan",2,17],["炎","yan",2,8],["灿","can",4,17],["炫","xuan",4,9],["炜","wei",3,13],["烨","ye",4,14],["煜","yu",4,13],["熙","xi",1,13],["煊","xuan",1,13],["焕","huan",4,13],["熠","yi",4,15],["炅","jiong",3,8],["昱","yu",4,9],["晗","han",2,11],["旭","xu",4,6],["昊","hao",4,8],["晟","sheng",4,11],["晨","chen",2,11],["景","jing",3,12],["曜","yao",4,18],["曦","xi",1,20],["朗","lang",3,11],["昭","zhao",1,9],["昕","xin",1,8],["昀","yun",2,8],["暖","nuan",3,13],["灵","ling",2,24],["丹","dan",1,4],["彤","tong",2,7],["冉","ran",3,5],["南","nan",2,9],["丰","feng",1,18],["日","ri",4,4],["阳","yang",2,17],["光","guang",1,6],["亮","liang",4,9],["明","ming",2,8],["晶","jing",1,12],["晴","qing",2,12],["夏","xia",4,10],["智","zhi",4,12],["卓","zhuo",2,8],["乐","le",4,15],["恺","kai",3,14],["恬","tian",2,10],["甜","tian",2,11],["亭","ting",2,9],["俊","jun",4,9],["丙","bing",3,5],["丁","ding",1,2],["鼎","ding",3,13],["陶","tao",2,16],["熹","xi",1,16],["炀","yang",2,13],["烜","xuan",3,10],["暻","jing",3,16],["晖","hui",1,13],["晔","ye",4,16],["旻","min",2,8],["晏","yan",4,10],["晓","xiao",3,16],["暄","xuan",1,13],["昆","kun",1,8],["伶","ling",2,7],["坤","kun",1,8],["垚","yao",2,9],["培","pei",2,11],["城","cheng",2,10],["域","yu",4,11],["坚","jian",1,11],["墨","mo",4,15],["均","jun",1,7],["坦","tan",3,8],["基","ji",1,11],["堂","tang",2,11],["圣","sheng",4,13],["在","zai",4,6],["岳","yue",4,8],["峰","feng",1,10],["峻","jun",4,10],["岚","lan",2,12],["岩","yan",2,8],["崇","chong",2,11],["岐","qi",2,7],["屿","yu",3,17],["磊","lei",3,15],["尧","yao",2,12],["圆","yuan",2,13],["恩","en",1,10],["惟","wei",2,11],["轩","xuan",1,10],["逸","yi",4,15],["山","shan",1,3],["岸","an",4,8],["岑","cen",2,7],["巍","wei",1,21],["嵩","song",1,13],["岭","ling",3,17],["奥","ao",4,13],["宜","yi",2,8],["容","rong",2,10],["意","yi",4,13],["依","yi",1,8],["悠","you",1,11],["维","wei",2,14],["纬","wei",3,15],["永","yong",3,5],["远","yuan",3,17],["辰","chen",2,7],["壁","bi",4,16],["田","tian",2,5],["由","you",2,5],["画","hua",4,12],["延","yan",2,7],["建","jian",4,9],["音","yin",1,9],["韵","yun",4,19],["玮","wei",3,14],["雍","yong",1,13],["懿","yi",4,22],["宇","yu",3,6],["亦","yi",4,6],["安","an",1,6],["宁","ning",2,14],["锋","feng",1,15],["钢","gang",1,16],["钧","jun",1,12],["铭","ming",2,14],["锐","rui",4,15],["锡","xi",1,16],["锦","jin",3,16],["鑫","xin",1,24],["键","jian",4,17],["鉴","jian",4,22],["钦","qin",1,12],["镇","zhen",4,18],["铮","zheng",1,16],["钰","yu",4,13],["铠","kai",3,18],["珊","shan",1,10],["珠","zhu",1,10],["琳","lin",2,13],["琦","qi",2,13],["琪","qi",2,13],["瑜","yu",2,14],["瑞","rui",4,14],["瑄","xuan",1,14],["璇","xuan",2,16],["璟","jing",3,17],["璐","lu",4,18],["瑾","jin",3,16],["珏","jue",2,9],["环","huan",2,18],["玲","ling",2,10],["珑","long",2,21],["瑶","yao",2,15],["莹","ying",2,15],["铎","duo",2,21],["金","jin",1,8],["秋","qiu",1,9],["书","shu",1,10],["舒","shu",1,12],["善","shan",4,12],["信","xin",4,9],["修","xiu",1,10],["素","su",4,10],["静","jing",4,16],["心","xin",1,4],["新","xin",1,13],["正","zheng",4,5],["世","shi",4,5],["少","shao",3,4],["西","xi",1,6],["白","bai",2,5],["辛","xin",1,7],["成","cheng",2,7],["利","li",4,7],["剑","jian",4,15],["刚","gang",1,10],["则","ze",2,9],["初","chu",1,7],["硕","shuo",4,14],["尚","shang",4,8],["臣","chen",2,6],["川","chuan",1,3],["舟","zhou",1,6],["州","zhou",1,6],["祖","zu",3,10],["祥","xiang",2,11],["禄","lu",4,13],["禧","xi",3,17],["珍","zhen",1,10],["宣","xuan",1,9],["序","xu",4,7],["谦","qian",1,17],["赞","zan",4,19],["超","chao",1,12],["锴","kai",3,17],["承","cheng",2,8],["语","yu",3,14],["诺","nuo",4,16],["诗","shi",1,13],["梦","meng",4,14],["思","si",1,9],["悦","yue",4,11],["欣","xin",1,8],["嘉","jia",1,14],["佳","jia",1,8],["博","bo",2,12],["睿","rui",4,14],["知","zhi",1,8],["星","xing",1,9],["言","yan",2,7],["和","he",2,8],["江","jiang",1,7],["河","he",2,9],["海","hai",3,11],["洋","yang",2,10],["波","bo",1,9],["涛","tao",1,18],["涵","han",2,12],["清","qing",1,12],["澈","che",4,16],["澄","cheng",2,16],["润","run",4,16],["泽","ze",2,17],["沛","pei",4,8],["沁","qin",4,8],["泓","hong",2,9],["泉","quan",2,9],["汐","xi",1,7],["淇","qi",2,12],["鸿","hong",2,17],["滋","zi",1,13],["淼","miao",3,12],["雨","yu",3,8],["雪","xue",3,11],["霖","lin",2,16],["霏","fei",1,16],["露","lu",4,21],["霆","ting",2,15],["雯","wen",2,12],["霓","ni",2,16],["湉","tian",2,13],["沐","mu",4,8],["宸","chen",2,10],["然","ran",2,12],["文","wen",2,4],["月","yue",4,4],["水","shui",3,4],["冰","bing",1,6],["洁","jie",2,16],["浩","hao",4,11],["瀚","han",4,20],["渊","yuan",1,12],["澜","lan",2,21],["潮","chao",2,16],["溪","xi",1,14],["湘","xiang",1,13],["渝","yu",2,13],["深","shen",1,12],["湛","zhan",4,13],["汇","hui",4,13],["洲","zhou",1,10],["湾","wan",1,26],["云","yun",2,12],["风","feng",1,9],["北","bei",3,5],["冬","dong",1,5],["玄","xuan",2,5],["子","zi",3,3],["平","ping",2,5],["方","fang",1,4],["帆","fan",1,6],["航","hang",2,10],["敏","min",3,11],["慧","hui",4,15],["惠","hui",4,12],["霈","pei",4,15],["灏","hao",4,25],["湄","mei",2,13],["滨","bin",1,18],["洛","luo",4,10],["津","jin",1,10],["泊","bo",2,9],["沧","cang",1,14],["浦","pu",3,11]],...P],L={},k={},j={},$={};for(const[o,u,r,z]of en)L[o]=u,r&&(k[o]=[r,z]);for(const[o,u,r,z,g]of sn)$[o]={s:[u,r],py:z,tone:g};for(const[o,u]of Object.entries(fn))j[o]=u;return{READING:R,SURNAME_STROKES:L,SURNAME_READING:k,SURNAME_ALT_READING:j,DOUBLE_SURNAMES:$,SURNAME_STATS:nn,SHULI_81:[null,["吉","太极之数"],["凶","两仪之数"],["吉","三才之数"],["凶","四象之数"],["吉","五行之数"],["吉","六爻之数"],["吉","七政之数"],["吉","八卦之数"],["凶","大成之数"],["凶","终结之数"],["吉","旱苗逢雨"],["凶","掘井无泉"],["吉","春日牡丹"],["凶","破兆之数"],["吉","福寿之数"],["吉","厚重之数"],["吉","刚强之数"],["吉","铁镜重磨"],["凶","多难之数"],["凶","屋下藏金"],["吉","明月中天"],["凶","秋草逢霜"],["吉","壮丽之数"],["吉","掘藏得金"],["吉","荣俊之数"],["凶","变怪之数"],["半吉","增长之数"],["凶","阔水浮萍"],["吉","智谋之数"],["半吉","非运之数"],["吉","春日花开"],["吉","宝马金鞍"],["吉","旭日升天"],["凶","破家之数"],["吉","高楼望月"],["凶","波澜重叠"],["吉","猛虎出林"],["半吉","磨铁成针"],["吉","富贵荣华"],["半吉","退安之数"],["吉","有德之数"],["半吉","寒蝉在柳"],["凶","散财破产"],["凶","烦闷之数"],["吉","顺风之数"],["凶","浪里淘金"],["吉","点石成金"],["吉","古松立鹤"],["半吉","转变之数"],["半吉","小舟入海"],["半吉","沉浮之数"],["吉","先见之明"],["半吉","曲卷难星"],["凶","石上栽花"],["半吉","善恶之数"],["凶","浪里行舟"],["吉","日照春松"],["半吉","晚行遇月"],["凶","寒蝉悲风"],["凶","无谋之数"],["吉","牡丹芙蓉"],["凶","衰败之数"],["吉","舟归平海"],["凶","非命之数"],["吉","巨流归海"],["凶","岩头步马"],["吉","通达之数"],["吉","顺风吹帆"],["凶","非业之数"],["凶","残菊经霜"],["半吉","石上金花"],["凶","劳苦之数"],["半吉","志高力微"],["凶","残菊逢霜"],["半吉","退守之数"],["凶","离散之数"],["半吉","半吉之数"],["半吉","晚苦之数"],["凶","云头望月"],["半吉","遁吉之数"],["吉","万物回春"]]}})(),W.name=(function(){const{buildBazi:P}=W.bazi||{},{bool:en}=W.bool||{},{assertCivil:sn,assertObject:fn}=W.validate||{},{fail:nn}=W.fail||{},{READING:A,SURNAME_STROKES:R,SURNAME_READING:L,SURNAME_ALT_READING:k,DOUBLE_SURNAMES:j,SHULI_81:$}=W["name-data"]||{},{EXTRA_LIB:G}=W["name-extra"]||{},d={木:"火",火:"土",土:"金",金:"水",水:"木"},o={木:"土",土:"水",水:"火",火:"金",金:"木"},u={火:"木",土:"火",金:"土",水:"金",木:"水"},r={土:"木",水:"土",火:"水",金:"火",木:"金"},z=["木","火","土","金","水"],g=new Set([..."伟刚勇毅俊峰军强磊涛明超杰鹏华飞鑫波斌宇浩凯健帆帅旭宁龙林欢岩中志国建文博诚晨昊天阳亮睿泽轩然煜宸涵楷桐瑞铭航辰一诺思远嘉懿沐梓奕安可欣哲德智靖翊豪虎兵立力禹予以皓曦昱晟熠烨炜灿霖潇灏瀚渊澜澄澈润沛泓淇淳泰坤垚岳峻嵘峥岱崧翔翼羽麒麟骏骐骥腾龙凤鸣翰武捷喆亦逸宜芳娜秀英敏静丽艳娟霞桂华玲燕红梅兰珍淑云凤春丹萍慧惠巧美婷雪倩颖洁琳璐琪瑶妍彤伊仪芯萱玥晴雨梦诗悦怡欣佳嘉思语诺溪若芷芮茉柠萌蕾薇菲蕊菁茜莎莲荷菡芸雯霏霓露霜冰清沁汐湉淼泉温馨婉媛妮娅嫣妤姝姗娴嫦婵玫珂珮瑛璎璇瑾璟琦珊珠琬瑷瑢瑗瑀珺琇珞琴瑟念慈爱恬甜暖曦晞晗昕虹映岚"]),S=[...[["梓","木","梓树,喻成长、手艺与念乡","n"],["桐","木","梧桐,高洁、引来凤凰","n"],["楠","木","楠木,坚韧贵重","n"],["楷","木","楷模,端正可法","m"],["松","木","松柏常青,坚韧长寿","m"],["柏","木","柏树,刚直耐寒","m"],["枫","木","枫叶,热烈与秋意","n"],["榕","木","榕树,荫庇包容","n"],["槿","木","木槿,朝开暮落、坚韧","f"],["棠","木","海棠,明媚雅致","f"],["楚","木","清楚、楚楚有致","n"],["柯","木","草木枝干,条理分明","m"],["桓","木","桓桓武貌,栋梁","m"],["榆","木","榆树,安稳敦厚","n"],["栩","木","栩栩生动","n"],["榛","木","榛果,丰实","n"],["芸","木","芸香,清雅好学","f"],["芷","木","白芷,芳洁","f"],["芮","木","草初生,柔而韧","f"],["若","木","若木,从容","f"],["茜","木","茜草,明丽","f"],["茵","木","绿茵,葱茏","f"],["茗","木","茶芽,清雅","f"],["莎","木","莎草,柔韧","f"],["茉","木","茉莉,素净芬芳","f"],["筱","木","小竹,清秀有节","f"],["蓉","木","芙蓉,明艳","f"],["萱","木","萱草,忘忧","f"],["蕙","木","蕙兰,芳心","f"],["蕊","木","花蕊,含秀","f"],["菲","木","芳菲,繁茂","f"],["蔓","木","藤蔓,绵延","f"],["荣","木","繁荣,荣光","m"],["茂","木","茂盛,丰隆","m"],["栋","木","栋梁","m"],["梁","木","桥梁、栋梁","m"],["朴","木","质朴","m"],["本","木","根本","m"],["炎","火","火盛,热烈","m"],["灿","火","灿烂","n"],["炫","火","光彩炫目","m"],["炜","火","光明","m"],["烨","火","火光盛明","m"],["煜","火","照耀","m"],["熙","火","光明和乐","n"],["煊","火","温暖显赫","m"],["焕","火","焕然一新","m"],["熠","火","熠熠生辉","n"],["炅","火","日光","n"],["昱","火","日光,明亮","m"],["晗","火","天将明","f"],["旭","火","旭日初升","m"],["昊","火","广大如天","m"],["晟","火","光明兴盛","m"],["晨","火","清晨","n"],["景","火","光景、景仰","n"],["曜","火","日光照耀","m"],["曦","火","晨曦","n"],["朗","火","明朗","m"],["昭","火","昭明","n"],["昕","火","黎明","f"],["昀","火","日光","f"],["暖","火","温暖","f"],["灵","火","灵秀","f"],["丹","火","赤诚","f"],["彤","火","朱红","f"],["冉","火","冉冉上升","f"],["南","火","南方,向阳","n"],["坤","土","大地,厚德","m"],["垚","土","山高","m"],["培","土","培育","m"],["城","土","城池,坚固","m"],["域","土","疆域","m"],["坚","土","坚定","m"],["墨","土","笔墨,文气","n"],["均","土","均衡","m"],["坦","土","坦荡","m"],["基","土","根基","m"],["堂","土","堂堂正正","m"],["圣","土","圣明","m"],["在","土","存在、自在","n"],["岳","土","山岳","m"],["峰","土","山峰","m"],["峻","土","高峻","m"],["岚","土","山间雾气","f"],["岩","土","岩石,刚毅","m"],["崇","土","崇高","m"],["岐","土","岐山,分岔有路","m"],["屿","土","小岛","n"],["磊","土","磊落","m"],["尧","土","古圣王,高远","m"],["圆","土","圆满","f"],["恩","土","恩厚","n"],["惟","土","思惟","m"],["锋","金","锋芒","m"],["钢","金","刚强","m"],["钧","金","权衡、钧衡","m"],["铭","金","铭记","m"],["锐","金","锐进","m"],["锡","金","赐予","m"],["锦","金","锦绣","n"],["鑫","金","兴盛(三金)","m"],["键","金","关键、强健","m"],["鉴","金","明鉴","m"],["钦","金","钦敬","m"],["镇","金","镇守","m"],["铮","金","铮铮有声","m"],["钰","金","珍宝","n"],["铠","金","铠甲","m"],["珊","金","珊瑚","f"],["珠","金","明珠","f"],["琳","金","美玉","f"],["琦","金","美玉、奇伟","n"],["琪","金","美玉","f"],["瑜","金","美玉、瑜亮","n"],["瑞","金","祥瑞","n"],["瑄","金","璧玉","f"],["璇","金","美玉","f"],["璟","金","玉光","n"],["璐","金","美玉","f"],["瑾","金","美玉,谨守","f"],["珏","金","双玉","n"],["环","金","圆环,周全","f"],["玲","金","玲珑","f"],["珑","金","玲珑","f"],["瑶","金","瑶华","f"],["莹","金","晶莹","f"],["铎","金","铃铎,传声","m"],["江","水","江河,开阔","m"],["河","水","河流","m"],["海","水","海纳百川","m"],["洋","水","海洋,宽广","n"],["波","水","波澜","m"],["涛","水","波涛","m"],["涵","水","包涵、涵养","f"],["清","水","清澈","n"],["澈","水","澄澈","m"],["澄","水","澄明","n"],["润","水","温润","m"],["泽","水","恩泽","m"],["沛","水","充沛","m"],["沁","水","沁润","f"],["泓","水","水深而广","m"],["泉","水","源泉","n"],["汐","水","潮汐","f"],["淇","水","淇水","f"],["鸿","水","鸿鹄、宏大","m"],["滋","水","滋润","n"],["淼","水","水势浩渺","n"],["雨","水","甘霖","n"],["雪","水","洁白","f"],["霖","水","甘霖","m"],["霏","水","雨雪纷飞","f"],["露","水","露华","f"],["霆","水","雷霆","m"],["雯","水","云纹","f"],["霓","水","虹霓","f"],["湉","水","水流平缓","f"],["沐","水","沐浴,受润泽","n"],["宸","木","屋宇、北极星所居,喻尊贵","m"],["轩","土","高轩,气宇轩昂","m"],["逸","土","安逸、超逸","m"],["然","火","自然、坦然","n"],["承","金","承继担当","m"],["语","木","言语,温言","f"],["诺","火","诺言,信守","n"],["诗","金","诗书,文气","f"],["梦","木","梦想","f"],["思","金","思虑,才思","n"],["悦","金","喜悦","f"],["欣","木","欢欣","f"],["嘉","木","嘉美","n"],["佳","木","佳好","f"],["博","水","博学","m"],["文","水","文采","n"],["睿","金","睿智","m"],["宇","土","器宇、宇宙","m"],["亦","土","也,从容","n"],["知","火","知晓,明理","n"],["星","火","星辰","n"],["月","木","明月","f"],["言","木","言语,信","n"],["和","水","和顺","n"],["安","土","安宁","n"],["宁","火","安宁","f"],["林","木","林木成片,茂盛有荫","n"],["森","木","众木成林,森然","n"],["枝","木","枝条,生发","n"],["果","木","果实,有成","n"],["禾","木","禾苗,五谷初生","n"],["秀","木","禾吐穗,秀美出众","n"],["穗","木","谷穗,丰实","n"],["稼","木","庄稼,耕作有成","m"],["颖","木","禾颖,聪颖","n"],["苗","木","苗裔,初生有生机","n"],["菁","木","菁华,草木茂盛","f"],["菡","木","荷花含苞","f"],["蕴","木","蕴积,含而不露","f"],["蕾","木","花蕾,待放","f"],["薇","木","蔷薇,细而韧","f"],["薏","木","薏苡,清润","f"],["菀","木","草木茂盛","f"],["荷","木","荷花,出淤泥","f"],["莲","木","莲花,清直","f"],["菱","木","菱角,水生","f"],["苇","木","芦苇,柔韧","n"],["荻","木","荻草,秋声","n"],["筠","木","竹皮,竹之青","n"],["笛","木","竹笛,清音","n"],["杉","木","杉木,挺拔","n"],["柠","木","柠檬,清新","f"],["桢","木","桢干,栋梁材","m"],["樾","木","树荫,庇下","m"],["柘","木","柘木,坚韧","n"],["权","木","权衡,执中","m"],["材","木","木材,成材","m"],["杭","木","苏杭,舟行","n"],["枚","木","衔枚,静而进","n"],["梧","木","梧桐,栖凤","n"],["竹","木","竹,有节而虚心","n"],["简","木","简朴,简静","n"],["策","木","策谋,鞭策","m"],["筹","木","筹算,谋划","m"],["芬","木","芬芳","f"],["芳","木","芳华","f"],["花","木","花,明媚","f"],["菊","木","菊花,晚节","f"],["兰","木","兰花,幽香","f"],["芝","木","芝兰,瑞草","f"],["芹","木","芹献,谦诚","f"],["荃","木","荃草,香草","f"],["萃","木","荟萃,聚合","n"],["蓁","木","蓁蓁,草木盛","n"],["荞","木","荞麦,实而不华","f"],["莞","木","莞尔,浅笑","f"],["萦","木","萦绕,绵长","f"],["蔚","木","蔚然,文采盛","n"],["芃","木","芃芃,草木茂","n"],["芩","木","黄芩,草本","f"],["苡","木","薏苡,清润","f"],["莱","木","莱草,野而秀","n"],["萌","木","萌芽,生机","n"],["葆","木","永葆,守而不失","n"],["萧","木","萧然,清疏","n"],["樟","木","樟木,香而久","n"],["樱","木","樱花,明丽","f"],["栎","木","栎树,坚实","n"],["棹","木","舟棹,行水","n"],["楸","木","楸树,高直","n"],["槐","木","槐树,三公之位","n"],["橙","木","橙,明暖","n"],["檀","木","檀香,沉静","n"],["丰","火","丰盛、丰盈(繁体豐从豆,归火)","n"],["日","火","太阳,光明","m"],["阳","火","阳光,向阳而生","m"],["光","火","光明","n"],["亮","火","明亮,爽朗","m"],["明","火","光明、明理","n"],["晶","火","晶莹,三光","f"],["晴","火","晴朗,天开","f"],["夏","火","夏天,盛大","n"],["智","火","智慧,明达","m"],["卓","火","卓越,卓立","m"],["乐","火","和乐","n"],["恺","火","恺悌,和乐","m"],["恬","火","恬静","f"],["甜","火","甜美","f"],["亭","火","亭亭,端立","f"],["俊","火","俊朗,才俊","m"],["丙","火","天干丙,阳火","m"],["丁","火","天干丁,阴火","n"],["鼎","火","鼎立,厚重","m"],["陶","火","陶然,自得","n"],["熹","火","熹微,晨光","n"],["炀","火","火旺,炽盛","m"],["烜","火","烜赫,显明","m"],["暻","火","日光","n"],["晖","火","日晖,光彩","n"],["晔","火","光晔,明盛","n"],["旻","火","秋天,天高","m"],["晏","火","晏然,安和","n"],["晓","火","拂晓,天将明","f"],["暄","火","温暖,日暖","f"],["昆","火","昆山,同也","m"],["伶","火","伶俐,聪敏","f"],["山","土","山,稳重","m"],["岸","土","岸然,独立","m"],["岑","土","小山,高而静","n"],["巍","土","巍峨,高大","m"],["嵩","土","嵩山,高峻","m"],["岭","土","山岭,绵延","n"],["奥","土","深奥,蕴藉","m"],["宜","土","宜然,合度","n"],["容","土","包容,容仪","n"],["意","土","心意,诚意","f"],["依","土","依倚,亲近","f"],["悠","土","悠然,从容","f"],["维","土","维系,纲维","n"],["纬","土","经纬,有条","n"],["永","土","永恒,久长","n"],["远","土","高远","m"],["辰","土","星辰、辰时","m"],["壁","土","壁立,端正","m"],["田","土","田野,耕获","m"],["由","土","由来,自得","n"],["画","土","图画,文采","f"],["延","土","延展,绵长","m"],["建","土","建立,树也","m"],["音","土","音声,和鸣","f"],["韵","土","韵致,余响","f"],["玮","土","美玉,珍奇","m"],["雍","土","雍容,和穆","m"],["懿","土","懿德,美善","f"],["金","金","金,坚而贵","m"],["秋","金","秋收、成熟(秋属金,肃而收)","n"],["书","金","书卷,文墨","n"],["舒","金","舒展,从容","n"],["善","金","善良,善成","n"],["信","金","诚信,符信","m"],["修","金","修远,修身","m"],["素","金","素雅,本色","f"],["静","金","安静,沉静","f"],["心","金","心志,中藏","f"],["新","金","新意,日新","n"],["正","金","正直,端正","m"],["世","金","世代,绵延","m"],["少","金","少年,少壮","m"],["西","金","西方,金位","n"],["白","金","洁白,素净","n"],["辛","金","天干辛,阴金","n"],["成","金","成器,成事","m"],["利","金","利落,锋利","m"],["剑","金","剑,刚锐","m"],["刚","金","刚强,不屈","m"],["则","金","法则,有度","m"],["初","金","初心,开端","n"],["硕","金","硕大,学殖","m"],["尚","金","崇尚,尚贤","n"],["臣","金","臣,佐事","m"],["川","金","川流,通达","n"],["舟","金","舟行,济渡","n"],["州","金","州,聚落","n"],["祖","金","祖德,源远","m"],["祥","金","吉祥,祥瑞","n"],["禄","金","福禄,俸给","m"],["禧","金","禧庆,福","n"],["珍","金","珍宝,珍重","f"],["宣","金","宣明,布达","n"],["序","金","秩序,庠序","n"],["谦","金","谦逊,有终","m"],["赞","金","赞美,佐成","m"],["超","金","超越,越过","m"],["锴","金","精铁,坚刚","m"],["水","水","水,润下","n"],["冰","水","冰清,澄澈","f"],["洁","水","洁净,洁身","f"],["浩","水","浩大,广远","m"],["瀚","水","浩瀚,无涯","m"],["渊","水","渊深,有本","m"],["澜","水","波澜,壮阔","n"],["潮","水","潮涌,有信","n"],["溪","水","溪流,清浅","f"],["湘","水","湘水,清深","f"],["渝","水","渝水,守而不变","n"],["深","水","深厚,深藏","m"],["湛","水","湛然,清深","m"],["汇","水","汇聚,会归","n"],["洲","水","洲渚,水中地","n"],["湾","水","水湾,曲处","f"],["云","水","云行,舒卷","n"],["风","水","风雅,流动","n"],["北","水","北方,水位","n"],["冬","水","冬藏,静敛","f"],["玄","水","玄远,幽深","n"],["子","水","子,初生","m"],["平","水","平和,坦易","n"],["方","水","方正,有隅","n"],["帆","水","风帆,顺行","n"],["航","水","航行,济远","m"],["敏","水","敏思,捷悟","f"],["慧","水","慧心,明彻","f"],["惠","水","惠泽,施与","f"],["霈","水","霈雨,丰沛","m"],["灏","水","灏气,广大","m"],["湄","水","水湄,岸边","f"],["滨","水","水滨,近水","n"],["洛","水","洛水,清流","n"],["津","水","津渡,要处","n"],["泊","水","淡泊,自守","m"],["沧","水","沧海,苍茫","m"],["浦","水","浦,水滨","n"]],...G],i=new Map,h=new Map;for(const[f,C,N,B]of A)h.has(f)||h.set(f,{py:C,tone:N,st:B});for(const f of S)if(!i.has(f[0])){const C=h.get(f[0])||{};i.set(f[0],{c:f[0],el:f[1],meaning:f[2],g:f[3],order:i.size,py:C.py||null,tone:C.tone||null,strokes:C.st||null})}const m={1:"木",2:"木",3:"火",4:"火",5:"土",6:"土",7:"金",8:"金",9:"水",0:"水"},x=(f,C)=>f===C?"同":d[f]===C?"生":o[f]===C?"克":d[C]===f?"被生":"被克";function M(f){const C=f>81?(f-1)%80+1:f;if(!(C>=1))return null;const N=$[C];return N?{num:C,level:N[0],name:N[1]}:null}function H(f){const C={};for(const N of[f&&f.surnameStrokes,f&&f.strokeOverrides])if(!(!N||typeof N!="object"))for(const[B,pn]of Object.entries(N)){const qn=typeof pn=="string"?Number(pn.trim()):pn;Number.isInteger(qn)&&qn>0&&(C[B]=qn)}return Object.keys(C).length?C:void 0}function q(f,C,N){if(C&&Number.isInteger(C[f])&&C[f]>0)return{strokes:C[f],source:"user"};const B=i.get(f);return B&&B.strokes?{strokes:B.strokes,source:"lib"}:N==="surname"&&R[f]?{strokes:R[f],source:"surname"}:null}function hn(f,C){const N=i.get(f);if(N&&N.py)return{py:N.py,tone:N.tone};if(C==="surname"&&L[f]){const[B,pn]=L[f];return{py:B,tone:pn}}return null}function K(f,C,N){const B=[...String(f||"")],pn=[...String(C||"")];if(!B.length||!pn.length)return{available:!1,reason:"需要姓与名才能排五格"};if(B.length>2)return{available:!1,reason:"姓超过两字:五格只算单姓与常见复姓"};const qn=B.length===2?j[f]:null,zn=qn&&!B.some(E=>N&&N[E])?qn.s.map(E=>({strokes:E,source:"table"})):B.map(E=>q(E,N,"surname")),Y=pn.map(E=>q(E,N,"given")),yn=[...B,...pn].filter((E,V)=>!(V<B.length?zn[V]:Y[V-B.length]));if(yn.length)return{available:!1,reason:`这些字没有康熙笔画数据,五格算不了:${yn.join("、")}——可用 strokeOverrides 传入笔画后再算`,missing:yn};const Q=zn.map(E=>E.strokes),T=Y.map(E=>E.strokes),rn=E=>E.reduce((V,Hn)=>V+Hn,0),I=B.length===2,F=I?rn(Q):Q[0]+1,ln=Q[B.length-1]+T[0],xn=rn(T)+(pn.length===1?1:0),tn=rn(Q)+rn(T),In=B.length===1&&pn.length===1?2:tn-ln+1,un=[["天格",F],["人格",ln],["地格",xn],["外格",In],["总格",tn]].map(([E,V])=>({key:E,strokes:V,...M(V)})),U=[F,ln,xn].map(E=>E%10).map(E=>m[E]),cn=[{pair:"天与人",rel:x(U[0],U[1])},{pair:"人与地",rel:x(U[1],U[2])}],on=U[0]===U[1]&&U[1]===U[2]?"三才同气,气脉集中":cn.every(E=>E.rel==="生"||E.rel==="同")?"一路相生,传统看作顺遂":cn.every(E=>E.rel==="克"||E.rel==="被克")?"相连相克,传统看作内外拉扯":`${cn.map(E=>`${E.pair}${E.rel}`).join("、")},吉凶各派看法不一`,b=[...zn,...Y].some(E=>E.source==="user")?"mixed":"table";return{available:!0,surnameStyle:I?"复姓":"单姓",strokes:[...B.map((E,V)=>({char:E,strokes:zn[V].strokes,source:zn[V].source,kind:"姓"})),...pn.map((E,V)=>({char:E,strokes:Y[V].strokes,source:Y[V].source,kind:"名"}))],rows:un,sancai:{elements:U,text:`${U.join("")}(${on})`,relations:cn},summary:un.map(E=>`${E.key}${E.strokes}${E.level}`).join(" "),source:b}}const Pn=["zh","ch","sh","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","z","c","s","y","w"];function Kn(f){const C=String(f||"").toLowerCase();for(const N of Pn)if(C.startsWith(N))return{ini:N,fin:C.slice(N.length)};return{ini:"",fin:C}}const c={1:"一",2:"二",3:"三",4:"四"};function D(f,C=1){const N=[...String(f||"")];if(N.length<2)return{available:!1,reason:"至少两个字才谈得上音韵"};const B=Math.min(Math.max(1,C|0),N.length),pn=N.map((T,rn)=>{const I=hn(T,rn<B?"surname":"given");return I?{char:T,py:I.py,tone:I.tone,...Kn(I.py)}:{char:T,py:null,tone:null,ini:null,fin:null}}),qn=pn.filter(T=>!T.py).map(T=>T.char);if(qn.length)return{available:!1,reason:`这些字没有读音数据:${qn.join("、")}`,missing:qn};const Zn=[];new Set(pn.map(T=>T.tone)).size===1&&pn.length>=2&&Zn.push({type:"tone",text:`全名都是${c[pn[0].tone]}声,声调没有起伏`});for(let T=1;T<pn.length;T++){const rn=pn[T-1],I=pn[T];if(rn.py===I.py&&rn.tone===I.tone){Zn.push({type:"same",text:`「${rn.char}${I.char}」同音同调(叠字或撞音)`});continue}rn.ini&&rn.ini===I.ini&&Zn.push({type:"initial",text:`「${rn.char}${I.char}」同声母 ${rn.ini}`}),rn.fin===I.fin&&Zn.push({type:"final",text:`「${rn.char}${I.char}」同韵母 ${rn.fin}`})}const Y=new Set(pn.map(T=>T.ini).filter(Boolean));pn.length>=3&&Y.size===1&&Zn.push({type:"initial",text:`三字同声母 ${[...Y][0]},连着读容易黏在一起`});const yn=Zn.length===0?"顺口":Zn.length===1?"略拗":"拗口",Q=N.slice(0,B).filter(T=>L[T]&&k[T]).map(T=>({char:T,py:k[T][0],tone:k[T][1]}));return{available:!0,chars:pn.map(T=>({char:T.char,py:T.py,tone:T.tone})),tonePattern:pn.map(T=>T.tone).join("-"),issues:Zn,alt:Q,level:yn}}function Sn(f,C){const N=f&&f.charElements;if(!N||typeof N!="object")return null;const B=N[C];return z.includes(B)?B:null}function Mn(f,C,N,B=3){const pn=S.filter(qn=>qn[1]===f&&!N.has(qn[0]));return pn.sort((qn,Zn)=>{const zn=yn=>yn[3]===C||yn[3]==="n"?1:0,Y=yn=>g.has(yn[0])?1:0;return Y(Zn)-Y(qn)||zn(Zn)-zn(qn)}),pn.slice(0,B).map(qn=>({char:qn[0],element:qn[1],meaning:qn[2]}))}const kn={m:"男",f:"女",n:"中"};function wn(f){const C=f&&f.level?f.level:null,N=f&&f.dayElement?f.dayElement:null;return!N||!C?{list:z.slice(),basis:"未取得旺衰:不筛五行,只做用字与字义建议"}:C==="身强"||C==="偏强"?{list:[r[N],d[N],o[N]].filter(Boolean),basis:`${C}(${N}):宜克、泄、耗——用${r[N]}(克我)、${d[N]}(我生)、${o[N]}(我克)`}:C==="身弱"||C==="偏弱"?{list:[N,u[N]].filter(Boolean),basis:`${C}(${N}):宜生、扶——用${N}(同我)、${u[N]}(生我)`}:{list:z.slice(),basis:`${C}:中和不偏,五行皆可用,以字义与音形为先`}}function dn(f){return i.get(f)||null}function X(f){fn(f,"assessName 的参数","{ surname, givenName, year?, month?, day? }");const C=String(f.surname||"").trim();if(!C)throw nn("E_INPUT","缺少姓氏:请给 surname(如「李」)");const N=String(f.givenName||"").trim();if(!N)throw nn("E_INPUT","缺少名字:请给 givenName(1–2 个汉字,如「沐宸」)");if([...N].length>2)throw nn("E_INPUT","名请给 1–2 个汉字;复姓请把复姓整体写在 surname,名只留 1–2 字");let B={list:[],basis:""},pn=null,qn=null;const Zn=Number.isInteger(f.year)&&Number.isInteger(f.month)&&Number.isInteger(f.day);if(Zn){sn(f,"birth");const un=P({year:f.year,month:f.month,day:f.day,hour:Number.isInteger(f.hour)?f.hour:0,minute:Number.isInteger(f.minute)?f.minute:0,gender:f.gender||"male",lateZi:en(f.lateZi,!0),trueSolar:en(f.trueSolar,!0),dst:en(f.dst,!0),longitude:f.longitude,address:f.address,geo:f.geo});pn={level:un.strength.level,score:un.strength.score,dayElement:un.pillars.day.stemElement},B=wn(pn),qn={dayMaster:un.dayMaster,solarNote:un.solarTime?un.solarTime.note:""}}const zn=f.gender==="female"?"f":"m",Y=new Set([C,...N]),yn=B.list.length?B.list:z.slice(),Q=[...N].map(un=>{const _n=dn(un),U=Sn(f,un);return _n?{char:un,element:_n.el,meaning:_n.meaning,genderHint:kn[_n.g],favorable:Zn?B.list.includes(_n.el):null,source:"lib",note:null}:U?{char:un,element:U,meaning:"字库未收录;五行按你指定的「"+U+"」计",genderHint:null,favorable:Zn?B.list.includes(U):null,source:"user",note:"此字五行由调用方指定,不是字库推断"}:{char:un,element:"未收录",meaning:"字库未收录,未推断五行(不猜)",genderHint:null,favorable:null,source:"none",note:Zn?"若想贴合命局,可换用下面的同喜用字":"字库未收录:给出生辰后可以看同喜用的替换字",suggest:Zn?yn.flatMap(cn=>Mn(cn,zn,Y,2)):[]}}),T=Q.filter(un=>un.source==="lib").length,rn=Q.filter(un=>un.source==="none").length,I=Q.filter(un=>un.favorable===!0).length,F=Q.length-rn;let ln;Zn?rn===Q.length?ln=`两字都不在字库里,没法判断合不合喜用(喜用为 ${B.list.join("、")})。下面给了可替换的常用字,或把你自己认定的五行传进来。`:I===F&&F>0?ln=`用字都落在喜用(${B.list.join("、")})上,与命局方向一致。`:I>0?ln=`部分用字合喜用(${I}/${F}),其余可再斟酌;喜用为 ${B.list.join("、")}。`:ln=`用字未落在喜用(${B.list.join("、")})上;不必然是坏名,但若想贴合命局可换字再看。`:ln="只做了字义与五行归类;给出生年月日才能判断用字是否合喜用。";const xn=H(f),tn=K(C,N,xn),In=D(C+N,[...String(C||"")].length);return{system:"name",action:"assess",surname:C,givenName:N,fullName:C+N,...Zn?{bazi:{...qn,strength:pn,favorable:B.list,basis:B.basis}}:{},chars:Q,wuge:tn,phonetics:In,stats:{chars:Q.length,known:T,unknown:rn,favorableCount:I,libSize:S.length,wugeReady:tn.available===!0},verdict:ln,notes:[`字之五行按通行字义/偏旁归类,自建字库共 ${S.length} 字(常用名用字为主);未收录的字不猜五行,如实标注,「用户指定」是你传入的归类。`,"五格按康熙字典繁体笔画计(氵→水4、艹→艸6、华→華14 这类换算),81 数理取通行本、各派对少数数取法有出入;姓氏笔画表没覆盖的姓或你想按别派算,可传 strokeOverrides 覆盖。","音韵只做机械检查(全名同调、相邻同声母/同韵母、叠字),不做语义谐音判断——谐音、方言读法还得自己读三遍。","起名只做用字参考,不替父母做决定。"]}}function an(f){fn(f,"generateNames 的参数","{ surname, year, month, day, limit? }");const C=String(f.surname||"").trim();if(!C)throw nn("E_INPUT","缺少姓氏:请给 surname(如「李」)");if(!Number.isInteger(f.year)||!Number.isInteger(f.month)||!Number.isInteger(f.day))throw nn("E_INPUT","生成候选名需要完整出生年月日(公历):不给生辰无法判断喜用五行");sn(f,"birth");const N=f.gender==="female"?"female":"male",B=Math.max(1,Math.min(20,Number.isInteger(f.limit)?f.limit:10)),pn=P({year:f.year,month:f.month,day:f.day,hour:Number.isInteger(f.hour)?f.hour:0,minute:Number.isInteger(f.minute)?f.minute:0,gender:N,lateZi:en(f.lateZi,!0),trueSolar:en(f.trueSolar,!0),dst:en(f.dst,!0),longitude:f.longitude,address:f.address,geo:f.geo}),qn={level:pn.strength.level,score:pn.strength.score,dayElement:pn.pillars.day.stemElement},Zn=wn(qn),zn=S.filter(b=>Zn.list.includes(b[1])&&b[0]!==C),Y=N==="male"?"m":"f",yn=[...C],Q=H(f),T=yn.map(b=>q(b,Q,"surname")),rn=yn.length<=2&&T.every(Boolean),I=rn?T.reduce((b,E)=>b+E.strokes,0):0,F=rn?T[T.length-1].strokes:0,ln=b=>{const E=M(b);return E?E.level==="吉"?2:E.level==="半吉"?1:0:0},xn=new Map(zn.map(b=>[b[0],(q(b[0],Q,"given")||{}).strokes||0])),tn=[];for(let b=0;b<zn.length;b++)for(let E=0;E<zn.length;E++){if(b===E)continue;const V=zn[b],Hn=zn[E],bn=Cn=>Cn[3]===Y||Cn[3]==="n"?1:0,Tn=bn(V)+bn(Hn)-(V[3]!==Y&&V[3]!=="n"&&Hn[3]!==Y&&Hn[3]!=="n"?2:0),Rn=g.has(V[0]),Nn=g.has(Hn[0]),w=(Rn&&Nn?2:0)+(Rn||Nn?1:0),s=xn.get(V[0]),O=xn.get(Hn[0]);let An=0;if(rn&&s&&O){const Cn=F+s,Fn=s+O,$n=I+s+O;An=ln(Cn)+ln(Fn)+ln($n)+ln($n-Cn+1)}tn.push({name:V[0]+Hn[0],chars:[{char:V[0],element:V[1],meaning:V[2]},{char:Hn[0],element:Hn[1],meaning:Hn[2]}],elements:[V[1],Hn[1]],allFavorable:Zn.list.includes(V[1])&&Zn.list.includes(Hn[1]),commonScore:w,genderScore:Tn,wugeScore:An,order:(b*7+E*13)%9973})}const In=b=>b.elements[0]!==b.elements[1]?1:0;tn.sort((b,E)=>E.allFavorable-b.allFavorable||In(E)-In(b)||E.commonScore-b.commonScore||E.wugeScore-b.wugeScore||E.genderScore-b.genderScore||b.order-E.order);const un=[],_n=new Set,U=new Set([C]),cn=new Set,on=(b,E,V)=>{const Hn=[...b.name].sort().join("");if(_n.has(Hn)||E&&b.chars.some(Tn=>U.has(Tn.char)))return!1;const bn=b.elements.join("");return V&&cn.has(bn)?!1:(_n.add(Hn),cn.add(bn),b.chars.forEach(Tn=>U.add(Tn.char)),un.push({rank:un.length+1,name:C+b.name,given:b.name,chars:b.chars,wuge:K(C,b.name,Q),phonetics:D(C+b.name,[...String(C||"")].length)}),!0)};for(const b of tn){if(un.length>=B)break;on(b,!0,!0)}for(const b of tn){if(un.length>=B)break;on(b,!0,!1)}for(const b of tn){if(un.length>=B)break;on(b,!1,!1)}return{system:"name",action:"generate",surname:C,gender:N==="male"?"男":"女",bazi:{dayMaster:pn.dayMaster,strength:qn,favorable:Zn.list,basis:Zn.basis},candidates:un,notes:[`字库共 ${S.length} 字,只在喜用五行(${Zn.list.join("、")})里选字;未覆盖的生僻好字可用 charElements 指定五行后评估。`,"候选排序依次看:合喜用 → 两字异行 → 常用字优先 → 五格(人格/地格/总格/外格 吉多者先)→ 性别倾向 → 字库序,是排序不是「吉名」判定。",rn?"五格按康熙字典繁体笔画与通行本 81 数理算;姓的笔画取自内置姓氏表,没覆盖的姓可传 surnameStrokes 或 strokeOverrides。":"姓的笔画不在内置姓氏表里,这一轮没按五格排序(不半算);可传 surnameStrokes 或 strokeOverrides 后重算。","音韵只做机械检查(同调、相邻同声母/同韵母、叠字),不做语义谐音判断——候选的音韵结果随每条一起给出。"]}}function gn(f){if(!f||typeof f!="object")throw nn("E_INPUT","起名参数不能为空:评名要 surname / givenName,起名要 surname 与性别/生日");if(f.action!=null&&f.action!=="assess"&&f.action!=="generate")throw nn("E_INPUT",`起名 action 只能是 assess / generate,收到「${String(f.action).slice(0,24)}」`);return f.action==="generate"?an(f):X(f)}return{CHAR_LIB:S,shuliOf:M,wuge:K,splitPinyin:Kn,phonetics:D,favorableElements:wn,assessName:X,generateNames:an,buildName:gn}})(),W["bazi-words"]=(function(){const P={甲:{image:"参天之木",look:"身形多半偏修长,肩背挺,站着有股站相",temper:"直、有担当,认定的事不太会转弯",gift:"扛得起事,适合把一摊子组织起来",trap:"不会转弯,撞上南墙也硬顶"},乙:{image:"藤萝之木",look:"身形柔韧,气质亲和,不太有攻击性",temper:"柔中带韧,擅长借力,能屈能伸",gift:"协调、渗透,在缝隙里也能生长",trap:"太依赖环境,环境一换就慌"},丙:{image:"太阳之火",look:"面色偏红润,精神足,进门容易被注意到",temper:"外放热情,心里想什么脸上就写着什么",gift:"感染人、带动气氛,适合站到台前",trap:"三分钟热度,来得快去得也快"},丁:{image:"灯烛之火",look:"偏清瘦,眼神亮,动静之间有点静气",temper:"内敛细腻,认准一件事能守很久",gift:"专注、耐得住,适合做需要磨的活",trap:"敏感,容易在心里反复内耗"},戊:{image:"城墙之土",look:"骨架偏厚,给人稳当、压得住场的感觉",temper:"沉稳慢热,不轻易表态,表态了就算数",gift:"承载与守成,能把局面稳稳托住",trap:"太钝,机会过了才反应过来"},己:{image:"田园之土",look:"面目温和,身形圆润,没什么棱角",temper:"包容细致,想得多,习惯先照顾别人",gift:"经营与服务,把琐碎的事理顺",trap:"纠结,反复权衡反而错过时机"},庚:{image:"刀剑之金",look:"骨架硬朗,气场直接,说话不绕弯",temper:"果决、讲义气,眼里容不下拖泥带水",gift:"执行与开疆,难啃的骨头敢接",trap:"太刚,锋利的一面容易伤到亲近的人"},辛:{image:"珠玉之金",look:"清秀讲究,衣着细节看得出用心",temper:"精致敏锐,对分寸与体面很在意",gift:"审美与精细活,做得比说的好",trap:"挑剔,也容易被一句评价刺到"},壬:{image:"江河之水",look:"身形偏厚实,眉眼开阔,气度大",temper:"大开大合,爱自由,不喜欢被框住",gift:"统筹与流动,能把资源盘活",trap:"散漫,摊子铺开却收不回来"},癸:{image:"雨露之水",look:"清秀安静,存在感不抢,但耐看",temper:"细腻、直觉强,心事多半自己消化",gift:"感知与研究,能注意到别人漏掉的细节",trap:"多愁,遇事先退,容易错过表态的时机"}},en={正官:{role:"规则与名分",gift:"守序可靠,答应的事会做到",trap:"太在意评价,放不开手脚",love:"重承诺,但不擅长把在意说出口",work:"适合在成体系的组织里按层级上升"},七杀:{role:"压力与冲劲",gift:"抗压强、敢担事,越难越来劲",trap:"急躁,习惯用硬碰解决问题",love:"容易被有主见的人吸引,也容易互相较劲",work:"适合高挑战、要快速决断的岗位"},正财:{role:"稳定收入与责任",gift:"务实会积累,账目清楚",trap:"算得太细,不敢为机会冒一点险",love:"重实际,用行动多于言语",work:"适合按劳取酬、积累型的路径"},偏财:{role:"机会与流动资源",gift:"善抓机会、人脉活络",trap:"铺得太开,钱和精力都容易留不住",love:"大方、桃花多,边界要自己划",work:"适合业务、投资、资源整合"},食神:{role:"表达与享受",gift:"会生活,也能把喜欢的事做成产出",trap:"太舒服就懒下来,节奏一松就拖",love:"温柔会照顾人,也怕麻烦",work:"适合技术、创作、餐饮、教育"},伤官:{role:"才华与不服",gift:"点子多、敢改,能做出别人做不出的东西",trap:"嘴上不饶人,赢了道理输了关系",love:"要求高,容易挑对方的刺",work:"适合改革、创意、专业型岗位"},正印:{role:"支持与学习",gift:"有耐心、学得进,靠得住",trap:"依赖心重,想得多做得少",love:"需要被理解与照顾",work:"适合研究、文教、需要资质的岗位"},偏印:{role:"偏门与钻研",gift:"冷门的门类也能钻透",trap:"孤,想法多但不爱解释",love:"需要空间,不喜欢被管",work:"适合专精技术、冷门专业"},比肩:{role:"同伴与自我",gift:"独立、扛得住,不轻易麻烦别人",trap:"固执,什么都想亲力亲为",love:"相处像朋友多过像恋人",work:"适合并肩作战或独立负责一块"},劫财:{role:"竞争与行动",gift:"行动快、敢抢,机会面前不犹豫",trap:"冲动,容易在钱和人情上破口",love:"来去都快,需要给彼此空间",work:"适合业务冲刺、竞争型岗位"},比劫:{role:"自我与同辈",gift:"独立、扛得住,不太依赖别人",trap:"固执,什么都想自己来",love:"相处像并肩的伙伴",work:"适合独立负责一块,或与同频的人并肩"},食伤:{role:"表达与产出",gift:"有想法,也做得出东西",trap:"话多或要求高,容易得罪人",love:"重视交流,也容易挑刺",work:"适合创作、技术、教学这类要表达的岗位"},财:{role:"资源与现实",gift:"务实、会算账、抓得住机会",trap:"把安全感全押在数字上",love:"重实际,用行动多于言语",work:"适合业务、财务、资源整合"},官杀:{role:"规则与压力",gift:"守序、抗压、担得起责任",trap:"绷得太紧,习惯用硬碰解决",love:"重承诺,也容易管得太宽",work:"适合体系内按层级上升,或高压高挑战的岗位"},印:{role:"支持与学习",gift:"有耐心、学得进、靠得住",trap:"想得多做得少,依赖现成的东西",love:"需要被理解与照顾",work:"适合研究、文教、需要资质的岗位"}},sn={强:{泄:"这盘的问题是「力气有余、出口不够」:不缺劲头,缺的是把劲往哪使。先把方向定下来,比再多加一把力更管用。",制:"这盘气足又带压力:能扛事,但也容易一直绷着。学会把压力分出去,比硬顶更能长久。",耗:"这盘底子厚,适合在资源与实务上做文章:把力气换成看得见的成果,别停在想法里。"},弱:{生:"这盘底子偏薄,靠「有人托一把」最有效:找对平台、师友与环境,比自己硬撑省力得多。",比:"这盘单打独斗会累,找到同频的人并肩做,反而能把短板补上。",泄:"这盘不宜再往外耗,先收一收摊子,把根基补稳,再谈扩张。"},中:{default:"这盘五行相对均衡,没有哪一处特别极端:走哪条路都能走,靠的是选择与坚持,不是运气。"}};function fn(k,j){const $=/强/.test(String(k||"")),G=/弱/.test(String(k||"")),d=Array.isArray(j)?j:[String(j||"")];if(!$&&!G)return sn.中.default;const o=$?sn.强:sn.弱;for(const u of d){const r=/官杀/.test(u)?"制":/财/.test(u)?"耗":/食伤/.test(u)?"泄":/印/.test(u)?"生":/比劫/.test(u)?"比":"";if(r&&o[r])return o[r]}return $?o.泄:o.生}const nn=[[/自刑/,"自刑:自己跟自己较劲,多半是内耗而不是外来的事"],[/三会|三合/,"三合三会:几股力并成一股,做同类的事更容易成势"],[/半会|拱会/,"半会拱会:两支有会意但没凑成三会,像有默契还没结盟,可借势、不宜当定局"],[/半合|拱合/,"合(半合/拱合):三合只到两支,成势的苗头有了,还差最后一支"],[/六合|合/,"合:人事上容易谈拢,也容易被关系绑住、脱不开身"],[/相冲|冲/,"冲:桩子会晃,变动与拉扯偏多,宜先稳住再动"],[/相刑|刑/,"刑:规矩与情绪上的摩擦,事情不大但磨人"],[/相害|害/,"害:暗处的损耗,多是说不清的不顺"],[/相破|破/,"破:本来成形的事容易散,收尾要多花一分力"]];function A(k){const j=[];for(const $ of Array.isArray(k)?k:[])for(const[G,d]of nn)if(G.test($)&&!j.includes(d)){j.push(d);break}return j}function R(k){return en[String(k||"")]||null}function L(k){return P[String(k||"")]||null}return{STEM_PORTRAIT:P,TENGOD_PORTRAIT:en,FRAME_TONE:sn,frameToneOf:fn,relationNotes:A,godPortraitOf:R,stemPortraitOf:L}})(),W.followup=(function(){const{ZIWEI_STARS:P}=W["interpret-data"]||{},en=[{key:"career",label:"事业",words:["事业","工作","跳槽","升职","创业","职业","岗位","离职","加薪","面试","offer"]},{key:"wealth",label:"财富",words:["财","钱","收入","投资","买房","存款","亏","赚","分红"]},{key:"love",label:"感情",words:["感情","婚","恋","对象","分手","复合","姻缘","结婚","桃花"]},{key:"health",label:"健康",words:["健康","病","身体","手术","失眠","体检","医院"]},{key:"study",label:"学业",words:["学业","考试","学习","考研","考公","证书","升学"]},{key:"travel",label:"出行",words:["出行","搬家","旅行","出国","迁","远行"]}],sn={career:"官禄",wealth:"财帛",love:"夫妻",health:"疾厄",study:"官禄",travel:"迁移",overall:"命宫"},fn=(r,z)=>{const g=String(r).match(/(20\d{2})\s*年?/);if(g)return Number(g[1]);const y=Array.isArray(z.liunian)&&z.liunian[0]?Number(z.liunian[0].year):null;return y?/明年/.test(r)?y+1:/后年/.test(r)?y+2:/去年/.test(r)?y-1:/今年|本年/.test(r)?y:null:null},nn=r=>en.find(z=>z.words.some(g=>String(r).includes(g)))||null;function A(r,z){const g=fn(z,r),y=nn(z),S=Array.isArray(r.liunian)?r.liunian:[],i=Array.isArray(r.dayun?.list)?r.dayun.list:[],h=S.map(m=>m.year);if(g&&!S.some(m=>Number(m.year)===g))return{ok:!1,year:g,topic:y,answer:`这一盘已排的流年范围是 ${h[0]}–${h[h.length-1]},没有 ${g} 年。可以把问题改到范围内,或用 asOf 指定你想看的年份重新排盘。`,evidence:[`已排流年:${h.join("、")}`],confidence:"弱"};if(g){const m=S.find(K=>Number(K.year)===g),x=i.find(K=>Number(K.startAge)<=Number(m.age)&&Number(m.age)<=Number(K.startAge)+9)||null,M=m.luck?.tier||"平",H=(m.luck?.reasons||[]).slice(0,3),q=(m.relations||[]).join("、"),hn=y?L(r,y.key):"";return{ok:!0,year:g,topic:y,answer:`${g} 年(${m.ganzhi})流年,十神为${m.stemTenGod||"—"},档位「${M}」;所行大运 ${x?`${x.ganzhi}(${x.luck?.tier||"平"})`:"未取到"}。${H.length?`理由:${H.join(",")}。`:""}${q?`与该年地支相关的原局关系:${q}。`:""}${hn}`,evidence:[`流年 ${m.year} ${m.ganzhi}·${m.stemTenGod||""}·${M}`,x?`大运 ${x.ganzhi}·${x.luck?.tier||"平"}`:"",q?`原局关系 ${q}`:"",y?`问题方向:${y.label}`:""].filter(Boolean),confidence:x&&H.length?"强":"中"}}if(y){const m={wealth:"overall",study:"work",travel:"overall"}[y.key]||y.key,x=(r.interpret?.dimensions||[]).find(H=>H.key===y.key||H.key===m);if(x){const H=r.frame&&r.frame.godStats&&r.frame.godStats.groups||{},q=y.key==="wealth"?` 财星权重 ${Number(H.财||0)}(只作结构参考,不含金额)。`:"";return{ok:!0,year:null,topic:y,answer:`按${y.label}这条线看:${x.text}${q}${x.advice?` 建议:${x.advice}`:""}`,evidence:(x.evidence||[]).slice(0,4),confidence:x.confidence||"中"}}const M=r.frame&&r.frame.godStats&&r.frame.godStats.groups||{};if(Object.keys(M).length){const H=["比劫","食伤","财","官杀","印"].map(q=>`${q} ${Number(M[q]||0)}`);return{ok:!0,year:null,topic:y,answer:`「${y.label}」这条线,这一盘只带了盘面结构:${H.join("、")}。具体吉凶与建议需要解析层(排盘时加 withInterpret),追问这里不自行推演。`,evidence:H.slice(0,3),confidence:"弱"}}}return{ok:!1,year:null,topic:y,answer:`这个问题里没有识别到具体的年份或方面。可以这样问:「2027 年事业怎么样」「财运如何」「感情在 2028 年」;已排流年是 ${h[0]}–${h[h.length-1]}。`,evidence:[`可问年份:${h.join("、")}`],confidence:"弱"}}function R(r,z){const g=fn(z,r),y=nn(z),S=Array.isArray(r.liunian)?r.liunian:[];if(g&&!S.some(i=>Number(i.year)===g))return{ok:!1,year:g,topic:y,answer:`这一盘的流年表覆盖 ${S[0]?.year}–${S[S.length-1]?.year},没有 ${g} 年;可以换一个年份,或用 asOf 指定起点重新排盘。`,evidence:[`流年表:${S.map(i=>i.year).join("、")}`],confidence:"弱"};if(g){const i=S.find(m=>Number(m.year)===g),h=i.daxian||{};return{ok:!0,year:g,topic:y,answer:`${g} 年(${i.ganzhi},${i.age} 岁)流年命宫落在「${i.lifePalace?i.lifePalace.palace:"—"}」,四化为 ${(i.mutagen||[]).join("、")||"不明显"};所行大限${h.palace?`在${h.palace}(${h.start}–${h.end} 岁)`:"未取到"}。${y?`与「${y.label}」对应的宫位信号见下条依据。`:""}`,evidence:[`流年命宫 ${i.lifePalace?i.lifePalace.palace:"—"}(${i.lifePalace?i.lifePalace.branch:"—"})`,`四化 ${(i.mutagen||[]).join("、")||"不明显"}`,h.palace?`大限 ${h.palace}·${h.start}–${h.end}岁`:""].filter(Boolean),confidence:(i.mutagen||[]).length>=3?"强":"中"}}if(y){const i=sn[y.key]||"命宫",h=(r.palaces||[]).find(m=>m.palace===i);if(h){const m=(h.stars||[]).filter(M=>M.type==="主星").map(M=>M.name),x=m.map(M=>P[M]?.trait).filter(Boolean).slice(0,2).join(";");return{ok:!0,year:null,topic:y,answer:`「${y.label}」看${i}:主星${m.length?m.join("、"):"无正曜(借对宫)"}${x?`——${x}`:""}。宫支${h.branch},${h.stems,""}生年四化与煞星的影响需结合报告里的对应分节一起看。`,evidence:[`${i} ${h.branch}·${m.join("、")||"无正曜"}`,...(h.shensha||[]).slice(0,3)],confidence:m.length?"强":"弱"}}}return{ok:!1,year:null,topic:y,answer:"没有识别到具体年份或方面。可以问「2028 年事业」「感情怎么样」「财运在 2030 年」;也可以直接问某个宫位,如「夫妻宫」。",evidence:[],confidence:"弱"}}function L(r,z){return`这段时间可以重点对照报告里「${{career:"事业",wealth:"财富",love:"感情",health:"健康",study:"学业",travel:"出行"}[z]||"整体"}」一节看。`}function k(r,z){const g=nn(z),y=Array.isArray(r.interpret?.sections)?r.interpret.sections:[],S=g?y.find(m=>m.label.includes(g.label)||m.text.includes(g.label)):null;if(S)return{ok:!0,year:null,topic:g,answer:S.text,evidence:[`引用分节:${S.label}`],confidence:"中"};const i=y[0];if(i)return{ok:!1,year:null,topic:g,answer:`这一盘的追问需要落到具体方面(事业 / 财富 / 感情 / 健康 / 学业 / 出行)。先看「${i.label}」这一节,或把问题说得更具体一点。`,evidence:[],confidence:"弱"};const h=String(r&&r.summary||"").trim();if(h){const m=h.split(`
|
|
73
|
-
`).map(M=>M.trim()).filter(Boolean),x=g?m.filter(M=>g.words.some(H=>M.includes(H))):[];return{ok:!0,year:null,topic:g,answer:x.length?`${g.label}相关的盘面字段:${x.slice(0,3).join(";")}。这一盘没带解析层,只列盘面事实,不在这里补吉凶结论。`:`这一盘没有解析层,只能按盘面字段回答;可问的方向:${en.map(M=>M.label).join(" / ")}。下面任取摘要是盘面原文,未作推演。`,evidence:(x.length?x:m).slice(0,4),confidence:"弱"}}return{ok:!1,year:null,topic:g,answer:"这一盘暂时没有可追问的分节,也没有摘要字段;先重新排一次盘,再问具体方面。",evidence:[],confidence:"弱"}}function j(r,z){const g=String(z||"").trim(),y=r&&r.system==="bazi"?A(r,g):r&&r.system==="ziwei"?R(r,g):k(r,g);return{question:g,...y}}const $={bazi:"八字(四柱)",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",qimen:"奇门遁甲",tarot:"塔罗",hepan:"合盘",chenggu:"称骨",almanac:"黄历",zeri:"择日",star:"星座",numerology:"生命数字",mbti:"十六型人格",trend:"人生 K 线",fengshui:"风水",name:"起名",convert:"公农历互转"},G=Object.freeze({bazi:["基本信息","四柱(日主/十神/藏干)","旺衰·格局·用神","合冲·神煞","起运·大运·流年","古籍依据"],ziwei:["基本信息","命宫/身宫与五行局","十二宫(主星/辅煞/四化)","格局与三方四正","大限/流年","古籍依据"],liuyao:["所问与用神","本卦/变卦(世应/动爻/六亲)","月建日辰(旺衰/空破)","应期线索","卦辞与依据"],meihua:["所问与体用","本卦/互卦/变卦","五行生克","应期与依据"],daliuren:["天地盘(月将/贵人)","四课","三传","课体与神将","依据"],qimen:["四柱与局数","九宫(星门神/天盘干)","用神落宫","门宫·干宫·十干克应","旺衰·击刑入墓","依据"],tarot:["问题与牌阵","逐牌(正逆/牌面/元素对应)","牌间关系","综合倾向","边界"],fengshui:["坐向与元运","运盘/山盘/向盘","旺山旺向","取象与边界"]}),d=Object.freeze(["基本信息","盘面事实","结构与关系","倾向","边界"]);function o(r){return G[r]||d}function u(r,z={}){const g=$[r&&r.system]||r&&r.system||"未知体系",S=String(z&&z.question||"").trim()||"请先用一句白话讲清这张盘的主线,再指出最值得注意的一两处,并说明每处的具体依据。",i=Number.isFinite(z&&z.maxChars)&&z.maxChars>=400?z.maxChars:3e3,h=String(r&&r.summary||"").trim(),m=h.length>i,x=m?`${h.slice(0,i)}…(摘要已截断)`:h,M=z&&typeof z.interpret=="object"&&z.interpret||r&&typeof r.interpret=="object"&&r.interpret||null,H=String(M&&M.answer||"").trim(),q=String(M&&M.plain||"").trim(),hn=[];H&&hn.push(`直答:${H}`),q&&hn.push(`说人话:${q}`);const Pn=["【命理追问】下面这张盘是命理插件刚排好的,请就着它回答我的问题;不用重新排盘,盘面字段已经够用。",`体系:${g}`,`所问:${S}`,"",...hn.length?["——开场结论(插件已按同一套规则算好,开场先沿用这句;措辞可改,口径别换)——",...hn,""]:[],"——盘面层次(从上到下读,别跳层)——",`${g}:${o(r&&r.system).join(" → ")}`,"先复述事实,再讲结构与时间;上一层没交代清楚,不要跳到下一层。","","——盘面摘要——",x||"(这张盘没有摘要字段,请先让我重新排一次。)",...String(r&&r.jing||"").trim()?["","——《周易》经文原文(本插件按三份底本互校照录,〔一作…〕是异文,不是改写)——",String(r.jing).trim()]:[],...r&&r.zuoyao&&r.zuoyao.verses?["",`——紫微杂曜安星诀(本盘开了全表,${r.zuoyao.placed.length} 颗已按下列诀安入;诀文出多处近代通行辑本并核,属通行说,不是《紫微斗数全书》原文)——`,String(r.zuoyao.verses).trim(),`未另立:${(r.zuoyao.skipped||[]).join(";")}`]:[],"","——回答要求——","读者不懂命理。按下面的骨架答;任何一句他看不懂,就算没写完:",hn.length?"1) 开头一句结论:先沿用上面的「开场结论」,再用一句不用术语的话说清这张盘的主线——只读这一句也该有收获;":"1) 开头一句结论:不用术语,一句话说清这张盘的主线,只读这一句也该有收获;","2) 第二段只复述盘面骨架:按上面的层次用 2–4 行写事实(如四柱、格局、用神、大运),不掺倾向,让读者知道后面的判断从哪来;","3) 判断最多两条,按重要性排序,每条分四行写:"," 盘面|只引盘面已有的字(具体的柱、宫或爻、字段名),不掺解释;"," 白话|把上一行的术语当场翻成日常话——调候 / 化气 / 通关 / 空亡 / 争合 这类词必须落地,一个词只翻一次,不连续堆三个以上;"," 倾向|说「更可能……」,讲清它在现实里大概意味着什么,用概率语气;"," 边界|这条在什么情况下不成立;盘面没给的,直接写「这盘里看不出来」;","4) 收尾一句「如果只记一件事」:给一条能核对、能动手的观察点,并说明它出自上面哪条盘面依据;","5) 别把传统说法当成已证实的事实:不下绝对断言,也不用「肯定」「绝对」这类词,更不写「格局很好」「运程不顺」这种没有信息的空话。"].join(`
|
|
74
|
-
`);return{text:Pn,question:S,system:r&&r.system||"",label:g,chars:Pn.length,truncated:m}}return{followup:j,READING_ORDERS:G,READING_ORDER_FALLBACK:d,readingOrderOf:o,askPrompt:u}})(),W.revise=(function(){const P=[{key:"ziwei",label:"紫微",re:/紫微|斗数/},{key:"bazi",label:"八字",re:/八字|四柱/},{key:"liuyao",label:"六爻",re:/六爻|摇卦/},{key:"qimen",label:"奇门",re:/奇门/},{key:"daliuren",label:"大六壬",re:/大六壬|六壬/},{key:"tarot",label:"塔罗",re:/塔罗|抽牌/},{key:"meihua",label:"梅花",re:/梅花/},{key:"hepan",label:"合盘",re:/合盘|合婚/},{key:"almanac",label:"黄历",re:/黄历|老黄历/},{key:"zeri",label:"择日",re:/择日|挑日子/},{key:"fengshui",label:"风水",re:/风水/},{key:"name",label:"起名",re:/起名|取名/},{key:"chenggu",label:"称骨",re:/称骨/},{key:"xiaoliuren",label:"小六壬",re:/小六壬/},{key:"star",label:"星座",re:/星座/},{key:"numerology",label:"生命数字",re:/生命数字|生命灵数/},{key:"mbti",label:"MBTI",re:/mbti|人格测试|十六型/i},{key:"trend",label:"人生 K 线",re:/k\s*线|人生曲线/i},{key:"convert",label:"公农历互转",re:/农历转公历|公历转农历|公农历/}],en=[{key:"love",label:"感情",re:/感情|婚姻|恋爱|对象|夫妻/},{key:"wealth",label:"财运",re:/财运|财富|赚钱|收入|破财/},{key:"career",label:"事业",re:/事业|工作|升职|跳槽/},{key:"health",label:"健康",re:/健康|身体|疾病|病/},{key:"study",label:"学业",re:/学业|考试|考研|升学|读书/},{key:"travel",label:"出行",re:/出行|搬家|迁移|旅行|外地/}],sn=/换成|改成|改为|换到|改看|再看|再看一下|换一套|排一?张|用|按|看/,fn=k=>String(k||"").replace(/(出生|出生地|所在地|人)$/,"").replace(/[的了].*$/,"").trim();function nn(k){const j=String(k??"").trim(),$={},G=[],d=[];if(!j)return{text:"",patch:$,labels:G,ignored:d};if(sn.test(j)){for(const r of P)if(r.re.test(j)){$.system=r.key,G.push({key:"system",label:"体系",value:r.key,display:r.label});break}}/女命|女性|换成女|改成女|女盘/.test(j)?($.gender="female",G.push({key:"gender",label:"性别",value:"female",display:"女"})):/男命|男性|换成男|改成男|男盘/.test(j)&&($.gender="male",G.push({key:"gender",label:"性别",value:"male",display:"男"})),/晚子时/.test(j)&&(/不换日|不换天|算当日|归当日|按当日|当天/.test(j)?($.lateZi=!1,G.push({key:"lateZi",label:"晚子时",value:!1,display:"23:00 后仍算当日"})):/换日|算次日|归次日|按次日|第二天|次日/.test(j)&&($.lateZi=!0,G.push({key:"lateZi",label:"晚子时",value:!0,display:"23:00 后算次日"}))),/真太阳时/.test(j)&&(/不用|不要|关闭|关掉|取消|不算/.test(j)?($.trueSolar=!1,G.push({key:"trueSolar",label:"真太阳时",value:!1,display:"用东八区平太阳时"})):($.trueSolar=!0,G.push({key:"trueSolar",label:"真太阳时",value:!0,display:"按出生地经度校正"}))),/夏令时/.test(j)&&(/不用|不要|关闭|关掉|取消|不校正/.test(j)?($.dst=!1,G.push({key:"dst",label:"夏令时",value:!1,display:"不自动校正 1986–1991 夏令时"})):($.dst=!0,G.push({key:"dst",label:"夏令时",value:!0,display:"自动校正 1986–1991 夏令时"})));const o=j.match(/出生在\s*([\u4e00-\u9fa5]{2,12})/)||j.match(/出生地(?:改成|改为|换成|换到|是|为)?\s*([\u4e00-\u9fa5]{2,12})/)||j.match(/改到\s*([\u4e00-\u9fa5]{2,12})\s*出生/);if(o){const r=fn(o[1]);r.length>=2&&($.address=r,G.push({key:"address",label:"出生地",value:r,display:r}))}const u=j.match(/(?:看|查|问|到|到了|临近)\s*((?:19|20)\d{2})\s*年/)||j.match(/((?:19|20)\d{2})\s*年(?:的)?(?:运势|怎么样|如何|会怎样|流年)/);if(u){const r=Number(u[1]);$.asOf=`${r}-01-01T00:00`,G.push({key:"asOf",label:"流年基准",value:$.asOf,display:`${r} 年`})}else/(出生|生年)/.test(j)&&/(19|20)\d{2}\s*年/.test(j)&&d.push("出生年份没改:一句话改不出日与时辰,请直接传 datetime(如 1993-04-08T06:20)");for(const r of en)if(r.re.test(j)){$.direction=r.key,G.push({key:"direction",label:"询问方向",value:r.key,display:r.label});break}return/解读|详解|详细说|说人话/.test(j)&&!/不要解读|不用解读|别解读/.test(j)&&($.withInterpret=!0,G.push({key:"withInterpret",label:"解读",value:!0,display:"附解析与详解"})),{text:j,patch:$,labels:G,ignored:d}}const A=P,R=en;function L(k,j){if(j==null)return null;if(k==="system"){const $=P.find(G=>G.key===j);return $?$.label:String(j)}if(k==="gender")return j==="female"?"女":j==="male"?"男":String(j);if(k==="direction"){const $=en.find(G=>G.key===j);return $?$.label:String(j)}if(typeof j=="boolean")return j?"开":"关";if(k==="asOf"){const $=String(j).match(/^(\d{4})/);return $?`${$[1]} 年`:String(j)}return String(j)}return{parseRevision:nn,REVISE_SYSTEMS:A,REVISE_DIRECTIONS:R,displayValue:L}})(),W.handle=(function(){const{fail:P}=W.fail||{},en="mc1.",sn=new Set(["handle","trace","shadow","shadowVersion","diff","withInterpret","detail","cross","verifyPast","rectify","events","ask","followup","question","geocode","caliber","geo","longitudeFromGeo","revise"]),fn=h=>h!==null&&typeof h=="object"&&!Array.isArray(h);function nn(h){if(Array.isArray(h))return`[${h.map(x=>nn(x===void 0?null:x)).join(",")}]`;if(fn(h))return`{${Object.keys(h).filter(M=>h[M]!==void 0).sort().map(M=>`${JSON.stringify(M)}:${nn(h[M])}`).join(",")}}`;const m=JSON.stringify(h===void 0?null:h);return m===void 0?"null":m}function A(h){let m=2166136261;for(let x=0;x<h.length;x++)m^=h.charCodeAt(x),m=Math.imul(m,16777619)>>>0;return m.toString(16).padStart(8,"0")}const R="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function L(h){const m=[];for(const x of String(h)){let M=x.codePointAt(0);M<128?m.push(M):M<2048?m.push(192|M>>6,128|M&63):M<65536?m.push(224|M>>12,128|M>>6&63,128|M&63):m.push(240|M>>18,128|M>>12&63,128|M>>6&63,128|M&63)}return m}function k(h){let m="";for(let x=0;x<h.length;){const M=h[x];let H,q;M<128?(H=M,q=1):M<224?(H=M&31,q=2):M<240?(H=M&15,q=3):(H=M&7,q=4);for(let hn=1;hn<q;hn++)H=H<<6|h[x+hn]&63;x+=q,m+=String.fromCodePoint(H)}return m}function j(h){const m=L(h);let x="";for(let M=0;M<m.length;M+=3){const H=m[M],q=m[M+1],hn=m[M+2];if(x+=R[H>>2],x+=R[(H&3)<<4|(q===void 0?0:q)>>4],q===void 0||(x+=R[(q&15)<<2|(hn===void 0?0:hn)>>6],hn===void 0))break;x+=R[hn&63]}return x}function $(h){const m=[];let x=0,M=0;for(const H of h){const q=R.indexOf(H);if(q<0)throw new Error(`不是 base64url 字符:${H}`);x=x<<6|q,M+=6,M>=8&&(M-=8,m.push(x>>M&255))}return k(m)}function G(h={}){const m={};for(const[x,M]of Object.entries(h||{}))sn.has(x)||M===void 0||(m[x]=M);return m}function d(h={}){const m=G(h);if(!Object.keys(m).length)return"";const x=j(nn(m));return`${en}${x}.${A(x)}`}function o(h){if(typeof h!="string"||!h.trim())throw P("E_HANDLE","handle 必须是非空字符串;没拿到句柄时照常传 system + datetime 等原始参数即可");const m=h.trim();if(!m.startsWith(en))throw P("E_HANDLE",`handle 前缀不对(应以 ${en} 开头):句柄来自旧版本或复制不全,重新排一次盘取新的 handle`);const x=m.slice(en.length),M=x.lastIndexOf(".");if(M<=0)throw P("E_HANDLE","handle 缺少校验位:复制时可能被截断,重新取一次");const H=x.slice(0,M),q=x.slice(M+1);if(A(H)!==q)throw P("E_HANDLE","handle 校验不通过:内容被改动或截断,重新排一次盘取新的 handle");let hn;try{hn=JSON.parse($(H))}catch{throw P("E_HANDLE","handle 内容无法解析(不是本插件生成的句柄),重新排一次盘取新的 handle")}if(!fn(hn))throw P("E_HANDLE","handle 内容不是参数对象,重新排一次盘取新的 handle");return hn}const u=new Set(["__proto__","constructor","prototype"]),r={hour:["chenggu","xiaoliuren","name"],minute:["name"],date:["xiaoliuren"],mode:["convert","meihua","xiaoliuren"],action:["fengshui","name"]};function z(h,m){if(!fn(h))return h;const x=h.system;if(typeof x!="string"||!x)return h;for(const[M,H]of Object.entries(r))m.has(M)||h[M]===void 0||H.includes(x)||delete h[M];return h}function g(...h){const m=new Set;for(const x of h)if(fn(x))for(const[M,H]of Object.entries(x))H!==void 0&&M!=="handle"&&m.add(M);return m}function y(h={}){if(!fn(h))return h;const{handle:m,...x}=h;if(m==null||m==="")return{...x};const H={...o(m)};for(const[q,hn]of Object.entries(x))hn===void 0||u.has(q)||(H[q]=hn);return z(H,g(x)),H}return{handlePayload:G,encodeHandle:d,decodeHandle:o,pruneForeignKeys:z,ownedKeys:g,resolveHandle:y,HANDLE_PREFIX:en,handleChecksum:A}})(),W.bridge=(function(){const{encodeHandle:P,decodeHandle:en,HANDLE_PREFIX:sn}=W.handle||{},{askPrompt:fn}=W.followup||{},nn=200,A=60,R={bazi:"八字",ziwei:"紫微",liuyao:"六爻",meihua:"梅花",daliuren:"大六壬",qimen:"奇门",hepan:"合盘",tarot:"塔罗",almanac:"黄历",zeri:"择日",chenggu:"称骨",xiaoliuren:"小六壬",star:"星座",numerology:"生命数字",mbti:"人格",trend:"人生K线",fengshui:"风水",name:"起名",convert:"农历"},L=y=>R[y]||y||"未知体系";function k(y){const S=String(y||""),i=S.indexOf("#");return i<0?S:S.slice(0,i)}function j(y){try{return encodeURIComponent(y)}catch{return""}}function $(y){try{return decodeURIComponent(y)}catch{return String(y||"")}}function G(y={},S={}){const i=S||{},m=String(i.handle||y&&y.handle||"").trim()||P(y||{});if(!m||!m.startsWith(sn))return"";const x=String(i.question||"").trim().slice(0,nn),M=[`mp=${m}`];return x&&M.push(`q=${j(x)}`),`${k(i.base)}#${M.join("&")}`}function d(y){const S=String(y||"").trim();if(!S)return{ok:!1,code:"E_LINK",message:"没有链接内容:请粘贴带 #mp= 的完整链接"};let i="";const h=S.indexOf("#");if(h>=0&&S.slice(h+1).trim())i=S.slice(h+1).trim();else{const H=S.indexOf("?");H>=0&&S.slice(H+1).trim()?i=S.slice(H+1).trim():/^mp=/.test(S)&&(i=S)}if(!i)return{ok:!1,code:"E_LINK",message:"链接里没有 #mp= 片段:这不是本插件生成的深链"};const m={};for(const H of i.split("&")){if(!H)continue;const q=H.indexOf("=");if(q<=0)continue;const hn=H.slice(0,q),K=H.slice(q+1);hn==="mp"?m.mp=K:hn==="q"&&(m.q=K)}if(!m.mp)return{ok:!1,code:"E_LINK",message:"链接里没有 mp 参数(只有问题没有盘):无法还原盘面"};let x;try{x=en(m.mp)}catch(H){return{ok:!1,code:H&&H.code||"E_HANDLE",message:H&&H.message||"句柄无法解析"}}const M=m.q?$(m.q).slice(0,nn):"";return{ok:!0,handle:m.mp,args:x,question:M,system:x.system||"",label:L(x.system)}}const o=y=>{const S=/^(\d{4}-\d{1,2}-\d{1,2})[T ](\d{1,2}:\d{2})/.exec(String(y||"").trim());if(!S)return{date:"",time:""};const[i,h,m]=S[1].split("-");return{date:`${i}-${String(h).padStart(2,"0")}-${String(m).padStart(2,"0")}`,time:S[2].padStart(5,"0")}},u=["gender","address","trueSolar","lateZi","lines"];function r(y){const S=y&&y.ok?y:null,i=S&&S.args||{},h=o(i.datetime),m={tab:i.system||"",date:h.date,time:h.time,question:S&&S.question||"",restored:[],rest:{}};m.tab&&m.restored.push("system"),h.date&&m.restored.push("datetime");for(const x of u)i[x]===void 0||i[x]===null||(m[x]=i[x],m.restored.push(x));m.question&&m.restored.push("question");for(const[x,M]of Object.entries(i))x==="system"||x==="datetime"||u.includes(x)||(m.rest[x]=M);return m}function z(y){const S=Object.keys(y&&y.rest||{});return S.length?`链接里还有 ${S.length} 项没填回表单(${S.join("、")}):这些只在引擎调用里生效,页面上按默认值显示。`:""}function g(y,S={}){const i=S||{},h=y||{},m=h.system||"",x=L(m),M=String(i.question||"").trim(),H=String(h.handle||"").trim();let q="";try{const D=fn(h,{question:M,interpret:i.interpret});q=D&&D.text||String(h.summary||"")}catch{q=String(h.summary||"")}const hn=M?M.length>A?`${M.slice(0,A)}…`:M:"(未填问题:按摘要讲主线)",K=H?`【命理追问】${x}|${H}|问:${hn}`:`【命理追问】${x}|问:${hn}`,Pn={};H&&(Pn.handle=H),m&&(Pn.system=m),M&&(Pn.question=M);const Kn=JSON.stringify({tool:"metaphysics",v:1,args:Pn},null,2),c=H?G({handle:H},{question:M,base:i.base}):"";return{system:m,label:x,handle:H,question:M,full:q,brief:K,structured:Kn,link:c}}return{LINK_MAX_QUESTION:nn,askLink:G,parseAskLink:d,formOf:r,restNote:z,askPackages:g}})(),W["plain-summary"]=(function(){const{ASK_KINDS:P}=W["event-prompt"]||{},{PALACE_FIELD:en,GATE_MEANING:sn}=W["qimen-prompt"]||{},fn=P||{},nn=en||{},A=sn||{},R={wealth:"business",career:"career",love:"love",health:"other",study:"career",travel:"action",general:"other"},L=c=>R[c]||(fn[c]?c:"other"),k={木:{color:"青、绿",where:"东边、有树有水的地方",daily:"早上多出门走走"},火:{color:"红、橙、紫",where:"南边、向阳的房间",daily:"白天多晒太阳,别总待在阴冷的屋里"},土:{color:"黄、棕、米色",where:"中原地带、干爽高燥处",daily:"把作息和吃饭时间固定下来"},金:{color:"白、银、浅灰",where:"西边、通风利落的地方",daily:"把该断的事断干净,别拖"},水:{color:"黑、深蓝",where:"北边、临水处",daily:"留出独处和放空的时间"}},j={正印:"靠吸收和消化来获得安全感,习惯先想明白再动",偏印:"想得比说得多,一件事会在心里推演出很多种可能",正官:"对规矩和责任敏感,别人一句交代会变成自己的压力",七杀:"对压力和竞争敏感,遇强则强,也容易被强势的人吸引",正财:"对现实条件敏感,不太会被空话打动",偏财:"对机会敏感,愿意为看得见的回报承担风险",食神:"表达温和,喜欢把日子过得有滋味",伤官:"有自己的标准,看不上粗糙的东西,容易先挑毛病",比肩:"自我边界清楚,不太愿意被安排",劫财:"同辈之间容易较劲,也容易替朋友出头"},$={长生:"刚起步,有生机",沐浴:"不安定,容易被外界牵动",冠带:"在成形,开始要面子",临官:"正当力,能扛事",帝旺:"很足,但也容易过满",衰:"开始收力,做事偏保守",病:"使不上劲,需要借外力",死:"静态,不爱主动",墓:"收着、藏着,不爱外露",绝:"在这里使不上劲,容易觉得被压着",胎:"还在孕育,慢热",养:"在积攒,等时机"},G={紫微:"要主导、在意体面",天机:"脑子转得快,爱盘算",太阳:"愿意给出去,也容易被消耗",武曲:"务实,认结果",天同:"图安稳,怕冲突",廉贞:"要强,情绪起伏大",天府:"稳,能存住东西",太阴:"细腻,心思藏在里面",贪狼:"欲望强、多才多艺",巨门:"爱辨析,也容易生口舌",天相:"会配合,擅长讲和",天梁:"老成,愿意护着别人",七杀:"独断,敢冲",破军:"破旧立新,不安于现状"},d={庙:"得力",旺:"得力",得地:"还算得力",平:"一般",陷:"不太稳"},o=c=>[...new Set(c.filter(Boolean))],u={寅:"初春",卯:"仲春",辰:"暮春",巳:"初夏",午:"盛夏",未:"长夏",申:"初秋",酉:"仲秋",戌:"深秋",亥:"初冬",子:"仲冬",丑:"隆冬"};function r(c,D){const Sn={po:[],chong:[],he:[]};for(const Mn of c&&c.branches||[])!D||!String(Mn).includes(D)||(/破/.test(Mn)?Sn.po.push(Mn):/冲/.test(Mn)?Sn.chong.push(Mn):/合/.test(Mn)&&Sn.he.push(Mn));return Sn}function z(c){const D=c.pillars||{},Sn=D.day||{},Mn=D.month||{},kn=c.dayMaster||{},wn=c.climate||{},dn=c.input&&c.input.gender||"female",X=Object.entries(c.frame&&c.frame.godStats&&c.frame.godStats.groups||{}).filter(([,un])=>un>0).sort((un,_n)=>_n[1]-un[1]),an=c.frame&&c.frame.yongshen&&c.frame.yongshen.favorTenGods||[],gn=c.frame&&c.frame.yongshen&&c.frame.yongshen.favor||[],f=c.frame&&c.frame.yongshen&&c.frame.yongshen.avoid||[],C=u[Mn.branch]||`${Mn.branch}月`,N=wn.label==="寒湿"?"天寒水旺,木像冬天的藤,不是不强,是冷得伸展不开":wn.label==="燥热"?"火土偏燥,像久旱的地,需要水和湿气来松一松":"寒暖相对均衡,没有极端的偏枯",B=wn.need&&wn.need.element||gn[0]||"",pn=`${kn.stem||""}${kn.element||""}日主,生在${C}${Mn.branch||""}月:${N}。${B?`最需要的是${B}${wn.need&&wn.need.why?`——${wn.need.why}`:""}。`:""}整体${c.strength?c.strength.level:"中和"},不是极旺也不是极弱,所以${c.strength&&c.strength.level==="身弱"?"很多事要靠外部条件配合,硬扛不如借力":"撑得住,关键是别把力气用在错的地方"}。`,qn=X.slice(0,2).map(([un])=>un),Zn=[];for(const un of Object.values(D))un&&(un.stemTenGod&&Zn.push(un.stemTenGod),un.hidden&&un.hidden[0]&&un.hidden[0].tenGod&&Zn.push(un.hidden[0].tenGod));const Y=`${qn.map(un=>{const _n={印:["正印","偏印"],官杀:["正官","七杀"],食伤:["食神","伤官"],财:["正财","偏财"],比劫:["比肩","劫财"]}[un]||[],U=_n.find(cn=>Zn.includes(cn))||_n[0];return U&&j[U]?`${un}偏重:${j[U]}。`:""}).filter(Boolean).join("")}${an.length,""}`+(qn.includes("印")?"想得多是你的默认状态,好处是稳,代价是慢和累。":""),yn=dn==="female"?["正官","七杀"]:["正财","偏财"],Q=dn==="female"?"官杀(正官与七杀)":"财星(正财与偏财)",T={year:"年干",month:"月干",day:"日干",hour:"时干"},rn=Object.entries(D).filter(([,un])=>un&&yn.includes(un.stemTenGod)).map(([un,_n])=>`${T[un]}${_n.stemTenGod}`),I=Sn.hidden&&Sn.hidden[0]&&Sn.hidden[0].tenGod||"",F=r(c.relations,Sn.branch),ln=[];ln.push(`${dn==="female"?"女命":"男命"}看配偶星取${Q}${rn.length?`,${rn.join("、")}`:",盘中未透干"}${rn.length?"——摆在明处,说明这件事在你生活里是绕不开的主题":"——不显在明处,往往要靠后天遇到的人把它带出来"}。`),I&&ln.push(`日支(配偶宫)坐${Sn.branch}${I}${Sn.dishi?`,日主在这里是「${Sn.dishi}」:${$[Sn.dishi]||""}`:""}。`),F.po.length&&ln.push(`日支与另一支相破(${F.po.join("、")}):破不是吵架,是那种说不清、解释不明白的暗耗,容易冷处理。`),F.chong.length&&ln.push(`日支逢冲(${F.chong.join("、")}):关系里变动感强,聚散、异地、节奏不一致都可能出现。`),F.he.length&&ln.push(`日支有合(${F.he.join("、")}):容易被关系拴住,进去了就不太想出来。`),c.hourUnknown&&ln.push("时柱暂缺,所以「子女」这一路的信息读不出,感情结论也就少了三分之一。");const xn=(c.frame&&c.frame.geju||[]).map(un=>un.name),tn=[];F.po.length&&tn.push("破在日支:最伤人的往往不是大事,是没说开的小事。"),xn.includes("伤官见官")&&tn.push("盘里有「伤官见官」的组合:既想要稳定,又忍不了对方的毛病,这是同一件事的两面。"),qn.includes("印")&&!qn.includes("财")&&tn.push("印重而财轻:想得多、落得少;越焦虑越容易继续想。"),tn.length||tn.push("这一盘没有特别尖锐的冲克,卡点更多在「节奏」上——什么时候该动,什么时候该停。");const In=[];if(B&&k[B]){const un=k[B];In.push(`多接触${B}:${un.color}这类颜色、${un.where},日常可以${un.daily}。`)}return f.length&&In.push(`少把自己放在${f.slice(0,2).join("、")}过重的环境里——不是不能碰,是别长期待在那种氛围中。`),qn.includes("印")&&In.push("给「想」设个时限:一件事想超过十分钟还没结论,就先做一个最小动作,用行动换信息。"),xn.includes("伤官见官")&&In.push("把标准用在事情上,不要用在人身上;对人提要求之前,先说清你需要什么。"),{system:"bazi",title:"先看这一张:这张盘大致在说什么",chips:o([`${kn.stem||""}${kn.element||""}日主`,`${Mn.branch||""}月`,wn.label||"",c.strength?c.strength.level:"",c.hourUnknown?"时柱暂缺":""]),lead:pn,sections:[{h:"你的底色",t:Y||"结构比较均衡,没有一边倒的偏重。"},{h:"感情这件事",t:ln.join("")},{h:"最容易卡住的地方",t:tn.join("")}],advice:In,caveat:c.hourUnknown?"时柱暂缺:以上只据年、月、日六个字,等于全盘信息的七成左右。子女缘分、晚年走势、以及「内心最深处那一层」都读不全,结论只作参考。":"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}function g(c){const D=c.palaces||[],Sn=D[0]||{},Mn=c.body||{},kn=(Sn.stars||[]).filter(zn=>zn.type==="主星"),wn=D.find(zn=>zn.isBody)||{},dn=D.find(zn=>zn.palace==="夫妻")||{},X=kn.map(zn=>zn.name).join("、")||"空宫(借对宫)",an=kn.map(zn=>d[zn.brightness]||"").filter(Boolean)[0]||"",gn=zn=>zn.filter(Y=>Y.type==="主星").map(Y=>`${Y.name}${G[Y.name]?`(${G[Y.name]})`:""}`).join(";"),f=c.patternSummary||{},C=o(f.broken||[]),N=o(f.bad||[]),B=o([...f.good||[],...f.neutral||[]]).filter(zn=>!C.includes(zn)),pn=dn.stars||[],qn=pn.filter(zn=>zn.type==="主星"),Zn=pn.filter(zn=>zn.type==="煞星");return{system:"ziwei",title:"先看这一张:这张盘大致在说什么",chips:o([`命宫在${Sn.branch||""}`,X,c.bureau?c.bureau.name:"",Mn.lands?`身宫落${Mn.lands}`:""]),lead:`命宫在${Sn.branch||""},坐${X}${an?`(${an})`:""};身宫落在${Mn.lands||Mn.palace||"—"}。${kn.length?`底色是${kn.map(zn=>G[zn.name]||zn.name).join("、")}。`:"命宫无主星,性格更多由对宫与三方决定,可塑性反而大。"}${B.length?`结构上成的是${B.slice(0,3).join("、")}——格局只说明形状,不是吉凶判词。`:"没有完整成套的格局,这一盘更多看单颗星的性质,少看组合。"}`,sections:[{h:"你的底色",t:`${gn(Sn.stars||[])||"命宫无主星,靠三方四正补"}。身宫落${Mn.lands||"—"},说明你这辈子真正花力气的地方在${Mn.lands||"那一块"}。`},{h:"感情这件事",t:`夫妻宫在${dn.branch||"—"},坐${qn.map(zn=>`${zn.name}${zn.brightness?`(${d[zn.brightness]||zn.brightness})`:""}`).join("、")||"空宫(借对宫)"}。${Zn.length?`同宫还有${Zn.map(zn=>zn.name).join("、")}——关系里容易起摩擦,来得快也去得快。`:"没有明显的煞星同宫,关系相对平顺。"}`},{h:"最容易卡住的地方",t:`${C.length?`被冲破的格局有${C.join("、")}——结构还在,但成色打折;冲不等于毁,说的是它不如完好时那么顶用。`:"主要格局没有明显被冲破。"}${N.length?`另有${N.join("、")}这类忌格,只描述结构,不作吉凶断。`:""}`}],advice:[`命宫主星${kn.length?`是${kn.map(zn=>zn.name).join("、")},顺它的长处在做事,比硬改性格省力`:"不显,先靠环境和习惯替自己定节奏"}。`,`身宫落${Mn.lands||"—"}:这块是你真正在意的地方,也是容易耗人的地方,留出余量。`],caveat:"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}const y={旺:"当令,气最足",相:"有生机,正在起",休:"气在泄,歇着",囚:"被压着,使不上劲",死:"最弱,得靠外援"},S={官鬼:"职位、压力、管你的人和事",妻财:"钱、资源、实际回报",父母:"文书、答复、流程与长辈",子孙:"结果本身、松弛、把事情落地",兄弟:"同辈、分利、竞争"},i={日生:"日辰生它,当天有人托着",日克:"日辰克它,当天被压一头",比和:"与日辰同气,力量相当",日合:"与日辰相合,黏住了",日冲:"与日辰相冲,当天就动"};function h(c){if(!c)return"";const D=[],Sn=y[c.monthState]||c.monthSay||"";Sn&&D.push(`月令${c.monthState||""}(${Sn})`);const Mn=i[c.dayRelation]||c.daySay||"";return Mn&&D.push(Mn),c.kong&&D.push("旬空——抓不实,等冲或填"),c.moving&&D.push("发动,是这件事的动因"),c.monthChong&&D.push("月破,先破后立"),D.join(";")}function m(c){const D=c.hexStrength&&c.hexStrength.lines||[];if(!D.length)return null;const Sn=D.find(B=>B.shi)||null,Mn=D.find(B=>B.ying)||null,kn=c.body||{},wn=kn.ben||{},dn=kn.bian||{},X=c.cast&&c.cast.movingPositions||[],an=D.filter(B=>B.moving),gn=String(c.question||"").trim(),f=o([...kn.labels||[],...c.hexStrength&&c.hexStrength.labels||[]]),C=c.hexStrength&&c.hexStrength.month?c.hexStrength.month.branch:"",N=[wn.chong?"六冲卦:事情容易散、节奏快":"",wn.he?"六合卦:事情黏住、快不起来":"",kn.fuYin&&(kn.fuYin.inner||kn.fuYin.outer)?"有伏吟:原地打转":"",kn.fanYin&&(kn.fanYin.inner||kn.fanYin.outer)?"有反吟:来回反复":""].filter(Boolean);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:o([wn.name,dn.name?`变${dn.name}`:"",X.length?`${X.length} 爻动`:"静卦",C?`${C}月`:""]),lead:`${gn?`你问的是「${gn}」。`:""}本卦「${wn.name||"—"}」${dn.name?`,${X.length?`第 ${X.join("、")} 爻动`:"六爻安静"},变「${dn.name}」`:""}。方向还留在「综合」,所以这一卦没有取用神——先只讲与问题无关的那几样:你(世爻)、事情(应爻)、卦体。`,sections:[{h:"代表你的是",t:Sn?`世爻在${Sn.name}(${Sn.branch}${Sn.element}·${Sn.liuqin}):${h(Sn)||"状态平稳"}。`:"这一卦取不到世爻。"},{h:"代表事情的是",t:Mn?`应爻在${Mn.name}(${Mn.branch}${Mn.element}·${Mn.liuqin}):${h(Mn)||"状态平稳"}。应爻说的是「事情那一头」的状态,不是你努力的程度。`:"这一卦取不到应爻。"},{h:"卦体与动爻",t:`${N.length?`${N.join(";")}。`:"没有六冲、六合、伏吟、反吟这类整体结构。"}${an.length?`动爻在${an.map(B=>`${B.name}(${B.liuqin})`).join("、")}——动的地方,就是这件事会发生变化的那一环。`:"六爻安静:眼下没有明显在动的地方,说明事情的节奏还没起来。"}`}],advice:["先在上面选一个「询问方向」(工作、感情、生意、推进、择日):选完才会取用神,旺衰、应期、成败条件才有落点。",...(fn.other&&fn.other.reality||[]).slice(0,2)].filter(Boolean),caveat:"未指定所问之事:这一版只读世应、卦体与动爻,不判成败,也不给应期——不是算不出来,是取用神要先知道问什么。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function x(c){const D=c.useGod||{};if(!D.liuqin)return m(c);const Sn=D.found||[];if(!Sn.length&&!D.missing)return null;const Mn=String(c.question||"").trim(),kn=c.useGodStrength&&c.useGodStrength.lines||[],wn=zn=>kn.find(Y=>Y.position===zn)||null,X=(c.hexStrength&&c.hexStrength.lines||[]).find(zn=>zn.shi)||null,an=c.useGodStrength&&c.useGodStrength.month?c.useGodStrength.month.branch:"",gn=c.dayGanZhi&&c.dayGanZhi.name||"",f=Sn.map(zn=>zn.name).join("、"),C=`${Mn?`你问的是「${Mn}」。`:"你没填具体问题,这里按「综合」取用神,结论会更粗。"}这卦里代表它的是「${D.liuqin}」(${D.ask||""}),`+(Sn.length?`落在${f}${Sn.length>1?"——两处都出现了,两个条件要一起看":""}。`:"盘中看不见它(伏藏),要等冲开或引出才有动静。")+`日辰是${gn||"—"},月建是${an||"—"}。`,N=[],B=[];for(const zn of Sn){const Y=wn(zn.position);Y&&(/旺|相/.test(Y.monthState||"")&&!Y.kong&&!Y.monthChong&&N.push(zn.name),(/日克|日冲/.test(Y.dayRelation||"")||Y.kong||Y.monthChong)&&B.push(zn.name))}const pn=Sn.length?N.length>B.length?"条件偏有利":B.length>N.length?"条件偏紧,得有外力或时间":"一半一半,取决于你怎么推":"没有可判的落点",qn=o([...(D.labels||[]).filter(zn=>/两现|伏藏|六合|六冲/.test(zn)),c.body&&c.body.ben&&c.body.ben.chong?"六冲卦:事情容易散,节奏偏快":"",c.body&&c.body.ben&&c.body.ben.he?"六合卦:事情黏住,快不起来":""]),Zn=o((c.yingqi&&c.yingqi.items||[]).map(zn=>zn.branch)).slice(0,4);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:o([c.ben&&c.ben.name,`用神 ${D.liuqin||""}`,an?`${an}月`:"",c.yingqi?c.yingqi.tempo:""]),lead:C,sections:[{h:"代表你的是",t:X?`世爻在${X.name}(${X.branch}${X.element}·${X.liuqin}):${h(X)||"状态平稳"}。`:"这一卦的世爻取不到,先看用神那一条。"},{h:"代表这件事的是",t:Sn.length?Sn.map(zn=>`${zn.name} ${zn.ganzhi}(${zn.liuqin}):${h(wn(zn.position))||"没有明显的月日冲克"}。`).join(""):"用神伏藏:盘中看不见它,说明这件事现在还不在明面上,要等一个引子。"},{h:"成不成看哪里",t:`把用神的月令与日辰放在一起,盘面给的是「${pn}」。${qn.length?`另有:${qn.join(";")}。`:""}`}],advice:[...(fn[L(D.direction)]&&fn[L(D.direction)].reality||[]).slice(0,2),Zn.length?`应期只看地支:${Zn.join("、")}——地支只是「往哪个方向等」,不是公历日期。`:""].filter(Boolean),caveat:o([Sn.length>1?`用神两现(${f}):本插件不替你二选一,两处条件一起看。`:"",D.missing?"用神伏藏:先看伏神与飞神的关系,再看有没有东西把它冲出来。":"","世应只说明「你」和「事」的相对位置,不直接等于吉凶。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function M(c){const D=c.bodyUse;if(!D||!D.body||!D.use)return null;const Sn=String(c.question||"").trim();return{system:"meihua",title:"先看这一卦:方向大致在哪",chips:o([c.ben&&c.ben.name,c.bian&&`变${c.bian.name}`,D.relation?`体用 ${D.relation.split("(")[0]}`:""]),lead:`${Sn?`你问的是「${Sn}」。`:""}本卦「${c.ben&&c.ben.name}」,动在第 ${c.moving} 爻,变卦「${c.bian&&c.bian.name}」。体卦 ${D.body.trigram}(${D.body.element})代表你,用卦 ${D.use.trigram}(${D.use.element})代表这件事:${D.relation}。`,sections:[{h:"过程与结果",t:`过程看互卦「${c.hu&&c.hu.name||"—"}」,结果看变卦「${c.bian&&c.bian.name||"—"}」。梅花给的是方向,不是细节——它不会告诉你几号、多少钱。`},{h:"盘面给的分量",t:`这一卦的体用关系被标成「${D.level}」。注意:这是条件层面的判断,不是结果已经发生;条件好但不动,一样没有结果。`}],advice:["把它当「换个角度看这件事」:体用只分「谁在给、谁在耗」,剩下要你自己补具体动作。","如果要推进,先定一个最小动作(打个电话、发条消息),别等条件齐了再动。"],caveat:"梅花取象的自由度大:同一卦,不同人读出的细节可以不同。本插件只取体用生克这一层。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function H(c){const D=c.sanChuan||{};if(!D.chu||!D.zhong||!D.mo)return null;const Sn=String(c.question||"").trim(),Mn=wn=>`${wn.zhi}(${wn.liuQin||""}·${wn.jiangFull||""})`,kn=wn=>S[wn.liuQin]?`——${S[wn.liuQin]}`:"";return{system:"daliuren",title:"先看这一课:事情怎么走到这一步",chips:o([c.geJu&&c.geJu.name,`${D.chu.zhi}→${D.mo.zhi}`,c.yueJiang&&`月将${c.yueJiang.zhi}`]),lead:`${Sn?`你问的是「${Sn}」。`:""}三传是 ${D.chu.zhi} → ${D.zhong.zhi} → ${D.mo.zhi};末传落 ${D.mo.zhi}(${D.mo.liuQin||""}·${D.mo.jiangFull||""}),课体是「${c.geJu&&c.geJu.name||"—"}」。`,sections:[{h:"起手(初传)",t:`${Mn(D.chu)}${kn(D.chu)}。这是事情开头的样子。`},{h:"转折(中传)",t:`${Mn(D.zhong)}${kn(D.zhong)}。中间会经过这一段,也是容易改道的地方。`},{h:"落点(末传)",t:`${Mn(D.mo)}${kn(D.mo)}。末传比初传更接近结果——但也只是「照现在这样走下去会到哪」。`}],advice:["先看初传:事情是从哪儿起的?把那个起点找出来,比猜结果有用。","中传若与初传相冲相克,说明中途会变;这时别把计划定死。"],caveat:"三传讲的是传变形态,不给具体日期;同一课不同流派对课体的命名也有差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function q(c){const D=c.siZhu&&c.siZhu.day?String(c.siZhu.day)[0]:"",Sn=c.siZhu&&c.siZhu.time?String(c.siZhu.time)[0]:"",Mn=c.palaces||[];if(!Mn.length)return null;const kn=N=>Mn.find(B=>B.tianPan===N)||(c.centerPalace&&c.centerPalace.tianPan===N?c.centerPalace:null),wn=kn(D),dn=kn(Sn),X=String(c.question||"").trim(),an=N=>{const B=N&&nn[N.palace]&&nn[N.palace].field;return B?B.split(":")[0]:N?`${N.palace}宫`:"盘中取不到"},gn=N=>N&&nn[N.palace]&&nn[N.palace].dir?`(${nn[N.palace].dir})`:"",f=N=>N?`${an(N)}${gn(N)}|${N.gate||"—"}·${N.star||"—"}·${N.god||"—"}`:"盘中取不到",C=N=>!N||!N.gateRelation||!N.gateRelation.type?"门与宫的关系没算到":`${N.gateRelation.type}(${N.gateRelation.note||""})`;return{system:"qimen",title:"先看这一局:条件和位置在哪",chips:o([c.ju,c.zhiFu&&`值符${c.zhiFu.star}`]),lead:`${X?`你问的是「${X}」。`:""}日干 ${D} 落在${f(wn)},时干 ${Sn} 落在${f(dn)}——前者代表你,后者代表这件事。你这边门与宫是${C(wn)};事情那边是${C(dn)}。`,sections:[{h:"你这边的条件",t:wn?`你在${nn[wn.palace]?nn[wn.palace].field:wn.palace+"宫"};门是${wn.gate||"—"}——${A[wn.gate]||"门名只说明形态"}。`:"日干落在中宫或取不到:中宫无门无神,按寄宫(多寄坤二)取用,读的时候要说清这是寄宫。"},{h:"事情那边的条件",t:dn?`事情落在${nn[dn.palace]?nn[dn.palace].field:dn.palace+"宫"};门是${dn.gate||"—"}——${A[dn.gate]||"门名只说明形态"}。`:"时干落在中宫或取不到,同样按寄宫看,别当成坤二本宫。"},{h:"门名不是吉凶",t:"开门主启动、生门主生长、休门主等待、伤门主损耗、杜门主隐藏——这些说的是「这件事现在是什么形态」,不是好坏判决。要看它与日干宫、时干宫的生克。"}],advice:["把「我这边」和「事情那边」的宫位对一下:两边相距越远,越需要中间人、流程或时间。","如果门名是伤门、死门,不是叫你别做,而是提醒这件事的代价和收尾要先想清楚。"],caveat:o([c.juMethodNote||"","奇门重方位与时机;本插件不给具体方位建议,只把宫位与门星神摊开。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function hn(c){const D=c.cards||[];if(!D.length)return null;const Sn=String(c.question||"").trim(),Mn=D.find(kn=>/现在|现况|当下|建议|核心/.test(kn.position||""))||D[Math.floor(D.length/2)];return{system:"tarot",title:"先看这几张牌:它们各在说什么",chips:o([c.spread]),lead:`${Sn?`你问的是「${Sn}」。`:""}${c.spread||""}:`+D.map(kn=>`${kn.position}「${kn.name}」${kn.orientation}`).join(",")+"。",sections:D.slice(0,4).map(kn=>({h:kn.position,t:`「${kn.name}」${kn.orientation}:${(kn.keywords||[]).slice(0,3).join("、")||kn.core||""}。${kn.image?`牌面上${kn.image}。`:""}${kn.astro?`占星对应是${kn.astro}。`:kn.role?`它在盘上顶的是「${kn.role}」那个角色。`:""}${kn.positionHint||""}`})),advice:[`最值得先看的是「${Mn.name}」(${Mn.position}·${Mn.orientation})——${(Mn.keywords||[]).slice(0,3).join("、")||"它所在的位置,就是这件事现在的着力点"}。`,"把牌当镜子:它给的是看事情的角度,不是判决。看完写一句「那我下一步做什么」。"],caveat:c.systemNote||"塔罗为象征系统,牌义与元素对应存在流派差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function K(c){const D=c.score;if(!D)return null;const Sn=(c.dimensions||[]).filter(dn=>dn&&dn.text),Mn=dn=>{const X=dn&&dn.dayMaster;return X?typeof X=="string"?X.replace(/日主$/,""):`${X.stem||""}${X.element||""}`:""},kn=Mn(c.a),wn=Mn(c.b);return{system:"hepan",title:"先看这一张:你们大致怎么相处",chips:o([kn&&wn?`${kn} × ${wn}`:"",D.level,`${D.total}/100`]),lead:`${kn&&wn?`你们是 ${kn} 与 ${wn}。`:""}合盘描述的是「相处方式与互补点」,不判合不合,也不决定关系成败。整体上盘面给的是「${D.level}」(${D.total}/100——分数只是相对刻度,不是及格线)。`,sections:Sn.slice(0,3).map(dn=>({h:dn.label,t:dn.text})),advice:["一起看,别一个人看完拿去判断对方:前者是对话,后者是审判。","把上面的分歧当话题清单:哪一条你们真的在意,就聊哪一条。"],caveat:c.notes&&c.notes[0]||"合盘看的是相处方式与互补点,不决定关系成败。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function Pn(c){const D=c.points||[],Sn=c.segments||[];if(!D.length||!Sn.length)return null;const Mn=Number.isInteger(c.meta&&c.meta.nowYear)?c.meta.nowYear:null,kn=Mn&&D.find(pn=>pn.year===Mn)||null,wn=kn&&Sn.find(pn=>kn.age>=pn.startAge&&kn.age<=pn.endAge)||Sn[0],dn=Sn[Sn.indexOf(wn)+1],X=D.filter(pn=>pn.age>=wn.startAge&&pn.age<=wn.endAge),an=X.length?X.reduce((pn,qn)=>pn+qn.score,0)/X.length:0,gn=D.reduce((pn,qn)=>pn+qn.score,0)/D.length,f=an>=gn+5?"比一生平均更亮":an<=gn-5?"比一生平均更闷":"与一生平均差不多",C=c.highlights&&c.highlights.best||[],N=c.highlights&&c.highlights.worst||[],B=kn?`你现在 ${kn.age} 岁(${Mn} 年),在「${wn.ganZhi}」这一步的第 ${kn.age-wn.startAge+1} 年(${wn.startAge}–${wn.endAge} 岁)${dn?`,再过 ${wn.endAge-kn.age+1} 年到 ${dn.startAge} 岁换「${dn.ganZhi}」`:",已是最后一步"}。`:`没给当前日期(asOf),所以不标「现在在第几步」;先看第一步「${wn.ganZhi}」(${wn.startAge}–${wn.endAge} 岁)起手的样子。`;return{system:"trend",title:"先看这一条线:这些年大致什么走势",chips:o([wn.ganZhi,`${wn.startAge}–${wn.endAge} 岁`,kn?`${kn.age} 岁`:""]),lead:`这条线按 ${c.meta&&c.meta.toAge||D.length} 岁排到 ${D[D.length-1].year} 年,共 ${Sn.length} 步大运。`+B,sections:[{h:"这一步的基调",t:`这一步里各年的平均分是 ${an.toFixed(0)},${f}(全盘平均 ${gn.toFixed(0)})。分数是相对刻度,不是绝对值。`},{h:"这些年里最亮和最闷的",t:`${C.length?`高点:${C.slice(0,2).join("、")}`:"没有特别高的点"};${N.length?`低点:${N.slice(0,2).join("、")}`:"没有特别低的点"}。高点适合推进,低点适合收口。`},{h:"怎么用这条线",t:"它不是命运表,是把「顺/不顺」画成可视的起伏。真正决定走向的,是你在这几步里做了什么。"}],advice:["把下一步换运的年龄记下来:换运前后半年,通常是最容易做决定、也最容易冲动的时候。","低点年别做大额投入,高点年别只观望——这两条比记分数管用。"],caveat:"线按年岁等距绘制,实际每步大运十年;起点与交运按节气推算,出生时刻未知时按日估算。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function Kn(c){return!c||typeof c!="object"?null:c.system==="bazi"?z(c):c.system==="ziwei"?g(c):c.system==="liuyao"?x(c):c.system==="meihua"?M(c):c.system==="daliuren"?H(c):c.system==="qimen"?q(c):c.system==="tarot"?hn(c):c.system==="hepan"?K(c):c.system==="trend"?Pn(c):null}return{plainSummary:Kn}})(),W.index=(function(){const{buildBazi:P}=W.bazi||{},{buildLiuyao:en,tossLines:sn,bodyLabels:fn,yongshenOf:nn,yongshenStrength:A,fushenAccess:R,hexagramStrength:L,jinTuiPower:k,yingqiWindow:j}=W.liuyao||{},{buildZiwei:$,BRIGHTNESS:G,flowOf:d,asOfParts:o,ZIWEI_SCHOOL_DEFAULTS:u}=W.ziwei||{},{drawTarot:r}=W.tarot||{},{buildMeihua:z}=W.meihua||{},{buildDaliuren:g}=W.daliuren||{},{buildHepan:y,tripleOf:S}=W.hepan||{},{buildZiweiHepan:i}=W["ziwei-hepan"]||{},{buildQimen:h,buildSnapshot:m}=W.qimen||{},{geocodeAddress:x,resolveAddress:M}=W.geo||{},{toJDN:H,ganzhiName:q,dayGanzhiIndex:hn}=W.calendar||{},{bool:K,canonicalFlags:Pn,canonicalNumbers:Kn}=W.bool||{},{randomOf:c,isSeed:D}=W.random||{},{encodeHandle:Sn,decodeHandle:Mn,resolveHandle:kn,pruneForeignKeys:wn,ownedKeys:dn}=W.handle||{},{askLink:X,parseAskLink:an,formOf:gn,restNote:f,askPackages:C}=W.bridge||{},{parseRevision:N,displayValue:B}=W.revise||{},{interpret:pn,DIRECTIONS:qn,DIRECTION_DEFAULT:Zn}=W.interpret||{},{followup:zn,askPrompt:Y}=W.followup||{},{crossCheck:yn,crossText:Q,crossSection:T}=W.crosscheck||{},{pastSignals:rn,verifyFit:I}=W.verify||{},{rectifyBirth:F}=W.rectify||{},{buildAlmanac:ln}=W.almanac||{},{buildZeri:xn}=W.zeri||{},{buildChenggu:tn}=W.chenggu||{},{buildXiaoliuren:In}=W.xiaoliuren||{},{buildStar:un}=W.star||{},{buildNumerology:_n}=W.numerology||{},{buildMbti:U,mbtiPaper:cn}=W.mbti||{},{buildConvert:on}=W.convert||{},{classicsFor:b,classicsText:E,suiyunClassicOf:V,classicOf:Hn,CLASSIC_BOOKS:bn}=W.classics||{},{diffObjects:Tn,summarize:Rn,sortDiffs:Nn,labelOf:w,rootOf:s,categoryOf:O,formatValue:An,CALIBER_SWITCHES:Cn,viewRows:Fn}=W.diff||{},{canonicalJson:$n,fingerprintOf:Un}=W.fingerprint||{},{buildTrend:Vn}=W.trend||{},{buildFengshui:ee}=W.fengshui||{},{buildName:re}=W.name||{},{buildTrace:fe,traceMarkdown:Oe,SYSTEM_LABEL:mt}=W.trace||{},{fail:Jn}=W.fail||{},{assertCivil:xt,MIN_YEAR:Ue,MAX_YEAR:ve}=W.validate||{},{parseDateTime:te,daysInMonth:ft}=W.datetime||{},Qe=n=>String(n).padStart(2,"0"),ce=["male","female"],Ve=new Set(["bazi","ziwei","hepan","trend","meihua","daliuren","qimen","name"]),kt={bazi:{what:"时柱",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(只排三柱)"},ziwei:{what:"命宫与生时星曜",advice:"紫微排不出三柱,必须补上出生时刻"},hepan:{what:"两侧时柱",advice:"两侧都要出生时刻,合盘才有意义"},trend:{what:"时柱与起运",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(按日估算)"},meihua:{what:"起卦时刻",advice:"时间起卦要用真实起念时刻,请补 HH:mm"},daliuren:{what:"起课时辰(月将与贵人)",advice:"请补起课时刻 HH:mm"},qimen:{what:"起局时辰(旬首与局数)",advice:"请补起局时刻 HH:mm"},name:{what:"时柱",advice:"请补出生时刻 HH:mm"}};function de(n,t=""){if(ce.includes(n))return n;const a=n==null||n===""?"(未提供)":`「${n}」`;throw Jn("E_INPUT",`${t?t+"的":""}gender 必须是 male 或 female${a};性别决定大运/大限顺逆,不能靠默认值`)}const dt=["brightnessSchool","gengYearSihua","tianmaSchool","tiankongSchool","jiekongSchool","kuiyueSchool","tianshiTianshang","changshengSchool","lateZishi","shenzhuSchool","mingzhuSchool","zuoyaoSchool","liunianSihua","sihuaVariant","jieluSchool","suipoSchool"];function oe(n){const t={};for(const a of dt)n[a]!==void 0&&(t[a]=n[a]);return n.schools&&typeof n.schools=="object"&&(t.schools=n.schools),t}function Be(n){const t=n.pillars,a=(Bn,se)=>`${Bn}:${se.ganzhi} ${se.stemTenGod?`十神 ${se.stemTenGod} `:""}藏干 ${se.hidden.map(je=>`${je.stem}(${je.tenGod})`).join(" ")} 纳音 ${se.nayin} 地势 ${se.dishi} 自坐 ${se.zizuo} 空亡 ${se.kongwang.join("")}`+(se.shensha&&se.shensha.length?` 神煞 ${se.shensha.join("、")}`:""),e=Object.entries(n.wuxing).map(([Bn,se])=>`${Bn}${se}`).join(" "),p=n.palaces?`【胎元】${n.palaces.taiyuan.ganzhi} 胎息 ${n.palaces.taixi?n.palaces.taixi.ganzhi:"—"}`+(n.palaces.minggong?` 命宫 ${n.palaces.minggong.ganzhi}`:" 命宫 时柱暂缺,不排")+(n.palaces.shengong?` 身宫 ${n.palaces.shengong.ganzhi}`:" 身宫 时柱暂缺,不排"):"",l=n.dayun.list.slice(0,8).map(Bn=>`${Bn.startAge}岁 ${Bn.ganzhi}(${Bn.stemTenGod})${Bn.luck?`·${Bn.luck.tier}`:""}${Bn.relations&&Bn.relations.length?`[${Bn.relations.join("")}]`:""}`).join(" "),v=n.dayun.jiao&&n.dayun.jiao.at?`;交运 ${n.dayun.jiao.at}(${n.dayun.jiao.frame},距${n.dayun.jiao.from.name} ${n.dayun.jiao.spanDays} 天,三日折一年)`:"",_=n.dayun.startAgeExact,Z=_&&Number.isInteger(_.years)?`起运岁(精确):${_.years} 年 ${_.months} 个月 ${_.days} 天 ${_.hours} 小时(${_.caliber};上面「${n.dayun.startAge.years}岁${n.dayun.startAge.months}个月」是四舍五入到月,两者同源)`:"",Ln=n.jieqi.nearBoundaryMinutes<20?`
|
|
75
|
-
|
|
76
|
-
`)+Ln}function Se(n){const t=n.lunar.monthRaw||n.lunar.month,a=`${n.lunar.year}年${n.lunar.isLeap?`闰${t}`:n.lunar.month}月${n.lunar.day}日`+(n.lunar.isLeap&&n.lunar.month!==t?`(按${n.lunar.month}月起盘)`:""),e=(()=>{if(!n.schools)return"";const Dn=Object.entries({brightnessSchool:"亮度",gengYearSihua:"庚干四化",tianmaSchool:"天马",tiankongSchool:"天空",jiekongSchool:"截空",kuiyueSchool:"魁钺",tianshiTianshang:"天伤天使",changshengSchool:"长生",lateZishi:"晚子时",shenzhuSchool:"身主",mingzhuSchool:"命主取法",zuoyaoSchool:"杂曜全表",liunianSihua:"流年四化取干",sihuaVariant:"十干四化变体",jieluSchool:"截路空亡",suipoSchool:"岁前十二神"}).filter(([vn])=>n.schools[vn]&&n.schools[vn]!==u[vn]).map(([vn,ie])=>`${ie} ${n.schools[vn]}`);return Dn.length?`【流派】${Dn.join(" ")}`:""})(),p=J=>J.length?J.map(Dn=>`${Dn.name}${Dn.mutagen?`化${Dn.mutagen}`:""}`).join(" "):"—",l=J=>`神煞:长生(${J.changsheng}) 博士(${J.boshi}) 将前(${J.jiangqian}) 岁前(${J.suiqi})`,v=[];for(const J of n.palaces){const Dn=J.isSoul?"【命】":J.isBody?"【身】":" ";v.push(` ${J.palace} ${J.branch} ${J.ganzhi} ${Dn} 大限${String(J.daxian.start).padStart(2)}-${J.daxian.end} 小限${String(J.xiaoxian.age).padStart(2)} ${p(J.stars)}`),v.push(` ${l(J.shensha)}`)}const _=(n.liunian??[]).slice(0,6).map(J=>` ${J.year} ${J.ganzhi} ${String(J.age).padStart(2)}岁 命宫${J.lifePalace.branch}(${J.lifePalace.palace}) 流禄${J.liulu} 流羊${J.liuyang} 流陀${J.liutuo} | ${J.mutagen.map(Dn=>Dn.replace("化","")).join(" ")}`+(J.mutagenHits?` 四化落宫 ${J.mutagenHits.map(Dn=>`${Dn.star}${Dn.type}→${Dn.palace||"未上盘"}`).join("、")}`:"")+(J.sanfangMainStars?` 三方主星 ${J.sanfangMainStars.join("")}`:"")),Z=(n.patterns??[]).length?n.patterns.map(J=>`${J.name}(${J.tone==="good"?"吉格":J.tone==="bad"?"忌格":"中"}:${J.evidence})`).join(";"):"无明显格局(按内置规则)",Ln=(n.daxianList??[]).slice(0,8).map(J=>` ${J.branch}宫(${J.palace})${J.ages[0]}-${J.ages[1]}岁 ${J.ganzhi} 会${J.mainStars.join("")||"—"} 化 ${J.mutagenHits.map(Dn=>`${Dn.star}${Dn.type}→${Dn.palace||"未上盘"}`).join("、")}`),On=(()=>{const J=n.flyChains;if(!J)return"";const Dn=ie=>{const Xn=J[ie];return!Xn||!Xn.steps.length?"":`${ie}:${Xn.path.join("→")}${Xn.closed?"(成环)":""}`},vn=["禄","权","科","忌"].map(Dn).filter(Boolean).join(" ");return vn?`【命宫飞星】${vn}`:""})(),jn=(()=>{const J=n.flyComposite;if(!J||!Array.isArray(J.sources)||!J.sources.length)return"";const Dn=J.labels.length?J.labels.join(" · "):"无同宫会聚",vn=["禄","权","科","忌"].map(ie=>{const Xn=(J.byType&&J.byType[ie]||[]).filter(Yn=>!Yn.self),ue=[...new Set(Xn.map(Yn=>String(Yn.to).replace(/宫$/,"")))];return ue.length?`${ie}→${ue.join("/")}`:""}).filter(Boolean).join(" ");return`【三方四正飞化】${J.sanfang.join("·")}:${Dn}${vn?` ${vn}`:""}`})();return[`【农历】${a}(月首 ${n.lunar.monthStart}) 时支:${n.hourBranch} 年干支:${n.yearGanzhi}`,`【时刻】${n.solarTime?`${n.solarTime.civilText} → 真太阳时 ${n.solarTime.trueSolarText}${n.input.geo?"("+n.input.geo.note+")":""}`:""}`,`【命宫】${n.soul.branch}(${n.soul.ganzhi}·${n.soul.nayin}) 【身宫】${n.body.branch}(落${n.body.lands}) 【五行局】${n.bureau.name}`,`【紫微】${n.ziwei} 【天府】${n.tianfu} 【命主】${n.lifeMaster} 【身主】${n.bodyMaster}${n.bodyMasterNote?`(${n.bodyMasterSchool==="common"?"子午皆火星":"子铃午火"})`:""}${n.lifeMasterNote?`(${n.lifeMasterNote})`:""}`,`【大限】${n.daxian.rule},${n.daxian.startAge}岁起 【小限】${n.xiaoxianRule.direction}`,e,`【昌曲】文昌${n.changqu.wenchang.branch}(${n.changqu.wenchang.palace}${n.changqu.wenchang.mutagen?"·化"+n.changqu.wenchang.mutagen:""}) 文曲${n.changqu.wenqu.branch}(${n.changqu.wenqu.palace}${n.changqu.wenqu.mutagen?"·化"+n.changqu.wenqu.mutagen:""})`,` ${n.changqu.relation} 入命三方:${n.changqu.inSoulSanfang?"是":"否"} 吸收面:${n.changqu.absorb.label}(${n.changqu.absorb.reason})`,On,jn,"十二宫:",...v,"大限(按起运年龄排序,前 8 限,宫干四化落宫):",...Ln,"流年(前 6 年,完整 12 年在结构化数据里):",..._,`【格局】${Z}`,n.patternSummary?`【结构统计】吉格 ${n.patternSummary.good.length}、中性 ${n.patternSummary.neutral.length}、忌格 ${n.patternSummary.bad.length}${n.patternSummary.broken.length?`、破格 ${n.patternSummary.broken.length}(${n.patternSummary.broken.join("、")})`:""};${n.patternSummary.note}`:"",n.lunar.note?`注:${n.lunar.note}`:""].filter(Boolean).join(`
|
|
77
|
-
|
|
78
|
-
`)}function
|
|
79
|
-
`)}const t=e
|
|
80
|
-
`)}function
|
|
81
|
-
`)}
|
|
82
|
-
`)}function
|
|
83
|
-
`)}function
|
|
84
|
-
`)}
|
|
85
|
-
`)}function
|
|
70
|
+
`,un={河北:"石家庄",山西:"太原",内蒙古:"呼和浩特",辽宁:"沈阳",吉林:"长春",黑龙江:"哈尔滨",江苏:"南京",浙江:"杭州",安徽:"合肥",福建:"福州",江西:"南昌",山东:"济南",河南:"郑州",湖北:"武汉",湖南:"长沙",广东:"广州",广西:"南宁",海南:"海口",四川:"成都",贵州:"贵阳",云南:"昆明",西藏:"拉萨",陕西:"西安",甘肃:"兰州",青海:"西宁",宁夏:"银川",新疆:"乌鲁木齐",台湾:"台北"},fn={石家庄:[114.51,38.04],太原:[112.55,37.87],沈阳:[123.43,41.8],长春:[125.32,43.82],哈尔滨:[126.53,45.8],南京:[118.8,32.06],杭州:[120.15,30.28],合肥:[117.23,31.82],福州:[119.3,26.08],南昌:[115.86,28.68],济南:[117,36.65],郑州:[113.62,34.75],武汉:[114.3,30.59],长沙:[112.94,28.23],广州:[113.26,23.13],南宁:[108.37,22.82],海口:[110.2,20.04],成都:[104.07,30.67],贵阳:[106.63,26.65],昆明:[102.83,24.88],拉萨:[91.13,29.65],西安:[108.94,34.34],兰州:[103.83,36.06],西宁:[101.78,36.62],银川:[106.23,38.49],乌鲁木齐:[87.62,43.82],台北:[121.52,25.03]},an=(()=>{const p={};for(const i of cn.trim().split(`
|
|
71
|
+
`))for(const h of i.split(";")){const u=h.trim().split(/\s+/);if(u.length!==3)continue;const[b,w,S]=u;p[b]={lon:Number(w),lat:Number(S)}}for(const[i,[h,u]]of Object.entries(fn))p[i]||(p[i]={lon:h,lat:u});return p})(),I=/[省区路街道巷弄号村镇乡组队]/,H={中山区:{city:"大连"},朝阳区:{city:"北京",byProvince:{吉林:"长春",辽宁:"朝阳"}}};function P(p){const i=String(p||"").trim();if(!i)return null;const h=Number(i);if(Number.isFinite(h)&&/^-?\d+(\.\d+)?$/.test(i)&&h>=60&&h<=150)return{lon:h,lat:null,matched:`${h}°E`,level:"经度",note:"按你输入的经度计算"};const u=i.replace(/\s/g,""),b=Object.keys(an).sort((q,o)=>o.length-q.length),w=[];for(const q of b)for(let o=u.indexOf(q);o>=0;o=u.indexOf(q,o+q.length)){const d=u.charAt(o+q.length);I.test(d)||w.push({name:q,at:o,after:d,explicit:d==="市"?1:0})}if(w.sort((q,o)=>o.explicit-q.explicit||q.at-o.at),w.length){const q=w[0],o=an[q.name];return q.after==="县"?{lon:o.lon,lat:o.lat,matched:`${q.name}县`,level:"区县",note:`「${q.name}县」按 ${q.name} 城区估算(约 ${o.lon}°E)`}:{lon:o.lon,lat:o.lat,matched:q.name,level:"地级市",note:`按 ${q.name} 估算(约 ${o.lon}°E)`}}for(const[q,o]of Object.entries(H)){if(!u.includes(q))continue;let d=o.city;for(const[z,T]of Object.entries(o.byProvince||{}))if(u.includes(z)){d=T;break}const g=an[d];if(g)return{lon:g.lon,lat:g.lat,matched:d,level:"区县",note:`「${q}」按 ${d} 估算(约 ${g.lon}°E)`}}const S=b.find(q=>u.includes(`${q}路`)||u.includes(`${q}街`));if(S)return{lon:null,lat:null,matched:null,level:"未匹配",note:`「${S}路」是全国常见的路名,无法确定城市;请补上城市(如「厦门市${S}路」)或直接填经度`};for(const[q,o]of Object.entries(un)){const d=u.indexOf(q);if(d<0)continue;const g=u.charAt(d+q.length);if(g==="区"||g==="县")continue;const z=an[o]||{lon:fn[o][0],lat:fn[o][1]};return{lon:z.lon,lat:z.lat,matched:o,level:"省会",note:`未匹配到具体城市,按 ${q} 省会 ${o} 估算(约 ${z.lon}°E)`}}return{lon:null,lat:null,matched:null,level:"未匹配",note:`没查到「${i}」,可改填经度(如 116.4)`}}const A=/(区|县|镇|乡|村|小区|街道|路|号|巷|弄|组|队)/,E="dsh-metaphysics (+https://github.com/xuanfu-web/dsh-metaphysics)";async function j(p,{timeoutMs:i=2500}={}){if(typeof fetch!="function")return null;let h=null;try{const u=typeof AbortController=="function"?new AbortController:null;u&&(h=setTimeout(()=>u.abort(),i));const b="https://nominatim.openstreetmap.org/search?format=jsonv2&limit=1&accept-language=zh-CN&countrycodes=cn&q="+encodeURIComponent(p),w=await fetch(b,{signal:u?u.signal:void 0,headers:{"User-Agent":E}});if(!w||!w.ok)return null;const S=await w.json();if(!Array.isArray(S)||S.length===0)return null;const q=S[0],o=Number(q.lon),d=Number(q.lat);return Number.isFinite(o)?{lon:o,lat:d,matched:q.display_name,level:"在线",note:`在线解析:${q.display_name}`}:null}catch{return null}finally{h&&clearTimeout(h)}}async function Y(p,i={}){const h=P(p),u=String(p||"").trim();if(!u||!B(i.online)||h&&typeof h.lon=="number"&&!A.test(u))return h;const w=await j(u,i);return w?{...w,local:h&&h.lon!=null?h:null}:h&&typeof h.lon=="number"?{...h,onlineFailed:!0,note:`${h.note}(联网解析失败或超时,已退回内置坐标表)`}:{...h,onlineFailed:!0}}return{CITIES:an,PROVINCES:un,resolveAddress:P,geocodeAddress:Y}})(),V.random=(function(){function B(I){const H=Number(I),P=H>>>0,A=Math.floor(Math.abs(H)/4294967296)>>>0,E=Math.round((H-Math.trunc(H))*4294967296)>>>0;let j=(P^Math.imul(A+1,2246822507)^E)>>>0;return j||(j=2654435769),function(){j=j+1831565813>>>0;let p=j;return p=Math.imul(p^p>>>15,p|1),p^=p+Math.imul(p^p>>>7,p|61),((p^p>>>14)>>>0)/4294967296}}const cn=/^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/,un=I=>{if(typeof I=="number")return Number.isFinite(I)?I:NaN;if(typeof I=="string"){const H=I.trim();if(H!==""&&cn.test(H))return Number(H)}return NaN};function fn(I){if(I==null||I==="")return Math.random;const H=un(I);return Number.isFinite(H)?B(H):Math.random}function an(I){return I==null||I===""?!0:Number.isFinite(un(I))}return{mulberry32:B,randomOf:fn,isSeed:an}})(),V.dst=(function(){const{daysInMonth:B}=V.validate||{},cn={1986:["1986-05-04","1986-09-14"],1987:["1987-04-12","1987-09-13"],1988:["1988-04-10","1988-09-11"],1989:["1989-04-16","1989-09-17"],1990:["1990-04-15","1990-09-16"],1991:["1991-04-14","1991-09-15"]},un=(H,P,A)=>H*1e4+P*100+A;function fn(H){const P=cn[H.year];if(!P)return!1;const[A,E,j]=P[0].split("-").map(Number),[Y,p,i]=P[1].split("-").map(Number),h=un(H.year,H.month,H.day);if(h<un(A,E,j)||h>un(Y,p,i))return!1;const u=H.hour*60+(H.minute||0);return!(h===un(A,E,j)&&u<120||h===un(Y,p,i)&&u>=120)}function an(H){const P=cn[H.year];if(!P)return null;const[A,E,j]=P[0].split("-").map(Number),[Y,p,i]=P[1].split("-").map(Number),h=un(H.year,H.month,H.day),u=H.hour*60+(H.minute||0);return h===un(A,E,j)&&u>=120&&u<180?"gap":h===un(Y,p,i)&&u>=60&&u<120?"twice":null}function I(H){const P=H.minute||0;if(!fn(H))return{year:H.year,month:H.month,day:H.day,hour:H.hour,minute:P,applied:!1,note:null};let{year:A,month:E,day:j,hour:Y}=H;Y-=1,Y<0&&(Y+=24,j-=1,j<1&&(E-=1,E<1&&(E=12,A-=1),j=B(A,E)));const p=an(H);return{year:A,month:E,day:j,hour:Y,minute:P,applied:!0,note:`检出自 ${cn[H.year][0]} 至 ${cn[H.year][1]} 的中国夏令时:出生钟面时间已减 1 小时校正`+(p==="gap"?";这一天 02:00–03:00 钟表直接跳过,所给钟面时间在当年并不存在——这里按「拨快后的读数」回退一小时,若登记的本是标准时间,请传 dst:false 重排。":p==="twice"?";这一天 01:00–02:00 因回拨走了两遍,同一钟面时间对应两个真实时刻——这里按夏令时的那一遍(回退一小时)取。":"")}}return{DST_SPANS:cn,inDstSpan:fn,dstAmbiguity:an,applyDst:I}})(),V.shensha=(function(){const{BRANCHES:B}=V.calendar||{},{sanheGroupOf:cn}=V.sanhe||{},un=["year","month","day","hour"],fn={year:"年柱",month:"月柱",day:"日柱",hour:"时柱"},an=["贵人","文星","婚姻","性情","事业","凶煞","格局"],I=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],H={year:"年干",month:"月干",day:"日干",hour:"时干"},P={year:"年支",month:"月支",day:"日支",hour:"时支"},A=m=>{const l=cn(m);return l?l.branches.join(""):void 0},E={亥子丑:["寅","戌"],寅卯辰:["巳","丑"],巳午未:["申","辰"],申酉戌:["亥","未"]},j=m=>Object.keys(E).find(l=>l.includes(m)),Y={寅:"春",卯:"春",辰:"春",巳:"夏",午:"夏",未:"夏",申:"秋",酉:"秋",戌:"秋",亥:"冬",子:"冬",丑:"冬"},p=m=>({kind:"branch",ch:m}),i=m=>({kind:"stem",ch:m}),h=m=>({kind:"gz",ch:m}),u={甲:["丑","未"],戊:["丑","未"],庚:["丑","未"],乙:["子","申"],己:["子","申"],丙:["亥","酉"],丁:["亥","酉"],辛:["午","寅"],壬:["卯","巳"],癸:["卯","巳"]},b={甲:["子","午"],乙:["子","午"],丙:["卯","酉"],丁:["卯","酉"],戊:["辰","戌","丑","未"],己:["辰","戌","丑","未"],庚:["寅","亥"],辛:["寅","亥"],壬:["巳","申"],癸:["巳","申"]},w={寅:"丁",卯:"申",辰:"壬",巳:"辛",午:"亥",未:"甲",申:"癸",酉:"寅",戌:"丙",亥:"乙",子:"巳",丑:"庚"},S={寅午戌:"丙",申子辰:"壬",亥卯未:"甲",巳酉丑:"庚"},q={丙:"辛",壬:"丁",甲:"己",庚:"乙"},o={甲:["寅","子"],丙:["寅","子"],乙:["卯","丑"],癸:["卯","丑"],丁:["亥"],戊:["申"],己:["未"],庚:["午"],辛:["巳"],壬:["辰"]},d={甲:["未"],乙:["辰"],丙:["巳"],丁:["酉"],戊:["戌"],己:["卯"],庚:["亥"],辛:["申"],壬:["午"],癸:["寅"]},g={甲:["戌"],乙:["亥"],丙:["丑"],丁:["寅"],戊:["丑"],己:["寅"],庚:["辰"],辛:["巳"],壬:["未"],癸:["申"]},z={甲:["巳"],乙:["午"],丙:["巳"],丁:["午"],戊:["申"],己:["酉"],庚:["亥"],辛:["子"],壬:["寅"],癸:["卯"]},T={寅:"丑",卯:"寅",辰:"卯",巳:"辰",午:"巳",未:"午",申:"未",酉:"申",戌:"酉",亥:"戌",子:"亥",丑:"子"},Z={甲:["巳"],乙:["午"],丙:["申"],丁:["酉"],戊:["申"],己:["酉"],庚:["亥"],辛:["子"],壬:["寅"],癸:["卯"]},N={寅午戌:["丙","丁","戊","癸"],申子辰:["壬","癸","戊","己","丙","辛","甲","己"],巳酉丑:["庚","辛","乙"],亥卯未:["甲","乙","丁","壬"]},dn={寅午戌:["卯"],申子辰:["酉"],巳酉丑:["午"],亥卯未:["子"]},J={寅午戌:["午"],申子辰:["子"],巳酉丑:["酉"],亥卯未:["卯"]},Un={寅午戌:["戌"],申子辰:["辰"],巳酉丑:["丑"],亥卯未:["未"]},bn={寅午戌:["申"],申子辰:["寅"],巳酉丑:["亥"],亥卯未:["巳"]},r={寅午戌:["亥"],申子辰:["巳"],巳酉丑:["寅"],亥卯未:["申"]},C={寅午戌:["子"],申子辰:["午"],巳酉丑:["卯"],亥卯未:["酉"]},on={寅午戌:["巳"],申子辰:["亥"],巳酉丑:["申"],亥卯未:["寅"]},zn={甲:["辰"],乙:["巳"],丙:["未"],丁:["申"],戊:["未"],己:["申"],庚:["戌"],辛:["亥"],壬:["丑"],癸:["寅"]},xn={甲:["寅"],乙:["卯"],丙:["巳"],丁:["午"],戊:["巳"],己:["午"],庚:["申"],辛:["酉"],壬:["亥"],癸:["子"]},pn={甲:["卯"],乙:["寅"],丙:["午"],丁:["巳"],戊:["午"],己:["巳"],庚:["酉"],辛:["申"],壬:["子"],癸:["亥"]},ln=Object.fromEntries(Object.entries(pn).map(([m,l])=>[m,l.map(k=>B[(B.indexOf(k)+6)%12])])),en={甲:["酉"],乙:["戌"],丙:["未"],丁:["申"],戊:["巳"],己:["午"],庚:["辰"],辛:["卯"],壬:["亥"],癸:["寅"]},tn=["庚辰","庚戌","壬辰","戊戌"],hn=["甲寅","丙辰","戊辰","庚辰","壬戌"],y=["丁酉","丁亥","癸巳","癸卯"],U=["丙午","丁未","戊子","戊午","己丑","己未"],v=["甲辰","乙巳","丙申","丁亥","戊戌","己丑","庚辰","辛巳","壬申","癸亥"],F=["丙子","丁丑","戊寅","辛卯","壬辰","癸巳","丙午","丁未","戊申","辛酉","壬戌","癸亥"],$n={春:"戊寅",夏:"甲午",秋:"戊申",冬:"甲子"},jn={春:["庚申","辛酉"],夏:["壬子","癸亥"],秋:["甲寅","乙卯"],冬:["丙午","丁巳"]},Cn={春:["寅","子"],秋:["寅","子"],夏:["卯","未","辰"],冬:["卯","未","辰"]},wn={金:["午","卯"],木:["午","卯"],水:["酉","戌"],火:["酉","戌"],土:["辰","巳"]},Dn=["甲戊庚","乙丙丁","壬癸辛"],oe=["乙丑","己巳","癸酉"],ne={寅:"壬",卯:"巳",辰:"丁",巳:"丙",午:"寅",未:"己",申:"戊",酉:"亥",戌:"辛",亥:"庚",子:"申",丑:"乙"},Hn={寅:"丑",卯:"未",辰:"寅",巳:"申",午:"卯",未:"酉",申:"辰",酉:"戌",戌:"巳",亥:"亥",子:"午",丑:"子"},Jn={甲:["午"],乙:["午"],丙:["寅"],丁:["未"],戊:["辰"],己:["辰"],庚:["戌"],辛:["酉"],壬:["子"],癸:["申"]},Xn=["甲寅","乙巳","丙午","丁巳","戊午","戊申","辛亥","壬子"],Fn=["甲辰","乙亥","丙辰","丁酉","戊午","庚戌","庚寅","辛亥","壬寅","癸未"],Qn=["甲寅","乙卯","丁未","戊戌","己未","庚申","辛酉","癸丑"],se=["丁酉","戊子","戊午","己卯","己酉","辛卯","辛酉","壬子","壬午"],ae={春:"乙卯",夏:"丙午",秋:"辛酉",冬:"壬子"},ue={春:"辛卯",夏:"戊午",秋:"癸酉",冬:"丙子"},K={金:"巳",木:"亥",水:"申",土:"申",火:"寅"},mn={金:"申",木:"寅",水:"亥",土:"亥",火:"巳"};function D(m,l,k,O,sn,yn=["day"]){return{name:m,cat:l,luck:k,rule:O,refs:yn,refKind:"stem",targets:(Tn,rn)=>(sn[Tn.pillars[rn].stem]||[]).map(p)}}function f(m,l,k,O,sn,yn=["year","day"]){return{name:m,cat:l,luck:k,rule:O,refs:yn,refKind:"branch",targets:(Tn,rn)=>{const _n=A(Tn.pillars[rn].branch);return _n&&sn[_n]?sn[_n].map(p):[]}}}function R(m,l,k,O,sn,yn="year"){return{name:m,cat:l,luck:k,rule:O,refs:[yn],refKind:"branch",viaLabel:P[yn],targets:Tn=>sn(Tn)}}function s(m,l,k,O,sn,yn){return{name:m,cat:l,luck:k,rule:O,refs:["month"],refKind:"branch",viaLabel:"月支",slots:yn,targets:Tn=>sn(Tn)}}function c(m,l,k,O,sn,yn="day"){return{name:m,cat:l,luck:k,rule:O,refs:[yn],refKind:"branch",viaLabel:fn[yn],slots:[yn],targets:(Tn,rn)=>sn.includes(Tn.pillars[rn].ganzhi)?[h(Tn.pillars[rn].ganzhi)]:[]}}const M=[D("天乙贵人","贵人","good","甲戊庚见丑未,乙己见子申,丙丁见亥酉,辛见午寅,壬癸见卯巳(年干、日干查四支)",u,["year","day"]),D("太极贵人","贵人","good","甲乙见子午,丙丁见卯酉,戊己见辰戌丑未,庚辛见寅亥,壬癸见巳申(年干、日干查四支)",b,["year","day"]),s("天德贵人","贵人","good","正月丁、二月申、三月壬、四月辛、五月亥、六月甲、七月癸、八月寅、九月丙、十月乙、冬月巳、腊月庚(月支查干或支)",m=>{const l=w[m.pillars.month.branch];return l?I.includes(l)?[i(l)]:[p(l)]:[]}),s("月德贵人","贵人","good","寅午戌月见丙,申子辰月见壬,亥卯未月见甲,巳酉丑月见庚(月支查天干)",m=>{const l=A(m.pillars.month.branch);return l&&S[l]?[i(S[l])]:[]}),s("月德合","贵人","good","月德之合干:丙见辛、壬见丁、甲见己、庚见乙(月支定月德后查天干)",m=>{const l=A(m.pillars.month.branch),k=l&&S[l]?q[S[l]]:null;return k?[i(k)]:[]}),s("天德合","贵人","good","天德之合:寅月丁德→壬合、卯月申→巳、辰月壬→丁、巳月辛→丙、午月亥→寅、未月甲→己、申月癸→戊、酉月寅→亥、戌月丙→辛、亥月乙→庚、子月巳→申、丑月庚→乙(月支查干或支;无天德时天德合同样起作用)",m=>{const l=ne[m.pillars.month.branch];return l?I.includes(l)?[i(l)]:[p(l)]:[]}),D("福星贵人","贵人","good","甲丙见寅子,乙癸见卯丑,戊见申、己见未、丁见亥、庚见午、辛见巳、壬见辰(年干、日干查四支)。出自《甲丙相邀入虎乡歌》「戊猴己未丁宜亥」;旧本有作丁见酉者,与歌诀不合,本插件从歌诀",o,["year","day"]),D("天官贵人","贵人","good","甲未、乙辰、丙巳、丁酉、戊戌、己卯、庚亥、辛申、壬午、癸寅(年干、日干查四支;此表流派有异)",d,["year","day"]),D("国印贵人","贵人","good","甲戌、乙亥、丙丑、丁寅、戊丑、己寅、庚辰、辛巳、壬未、癸申(年干、日干查四支)",g,["year","day"]),D("天厨贵人","贵人","good","食神之禄:甲巳、乙午、丙巳、丁午、戊申、己酉、庚亥、辛子、壬寅、癸卯(日干查四支)",z,["day"]),s("天医","贵人","good","月支退一位:寅月见丑、卯月见寅……丑月见子(月支查四支)",m=>{const l=T[m.pillars.month.branch];return l?[p(l)]:[]}),D("文昌贵人","文星","good","甲巳、乙午、丙申、丁酉、戊申、己酉、庚亥、辛子、壬寅、癸卯(年干、日干查四支)",Z,["year","day"]),s("德秀贵人","文星","good","寅午戌月德丙丁、秀戊癸;申子辰月德壬癸戊己、秀丙辛甲己;巳酉丑月德庚辛、秀乙庚;亥卯未月德甲乙、秀丁壬(月支查天干)",m=>{const l=A(m.pillars.month.branch);return l&&N[l]?N[l].map(i):[]}),f("桃花","婚姻","neutral","寅午戌见卯、申子辰见酉、巳酉丑见午、亥卯未见子(年支、日支双查)",dn),R("红鸾","婚姻","good","卯起子逆数:子见卯、丑见寅、寅见丑、卯见子……(年支查四支)",m=>{const l=B.indexOf(m.pillars.year.branch);return[p(B[((3-l)%12+12)%12])]}),R("天喜","婚姻","good","红鸾对冲之位:子见酉、丑见申、寅见未……(年支查四支)",m=>{const k=((3-B.indexOf(m.pillars.year.branch))%12+12)%12;return[p(B[(k+6)%12])]}),R("孤辰","婚姻","bad","亥子丑年见寅、寅卯辰年见巳、巳午未年见申、申酉戌年见亥(年支查四支)",m=>{const l=j(m.pillars.year.branch);return l?[p(E[l][0])]:[]}),R("寡宿","婚姻","bad","亥子丑年见戌、寅卯辰年见丑、巳午未年见辰、申酉戌年见未(年支查四支)",m=>{const l=j(m.pillars.year.branch);return l?[p(E[l][1])]:[]}),D("金舆","婚姻","good","禄前二位:甲龙乙蛇丙戊羊、丁己申宫庚犬乡、辛猪壬牛癸虎位(日干查四支)",zn,["day"]),D("红艳煞","婚姻","neutral","甲乙午、丙寅、丁未、戊己辰、庚戌、辛酉、壬子、癸申(日干查四支)",Jn,["day"]),c("孤鸾煞","婚姻","bad","日柱甲寅、乙巳、丙午、丁巳、戊午、戊申、辛亥、壬子(日柱见之;又名呻吟煞)",Xn),R("勾绞煞","婚姻","bad","桃花六冲之位:子见卯酉、丑见辰戌、寅见巳亥……(年支查余三支;阳男阴女命前三辰为勾后三为绞,阴男阳女反之)",m=>{const l=B.indexOf(m.pillars.year.branch),k=B[(l+3)%12],O=B[(l+9)%12];return(m.gender==="male"?l%2===0:l%2===1)?[{kind:"branch",ch:k,label:"勾"},{kind:"branch",ch:O,label:"绞"}]:[{kind:"branch",ch:O,label:"勾"},{kind:"branch",ch:k,label:"绞"}]}),R("元辰","凶煞","bad","阳男阴女:子见未、丑见申、寅见酉……(年支次一位的对冲);阴男阳女:子见巳、丑见午……(年支退一位的对冲)(年支查余三支;又名毛头星、大耗)",m=>{const l=B.indexOf(m.pillars.year.branch),O=(m.gender==="male"?l%2===0:l%2===1)?(l+1)%12:(l+11)%12;return[p(B[(O+6)%12])]}),f("华盖","性情","neutral","寅午戌见戌、申子辰见辰、巳酉丑见丑、亥卯未见未(年支、日支双查)",Un),D("羊刃","性情","bad","帝旺之位:甲卯、乙寅、丙午、丁巳、戊午、己巳、庚酉、辛申、壬子、癸亥(日干查四支)。旧本把阴干记作禄前一位(乙辰、丁未、己未、辛戌、癸丑),那一位实为阴干之「衰」,与十二长生自相矛盾,本插件不取",pn,["day"]),D("飞刃","性情","bad","羊刃六冲(由羊刃位逐干对冲推得,不另立表):甲酉、乙申、丙子、丁亥、戊子、己亥、庚卯、辛寅、壬午、癸巳(日干查四支)",ln,["day"]),c("魁罡","性情","neutral","日柱庚辰、庚戌、壬辰、戊戌(日柱见之)",tn),s("童子煞","性情","neutral","两法并行:①季节法——春秋生见寅子,冬夏生见卯未辰(查日支、时支);②纳音法——金木命见午卯,水火命见酉戌,土命见辰巳(年柱纳音查日支、时支)。任一中即算",m=>{const l=new Set,k=Y[m.pillars.month.branch];for(const O of k&&Cn[k]||[])l.add(O);for(const O of wn[m.nayinElement]||[])l.add(O);return[...l].map(p)},["day","hour"]),c("六秀日","性情","good","日柱丙午、丁未、戊子、戊午、己丑、己未(日柱见之)",U),c("日德","性情","good","日柱甲寅、丙辰、戊辰、庚辰、壬戌(日柱见之)",hn),c("日贵","性情","good","日柱丁酉、丁亥、癸巳、癸卯(日柱见之)",y),c("十灵日","性情","good","日柱甲辰、乙亥、丙辰、丁酉、戊午、庚戌、庚寅、辛亥、壬寅、癸未(日柱见之;「男带十灵好文章,女带十灵好衣裳」)",Fn),c("八专","性情","neutral","日柱甲寅、乙卯、丁未、戊戌、己未、庚申、辛酉、癸丑(日柱见之;干支同气坐禄或冠带)",Qn),c("九丑","性情","neutral","日柱丁酉、戊子、戊午、己卯、己酉、辛卯、辛酉、壬子、壬午(日柱见之;「丑」指名声风评非容貌)",se),D("禄神","事业","good","甲寅、乙卯、丙戊巳、丁己午、庚申、辛酉、壬亥、癸子(日干查四支)",xn,["day"]),f("将星","事业","good","寅午戌见午、申子辰见子、巳酉丑见酉、亥卯未见卯(年支、日支双查)",J),f("驿马","事业","neutral","寅午戌见申、申子辰见寅、巳酉丑见亥、亥卯未见巳(年支、日支双查)",bn),f("劫煞","凶煞","bad","寅午戌见亥、申子辰见巳、巳酉丑见寅、亥卯未见申(年支、日支双查)",r),f("灾煞","凶煞","bad","寅午戌见子、申子辰见午、巳酉丑见卯、亥卯未见酉(年支、日支双查)",C),f("亡神","凶煞","bad","寅午戌见巳、申子辰见亥、巳酉丑见申、亥卯未见寅(年支、日支双查)",on),{name:"空亡",cat:"凶煞",luck:"bad",rule:"以日柱所在旬的空亡反查各柱地支(日柱旬空,主法);另有年柱旬空一派,一并标出",refs:["day"],refKind:"branch",viaLabel:"日柱旬空",targets:m=>(m.kongwang||[]).map(p)},{name:"年空",cat:"凶煞",luck:"bad",rule:"以年柱所在旬的空亡反查其余三支(年柱旬空;古法多取日柱旬空,此派并存,命中单独标注)",refs:["year"],refKind:"branch",viaLabel:"年柱旬空",slots:["month","day","hour"],targets:m=>(m.yearKongwang||[]).map(p)},c("十恶大败","凶煞","bad","日柱甲辰、乙巳、丙申、丁亥、戊戌、己丑、庚辰、辛巳、壬申、癸亥(日柱见之)",v),c("阴差阳错","凶煞","bad","日柱丙子、丁丑、戊寅、辛卯、壬辰、癸巳、丙午、丁未、戊申、辛酉、壬戌、癸亥(日柱见之)",F),s("四废日","凶煞","bad","春庚申辛酉、夏壬子癸亥、秋甲寅乙卯、冬丙午丁巳(月支定季节查日柱)",m=>{const l=Y[m.pillars.month.branch],k=m.pillars.day.ganzhi;return l&&jn[l].includes(k)?[h(k)]:[]},["day"]),D("流霞","凶煞","bad","甲酉、乙戌、丙未、丁申、戊巳、己午、庚辰、辛卯、壬亥、癸寅(日干查四支;通行表)",en,["day"]),s("血刃","凶煞","bad","寅月丑、卯月未、辰月寅、巳月申、午月卯、未月酉、申月辰、酉月戌、戌月巳、亥月亥、子月午、丑月子(月支查四支)",m=>{const l=Hn[m.pillars.month.branch];return l?[p(l)]:[]}),R("丧门","凶煞","bad","年支前两位:子见寅、丑见卯……(年支查余三支)",m=>{const l=B.indexOf(m.pillars.year.branch);return[p(B[(l+2)%12])]}),R("吊客","凶煞","bad","年支后两位:子见戌、丑见亥……(年支查余三支)",m=>{const l=B.indexOf(m.pillars.year.branch);return[p(B[(l+10)%12])]}),R("披麻","凶煞","bad","年支后三位:子见酉、丑见戌……(年支查余三支)",m=>{const l=B.indexOf(m.pillars.year.branch);return[p(B[(l+9)%12])]}),s("天赦日","格局","good","春戊寅、夏甲午、秋戊申、冬甲子(月支定季节查日柱)",m=>{const l=Y[m.pillars.month.branch],k=m.pillars.day.ganzhi;return l&&$n[l]===k?[h(k)]:[]},["day"]),c("金神","格局","neutral","时柱乙丑、己巳、癸酉(时柱见之;严格成格另需日主身旺,此仅记星)",oe,"hour"),{name:"拱禄",cat:"格局",luck:"good",rule:"日时同干而禄位虚拱:癸亥日癸丑时、癸丑日癸亥时(拱子),丁巳日丁未时、己未日己巳时(拱午),戊辰日戊午时(拱巳);只宜虚拱,忌填实空亡",custom:m=>{const l={"癸亥|癸丑":"子","癸丑|癸亥":"子","丁巳|丁未":"午","己未|己巳":"午","戊辰|戊午":"巳"},k=`${m.pillars.day.ganzhi}|${m.pillars.hour.ganzhi}`;return l[k]?[{pillars:["day","hour"],via:"日时",target:l[k]}]:[]}},s("天转","凶煞","bad","春乙卯、夏丙午、秋辛酉、冬壬子(月支定季节查日柱;「春兔夏马天地转,秋鸡冬鼠便为殃」)",m=>{const l=Y[m.pillars.month.branch],k=m.pillars.day.ganzhi;return l&&ae[l]===k?[h(k)]:[]},["day"]),s("地转","凶煞","bad","春辛卯、夏戊午、秋癸酉、冬丙子(月支定季节查日柱)",m=>{const l=Y[m.pillars.month.branch],k=m.pillars.day.ganzhi;return l&&ue[l]===k?[h(k)]:[]},["day"]),{name:"学堂",cat:"文星",luck:"good",rule:"年纳音五行之长生:金见巳、木见亥、水见申、土见申、火见寅(年纳音查月日时支;学堂为纳音长生,主人聪明文才出众)",refs:["year"],refKind:"branch",viaLabel:"年纳音",slots:["month","day","hour"],targets:m=>[p(K[m.nayinElement]||"")].filter(l=>l.ch)},{name:"词馆",cat:"文星",luck:"good",rule:"年纳音五行之临官:金见申、木见寅、水见亥、土见亥、火见巳(年纳音查月日时支;词馆为纳音临官,主文章学识)",refs:["year"],refKind:"branch",viaLabel:"年纳音",slots:["month","day","hour"],targets:m=>[p(mn[m.nayinElement]||"")].filter(l=>l.ch)},{name:"天罗",cat:"凶煞",luck:"bad",rule:"戌亥为天罗。法一以年支/日支查余三支:戌见亥、亥见戌即算,不要求四支俱全;法二以年柱纳音查日支:火命见戌或亥。两法任一成立即命中(男忌天罗)",custom:m=>_(m,"戌","亥","天罗",["火"])},{name:"地网",cat:"凶煞",luck:"bad",rule:"辰巳为地网。法一以年支/日支查余三支:辰见巳、巳见辰即算,不要求四支俱全;法二以年柱纳音查日支:水命、土命见辰或巳。两法任一成立即命中(女忌地网)",custom:m=>_(m,"辰","巳","地网",["水","土"])},{name:"三奇贵人",cat:"格局",luck:"good",rule:"年月日或月日时天干依序为甲戊庚(天上)、乙丙丁(地下)、壬癸辛(人中)",custom:m=>{const l=[];for(const k of[["year","month","day"],["month","day","hour"]]){const O=k.map(sn=>m.pillars[sn].stem).join("");Dn.includes(O)&&l.push({pillars:k.slice(),via:"三柱天干",target:O})}return l}}];function _(m,l,k,O,sn){const yn=[];for(const Tn of["year","day"]){const rn=m.pillars[Tn].branch,_n=rn===l?k:rn===k?l:null;if(!_n)continue;const Rn=un.filter(Yn=>Yn!==Tn&&m.pillars[Yn].branch===_n);for(const Yn of Rn)yn.push({pillars:[Tn,Yn],via:P[Tn],target:_n})}return sn.includes(m.nayinElement)&&(m.pillars.day.branch===l||m.pillars.day.branch===k)&&yn.push({pillars:["day"],via:`年纳音${m.nayinElement}`,target:m.pillars.day.branch}),yn}function W(m,l){return l.kind==="stem"?m.stem===l.ch:l.kind==="branch"?m.branch===l.ch:m.ganzhi===l.ch}function nn(m,l){if(m.custom)return m.custom(l);const k=[];for(const O of m.refs){const sn=m.targets(l,O)||[];if(!sn.length)continue;const yn=m.viaLabel||(m.refKind==="stem"?H:P)[O];for(const Tn of m.slots||un){const rn=l.pillars[Tn];for(const _n of sn)W(rn,_n)&&k.push({pillars:[Tn],via:yn,target:_n.ch})}}return k}function En(m,l=[],k={}){const O={pillars:m,kongwang:l,gender:k.gender,nayinElement:k.yearNayinElement,yearKongwang:k.yearKongwang||[]},sn=[];for(const rn of M){const _n=nn(rn,O);if(!_n.length)continue;const Rn={name:rn.name,cat:rn.cat,luck:rn.luck,rule:rn.rule,pillars:[],via:new Set,target:new Set};for(const Yn of _n){for(const te of Yn.pillars)Rn.pillars.includes(te)||Rn.pillars.push(te);Yn.via&&Rn.via.add(Yn.via),Yn.target&&Rn.target.add(Yn.target)}Rn.pillars.sort((Yn,te)=>un.indexOf(Yn)-un.indexOf(te)),sn.push(Rn)}sn.sort((rn,_n)=>an.indexOf(rn.cat)-an.indexOf(_n.cat));const yn={year:[],month:[],day:[],hour:[]};for(const rn of sn)for(const _n of rn.pillars)yn[_n].push({name:rn.name,cat:rn.cat,luck:rn.luck,via:[...rn.via].join("、"),target:[...rn.target].join("、"),rule:rn.rule});const Tn=[];for(const rn of an){const _n=sn.filter(Rn=>Rn.cat===rn);_n.length&&Tn.push({cat:rn,items:_n.map(Rn=>({name:Rn.name,cat:Rn.cat,luck:Rn.luck,pillars:Rn.pillars.slice(),via:[...Rn.via].join("、"),target:[...Rn.target].join("、"),rule:Rn.rule}))})}return{detail:yn,groups:Tn,names:sn.map(rn=>rn.name),count:sn.reduce((rn,_n)=>rn+_n.pillars.length,0)}}const Sn=M.reduce((m,l)=>(m[l.name]={cat:l.cat,luck:l.luck,rule:l.rule},m),{});return{PILLAR_KEYS:un,PILLAR_LABEL:fn,CATEGORY_ORDER:an,computeBaziShensha:En,RULE_TABLE:Sn}})(),V.tiaohou=(function(){const B={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},cn={亥:-1.8,子:-2,丑:-1.5,寅:-.4,卯:.2,辰:.5,巳:1.3,午:2,未:1.5,申:.6,酉:.2,戌:-.2},un={亥:"初冬",子:"仲冬",丑:"季冬",寅:"初春",卯:"仲春",辰:"季春",巳:"初夏",午:"仲夏",未:"季夏",申:"初秋",酉:"仲秋",戌:"季秋"},fn={丑:1,辰:1,子:.6,亥:.5},an={未:1,戌:1,午:.4,巳:.4},I={寒湿:{element:"火",stem:"丙",avoid:"水",why:"冻土要太阳来解,水再多只会更冷"},寒燥:{element:"火",stem:"丙",avoid:"水",why:"天寒地干,先要一点阳和之气"},寒:{element:"火",stem:"丙",avoid:"水",why:"冬令气寒,非火不暖"},温热:{element:"水",stem:"壬",avoid:"火",why:"火气初旺,得水润泽才好用"},湿热:{element:"水",stem:"壬",avoid:"火",why:"湿热交蒸,得壬水引热下行,再添火只会更闷"},燥热:{element:"水",stem:"壬",avoid:"火",why:"火炎土燥,非水不润"},湿滞:{element:"火",stem:"丙",avoid:"水",why:"湿气郁结,要火来蒸腾"},燥:{element:"水",stem:"壬",avoid:"火",why:"气燥不润,得水则舒"},平和:{element:null,stem:null,avoid:null,why:"寒暖相济,气候不是这一盘的主要矛盾"}},H={寒湿:"寒湿",寒燥:"寒燥",寒:"寒",温热:"温热",湿热:"湿热",燥热:"燥热",湿滞:"湿滞",燥:"燥",平和:"平和"},P={寒湿:{木:"木是花草藤萝,冰封的土里抽不出芽——它不缺雨水,缺的是一轮太阳",火:"火在冬天最怕被水浇,一点火苗要护住,才谈得上发光",土:"土冻成一块,再厚也长不出东西,得先晒透",金:"金在寒水里泡久了,锋刃会发滞,要火来炼一炼",水:"水本就冷,再加寒就是死水;要火把它烧活"},寒燥:{木:"木在干冷里最难熬,既缺暖气,又缺一点滋润",火:"火在寒天里要先活下来,才有余力照别人",土:"土冷而干,板结着,得暖气与一点水汽一起松",金:"金寒则脆,得火炼、得土养,才成器",水:"水在寒天里收得太紧,要一点火气化开"},寒:{木:"冬木先要暖,暖了才谈得上发荣",火:"火在冬天要护住,别被冷风吹散",土:"土寒不生物,先暖后养",金:"金寒则钝,得火则利",水:"水寒则滞,得火则行"},温热:{木:"木在暖和里长得快,但要防长得太急、根扎不深",火:"火得时令,容易旺过头,要留一点水来收",土:"土被火烤着,容易燥,得水润一润",金:"金在暖处容易软,需要一点水土把它养住",水:"水在暖处容易蒸干,要源头不断"},燥热:{木:"木被火烤着,叶子先焦,得先补水",火:"火已经够旺了,再添柴只会烧到自己",土:"土燥则裂,得水润、得木疏",金:"金在燥热里容易发烫变形,要水来淬",水:"水在燥热里最珍贵,一滴都不能浪费"},湿热:{木:"木沤在湿热里容易烂根生虫,先要疏泄,不能再烘",火:"火在闷热里只会更闷,得引一点水气把它透开",土:"土湿热成泥沼,得疏得泄,再烘只会更黏",金:"金在湿热里容易生锈,要泄热、要见燥,才显出锋",水:"水不算少却带着热,得把热泄出去,水才用得干净"},湿滞:{木:"木泡在水里会烂根,先要疏土透气",火:"火在湿气里点不着,得先除湿",土:"土湿成泥,得火蒸腾、得木来疏",金:"金埋在湿土里会生锈,要见火见光",水:"水已经太多,再添就是泛滥"},燥:{木:"木在燥气里容易枯,先要一点水",火:"火在燥处容易失控,要收",土:"土燥不毛,得水润、得木疏",金:"金在燥处要水来洗,才不刺手",水:"水在燥处最容易被耗干,要护住"},平和:{木:"寒暖还算相济,木有生长的余地",火:"气候不偏,火可以按自己的节奏用",土:"土不燥不湿,能养也能载",金:"金不寒不燥,成器只差打磨",水:"水不冰不涸,能流得动"}},A=i=>Math.round(i*100)/100;function E({monthBranch:i,dayStem:h,wuxing:u={},branches:b=[]}){const w=Number(u.火||0),S=Number(u.水||0);let q=0,o=0,d=0,g=0;for(const pn of b)fn[pn]&&(q+=fn[pn],(pn==="丑"||pn==="辰")&&(d+=1)),an[pn]&&(o+=an[pn],(pn==="未"||pn==="戌")&&(g+=1));const z=cn[i]??0,T=A(z+.45*w-.4*S),Z=A(q-o+.25*S-.25*w),N=T<=-.8,dn=T>=.9,J=Z>=.8,Un=Z<=-.8;let bn="平和";N&&J?bn="寒湿":N&&Un?bn="寒燥":N?bn="寒":dn&&Un?bn="燥热":dn&&J?bn="湿热":dn?bn="温热":Un?bn="燥":J&&(bn="湿滞");const r=I[bn]||I.平和,C=B[h]||"土",on=[`${un[i]||i}${i}月`,`火${w}`,`水${S}`,d?`湿土${d}处`:"",g?`燥土${g}处`:""].filter(Boolean),zn=Math.abs(T)>=1.2||Math.abs(Z)>=1.2?"调候优先":"扶抑为主",xn=j({kind:bn,monthBranch:i,dayElement:C,need:r,temp:T,damp:Z,fire:w,water:S});return{kind:bn,label:H[bn]||bn,temp:T,damp:Z,cold:N,hot:dn,wet:J,dry:Un,need:r.element?{element:r.element,stem:r.stem,why:r.why}:null,avoidElement:r.avoid,dayElement:C,priority:zn,evidence:on,narration:xn}}function j({kind:i,monthBranch:h,dayElement:u,need:b,fire:w,water:S}){const q=(P[i]||P.平和)[u]||"",o=un[h]||"",d=`${o||""}${h}月出生,全局火${w}、水${S},这一盘的气候是「${H[i]||i}」`;return b.element?`${d}。${q}。所以这一局要的不是更多的${b.avoid},而是${b.stem}${b.element}——${b.why}。`:`${d}。${q}。调候不是这一盘的主要矛盾,取用仍以扶抑为主,寒暖只作微调。`}function Y(i,h=[],u=[]){if(!i||!i.need)return{clash:!1,text:"气候平和,按扶抑取用即可。"};const b=i.need.element,w=h.includes(b),S=u.includes(b);return w&&!S?{clash:!1,text:`调候要${i.need.stem}${b},扶抑也以${b}为喜——两套取法同向,不必取舍。`}:{clash:!0,text:`调候要${i.need.stem}${b},扶抑却把${b}列为${S?"忌":"闲"};两者不一致,本盘按调候优先取${b},扶抑次之——因为寒暖失衡时,再补强弱也难受。`}}function p(i){if(!i)return"";const h=(i.evidence||[]).join("、"),u=i.need?`调候取${i.need.stem}${i.need.element}(${i.need.why}),忌${i.avoidElement}。`:"气候平和,调候不作主取。";return`${i.label}(${h})。${i.narration}${u}${i.priority==="调候优先"?" 本盘调候优先于扶抑。":""}`}return{judgeClimate:E,arbitrate:Y,climateText:p}})(),V.qiongtong=(function(){const B=["寅","卯","辰","巳","午","未","申","酉","戌","亥","子","丑"],cn=["正月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],un="https://www.luckclub.cn/bazi/004/",fn="用神顺序据通行整理表,原文摘句照录;各版本有异文,按条目 note 标注待核处。",an={甲:[{b:"寅",m:"正月",y:"丙癸",q:"正月甲木,初春尚有余寒,得丙癸逢,富贵双全。癸藏丙透,名寒木向阳,主大富贵。倘风水不及,亦不失儒林俊秀。如无丙癸,平常人也。",ch:2,qs:"丙癸"},{b:"卯",m:"二月",y:"庚丙丁戊己",q:"或二月甲木,庚金得所者,名阳刃架煞,可许异途小贵,若武职便显,但要财资煞,柱中逢财,英雄独压万人,若见癸水,困了财杀,主为光棍,重刃必定遭凶,煞重无凶,但性格横暴,正二月甲木,无从财化土之格。",ch:3,qs:"庚癸"},{b:"辰",m:"三月",y:"庚丁壬",q:"三月甲木,木气相竭。先取庚金,次用壬水。",ch:4,qs:"庚壬"},{b:"巳",m:"四月",y:"癸丁庚",q:"四月甲木退气,丙火司权,先癸后丁。",ch:5,qs:"丙癸丁"},{b:"午",m:"五月",y:"癸丁庚",q:"五六月甲木,木性虚焦,一理共推,五月先癸后丁,庚金次之。,或五月乏癸,用丁亦可,要运行地为佳。六月三伏生寒,丁火退气。先丁后庚,无癸亦可。",ch:6,qs:"癸丁庚"},{b:"未",m:"六月",y:"丁庚癸",q:"五六月甲木,木性虚焦,一理共推,五月先癸后丁,庚金次之。,或五月乏癸,用丁亦可,要运行地为佳。六月三伏生寒,丁火退气。先丁后庚,无癸亦可。",ch:6,qs:"癸丁庚"},{b:"申",m:"七月",y:"庚丁壬",q:"七月甲堪为戟,然非丁不能造庚,非庚不能造甲,丁庚两透,科甲可许。",ch:7,qs:"丁庚"},{b:"酉",m:"八月",y:"丁丙庚",q:"八月甲木,木囚金旺。丁火为先,次用丙火,庚金再次。",ch:8,qs:"丁丙庚"},{b:"戌",m:"九月",y:"庚甲丁壬癸",q:"九月甲木,木星凋零,独爱丁火壬癸滋扶。",ch:9,qs:"丁壬癸"},{b:"亥",m:"十月",y:"庚丁丙戊",q:"十月甲木,以庚为君,以丁为佐,丙火次之,忌壬水泛木,须戊土为制,故戊又次之。",ch:10,qs:"庚丁丙壬戊"},{b:"子",m:"十一月",y:"丁庚丙",q:"十一月甲木,木性生寒,丁先庚后,丙火佐之,癸水司权,为火金之病。",ch:11,qs:"丁庚丙癸"},{b:"丑",m:"十二月",y:"丁庚丙",q:"十二月甲木,天寒气冻,木性极寒,无发生之象。先用庚劈甲,方引丁火,始得木火有通明之象,故丁次之。",ch:12,qs:"庚丁"}],乙:[{b:"寅",m:"正月",y:"丙癸",q:"正月天气,犹有余寒,非丙不长,虽有癸润,恐凝寒气,故先用丙,癸次之。",ch:13,qs:"丙癸"},{b:"卯",m:"二月",y:"丙癸",q:"二月乙木,阳气渐升,木不寒矣,以丙为君,癸为臣,丙癸两透,不透庚金,大富大贵。",ch:14,qs:"丙癸庚"},{b:"辰",m:"三月",y:"癸丙戊",q:"三月乙木,阳气愈炽,先癸后丙",ch:15,qs:"癸丙"},{b:"巳",m:"四月",y:"癸",q:"四月乙木,巳宫自有丙火,戊取癸水为尊。四月乙木,专用癸水,丙火酌用,虽以庚辛佐癸,须辛透为清。",ch:16,qs:"丙戊癸庚辛"},{b:"午",m:"五月",y:"癸丙",q:"五月乙木,丁火司权,禾稼俱旱。上半月属阳,先癸次丙;下半月属阴,三伏生寒,丙癸齐用。柱多金水,丙火为先,余皆用癸水为先。",ch:17,qs:"丁癸丙"},{b:"未",m:"六月",y:"癸丙",q:"六月乙木,木性且寒,柱多金水,丙火为尊。支成水局,乙得无伤。癸水透干,大富大贵。无癸定作常人,运不行北,困苦一生。",ch:18,qs:"丙癸"},{b:"申",m:"七月",y:"丙癸己",q:"七月乙木,庚金乘令,庚虽输情于乙妹,怎奈干乙难合支庚。柱见庚多,乙难受载。或丙癸透干,又加己出埋金,丙癸己俱透,此格可云科甲,大富大贵",ch:19,qs:"庚丙癸己甲"},{b:"酉",m:"八月",y:"癸丙丁",q:"八月乙木,芝兰禾稼均退,以丹桂为乙木。在白露之后,桂蕊未开,专用癸水,以滋桂萼。若秋分后,桂花已开,又当向阳,宜先用丙,癸水次之,丙癸两透,科甲名臣。",ch:20,qs:"癸丙甲"},{b:"戌",m:"九月",y:"癸辛",q:"九月乙木,枝枯叶落,必赖癸水滋养。如见甲申时,名为藤萝繁甲,可秋可冬。",ch:21,qs:"癸甲"},{b:"亥",m:"十月",y:"丙戊",q:"十月乙木,丙不受气,壬水司令,丙为尊,或壬多,用戊土。",ch:22,qs:"丙壬戊"},{b:"子",m:"十一月",y:"丙",q:"十一月乙木,根叶寒冻,喜丙复一阳,用丙火解冻,斯花木有向阳之意,不宜癸水出干以冻花木,故专用丙火。",ch:23,qs:"丙癸"},{b:"丑",m:"十二月",y:"丙",q:"十二月乙木,木寒宜丙,有寒谷回春之象。得一丙透,无癸出破格,不特科甲,定主名臣显宦。丙火藏支,不过廪贡生员。干支无丙,一介寒儒。",ch:24,qs:"丙癸甲"}],丙:[{b:"寅",m:"正月",y:"壬庚",q:"正月三阳开泰,火气渐炎,取壬为尊,庚金为佐。壬庚两透,定许科甲,即壬透庚藏,虽不由科甲,恰有异途恩封",ch:25,qs:"壬庚甲"},{b:"卯",m:"二月",y:"壬己",q:"二月丙火,阳气舒升,专用壬水。",ch:26,qs:"壬"},{b:"辰",m:"三月",y:"壬甲",q:"三月火气渐炎,专用壬水,或支成土局,取甲为辅,壬不可离。",ch:27,qs:"壬甲"},{b:"巳",m:"四月",y:"壬癸庚",q:"四月丙火,建禄于巳,火势炎炎,宜专用壬水,解炎威之力,成既济之功。如无壬水,名孤阳失辅,难透清光,得庚发水源,方为有根之水。壬庚两透,不见戊己出干,号曰湖海汪洋,广映太阳,光辉显著,文明之象。",ch:28,qs:"壬庚戊己",cut:!0},{b:"午",m:"五月",y:"壬庚",q:"五月丙火愈炎,得壬庚高透,方为上命。或一壬无庚,亦主贡监,还须好运。犹防戊己出干,丁壬化合,则为平人。即不透庚壬。或有申宫长生之水,济之坐禄之金,至妙,必入词林。又怕戊己杂乱,则为异路。",ch:29,qs:"壬庚戊己丁"},{b:"未",m:"六月",y:"壬庚",q:"六月丙火退气,三伏生寒,己土泄气,壬水为用,取庚辅佐。",ch:30,qs:"己壬庚"},{b:"申",m:"七月",y:"壬戊",q:"七月丙火,太阳转西,阳气渐衰。日近西山,见土皆晦。惟日照湖海,暮夜光天,故仍用壬水,辅映太阳光辉。",ch:31,qs:"壬"},{b:"酉",m:"八月",y:"壬癸",q:"八月丙火,日近黄昏,丙有余光,存于湖海,仍用壬水辅映。",ch:32,qs:"壬"},{b:"戌",m:"九月",y:"甲壬",q:"九月丙火,火气愈退,忌土晦光,必须先用甲木,次取壬水。",ch:33,qs:"甲壬"},{b:"亥",m:"十月",y:"甲戊庚壬",q:"十月丙火,太阳失令,得见甲戊庚齐透,科甲有准,风土不及,终成选拔,主为人性好清高,斯文领袖。",ch:34,qs:"甲戊庚"},{b:"子",m:"十一月",y:"壬戊己",q:"十一月丙火,冬至一阳生,弱中复强,壬水为最,戊土佐之。",ch:35,qs:"壬戊"},{b:"丑",m:"十二月",y:"壬甲",q:"十二月丙火,气进二阳,每雪欺霜,喜壬为用,己土司令,土多又不可少甲",ch:36,qs:"壬己甲"}],丁:[{b:"寅",m:"正月",y:"甲庚",q:"正月丁火,甲木当权,乃为母旺,非庚不能劈甲,何以引丁,先庚次壬。",ch:37,qs:"甲庚壬"},{b:"卯",m:"二月",y:"庚甲",q:"二月丁火,湿乙伤丁,先庚后甲,非庚不能去乙,非甲不能引丁。",ch:38,qs:"乙庚甲"},{b:"辰",m:"三月",y:"甲庚",q:"三月丁火,戊土司令,泄弱丁气,先用甲木引丁制土,次看庚金。",ch:39,qs:"戊甲庚"},{b:"巳",m:"四月",y:"甲庚",q:"四月丁火乘旺,虽取甲引丁,必须用庚劈甲,有庚伐甲、方云木火通明;甲多、又取庚为先。",ch:40,qs:"甲庚"},{b:"午",m:"五月",y:"壬庚癸",q:"五月丁火,时逢建禄,不得轻用甲木;遇干透隔位之壬,不贪丁合,忠而且孝。",ch:41,qs:"甲壬"},{b:"未",m:"六月",y:"甲壬庚",q:"六月丁火,阴柔退气,但值三伏生寒,丁弱极矣,专取甲木,壬水次之。",ch:42,qs:"甲壬"},{b:"申",m:"七月",y:"甲庚丙戊",q:"七月丁火,退气柔弱,端用甲木,金虽乘旺司权,无伤丁之理,仍取庚劈甲,为引火之物,或借丙暖金晒甲,不虑丙夺丁光,凡两丙夹丁者,夏月忌之,余月不忌,但此格少年困苦刑克中年富贵,必要地支见水制丙,方",ch:43,qs:"甲庚丙",cut:!0},{b:"酉",m:"八月",y:"甲庚丙戊",q:"或八月一派辛金,不见庚金,又无比劫,比弃命从才,富而且贵,虽不科甲,亦有异途,从才者水为妻,不克,有正偏,木为子,不刑。或九月一派戊土,泄丁火之气,不见甲木,为伤官伤尽,非寻常可比,或甲木透出",ch:44,qs:"辛庚甲戊",cut:!0,note:"原文全章未见「丙」,此格按整理表录入,待以善本核对"},{b:"戌",m:"九月",y:"甲庚戊",q:"或八月一派辛金,不见庚金,又无比劫,比弃命从才,富而且贵,虽不科甲,亦有异途,从才者水为妻,不克,有正偏,木为子,不刑。或九月一派戊土,泄丁火之气,不见甲木,为伤官伤尽,非寻常可比,或甲木透出",ch:44,qs:"辛庚甲戊",cut:!0},{b:"亥",m:"十月",y:"甲庚",q:"三冬丁火微寒,端用庚甲,甲乃庚之良友,凡用甲木,庚不可少,无庚无甲,何能引丁,难云木火通明,冬丁有甲,不怕水多金多,可称上格,甲庚两透,科甲分明,见己则否,己多合甲,则为常人。或一丙夺丁,必赖",ch:45,qs:"庚甲己丙",cut:!0},{b:"子",m:"十一月",y:"甲庚",q:"或仲冬水多癸旺,金无比印,此作弃命从杀,亦有异途功名,见丁比出干,难合格局,常人,且主骨肉浮云,六亲流水,戊出破癸,颇有兄弟妻儿,此格用戊,火妻土子,用甲,水妻木子。或四柱多丙丁,又用癸制火,",ch:46,qs:"癸戊甲丙",cut:!0},{b:"丑",m:"十二月",y:"甲庚",q:"或仲冬水多癸旺,金无比印,此作弃命从杀,亦有异途功名,见丁比出干,难合格局,常人,且主骨肉浮云,六亲流水,戊出破癸,颇有兄弟妻儿,此格用戊,火妻土子,用甲,水妻木子。或四柱多丙丁,又用癸制火,",ch:46,qs:"癸戊甲丙",cut:!0}],戊:[{b:"寅",m:"正月",y:"丙甲癸",q:"正二月宜先透丙,三月宜先透甲,盖正二月虽有癸甲,无丙亦难除寒气,如风雨淹淹,万物生而不长,故无丙者,一生成败,富贵艰辛,或有丙无癸甲者,名曰春旱,如万物生而多厄,一生勤苦,劳而无功。",ch:48,qs:"丙甲癸辛"},{b:"卯",m:"二月",y:"丙甲癸",q:"正二月宜先透丙,三月宜先透甲,盖正二月虽有癸甲,无丙亦难除寒气,如风雨淹淹,万物生而不长,故无丙者,一生成败,富贵艰辛,或有丙无癸甲者,名曰春旱,如万物生而多厄,一生勤苦,劳而无功。",ch:48,qs:"丙甲癸辛"},{b:"辰",m:"三月",y:"甲丙癸",q:"三月戊土司令,不见丙甲癸者,愚而且贱,甲癸透者、科甲;两癸透者、生员。丙透甲藏,无癸者富;有癸者,异途显达。",ch:49,qs:"丙甲癸"},{b:"巳",m:"四月",y:"甲丙癸",q:"四月戊土,阳气发升,寒气内藏,外实内虚,不畏火炎,无阳气相催,万物不长,故先用甲疏劈,次取丙癸为佐。",ch:50,qs:"甲丙癸"},{b:"午",m:"五月",y:"壬甲丙",q:"五月戊土,仲夏火炎,先看壬水,次取甲木,丙火酌用,用癸恐其力微。",ch:51,qs:"壬甲丙癸"},{b:"未",m:"六月",y:"癸丙甲",q:"六月戊土,遇夏干枯,先看癸水,次用丙火、甲木。",ch:52,qs:"癸丙甲"},{b:"申",m:"七月",y:"丙癸甲",q:"七月戊土,阳气渐入,寒气渐出,先丙后癸,甲木次之。",ch:53,qs:"丙癸甲"},{b:"酉",m:"八月",y:"丙癸",q:"八月戊土,金泄身寒,赖丙照暖,喜水滋润,先丙后癸,不必木疏。",ch:54,qs:"丙癸"},{b:"戌",m:"九月",y:"甲丙癸",q:"九月戊土当权,不可专用丙火。先看甲木,次取癸水,却忌戊与癸合。见金先用癸水,后取丙火,配合支干,方成有生之土,合此定发云程,科甲有准。",ch:55,qs:"丙甲癸"},{b:"亥",m:"十月",y:"甲丙",q:"十月戊土,时值小阳,阳气略出,先用甲木,次取丙火,非甲,土不灵,非丙,土不暖;安能发生万物。",ch:56,qs:"甲丙"},{b:"子",m:"十一月",y:"丙甲",q:"十一二月严寒冰冻,丙火为尊,甲木为佐。丙甲两透,桃浪之人;丙出甲藏,采芹食饩,丙藏甲出,佐杂前程;有丙无甲者,豪富,有甲无丙者,清贫,丙甲全无,下流之造。",ch:57,qs:"丙甲"},{b:"丑",m:"十二月",y:"丙甲",q:"十一二月严寒冰冻,丙火为尊,甲木为佐。丙甲两透,桃浪之人;丙出甲藏,采芹食饩,丙藏甲出,佐杂前程;有丙无甲者,豪富,有甲无丙者,清贫,丙甲全无,下流之造。",ch:57,qs:"丙甲"}],己:[{b:"寅",m:"正月",y:"丙庚甲",q:"正月己土,寒气未退,田园犹冻,丙暖为尊,得丙照暖,万物自生。忌见壬水,盖壬不为丙优,反为己病,何也?壬乃江湖之水,田园浸没,急须修堤岸,田园始得播种,须戊作堤,以保园圃,壬多见戊者,定主清雅富",ch:58,qs:"丙壬戊",cut:!0},{b:"卯",m:"二月",y:"甲癸丙",q:"二月己土,阳气渐升,虽禾稼未成,万物发生。但田园未展,宜先取甲木疏之,忌合;次取癸水润之。",ch:59,qs:"甲癸"},{b:"辰",m:"三月",y:"丙癸甲",q:"三月己土,正栽培禾稼之时。先丙后癸,土暖而润,随用甲疏。",ch:60,qs:"丙癸甲"},{b:"巳",m:"四月",y:"癸丙",q:"三夏己土,时值禾稼在田,最喜甘沛,取癸为要,次用丙火。夏无太阳,禾稼不长,故无癸曰旱田,无丙曰孤阴。",ch:61,qs:"癸丙"},{b:"午",m:"五月",y:"癸丙",q:"三夏己土,时值禾稼在田,最喜甘沛,取癸为要,次用丙火。夏无太阳,禾稼不长,故无癸曰旱田,无丙曰孤阴。",ch:61,qs:"癸丙"},{b:"未",m:"六月",y:"癸丙",q:"三夏己土,时值禾稼在田,最喜甘沛,取癸为要,次用丙火。夏无太阳,禾稼不长,故无癸曰旱田,无丙曰孤阴。",ch:61,qs:"癸丙"},{b:"申",m:"七月",y:"丙癸",q:"三秋己土,万物收藏之际,外虚内实,寒气渐升,须丙火温之,癸水润之。不特此也,且癸能泄金,丙能制金,补土精神,则秋生之物咸茂矣。",ch:62,qs:"丙癸"},{b:"酉",m:"八月",y:"丙癸",q:"三秋己土,万物收藏之际,外虚内实,寒气渐升,须丙火温之,癸水润之。不特此也,且癸能泄金,丙能制金,补土精神,则秋生之物咸茂矣。",ch:62,qs:"丙癸"},{b:"戌",m:"九月",y:"甲丙癸",q:"三秋己土,万物收藏之际,外虚内实,寒气渐升,须丙火温之,癸水润之。不特此也,且癸能泄金,丙能制金,补土精神,则秋生之物咸茂矣。",ch:62,qs:"丙癸"},{b:"亥",m:"十月",y:"丙甲戊",q:"三冬己土,湿泥寒冻,非丙暖不生,取丙为尊,甲木能参用,不可用癸。唯初冬壬水旺,用以为制,余皆用丙。无丙用丁,但丁不能解冻除寒,不能火济;丁多,衣禄安然。",ch:63,qs:"丙甲癸壬丁"},{b:"子",m:"十一月",y:"丙甲戊",q:"三冬己土,湿泥寒冻,非丙暖不生,取丙为尊,甲木能参用,不可用癸。唯初冬壬水旺,用以为制,余皆用丙。无丙用丁,但丁不能解冻除寒,不能火济;丁多,衣禄安然。",ch:63,qs:"丙甲癸壬丁"},{b:"丑",m:"十二月",y:"丙甲戊",q:"三冬己土,湿泥寒冻,非丙暖不生,取丙为尊,甲木能参用,不可用癸。唯初冬壬水旺,用以为制,余皆用丙。无丙用丁,但丁不能解冻除寒,不能火济;丁多,衣禄安然。",ch:63,qs:"丙甲癸壬丁"}],庚:[{b:"寅",m:"正月",y:"戊甲壬丙丁",q:"正月庚金,木旺之际,有土皆死,不能生金。且金之寒气未除,先用丙暖庚性。又虑土厚埋金,须甲疏泄。",ch:65,qs:"丙甲"},{b:"卯",m:"二月",y:"丁甲庚丙",q:"二月庚金,卯中乙木当权,柱中自然有乙,当令之乙,得庚辰时,庚必留情于乙,此金有暗强之势,如秋金相似。",ch:66,qs:"乙"},{b:"辰",m:"三月",y:"甲丁壬癸",q:"三月庚金,戊土司令,不怕生寒,无生金之理,有埋金之忧。故先用甲木疏土,次用丁火煅炼成器,不必用庚劈甲。",ch:67,qs:"戊甲丁"},{b:"巳",m:"四月",y:"壬戊丙丁",q:"四月庚金,长生在巳,巳虽有丙,内有戊土,丙不熔金,故不畏火炎。但丙不可轻用,宜先用壬水,方得中和。书曰:群金生夏,妙用玄武;次取戊土,丙火佐之;三者皆全,富贵无双。或透一二,亦主贡监衣衿。",ch:68,qs:"丙戊壬"},{b:"午",m:"五月",y:"壬癸",q:"五月庚金,丁火旺烈,庚金败地,专用壬水,癸又次之。",ch:69,qs:"丁壬癸"},{b:"未",m:"六月",y:"丁甲",q:"六月庚金,三伏生寒,金顽已极。先用丁火,次取甲木。",ch:70,qs:"丁甲"},{b:"申",m:"七月",y:"丁甲",q:"七月庚金,刚锐极矣。专用丁火煅炼,次取木引丁。故曰:秋金刚锐最为奇,壬癸相逢总不宜:如逢木火来成局,试看福寿与天齐。",ch:71,qs:"丁壬癸"},{b:"酉",m:"八月",y:"丁甲丙",q:"八月庚金,刚锐未退,仍用丁甲,丙不可少。",ch:72,qs:"丁甲丙"},{b:"戌",m:"九月",y:"甲壬",q:"九月庚金,戊土司令,最怕土厚埋金。宜先用甲疏,后用壬洗,则金自出矣,忌见己土浊壬。",ch:73,qs:"戊甲壬己"},{b:"亥",m:"十月",y:"丁丙",q:"十月庚金,水冷性寒,非丁莫造,非丙不暖。",ch:74,qs:"丁丙"},{b:"子",m:"十一月",y:"丁甲丙",q:"十一月庚金,天气严寒,仍取丁甲,次取丙火照暖。",ch:75,qs:"丁甲丙"},{b:"丑",m:"十二月",y:"丙丁甲",q:"十二月庚金,寒气太重,丑为湿泥,愈寒愈冻,先取丙火解冻,次取丁火炼金,甲亦不可少。",ch:76,qs:"丙丁甲"}],辛:[{b:"寅",m:"正月",y:"己壬庚",q:"正月辛金,阳气舒升寒气未除。然正月建寅,中有长生之丙,可解寒气。但忌甲木司权,辛金失令。性爱湿泥滋养,取己土为身之本。次用壬水淘洗,欲得辛金发现,全赖壬水之功。",ch:77,qs:"丙甲己壬"},{b:"卯",m:"二月",y:"壬甲",q:"二月辛金,阳和之际,壬水为尊。见戊己为病,得甲制伏,则辛金不致埋没,壬水不致混浊,合此者,必身入玉堂。故二月庚金,有壬甲透者贵显;否则,乡绅。或壬坐亥支,不见土出,可能入芥,家亦小康。得申中之",ch:78,qs:"壬戊己甲庚",cut:!0},{b:"辰",m:"三月",y:"壬甲",q:"三月辛金,戊土司令,辛承正气,母旺子相。",ch:79,qs:"戊"},{b:"巳",m:"四月",y:"壬甲癸",q:"四月辛金,时道首夏,忌丙火之燥烈,喜壬水之洗淘。",ch:80,qs:"丙壬"},{b:"午",m:"五月",y:"壬己癸",q:"五月辛金,丁火司权,辛金失令,阴柔之极,不宜煅炼,须己壬兼用。何也?己为泥沙,壬为湖海,己无壬不湿,辛无己不生,故壬己并用。无壬,癸亦可用,但癸力小。",ch:81,qs:"丁己壬癸"},{b:"未",m:"六月",y:"壬庚甲",q:"六月己土当权,滋扶太过,恐污金不耀,专用壬水为妙,次取庚金佐之。",ch:82,qs:"己壬庚"},{b:"申",m:"七月",y:"壬甲戊",q:"七月辛金,值庚秉令,不旺自旺。且申中有长生之壬,四柱不见戊土透干,胎元亦无戊制,唯申中一戊,为壬堤岸,人命得此,为官清正,但不富耳。",ch:83,qs:"庚壬戊"},{b:"酉",m:"八月",y:"壬甲",q:"八月辛金,当权,得令,旺之极矣,专用壬水淘之泄之为贵,故云:金见水以流通。",ch:84,qs:"壬"},{b:"戌",m:"九月",y:"壬甲",q:"九月辛金,戊土司令,母旺子相,须甲疏土,壬泄旺金,先壬后甲。壬甲两透,桃洞之仙。",ch:85,qs:"戊甲壬"},{b:"亥",m:"十月",y:"壬丙",q:"十月时值小阳,阳气初潜,寒气未盛,先用壬水,次用丙火,暖壬温辛。",ch:86,qs:"壬丙"},{b:"子",m:"十一月",y:"丙戊壬甲",q:"十一月辛金,癸水司令,为寒冬雨露,最忌癸水出干,冻金而困丙火。",ch:87,qs:"癸丙"},{b:"丑",m:"十二月",y:"丙壬戊己",q:"十二月辛金,寒冻之极,先丙后壬。无丙不能解冻,无壬不能洗淘。",ch:88,qs:"丙壬"}],壬:[{b:"寅",m:"正月",y:"庚丙戊",q:"正月壬水,汪洋之象,能并百川之流。然水性柔弱,宜用庚金之源,次取丙火以除寒气,又次取戊土以止其流,庶不致汪洋无度。",ch:90,qs:"庚丙戊"},{b:"卯",m:"二月",y:"戊辛庚",q:"二月壬水,寒气初除,清流湛深,不用丙暖,专取戊土为堤岸,辛发其源,庚金次之。",ch:91,qs:"丙戊辛庚"},{b:"辰",m:"三月",y:"甲庚",q:"三月壬水,戊土司权,死有推山塞海之患,先用甲疏季土,次取庚发水源。",ch:92,qs:"戊甲庚"},{b:"巳",m:"四月",y:"壬辛庚癸",q:"四月壬水,丙火司权,水弱极矣。专取壬水比肩为助,次取辛金发源,忌与丙火合化,又以庚金为佐。",ch:93,qs:"丙辛庚"},{b:"午",m:"五月",y:"癸庚辛",q:"五月壬水,丁旺壬弱,取庚为用,取癸为佐。无庚不能蓄源,无癸不能伤丁。",ch:94,qs:"丁庚癸"},{b:"未",m:"六月",y:"辛甲",q:"六月壬水,己土当权,丁火退气,用辛蓄源,用甲劈土;先辛后甲,次取癸水。",ch:95,qs:"己丁辛甲癸"},{b:"申",m:"七月",y:"戊丁",q:"七月壬水,庚金司令,壬得申之长生,源流自远,转弱为强。专用戊土,次取丁火,佐戊制庚,但用辰戌之戊,不用申中受病之戊。",ch:96,qs:"庚戊丁"},{b:"酉",m:"八月",y:"甲庚",q:"八月壬水,辛金司权,金白水清之时,忌戊己为病,专取甲木。",ch:97,qs:"辛戊己甲"},{b:"戌",m:"九月",y:"甲丙",q:"九月亥水进气,其性将厚。若一派壬水,见一甲制戌中之戊,又见一戊出干,斯用丙火,此格清贵极矣,正谓一将当关,群邪自伏。见丙,便主衣禄,或不见丙戊,终为下格。",ch:98,qs:"甲戊丙"},{b:"亥",m:"十月",y:"戊丙庚",q:"十月壬水司权,至旺之极,取戊为用。",ch:99,qs:"戊"},{b:"子",m:"十一月",y:"戊丙",q:"十一月壬水,阳刃帮身,较前更旺,先取戊土,次用丙火。",ch:100,qs:"戊丙"},{b:"丑",m:"十二月",y:"丙丁甲",q:"十二月壬水,旺极复衰,何也?上半月癸辛主事,壬水稍旺,专用丙火解冻,下半月己土主事,故衰,亦用丙火,甲木佐之;故有丙,名利两全。",ch:101,qs:"癸辛丙己甲"}],癸:[{b:"寅",m:"正月",y:"辛丙",q:"正月癸水,值三阳之候,为雨露之精,其性至柔。先用辛金,生癸水之源,次用丙火照暖,名阴阳和合,万物发生。",ch:102,qs:"辛丙"},{b:"卯",m:"二月",y:"庚辛",q:"二月癸水,不刚不柔,乙木司令,泄弱元神,专用庚金为用,辛金次之。",ch:103,qs:"乙庚辛"},{b:"辰",m:"三月",y:"丙辛甲",q:"三月癸水,要分清明鼓雨,清明后火气未炽,专用丙火,名阴阳承蔼。谷雨后虽用丙火,还宜辛金佐之,富贵;次看何神高透无伤,便可定格局高低。如",ch:104,qs:"丙辛"},{b:"巳",m:"四月",y:"辛",q:"四月癸水,喜见新母,无辛,庚亦可用,但不自然。",ch:105,qs:"辛庚"},{b:"午",m:"五月",y:"庚辛壬癸",q:"五月癸水,至弱无根,必须庚辛为生身之本,但丁火司权,金难敌火,安能滋养癸水?宜见比劫,方得庚辛妙用。",ch:106,qs:"庚辛丁"},{b:"未",m:"六月",y:"庚辛壬癸",q:"六月癸水,有上下月之分,上半月庚辛无气,下半月庚辛有气。凡六癸日,人多推此月多不验者,何也?俗士不知此理,不知未中有乙,与己同宫,破而不破,故癸水不能从煞,所以专用庚辛。如上半月,金神衰弱,火",ch:107,qs:"庚辛乙己",cut:!0,note:"原文全章未见「壬」,此格按整理表录入,待以善本核对"},{b:"申",m:"七月",y:"丁",q:"七月癸水,正母旺子相之时。癸虽死申,殊不知申中有庚生之,名死处逢生,弱中复强,即运行西北,亦不死也。但庚司令,刚锐极矣,必取丁火为用。",ch:108,qs:"庚丁"},{b:"酉",m:"八月",y:"辛丙",q:"八月癸水,辛金虚灵,非顽金可比,正金白水清。故取辛金为用,丙火佐之,名水暖金温。",ch:109,qs:"辛丙"},{b:"戌",m:"九月",y:"辛甲壬癸",q:"九月癸水,失令无根,戊土司权,克制太过,专用辛金发癸水之源,次用癸甲,要比肩滋甲制戊方妙。",ch:110,qs:"戊辛甲"},{b:"亥",m:"十月",y:"庚辛戊丁",q:"十月癸水,旺中有弱,何也?因亥摇木,泄散元神,宜用庚辛为妙。",ch:111,qs:"庚辛"},{b:"子",m:"十一月",y:"丙辛",q:"十一月癸水,值冰冻之时,金水无交欢之象,专用丙火解冻,庶不致变雨为雪,结露为霜。又要辛金滋扶,然无丙火,辛亦不妙。凡冬季癸水,有丙透解冻,则金温水暖,两两相生,要不见壬透,自然登科及第,紫诰金",ch:112,qs:"丙辛壬",cut:!0},{b:"丑",m:"十二月",y:"丙丁",q:"十二月癸水,落地成冰,万物不能舒泰,专用丙火解冻。",ch:113,qs:"丙"}]};function I(P,A){const E=an[P];if(!E)return null;const j=B.indexOf(A);if(j<0)return null;const Y=E[j];if(!Y)return null;const p=[...Y.y];return{stem:P,branch:Y.b,month:Y.m,yong:p,primary:p[0]||null,quote:Y.q,truncated:!!Y.cut,quoteStems:[...Y.qs],chapter:Y.ch,url:un+String(Y.ch).padStart(3,"0")+"/",note:Y.note||"",label:P+"日生于"+Y.m+"("+Y.m+Y.b+"月)"}}function H(P){return P?P.label+":用神 "+P.yong.join("、")+"(首取 "+P.primary+")":""}return{QT_BRANCHES:B,QT_MONTHS:cn,QT_BASE_URL:un,QT_NOTE:fn,QT:an,qtOf:I,qtLine:H}})(),V.classics=(function(){const B={ziping:{name:"子平真诠",author:"清·沈孝瞻",base:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},sanming:{name:"三命通会",author:"明·万民英",base:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/"}},cn=[{id:"zp-yongshen",book:"ziping",chapter:"八、论用神",scene:"用神",tags:[],quote:"八字用神,专求月令,以日干配月令地支,而生克不同,格局分焉。财官印食,此用神之善而顺用之者也;煞伤劫刃,用神之不善而逆用之者也。",plain:"用神从月令里找:财、官、印、食四吉神顺用(生之护之),煞、伤、劫、刃四凶神逆用(制之化之)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53628.html"},{id:"zp-zhenguan",book:"ziping",chapter:"三十一、论正官",scene:"格局",tags:["正官"],quote:"以刑冲破害为忌,则以生之护之为喜矣。存其喜而去其忌则贵,而贵之中又有高低者,何也?",plain:"正官格最忌刑冲破害,喜财生官、印护官;去忌存喜才谈得上贵,贵的层次还要看财印是否并透、有无伤官七煞混杂。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53651.html"},{id:"zp-cai",book:"ziping",chapter:"三十三、论财",scene:"格局",tags:["财","正财","偏财"],quote:"财为我克,使用之物也,以能生官,所以为美。为财帛,为妻妾,为才能,为驿马,皆财类也。",plain:"财是我所克、能为我用之物,因能生官而美;它同时代表钱财、配偶、才能、走动,不只「钱」一项。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53653.html"},{id:"zp-yin",book:"ziping",chapter:"三十五、论印绶",scene:"格局",tags:["印"],quote:"印绶喜其生身,正偏同为美格,故财与印不分偏正,同为一格而论之。",plain:"印能生身,正印偏印都算美格,不分偏正而论;印格的关键在身印强弱与官杀、食伤、财的配合。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53655.html"},{id:"zp-shishen",book:"ziping",chapter:"三十七、论食神",scene:"格局",tags:["食神"],quote:"食神本属泄气,以其能生正财,所以喜之。故食神生财,美格也。财要有根,不必偏正叠出,如身强食旺而财透,大贵之格。",plain:"食神本是泄气,可贵在能生财;食神生财要财有根,身强、食旺、财透三者齐,格局才大。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53657.html"},{id:"zp-pianguan",book:"ziping",chapter:"三十九、论偏官",scene:"格局",tags:["七杀","偏官"],quote:"煞以攻身,似非美物,百大贵之格,多存七煞。盖控制得宜,煞为我用,如大英雄大豪杰,似难驾驭,而处之有方,则惊天动地之功,忽焉而就。",plain:"七煞攻身,看着不美,但大贵之格多有七煞——能控制住就为我所用,像驾驭豪杰,处之有方就能成大事。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53659.html"},{id:"zp-shangguan",book:"ziping",chapter:"四十一、论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽非吉神,实为秀气,故文人学士,多于伤官格内得之。而夏木见水,冬金见火,则又为秀之尤秀者也。",plain:"伤官不是吉神,却是秀气所在,文人多出伤官格;夏木得水、冬金得火,是秀气里更秀的两种。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53661.html"},{id:"zp-yangren",book:"ziping",chapter:"四十三、论阳刃",scene:"格局",tags:["劫财","阳刃"],quote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之,故为阳刃。不曰劫而曰刃,劫之甚也。刃宜伏制,官煞皆宜,财印相随,尤为贵显。",verifiedQuote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之",variantNote:"典藏网此页把「故为阳刃」刻作「故为旭刃」,与通行本异文;前段仍可逐字核验",plain:"阳刃是劫财之极(只有五阳干有),宜用官煞制伏;财印相随而不相碍,格局更显。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53663.html"},{id:"zp-lujie",book:"ziping",chapter:"四十五、论建禄月劫",scene:"格局",tags:["比肩","建禄","月劫"],quote:"故建禄与月劫,可同一格,不必加分,皆以透干支,别取财官煞食为用。",plain:"建禄、月劫同看一格,月令本身不算用神,要另看透出的财官煞食取用。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53665.html"},{id:"zp-qihou",book:"ziping",chapter:"十四、论用神配气候得失",scene:"调候",tags:[],quote:"论命惟以月令用神为主,然亦须配气候而互参之。譬如英雄豪杰,生得其时,自然事半功倍;遭时不顺,虽有奇才,成功不易。",plain:"月令用神为主,但必须配气候参看;同样的格局,生在得时的气候里事半功倍,逆着气候就费劲。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53634.html"},{id:"zp-chengbai",book:"ziping",chapter:"九、论用神成败救应",scene:"格局",tags:[],quote:"成中有败,必是带忌;败中有成,全凭救应。",plain:"成格不等于一路顺:成中带忌(官逢财又逢伤、官被合之类)就打了折;败格也未必无救——印来解伤、合来清煞,败中还能转成。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53629.html"},{id:"zp-zaji",book:"ziping",chapter:"十六、论杂气如何取用",scene:"用神",tags:[],quote:"何谓透干?如甲生辰月,透戊则用偏财,透癸则用正印,透乙则用月劫是也。何谓会支?如甲生辰月,逢申与子会局,则用水印是也。一透则一用,兼透则兼用,透而又会,则透与会并用。",plain:"四墓(辰戌丑未)所藏不止一气,所以叫杂气:取用先看哪一藏干透到天干,透一个用一个;没有透干,再看地支有没有与月支会成三合局,会成什么局就取局中那一气。透干与会支同时成立时两样并用。原文对「兼透」只给原则,没有给取舍次序。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53636.html"},{id:"zp-bianhua",book:"ziping",chapter:"十、论用神变化",scene:"格局",tags:[],quote:"故若丁生亥月,本为正官,支全卯未,则化为印。己生申月,本属伤官。藏庚透壬,则化为财。凡此之类皆用神之变化也。",plain:"用神本从月令取,但月令藏干不一:丁生亥月本为正官,支会卯未就化为印;己生申月本属伤官,庚藏壬透就化为财。起点相同,合化一变,取用也跟着变(原文只说变化之由,不断定某盘必化)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53630.html"},{id:"dt-hannuan",book:"ditian",chapter:"通神论·寒暖",scene:"调候",tags:[],quote:"天道有寒暖,生育万物,人道行之,不可过也。",plain:"天有寒暖才能生养万物,人命里寒暖也不能过——过寒过热都要调。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zaoshi",book:"ditian",chapter:"通神论·燥湿",scene:"调候",tags:[],quote:"地道有燥湿,生成品汇,人道得之,不可偏也。",plain:"地有燥湿才有品类生成,人命得燥湿之气也不能偏。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shuaiwang",book:"ditian",chapter:"通神论·衰旺",scene:"调候",tags:[],quote:"能知旺衰之真机,其于三命之奥,思过半矣。",plain:"真正看懂旺衰的机关,命理之奥就过了一半——旺衰不是数个数,要看真机。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zhonghe",book:"ditian",chapter:"通神论·中和",scene:"调候",tags:[],quote:"既识中和之正理,而于五行之妙,有全能焉。",plain:"懂得中和的道理,五行的妙处就都在其中了。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-guansha",book:"ditian",chapter:"通神论·官杀",scene:"十神",tags:["正官","七杀"],quote:"官杀混杂来问我,有可有不可。",plain:"官杀混杂不是一律不好,要看能不能去留取清。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shangguan",book:"ditian",chapter:"通神论·伤官",scene:"十神",tags:["伤官"],quote:"伤官见官最难辨,可见不可见。",plain:"伤官见官是最难分辨的一条:有的能见,有的不能见,不能一句「伤官见官为祸百端」了事。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-yueling",book:"ditian",chapter:"通神论·月令",scene:"用神",tags:[],quote:"月令乃提纲之府,譬之宅也,人元为用事之神,宅之定向也,不可以不卜。",plain:"月令像宅子,藏干是用事之神,像宅子的朝向,必须细看。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tiyong",book:"ditian",chapter:"通神论·体用",scene:"用神",tags:[],quote:"道有体用,不可以一端论也,要在扶之抑之得其宜。",plain:"体用不能只看一头,关键是扶抑得宜。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-jingshen",book:"ditian",chapter:"通神论·精神",scene:"用神",tags:[],quote:"人有精神,不可以一偏求也,要在损之益之得其中。",plain:"看精神不能偏执一端,要在损益之间求其中。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tongguan",book:"ditian",chapter:"通神论·通关",scene:"用神",tags:[],quote:"关内有织女,关外有牛郎,此关若通也,相邀入洞房。",plain:"两股力隔着一道关相望:一边织女、一边牛郎,中间若有一行能把两边接上(一方生它、它再生另一方),对峙就化成相生。原文只给取象,哪一行为关要按五行生克定。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"smt-zhenguan",book:"sanming",chapter:"卷五·论正官",scene:"格局",tags:["正官"],quote:"正官者,乃甲见辛、乙见庚之例。阴阳配合,相制有用,成其道也。故正官为六格之首,止许一位,多则不宜。",plain:"正官取「克我而阴阳相配」,有制而能成用;六格以正官居首,只宜一位,多见就杂。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7582.html"},{id:"smt-zhengcai",book:"sanming",chapter:"卷六·论正财",scene:"格局",tags:["财","正财"],quote:"正财者,乃甲见己、乙见戊之例。受我克制,为我之妻,譬人娶妻,妻赍财嫁我,我必精神康强,而后可享用,若衰微不振,虽妻财丰厚,但能目视,终不得用。",plain:"正财是我克制之物,古人以「娶妻带财」作比:自身精神康强才受用得起,身弱不振,财再厚也只是看着。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7645.html"},{id:"smt-piancai",book:"sanming",chapter:"卷六·论偏财",scene:"格局",tags:["财","偏财"],quote:"何谓偏财?乃甲见戊、乙见己之例。非妻所带,乃众人之财也。切忌有姊妹兄弟分夺,柱无官星,祸患百出。",plain:"偏财取「我克而阴阳不同」:不是妻家带来的私财,而是众人之财,宜流通不宜独占。原文最忌比肩劫财来分夺,又说柱中无官星则多事(旧说的重话照录,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7650.html"},{id:"smt-yinshou",book:"sanming",chapter:"卷六·论印绶",scene:"格局",tags:["印"],quote:"印绶者,乃五行生我之名。如甲乙在亥子月,丙丁在寅卯月之类,乃我气之源,为生气,为父母,能护我官星,使无伤克",plain:"印是生我之气,像源头与父母:它能护住官星,使官不受伤克;反过来说,印重就怕财来破。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7655.html"},{id:"smt-shishen",book:"sanming",chapter:"卷六·论食神",scene:"格局",tags:["食神"],quote:"凡命遇财煞之地,食神旺相,煞被食制,不敢为祸,财被食生,充裕不竭,故食神一名寿星,一名爵星,良有以也。",plain:"食神旺,一头制煞、一头生财:煞被制住不敢为祸,财被生起不至枯竭;所以食神又叫寿星、爵星。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7663.html"},{id:"smt-shangguan",book:"sanming",chapter:"卷六·论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽凶,乃我所生,自家之物,伤尽则能生财,财旺则能生官,造化展转有情。",plain:"伤官虽称凶,却是我自己生出来的:伤尽(柱中不见官星)反能生财,财旺再生官,辗转还是有情。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7662.html"},{id:"smt-yangren",book:"sanming",chapter:"卷六·论阳刃",scene:"格局",tags:["阳刃","劫财"],quote:"阳者,阴阳之阳,刃者,刀刃之刃,即禄前一位,言旺越其分,故险。",plain:"阳刃指禄前一位,旺过了本分,所以险;甲丙戊庚壬五阳干才有刃,阴干见伤官同论。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7671.html"},{id:"smt-jianlu",book:"sanming",chapter:"卷六·论建禄",scene:"格局",tags:["建禄","比肩","月劫"],quote:"凡命月令建禄,难招祖业,必主平生见财不聚,却病少寿长,行运再见比肩,克妻妨父损子",plain:"月令建禄是日主临官之地,身旺而财官难取:古说难承祖业、见财不聚,但病少寿长;再走比肩运,古书说克妻妨父损子(属于旧说的重话,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7672.html"},{id:"smt-guansha-liu",book:"sanming",chapter:"卷五·官煞去留杂论",scene:"格局",tags:["七杀","偏官"],quote:"凡看去留,要详柱中官煞孰重孰轻,天干透者易去,月支所藏者难去,须伤官食神去官煞之物众而有力,方才去得。",plain:"官煞混见时先比谁重谁轻:天干透出的容易去,月支藏着的难去;用来去官煞的伤官食神要成众、有根有力,才真去得掉。七杀格遇正官混杂,就按这一篇看取舍。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7599.html"},{id:"smt-quzhi",book:"sanming",chapter:"卷六·曲直",scene:"格局",tags:["曲直格","专旺"],quote:"甲乙日得亥卯未局,柱中须有亥字带印为入格,若无亥有卯,止是木之本气,却要见金土为贵,既无亥字,又无金土,则木不秀不实,难以言贵。",plain:"曲直格要木局成方(亥卯未)且带亥字为印,才算入格;只有卯、没有亥,只是木的本气,得另见金土才谈得上贵;两样都没有,木虽旺而无成,难称贵格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7630.html"},{id:"smt-yanshang",book:"sanming",chapter:"卷六·炎上",scene:"格局",tags:["炎上格","专旺"],quote:"丙丁日遇寅午戌局,柱中须有寅字带印为入格,无寅止是九流近贵之命,若火自旺,无亥水相济,不贵。喜东北方运,忌见辰丑戊己,晦火光明,多主眼疾,或患风气,柱有木制成贵,忌水金乡,怕冲。",plain:"炎上格要火局成方(寅午戌)且带寅字为印才入格;无寅只是偏贵的命。火自旺还要一点水相济,过燥不贵;行运喜东北、忌湿土晦火,也怕冲。原文另带「多主眼疾」一句,属于旧说,本插件只记原文、不作健康判断。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7631.html"},{id:"smt-congge",book:"sanming",chapter:"卷六·从革",scene:"格局",tags:["从革格","专旺"],quote:"庚辛日见巳酉丑局,须带丙丁巳午一二位方成其器,但不可火多。如辛巳、辛酉、辛丑三日不喜五月生,被火所伤,宜八月或水土养育食神印绶为吉。",plain:"从革格是金局成方(巳酉丑),但金要火炼才成器:须带丙丁或巳午一二位,火又不能多。辛巳、辛酉、辛丑三日出身在五月(火旺)被伤,原文说宜八月或水土养育。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7632.html"},{id:"smt-runxia",book:"sanming",chapter:"卷六·润下",scene:"格局",tags:["润下格","专旺"],quote:"壬癸日见申子辰全,忌引卯巳死绝之地,三刑四冲之乡,死绝则不流,冲刑则横流,岁运同。或曰水太泛须柱有土神一两位制之,得成堤岸,既有土怕会木为凶,如有木伤土要金印救解,终是一生成败。",plain:"润下格是水局三合全(申子辰),最忌卯巳死绝与三刑四冲:死绝水不流,冲刑水横流,行运也一样看。水太泛要一两位土作堤,有土又怕木来破堤,木伤土再用金印解救——原文把成败条件摊开讲。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7633.html"},{id:"smt-jiasi",book:"sanming",chapter:"卷六·稼穑",scene:"格局",tags:["稼穑格","专旺"],quote:"赋云:戊己忻逢四季,乃为稼穑之名。是戊己生逢季月,喜见木为官,止得一木为妙,木多则土虚,主虚诈为破家不仁之人。",plain:"稼穑格取戊己生于四季月(辰戌丑未)。原文说喜见一木为官,木多则土虚;后半对木多之人的评语是旧说的重话,本插件只照录条件、不拿来评价人。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7634.html"},{id:"smt-congsha",book:"sanming",chapter:"卷五·弃命从煞",scene:"格局",tags:["从杀格"],quote:"《独步》云:弃命从煞,须要会煞从财,忌煞从煞。盖言从煞格,以煞神太重,身无所归,不得已从之,要行煞旺及财乡,四柱无一点比肩印绶方论,如遇运扶身旺,与煞为敌,从煞不专,故为祸患。",plain:"从煞格是煞太重、日主无所归才「弃命」相从:条件是四柱没有一点比肩印绶扶身,行运喜煞旺与财乡;一旦走扶身之运,与煞为敌,就从得不专。本插件只作结构说明,不据此断寿夭。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7598.html"},{id:"smt-congcai",book:"sanming",chapter:"卷六·弃命从财",scene:"格局",tags:["从财格"],quote:"《独步》云:弃命从财,须要会财,若逢根气,命损无猜。假如丁生酉月,柱多庚辛,日干无气,只得弃命相从,运入北方财官旺地,乃为入格,南行灾。",plain:"从财格要财会成局、日干无气;一见根气就破格,原文用「命损无猜」这种重话写明。以丁生酉月、柱多庚辛为例:只能弃命相从,行北方财官旺地为入格,南行则灾。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7652.html"},{id:"smt-suiyun",book:"sanming",chapter:"卷二·总论岁运",scene:"岁运",tags:[],quote:"行运以生月为运元,最怕行运与太岁冲克,若岁运冲月必祸;若岁运与日相对,谓之返吟,岁运压日,谓之伏吟,二者不利六亲,非横破财,不为吉兆。",plain:"大运以生月为起点,最怕与流年(太岁)冲克:原文说岁运冲月为祸,又把「岁运与日柱相对」叫返吟、「岁运压日」叫伏吟。这两句是按「对日柱」说的,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义(本插件取后者);末句「不利六亲、破财」是旧说的重话,只作变动提示,不作断语。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html"},{id:"smt-renyuan",book:"sanming",chapter:"卷二·论人元司事",scene:"人元",tags:[],quote:"故支吕所藏者主命,谓之人元,名为司事之神,以命术言之为月令。如正月建寅,寅中有艮土用事五日,丙火长生五日,甲木二十日;二月建卯,卯中有甲木用事七日,乙木二十三日;",plain:"地支所藏为「人元」,按月令分日轮值。三命通会这一本给的是另一套日数:寅月艮土(戊土)五日、丙火五日、甲木二十日,卯月甲七日、乙二十三日。它与本插件采用的通行 30 日表(寅月戊7丙7甲16,即 7/7/16;卯月甲10乙20,即 10/20)不是同一套分法;两表各照原样并列,本插件仍按通行表给「第几日谁当权」,不改取格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7529.html"}],un=cn.reduce((p,i)=>(p[i.id]=i,p),{}),fn={正官格:"正官",七杀格:"七杀",偏官格:"偏官",正财格:"正财",偏财格:"偏财",正印格:"印",偏印格:"印",食神格:"食神",伤官格:"伤官",阳刃格:"阳刃",月劫格:"月劫",建禄格:"建禄"},an={曲直格:"smt-quzhi",炎上格:"smt-yanshang",从革格:"smt-congge",润下格:"smt-runxia",稼穑格:"smt-jiasi",从财格:"smt-congcai",从杀格:"smt-congsha"};function I(p){return un[p]||null}function H(p){return(p&&Array.isArray(p.liunian)?p.liunian:[]).some(u=>u&&u.suiyun&&Array.isArray(u.suiyun.signals)&&u.suiyun.signals.length)?I("smt-suiyun"):null}function P(p){const i=String(p||"");if(fn[i])return fn[i];const h=i.replace(/格$/,"");return fn[h+"格"]||h}function A(p,i){return cn.find(h=>h.scene==="格局"&&h.tags.includes(p)&&(!i||h.book===i))||null}function E(p){return p.chapter.replace(/^.*[、·]/,"").replace(/^论/,"")}function j(p,i=5){if(!p)return[];const h=[],u=new Set,b=(N,dn)=>{!N||u.has(N.id)||h.length>=i||(u.add(N.id),h.push({...N,why:dn}))},w=Array.isArray(p.geju)?p.geju:p.frame&&Array.isArray(p.frame.geju)?p.frame.geju:[],S=w.some(N=>N&&N.kind==="化气格");for(const N of w){if(N&&N.status==="破格"||S&&N&&N.status==="假从")continue;const dn=N&&an[N.name]?I(an[N.name]):null;dn&&b(dn,`本盘列有「${N.name}」,故取${B[dn.book].name}「${E(dn)}」一条`)}for(const N of w){if(!N||N.kind&&N.kind!=="月令格")continue;const dn=P(N.name),J=A(dn,"ziping")||A(dn);J&&b(J,`你的月令格局是「${N.name}」,故取${B[J.book].name}「${E(J)}」一条`);const Un=cn.find(bn=>bn.scene==="格局"&&bn.tags.includes(dn)&&(!J||bn.book!==J.book));Un&&b(Un,`同是「${N.name}」,${B[Un.book].name}「${E(Un)}」另有取法,可对照读`)}const q=p.climate||p.frame&&p.frame.yongshen&&(p.frame.yongshen.climate||p.frame.yongshen.tiaohou),o=p.frame&&p.frame.yongshen&&p.frame.yongshen.tongguan,d=o&&o.usable?I("dt-tongguan"):null;if(q&&q.kind&&q.kind!=="平和"){const N=!!(q.cold||q.kind.indexOf("寒")>=0),dn=!!(q.hot||q.kind.indexOf("热")>=0);b(I(N?"dt-hannuan":"dt-zaoshi"),`本盘气候判为「${q.kind}」,故取${B.ditian.name}寒暖燥湿一条`),d||b(I("zp-qihou"),"气候与月令用神要互参,故取子平真诠「用神配气候」一条"),dn&&b(I("dt-hannuan"),"本盘偏热,寒暖一条正对")}d&&b(d,`本盘忌${o.foe}克用${o.use},局中${o.bridge}${o.weight}分可作通关,故取${B.ditian.name}「通关」一条`);const g=w.find(N=>N&&N.kind==="化气格"),z=w.find(N=>N&&N.kind==="组合"),T=p.monthBranch||p.frame&&p.frame.monthBranch||p.pillars&&p.pillars.month&&p.pillars.month.branch,Z=["辰","未","戌","丑"].includes(T);return g?b(I("zp-bianhua"),`本盘列有「${g.name}」:用神由月令合化而变,总纲一位改取${B.ziping.name}论用神变化`):Z?b(I("zp-zaji"),`月令${T}属四墓杂气,取用先看透干、再看会支,总纲一位取${B.ziping.name}论杂气如何取用`):z?b(I("zp-chengbai"),`本盘另有「${z.name}」组合:成格还要看带忌与救应,总纲一位改取${B.ziping.name}论用神成败救应`):b(I("zp-yongshen"),"用神从月令取、四吉顺用四凶逆用,是通用总纲"),h}function Y(p){return!p||!p.length?"":p.map(i=>`《${B[i.book].name}·${i.chapter}》「${i.quote}」`).join(`
|
|
72
|
+
`)}return{CLASSIC_BOOKS:B,CLASSICS:cn,classicOf:I,suiyunClassicOf:H,classicsFor:j,classicsText:Y}})(),V.structure=(function(){const B={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},cn={木:"火",火:"土",土:"金",金:"水",水:"木"},un={stem:{year:2,month:5,day:0,hour:3},branch:{year:11,month:36,day:27,hour:16}},fn={子:{癸:100},丑:{己:20,辛:40,癸:40},寅:{甲:65,丙:30,戊:5},卯:{乙:100},辰:{戊:45,乙:30,癸:25},巳:{丙:65,戊:20,庚:15},午:{丁:90,己:10},未:{己:55,丁:40,乙:5},申:{庚:65,壬:30,戊:5},酉:{辛:100},戌:{戊:55,辛:25,丁:20},亥:{壬:70,甲:30}},an={木:{得地:"亥子寅卯",半:{辰:.5,未:.2}},火:{得地:"寅卯巳午未",半:{戌:0}},土:{得地:"巳午未戌",半:{寅:.2,辰:.5}},金:{得地:"丑酉申戌辰",半:{未:.1,巳:.1}},水:{得地:"申亥子丑",半:{辰:.5}}},I=["year","month","day","hour"],H={year:"年",month:"月",day:"日",hour:"时"},P={AAAA:{prob:99,range:"≈99%",word:"四支同党,基本为真从"},ABBB:{prob:80,range:"≈80%",word:"年支独异,极易从"},AAAB:{prob:55,range:"50-60%",word:"时支独异,从与不从各半"},AABA:{prob:20,range:"≈20%",word:"日支独异,不易从"},ABAA:{prob:1,range:"≈1%",word:"月支独异,几乎不从"},AABB:{prob:0,range:"0%",word:"二对二最平衡,无从格"},ABAB:{prob:0,range:"0%",word:"二对二,无从格"},ABBA:{prob:null,range:"原文未给",word:"二对二,原文只说「有可能从格」"}};function A(i,h){const u=B[i],b=an[u];if(!b)return{level:"不得地",weight:0};if(b.得地.includes(h))return{level:"得地",weight:1};const w=b.半[h];return w!==void 0?{level:"半得地",weight:w}:{level:"不得地",weight:0}}function E(i,h){const u=B[i],b=B[h];return!u||!b?"B":b===u||cn[b]===u?"A":"B"}function j(i,h){const u=I.filter(ln=>i[ln]&&i[ln].branch);if(!u.length)return null;const b=Y(i.year.branch,h),w=u.map(ln=>{const en=i[ln].branch,tn=A(h,en),hn=tn.weight>=1?"A":"B";return{key:ln,label:H[ln],branch:en,camp:hn===b?"A":"B",support:tn.level,supportWeight:tn.weight,weight:un.branch[ln]}}),S=w.map(ln=>ln.camp).join(""),q=P[S]||null,o=A(h,i.year.branch).weight>=1?"身强阵营":"身弱阵营",d=o==="身强阵营"?"身弱阵营":"身强阵营",g=(ln,en)=>w.filter(tn=>tn.camp===ln).reduce((tn,hn)=>tn+hn[en],0),z={A:g("A","weight"),B:g("B","weight")},T=o==="身强阵营"?z.A:z.B,Z=o==="身强阵营"?z.B:z.A,N=["year","month","hour"].filter(ln=>i[ln]&&i[ln].stem),dn={A:0,B:0};for(const ln of N)dn[E(h,i[ln].stem)]+=un.stem[ln];const J=w.filter(ln=>ln.support!=="得地"),Un=w.filter(ln=>ln.camp==="A").length,bn=w.length-Un,r=Un===0||bn===0?null:Un<bn?"A":bn<Un?"B":null,C=r?w.filter(ln=>ln.camp===r):[],on={aCamp:o,branch:z,stem:dn,total:{A:z.A+dn.A,B:z.B+dn.B}},zn=r?`异类为${C.map(ln=>`${ln.label}支(${ln.weight} 分)`).join("、")}`:Un===w.length||bn===w.length?`四支同党(均属${o})`:`二对二:${w.filter(ln=>ln.camp==="A").map(ln=>ln.label).join("、")}支属${o},${w.filter(ln=>ln.camp==="B").map(ln=>ln.label).join("、")}支属${d}`,xn=[`四支${S}(${w.map(ln=>`${ln.label}支${ln.branch}${ln.support}`).join("、")})`,zn,`地支 身强${T} : 身弱${Z},加天干 ${on.total[o==="身强阵营"?"A":"B"]}:${on.total[o==="身强阵营"?"B":"A"]}`],pn=w.length===4;return{code:S,complete:pn,aCamp:o,congProb:pn&&q?q.prob:null,congRange:pn&&q?q.range:"三柱不判结构概率",word:pn&&q?q.word:"时柱暂缺,只列三支结构,不套从格概率",branches:w,balance:on,odd:C.map(ln=>({key:ln.key,label:ln.label,branch:ln.branch,weight:ln.weight})),halfSupported:J.filter(ln=>ln.support==="半得地").map(ln=>`${ln.label}支${ln.branch}`),detail:xn.join(";"),method:"按年支定 A 档,四支分两营;异类支的宫位权重决定静态从格概率(炳祥课堂口径,非唯一流派)",note:"静态结构。三合/三会/六合把某一支合走时,应以合化后的阵营重排;概率只作提示,不直接断从格。"}}function Y(i,h){return A(h,i).weight>=1?"A":"B"}function p(i={},{hourUnknown:h=!1}={}){const u=I.filter(N=>i[N]&&i[N].branch),b=!h&&u.length===4,w=b?I.slice():u.filter(N=>!(N==="hour"&&h)),S={},q={},o={};for(const N of I)S[N]=un.stem[N],q[N]=un.branch[N],o[N]=w.includes(N)?S[N]+q[N]:0;const d=w.reduce((N,dn)=>N+S[dn],0),g=w.reduce((N,dn)=>N+q[dn],0),z=d+g,T=w.map(N=>`${H[N]} ${o[N]}%(干${S[N]}+支${q[N]})`).join("、"),Z=w.length<4?`;${I.filter(N=>!w.includes(N)).map(N=>H[N]).join("、")}柱未计`:"";return{complete:b,stem:S,branch:q,pct:o,total:{stem:d,branch:g,all:z},detail:`宫位权重合计 ${z}:${T}${Z}`,method:"炳祥课程宫位权重:天干 2/5/0/3、地支 11/36/27/16,合计 100;日干为参照点计 0。只作展示换算,不改旺衰评分",note:b?"月令 41% 为四柱之首(课堂称事业宫);日 27%、时 19%、年 13%":"时柱暂缺,权重表照列,但本盘合计不足 100;不重新归一化"}}return{PILLAR_WEIGHT:un,HIDDEN_PCT:fn,supportOf:A,branchStructureOf:j,weightPctOf:p}})(),V.hehua=(function(){const B=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],cn={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},un={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"},fn={木:"土",土:"水",水:"火",火:"金",金:"木"},an={子:["癸"],丑:["己","癸","辛"],寅:["甲","丙","戊"],卯:["乙"],辰:["戊","乙","癸"],巳:["丙","庚","戊"],午:["丁","己"],未:["己","丁","乙"],申:["庚","壬","戊"],酉:["辛"],戌:["戊","辛","丁"],亥:["壬","甲"]},I={甲己:"土",乙庚:"金",丙辛:"水",丁壬:"木",戊癸:"火"},H=["year","month","day","hour"],P={year:"年",month:"月",day:"日",hour:"时"},A="问真《基础知识·干支中》:五合是否真化看四条件——天干紧挨、被化天干无同类帮扶、月令有引化物、引化物不被克;隔合、遥合、争合、妒合一律不化",E="只作只读标注:不改旺衰分、不改五行权重、不改喜忌。争合=两阳干争一阴干,妒合=两阴干争一阳干,问真说这两者「实际指的就是合绊」,故判不化。",j=b=>B.indexOf(b)%2===0,Y=(b,w)=>I[b+w]||I[w+b]||null,p=b=>cn[b]||"",i=b=>Object.keys(fn).find(w=>fn[w]===b)||"",h=b=>p((an[b]||[])[0]||"");function u(b,w,S,q=H){const o=(Array.isArray(q)?q:H).filter(bn=>b&&b[bn]&&b[bn].stem&&b[bn].branch).map(bn=>({key:bn,label:P[bn]||bn,stem:b[bn].stem,branch:b[bn].branch})),d=w||b&&b.month&&b.month.branch||"",g=S||b&&b.day&&b.day.stem||"",z=["反化(甲己化木、乙庚化木、丙辛化火或金、丁壬化火或水、戊癸化土或水)是近代易人的演绎,诸家分歧大,本插件不做。","日元参与合化时,即使化成功仍以原五行论:问真说「五行的本质属性不会转变,只不过表现形式可能会发生变化」。","天干五合未必以日元为主——年月干合化成功同样算数(问真所举己酉造就是年月干合)。"];if(o.length<2)return{items:[],transformed:[],text:"天干不足两柱,五合无从判起。",method:A,boundary:E,notes:z};const T=un[d]||"",Z=h(d),N=[];for(let bn=0;bn<o.length;bn++)for(let r=bn+1;r<o.length;r++){const C=o[bn],on=o[r];if(C.stem===on.stem)continue;const zn=Y(C.stem,on.stem);if(!zn)continue;const xn=r-bn-1,pn=xn===0?"紧挨":xn===1?"隔合":"遥合",ln=j(C.stem)?on:C,en=j(C.stem)?C:on,tn=o.filter(Fn=>Fn!==C&&Fn!==on);let hn=null,y="";for(const Fn of tn)if(!(!Y(Fn.stem,C.stem)&&!Y(Fn.stem,on.stem))){hn=j(Fn.stem)?"争合":"妒合",y=Fn.stem;break}const U=tn.filter(Fn=>p(Fn.stem)===p(ln.stem)),v=i(zn),F=tn.filter(Fn=>p(Fn.stem)===v&&(Fn.key==="month"||Fn.key==="day")),$n=tn.filter(Fn=>p(Fn.stem)===v&&Fn.key!=="month"&&Fn.key!=="day"),jn=!!v&&Z===v,Cn={adjacent:xn===0,noConflict:!hn,unrescued:U.length===0,monthLead:T&&T===zn||Z&&Z===zn||!1,leadUnchecked:F.length===0&&!jn},wn=Cn.adjacent&&Cn.noConflict&&Cn.unrescued&&Cn.monthLead&&Cn.leadUnchecked,Dn=[];if(Cn.adjacent||Dn.push(pn==="隔合"?"相隔一位(隔合)":"相隔两位(遥合)"),Cn.noConflict||Dn.push(`${hn}(另有${y}与${hn==="争合"?"同一阴干":"同一阳干"}成合)`),Cn.unrescued||Dn.push(`被化干${ln.stem}在天干有同类${U.map(Fn=>Fn.stem).join("、")}帮扶`),Cn.monthLead||Dn.push(`月令${d}(${T||"—"})不是化神${zn}`),!Cn.leadUnchecked){const Fn=[...F.map(Qn=>`${Qn.stem}(${Qn.label}干)`),jn?`月支${d}本气${v}`:""].filter(Boolean);Dn.push(`引化物${zn}被${v}克:${Fn.join("、")}`)}const oe=wn?"化成功":Cn.adjacent?Cn.noConflict?"合绊不化":`${hn}不化`:`${pn}不化`,ne=`${C.stem}${on.stem}`,Hn=`${C.label}干${C.stem}与${on.label}干${on.stem}`,Jn=T===Z||!Z?`月令${d}为${T}`:`月令${d}为${T}、本气${Z}`,Xn=wn?`${Hn}紧挨,成${ne}合化${zn};${Jn},正好引化;被化干${ln.stem}${p(ln.stem)}在天干无同类帮扶;克${zn}的${v}不在月干与日干,月支本气也不是它。`:`${Hn}成${ne}合,但${Dn.join(";")},只作合绊,不论化。`;N.push({pair:ne,huaElement:zn,positions:`${C.key}-${on.key}`,positionText:Hn,closeness:pn,distance:xn,yinStem:ln.stem,yangStem:en.stem,conflict:hn,conflictStem:y||null,conditions:Cn,status:oe,ok:wn,dayMasterInvolved:!!g&&(C.stem===g||on.stem===g),evidence:Xn})}const dn=N.filter(bn=>bn.ok).map(bn=>`${bn.pair}化${bn.huaElement}`),J=N.map(bn=>`【${bn.status}】${bn.evidence}`);N.some(bn=>bn.ok&&bn.dayMasterInvolved)&&J.push("日元参与的那一组即使化成功,五行属性仍按原干论,只表现形式变。");for(const bn of N){if(!bn.ok)continue;const r=i(bn.huaElement),C=o.filter(on=>p(on.stem)===r&&bn.positions.split("-").indexOf(on.key)<0&&on.key!=="month"&&on.key!=="day");C.length&&J.push(`${bn.pair}化${bn.huaElement}:克化神的${r}只在${C.map(on=>`${on.label}干`).join("、")},被化神隔开,不挡化。`)}const Un=N.length?J.join(`
|
|
73
|
+
`):"四柱天干未见五合。";return{items:N,transformed:dn,text:Un,method:A,boundary:E,notes:z}}return{judgeHehua:u}})(),V.geju=(function(){const{judgeClimate:B,arbitrate:cn}=V.tiaohou||{},{qtOf:un}=V.qiongtong||{},{SANHE_GROUPS:fn,sanheGroupOf:an}=V.sanhe||{},I=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],H=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],P={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},A={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"},E={木:"火",火:"土",土:"金",金:"水",水:"木"},j={木:"土",土:"水",水:"火",火:"金",金:"木"},Y={子:["癸"],丑:["己","癸","辛"],寅:["甲","丙","戊"],卯:["乙"],辰:["戊","乙","癸"],巳:["丙","庚","戊"],午:["丁","己"],未:["己","丁","乙"],申:["庚","壬","戊"],酉:["辛"],戌:["戊","辛","丁"],亥:["壬","甲"]},p=[1,.5,.3],i={甲:"寅",乙:"卯",丙:"巳",丁:"午",戊:"巳",己:"午",庚:"申",辛:"酉",壬:"亥",癸:"子"},h={甲:"卯",乙:"辰",丙:"午",丁:"未",戊:"午",己:"未",庚:"酉",辛:"戌",壬:"子",癸:"丑"},u={甲己:"土",乙庚:"金",丙辛:"水",丁壬:"木",戊癸:"火"},b=K=>I.indexOf(K)%2===0,w=["木","火","土","金","水"];function S(K,mn){const D=P[K],f=P[mn],R=b(K)===b(mn);return D===f?R?"比肩":"劫财":E[D]===f?R?"食神":"伤官":j[D]===f?R?"偏财":"正财":j[f]===D?R?"七杀":"正官":E[f]===D?R?"偏印":"正印":"?"}const q={比劫:["比肩","劫财"],食伤:["食神","伤官"],财:["正财","偏财"],官杀:["正官","七杀"],印:["正印","偏印"]};function o(K,mn){const D={比劫:0,食伤:0,财:0,官杀:0,印:0},f={比肩:0,劫财:0,食神:0,伤官:0,正财:0,偏财:0,正官:0,七杀:0,正印:0,偏印:0},R=(s,c)=>{const M=S(mn,s),_=Object.keys(q).find(W=>q[W].includes(M));_&&(D[_]+=c),f[M]!==void 0&&(f[M]+=c)};for(const s of["year","month","day","hour"].filter(c=>K[c]))R(K[s].stem,s==="day"?.6:1),(Y[K[s].branch]||[]).forEach((c,M)=>R(c,p[M]??.1));for(const s of Object.keys(D))D[s]=Math.round(D[s]*10)/10;for(const s of Object.keys(f))f[s]=Math.round(f[s]*10)/10;return{groups:D,byGod:f}}function d(K){const mn=P[K],D=w.find(R=>E[R]===mn),f=w.find(R=>j[R]===mn);return{me:mn,inMe:D,shi:E[mn],cai:j[mn],guan:f}}const g=["辰","未","戌","丑"];function z(K,mn,D){if(!g.includes(mn))return null;const f=an(mn);if(!f)return null;const R=["year","day","hour"],s=f.branches.filter(_=>_!==mn);if(!s.every(_=>R.some(W=>K[W].branch===_)))return null;const c=D.find(_=>P[_.stem]===f.element);if(!c)return null;const M=R.filter(_=>s.includes(K[_].branch)).map(_=>`${{year:"年",day:"日",hour:"时"}[_]}支${K[_].branch}`);return{...c,group:f,where:M}}function T(K,mn,D){const f=Y[D]||[],R=f.map((k,O)=>({stem:k,god:S(mn,k),pos:["本气","中气","余气"][O],w:p[O]??.1})),s=["year","month","hour"],c=R[0];let M=null,_=null;for(const k of R){const O=s.filter(sn=>K[sn].stem===k.stem);if(O.length){_=k,M=O.includes("month")?"month":O[0];break}}const W=M?null:z(K,D,R);_||(_=W||c);const nn=M?"透干":W?"会支":"本气",En=M?{year:"年",month:"月",hour:"时"}[M]:null,Sn=(k,O,sn)=>({stem:k.stem,god:k.god,pos:k.pos,usedBy:O,exposedKey:sn||null,exposedPos:sn?{year:"年",month:"月",hour:"时"}[sn]:null});if(c.god==="比肩"&&i[mn]===D)return{name:"建禄格",kind:"月令格",evidence:`月令${D}为日干${mn}之禄(本气${c.stem}比肩),身坐禄地`,...Sn(c,"本气",null)};if(c.god==="劫财")return h[mn]===D?{name:b(mn)?"阳刃格":"月刃格",kind:"月令格",evidence:`月令${D}为日干${mn}之刃(本气${c.stem}劫财)${b(mn)?"":",阴干统称月刃"}`,...Sn(c,"本气",null)}:{name:"月劫格",kind:"月令格",evidence:`月令${D}本气${c.stem}为劫财`,...Sn(c,"本气",null)};if(nn==="本气"&&c.god==="比肩")return{name:"比肩格",kind:"月令格",evidence:`月令${D}藏${f.join("")},本气${c.stem}为比肩,但${mn}禄在${i[mn]}、不在${D},属杂气月比肩当权`,...Sn(c,"本气",null)};if(nn!=="本气"&&_.god==="劫财"){const k=M?`透于${En}干`:`${W.where.join("、")}会成${W.group.element}局`;return{name:"月劫格",kind:"月令格",evidence:`月令${D}藏${f.join("")},${_.pos}${_.stem}(劫财)${k},劫财为用,作月劫论`,...Sn(_,nn,M)}}const m=`${_.god}格`;let l;return M?l=`月令${D}藏${f.join("")},${_.pos}${_.stem}(${_.god})透于${En}干`:W?l=`月令${D}藏${f.join("")},本气${c.stem}(${c.god})未透干,而${W.where.join("、")}会成${W.group.element}局,取${_.pos}${_.stem}(${_.god})为用`:l=`月令${D}藏${f.join("")},本气${c.stem}(${c.god})未透干,以月令本气取格`,{name:m,kind:"月令格",evidence:l,...Sn(_,nn,M)}}const Z=["子","午","卯","酉"],N={专气透:90,本气透:70,中气透:50,余气透:20,同五行透:5,会支取用:60,月令不透:40},dn=30,J=20,Un=60,bn=["建禄格","阳刃格","月刃格","月劫格"];function r(K,mn){for(const D of["year","month","day","hour"]){const f=mn[D];if(!(!f||!f.stem||f.stem===K)&&(u[K+f.stem]||u[f.stem+K]))return{pillar:pn[D],key:D,stem:f.stem}}return null}function C(K,mn,D={}){const f=K.stem,R=P[f],s=["year","month","day","hour"].some(En=>{const Sn=mn[En];return Sn?(Y[Sn.branch]||[])[0]===f:!1}),c=Object.values(D).reduce((En,Sn)=>En+(Number(Sn)||0),0),M=c>0?Math.round((Number(D[R])||0)/c*1e3)/10:0,_=["year","month","day","hour"].some(En=>{const Sn=mn[En];if(!Sn||!Sn.stem||Sn.stem===f)return!1;const m=P[Sn.stem];return m&&j[m]===R}),W=!s&&(M<18||_),nn=[s?`有本气通根(${f})`:"四支无本气通根",`全局 ${M}%`,_?"且被天干克":""].filter(Boolean);return{weak:W,pct:M,hasBaseRoot:s,overcome:_,detail:nn.join(",")}}function on(K,mn,D,f,R={}){if(!K)return null;if(K.kind!=="月令格"||bn.includes(K.name))return{applicable:!1,base:null,baseLabel:null,deductions:[],score:null,pass:null,grade:null,threshold:Un,detail:`${K.name}属外格(建禄/羊刃/月劫),课程不按正八格的透干档位计成格分,故不套 −30 / −20。`,method:"只评正八格月令格;建禄/羊刃/月劫属外格,不评分"};const s=K.monthBranch||f;let c;if(K.usedBy==="透干")Z.includes(s)&&K.pos==="本气"?c="专气透":c=`${K.pos}透`;else if(K.usedBy==="会支")c="会支取用";else{const k=P[K.stem];c=["year","month","hour"].map(sn=>mn[sn]&&mn[sn].stem).find(sn=>sn&&sn!==K.stem&&P[sn]===k)?"同五行透":"月令不透"}const M=N[c]??40,_=[],W=K.usedBy==="透干"?r(K.stem,mn):null;W&&_.push({reason:"透干被合",points:dn,detail:`${K.stem}与${W.pillar}干${W.stem}五合(合而不化也按被合论)`});const nn=C(K,mn,R);nn.weak&&_.push({reason:"用神太弱",points:J,detail:nn.detail});const En=_.reduce((k,O)=>k+O.points,0),Sn=Math.max(0,M-En),m=Sn>=Un,l=`基础分 ${M}(${c})${_.length?`,${_.map(k=>`${k.reason} −${k.points}(${k.detail})`).join(",")}`:",无减项"},成格分 ${Sn}/100,${m?`过 ${Un} 分线,按课里作成格论`:`不及 ${Un} 分线,按课里作不成格论`}。`;return{applicable:!0,base:M,baseLabel:c,deductions:_,score:Sn,pass:m,grade:m?"成格":"不成格",threshold:Un,detail:l,method:"基础分按取格档位(专气透 90 / 本气透 70 / 中气透 50 / 余气透 20 / 同五行透 5 / 会支取用 60 / 月令不透 40);透干被合 −30、用神太弱 −20;60 分及格。只读标注,不改取格与既有三态。"}}const zn={木:"曲直格",火:"炎上格",土:"稼穑格",金:"从革格",水:"润下格"},xn={财:"从财格",官杀:"从杀格",食伤:"从儿格",印:"从强格",比劫:"从强格"},pn={year:"年",month:"月",day:"日",hour:"时"};function ln(K,mn){const D=P[mn],f={bi:0,yin:0,total:0,details:[],helpers:[]};for(const R of["year","month","day","hour"].filter(s=>K[s])){const s=K[R].branch;(Y[s]||[]).forEach((c,M)=>{const _=P[c],W=p[M]??.1;_===D?(f.bi+=W,f.details.push(`${pn[R]}支${s}藏${c}(比劫 ${W})`)):E[_]===D&&(f.yin+=W,f.details.push(`${pn[R]}支${s}藏${c}(印 ${W})`))})}for(const R of["year","month","hour"]){const s=K[R].stem,c=P[s];(c===D||E[c]===D)&&f.helpers.push(`${pn[R]}干${s}(${c===D?"比劫":"印"})`)}return f.bi=Math.round(f.bi*10)/10,f.yin=Math.round(f.yin*10)/10,f.total=Math.round((f.bi+f.yin)*10)/10,f}function en(K,mn,D,f,R,s){const c=[],M=d(mn),_=M.me,W=R[_]??0,nn=R[M.inMe]??0,En=R[M.cai]??0,Sn=R[M.guan]??0,m=R[M.shi]??0;for(const rn of["year","month","hour"]){const _n=K[rn].stem,Rn=u[mn+_n]||u[_n+mn];if(!Rn)continue;const Yn=A[D];if(Yn===Rn||E[Yn]===Rn){c.push({name:`${Rn==="土"?"化土格":`化${Rn}格`}`,kind:"化气格",evidence:`日干${mn}与${["年","月","时"][["year","month","hour"].indexOf(rn)]}干${_n}合化${Rn},月令${D}${Yn}${Yn===Rn?"同化神":"生助化神"};化气格须全局无争合妒合才算真,此处仅列条件`});break}}if((f.level==="身强"||f.level==="偏强")&&W+nn>=5){const rn=[];Sn>1.2&&rn.push(`官杀 ${Sn} 分,逆旺势`),En>1.8&&rn.push(`财 ${En} 分,耗旺气`);const _n=A[D],Rn=_n===_||_n===M.inMe,Yn=fn.find(qn=>qn.element===_),te=["year","month","day","hour"].filter(qn=>K[qn]).map(qn=>K[qn].branch),Pn=Yn&&Yn.branches.every(qn=>te.includes(qn))?Yn.branches.join(""):null,Bn=rn.length?"破格":Rn?"成格":"待定";c.push({name:zn[_],kind:"专旺格",status:Bn,breaks:rn,ju:Pn,evidence:`日主${_}得${W+nn}分(同类+印),官杀${Sn}、财${En}${rn.length?"":"皆弱"};${Rn?`月令${D}${_n}助旺`:`月令${D}${_n}不助旺`}${Pn?`,地支${Pn}成局`:""},${Bn==="成格"?"成格":Bn==="破格"?"见破格条件":"成势而条件未全"}`,breakRule:rn.length?"专旺以官杀逆旺势、财星耗旺气为破;见其一即不纯":void 0})}const l=ln(K,mn);if(l.total<1&&(f.level==="身弱"||f.level==="偏弱")){const rn=Object.entries({财:En,官杀:Sn,食伤:m,印:nn}).sort((_n,Rn)=>Rn[1]-_n[1])[0];if(rn[1]>=2.5){const _n=l.total>0||l.helpers.length>0,Rn=[...l.details,...l.helpers.map(Yn=>`天干${Yn}虚透`)];c.push({name:xn[rn[0]],kind:"从格",status:_n?"假从":"真从",breaks:_n?Rn:[],rootWeight:l.total,evidence:_n?`日主有微根或虚透(${Rn.join(";")}),${rn[0]}占 ${rn[1]} 分最旺,假从${rn[0]};行运助身则不从`:`日主无根(四支藏干无同类与印、天干无比劫印绶),${rn[0]}占 ${rn[1]} 分最旺,真从${rn[0]}`,breakRule:_n?"从格以日主有根、比劫印绶透出为破;有根而从者称假从,运助身则不从":void 0})}}const k=s.byGod||{},O=s.groups||s,sn=rn=>(k[rn]??0)>=.5,yn=(k.正印??0)+(k.偏印??0),Tn=[["官印相生",sn("正官")&&yn>=.5,"正官与印并见,官生印而护身"],["杀印相生",sn("七杀")&&yn>=.5&&(k.七杀??0)>(k.正官??0),"七杀与印并见,杀印相生"],["食伤生财",(O.食伤??0)>=.6&&(O.财??0)>=.6,`食伤${O.食伤}+财${O.财},食伤生财`],["财官相生",(O.财??0)>=.6&&(O.官杀??0)>=.6,`财${O.财}+官杀${O.官杀},财生官`],["伤官配印",sn("伤官")&&yn>=.5&&(O.财??0)<=1,"伤官与印并见,伤官配印"],["伤官见官",sn("伤官")&&sn("正官"),"伤官与正官并见(伤官见官,为祸百端之说)"],["羊刃驾杀",(O.官杀??0)>=1&&h[mn]===D,`月令为刃,又有七杀${O.官杀},刃杀相制`]];for(const[rn,_n,Rn]of Tn)_n&&c.push({name:rn,kind:"组合",evidence:Rn});return c}const tn=1.5,hn=.5;function y(K=[],mn=[],D={}){const f=R=>Math.round((Number(D[R])||0)*10)/10;for(const R of K)if(!(f(R)<tn))for(const s of mn){if(j[s]!==R||f(s)<tn)continue;const c=E[s];if(!c||E[c]!==R)continue;const M=f(c),_=mn.includes(c)&&!K.includes(c),W=_?"为忌":M>=tn?"可通":M>0?"关弱":"未通";return{use:R,foe:s,bridge:c,weight:M,present:M>0,bridgeIsAvoid:_,level:W,usable:W==="可通",note:"相战=用神与忌神两行各在局中 ≥1.5 分且相克;通关一行=克方所生、又能生用神的那一行(五行里唯一),只报局中分量,不据此断吉凶"}}return null}const U={正格:35,从格:15};function v({dayStem:K,strength:mn,wuxing:D={},yongshen:f={},geju:R=[]}){const s=d(K),c=Pn=>Pn===s.me?"比劫":Pn===s.inMe?"印":Pn===s.shi?"食伤":Pn===s.cai?"财":"官杀",M=Pn=>Math.round((Number(D[Pn])||0)*10)/10,_=Object.values(D).reduce((Pn,Bn)=>Pn+(Number(Bn)||0),0),W=Pn=>_>0?Math.round(M(Pn)/_*1e3)/10:0,nn=Pn=>`${Pn.element}(${Pn.role}·${Pn.pct}%)`,En=(R||[]).find(Pn=>Pn.kind==="从格"),Sn=En?U.从格:U.正格;let m=f.favor||[],l=f.avoid||[],k="扶抑喜忌";En&&(En.name==="从强格"?(m=[s.inMe,s.me],l=[s.cai,s.guan,s.shi]):En.name==="从儿格"?(m=[s.shi,s.cai],l=[s.inMe,s.guan]):En.name==="从杀格"?(m=[s.guan,s.cai],l=[s.me,s.inMe]):(m=[s.cai,s.guan,s.shi],l=[s.me,s.inMe]),k="从格反转");const O=l.map(Pn=>({element:Pn,role:c(Pn),pct:W(Pn)})).sort((Pn,Bn)=>Bn.pct-Pn.pct)[0]||null,sn={threshold:Sn,isCong:!!En,congName:En?En.name:null,favorSource:k,sick:O||null,remedy:null,level:"无病",method:"病=最强忌神;正格 >35%、从格 >15% 才算病;从格先按喜忌反转取忌;药优先取克忌神的喜神,其次取泄;只作标注,不改喜忌"};if(!O||O.pct<=Sn)return{...sn,detail:O?`忌神最重为${nn(O)},未过${En?"从格":"正格"} ${Sn}% 门槛,按炳祥口径作无病论。`:"本盘无忌神可论,按炳祥口径作无病论。"};const yn=m.map(Pn=>({element:Pn,role:c(Pn),pct:W(Pn)})).filter(Pn=>Pn.pct>0).sort((Pn,Bn)=>Bn.pct-Pn.pct),Tn=(Pn,Bn)=>j[Pn]===Bn;let rn=null,_n=null,Rn="";if(O.role==="印"){const Pn=yn.find(qn=>qn.role==="财"),Bn=yn.find(qn=>qn.role==="食伤");Pn&&W(s.cai)>=W(s.shi)*.5?(rn=Pn,_n="财克印"):Bn&&W(s.shi)>=1?(rn=Bn,_n="食伤硬抗(安慰剂)",Rn=`财力${W(s.cai)}% 不足食伤的 50%(食伤${W(s.shi)}%),按课里只能以食伤硬抗。`):Rn=`财、食伤都不足以制印(财${W(s.cai)}%、食伤${W(s.shi)}%),按课里属有病无药。`}else{const Pn=yn.find(Bn=>Tn(Bn.element,O.element));if(Pn)rn=Pn,_n="克";else{const Bn=yn.find(qn=>E[O.element]===qn.element);Bn&&(rn=Bn,_n="泄",Rn=`喜神中无克${O.element}者,退取${Bn.element}泄其势(课里「克 > 泄」,泄力次之)。`)}}const Yn=rn?"有病有药":"有病无药",te=[`病为${nn(O)},已过${En?`从格(${En.name})`:"正格"} ${Sn}% 门槛。`,rn?`药取${nn(rn)},以「${_n}」制病${rn.pct<O.pct?`;药力弱于病(${rn.pct}% < ${O.pct}%)`:""}。`:"喜神中无可制之药,按炳祥口径属有病无药。",Rn].filter(Boolean).join("");return{...sn,level:Yn,remedy:rn,mode:_n,detail:te}}function F({dayStem:K,wuxing:mn={},pillars:D={},yongshen:f={}}){const R=d(K),s=yn=>Math.round((Number(mn[yn])||0)*10)/10,c=Object.values(mn).reduce((yn,Tn)=>yn+(Number(Tn)||0),0),M=yn=>c>0?Math.round(s(yn)/c*1e3)/10:0,W=[{role:"食伤",element:R.shi},{role:"官杀",element:R.guan}].map(yn=>({...yn,pct:M(yn.element)})).sort((yn,Tn)=>yn.pct-Tn.pct)[0],nn=W.pct<=4?"最佳":W.pct<10?"合格":"显忌",Sn=["year","month","day","hour"].map(yn=>D[yn]&&D[yn].stem).filter(Boolean).some(yn=>P[yn]===W.element),m=f.favorRoles||[],l=f.avoidRoles||[],k=m.includes(W.role)?"喜":l.includes(W.role)?"忌":"中性",O=nn==="显忌"?"闲神显忌":nn==="最佳"?"闲神得位":"闲神合格",sn=[`狭义闲神取${W.element}(${W.role},全局 ${W.pct}%),是食伤与官杀中较弱的一个。`,nn==="最佳"?"4% 上下,正是课里说的最佳区间。":nn==="合格"?"不足 10%,按课里算合格,不作显忌。":"超过 10%,课里按忌神论:不是大凶,是别扭、乱使劲、干了很多事没结果。",Sn?"此神透干(显性),按课里「显性 ×3」在文案里优先提示;分值不改。":"此神未透干,属暗闲神,影响更轻。",`在现有喜忌里为${k}。`].join("");return{idle:W,band:nn,level:O,visible:Sn,stance:k,displayWeight:Math.round(W.pct*(Sn?3:1)*10)/10,detail:sn,method:"闲神=食伤与官杀中较弱者;4% 最佳 / <10% 合格 / >=10% 显忌;显性 ×3 只作文案排序,不改分值与喜忌"}}function $n(K,mn,D,f,R=[]){const s=d(K),c=s.me,M=D.level==="身弱"||D.level==="偏弱",_=D.level==="身强"||D.level==="偏强",W=An=>An===c?"比劫":An===s.inMe?"印":An===s.shi?"食伤":An===s.cai?"财":"官杀",nn={比劫:"帮身",印:"生身",食伤:"泄秀",财:"耗",官杀:"制"},En=M?[s.inMe,c]:_?[s.shi,s.cai,s.guan]:[s.inMe,c,s.shi],Sn=M?[s.shi,s.cai,s.guan]:_?[c,s.inMe]:[s.guan,s.cai];let m=En.slice(),l=Sn.slice();const k=[],O=B({monthBranch:mn,dayStem:K,wuxing:f,branches:R}),sn=un(K,mn),yn=cn(O,En,Sn);if(O.need&&O.priority==="调候优先"){const An=O.need.element;m.includes(An)||m.unshift(An),l=l.filter(Ne=>Ne!==An);const Kn=O.avoidElement;Kn&&m.includes(Kn)?k.push({element:Kn,favorRole:W(Kn),favorVerb:nn[W(Kn)],climate:O.label,note:`调候忌${Kn}(${O.label}),但它在扶抑里为${W(Kn)};本表保留在喜用,不列入忌。`}):Kn&&!l.includes(Kn)&&l.unshift(Kn)}const Tn={比劫:["比肩","劫财"],印:["正印","偏印"],食伤:["食神","伤官"],财:["正财","偏财"],官杀:["正官","七杀"]},rn=Array.from(new Set(m.flatMap(An=>Tn[W(An)]||[]))),_n=Array.from(new Set(l.flatMap(An=>Tn[W(An)]||[]))),Rn=Array.from(new Set(k.flatMap(An=>Tn[W(An.element)]||[]))),Yn=An=>Math.round((Number(f[An])||0)*10)/10,te=l.filter(An=>Yn(An)<hn).map(An=>({element:An,role:W(An),verb:nn[W(An)],weight:Yn(An)})),Pn=Array.from(new Set(te.flatMap(An=>Tn[An.role]||[]))),Bn=y(m,l,f),qn=An=>`${An}(${W(An)}·${nn[W(An)]})`,ye=k.map(An=>`${An.element}(扶抑为${An.favorRole}·${An.favorVerb};${An.climate}盘调候忌${An.element},本表保留在喜用)`).join("、"),be=[`日主${K}${c},${D.level}(${D.score} 分):`,`喜${m.map(qn).join("、")||"—"};忌${l.map(qn).join("、")||"—"}。`,te.length?`中性偏忌:${te.map(An=>`${An.element}(局中 ${An.weight} 分)`).join("、")}——分量近零,不作实忌论,但不从此盘喜忌中删除(行运遇之仍按忌计)。`:"",k.length?`有争议:${ye}。`:"",!M&&!_?"身中和,先取调候与通关,喜忌随大运流年动态变化。":"",`调候:${O.label}(${(O.evidence||[]).join("、")})${O.need?`,取${O.need.stem}${O.need.element},忌${O.avoidElement}${k.some(An=>An.element===O.avoidElement)?"(有争议)":""}`:",气候平和"}。`,sn?`穷通宝鉴:${sn.month}${K}${c},用神${sn.yong.join("、")}(首取${sn.primary})。`:"",Bn?`通关:忌${Bn.foe}克用${Bn.use},五行以${Bn.bridge}为关;局中${Bn.level==="可通"?`${Bn.bridge} ${Bn.weight} 分,关可通`:Bn.level==="关弱"?`仅 ${Bn.bridge} ${Bn.weight} 分,关弱`:Bn.level==="为忌"?`${Bn.bridge} ${Bn.weight} 分但此行为忌,通关力打折`:`未见${Bn.bridge},关未通`}(只作结构提示,不据此断吉凶)。`:"",yn.text,yn.clash?"取舍:本盘按「调候优先、扶抑次之」取用;若你更认同扶抑派,可把调候当环境偏好,强弱判断不受影响。":""].filter(Boolean).join("");return{method:O.priority==="调候优先"?"调候优先 + 扶抑校验":"扶抑为主 + 调候校验",level:D.level,favor:m,avoid:l,disputed:k,neutral:te,favorRoles:m.map(W),avoidRoles:l.map(W),neutralRoles:te.map(An=>An.role),favorTenGods:rn,avoidTenGods:_n,disputedTenGods:Rn,neutralTenGods:Pn,tiaohou:{...O,...yn,element:O.need?O.need.element:null},climate:O,qt:sn,tongguan:Bn,detail:be}}const jn=[[1.3,"大吉"],[.6,"吉"],[-.6,"平"],[-1.3,"忌"],[-1/0,"大忌"]];function Cn(K,mn){const D=mn.yongshen,f=K[0],R=K[1],s=P[f],c=A[R],M=D.tiaohou||D.climate||null,_=O=>{let sn=0;return D.favor.includes(O)&&(sn+=1),D.avoid.includes(O)&&(sn-=1),sn};let W=_(s)*1+_(c)*.8;for(const O of(Y[R]||[]).slice(1))W+=_(P[O])*.2;const nn=[];if(D.favor.includes(s)?nn.push(`天干${f}${s}为用神`):D.avoid.includes(s)?nn.push(`天干${f}${s}为忌神`):nn.push(`天干${f}${s}不喜不忌`),D.favor.includes(c)?nn.push(`地支${R}${c}助用`):D.avoid.includes(c)&&nn.push(`地支${R}${c}助忌`),M&&M.need&&M.priority==="调候优先"){const O=M.need.element,sn=M.avoidElement,yn=String(M.kind).includes("寒");s===O?(W+=1.1,nn.push(`${M.label}之局得${f}${s},${yn?"解冻":"得润"}`)):s===sn&&(W-=.9,nn.push(`${M.label}之局再逢${f}${s},${yn?"冻木难生":"燥上加燥"}`)),c===O?(W+=.9,nn.push(`地支${R}${c}合调候`)):c===sn&&(W-=1,nn.push(`地支${R}${c}加重${M.label}`)),yn&&(s==="水"||c==="水")&&(W-=.3)}else M&&M.need&&(s===M.need.element||c===M.need.element)&&nn.push(`合调候(${M.need.element})`);const En=S(mn.dayStem,f),Sn=D.favorTenGods.includes(En)?.3:0,m=D.qt||null;m&&m.primary&&!D.avoid.includes(P[m.primary])&&(f===m.primary?(W+=.3,nn.push(`天干${f}正是${m.branch}月${m.stem}日的首取(穷通宝鉴)`)):m.yong.includes(f)&&!D.avoid.includes(P[f])&&(W+=.15,nn.push(`天干${f}为穷通宝鉴次取`)));let l=Math.round((W+Sn)*10)/10;l=Math.max(-4,Math.min(4,l));const k=jn.find(([O])=>l>=O)[1];return{ganzhi:K,score:l,tier:k,stemTenGod:En,reasons:nn,note:`${En}运,${k}(${l})`}}const wn={木:"未",火:"戌",土:"戌",金:"丑",水:"辰"},Dn={子:"午",午:"子",丑:"未",未:"丑",寅:"申",申:"寅",卯:"酉",酉:"卯",辰:"戌",戌:"辰",巳:"亥",亥:"巳"},oe=8;function ne({dayStem:K,pillars:mn={},wuxing:D={},yongshen:f={}}){const R=d(K),s=R.cai,c=wn[s]||"",M=["year","month","day","hour"].filter(qn=>mn[qn]&&mn[qn].branch),_=M.filter(qn=>mn[qn].branch===c),W=Dn[c]||"",nn=M.filter(qn=>mn[qn].branch===W),En=Object.values(D).reduce((qn,ye)=>qn+(Number(ye)||0),0),Sn=qn=>Math.round((Number(D[qn])||0)*10)/10,l=(qn=>En>0?Math.round(Sn(qn)/En*1e3)/10:0)(s),k=l<oe,O=Array.isArray(f.favor)?f.favor:[],sn=Array.isArray(f.avoid)?f.avoid:[],yn=O.includes(s),Tn=sn.includes(s),rn=_.length>0&&nn.length>0,Rn=(_.length?(Y[c]||[]).map(qn=>P[qn]):[]).includes(s),Yn=_.length>0&&(Y[c]||[]).slice(0,1).map(qn=>P[qn]).includes(s),te=qn=>qn.map(ye=>({year:"年",month:"月",day:"日",hour:"时"})[ye]).join("、");let Pn="无财库",Bn=`日主${K}${R.me},财为${s},${s}之墓在${c};四支里没有${c},本盘不立财库${nn.length?`(${te(nn)}支见${W},但没有${c}可冲,冲不成库)`:""}。`;if(_.length){const qn=Yn?`(${c}藏干本气即${s},正合「财星入库」)`:`(${c}藏干里的${s}只是余气,财星算入了库,但入得浅)`,ye=`日主${K}${R.me},财为${s},${s}之墓在${c};本盘${te(_)}支见${c},财库成立${Rn?qn:",库中不见财星"}。`,be=nn.length?`${te(nn)}支见${W},${c}${W}相冲,库门被冲开。`:`四支里没有${W}来冲,库是闭的——要等岁运引动。`,An=yn&&!k?rn?`财${s}为喜用且不弱(${l}%),库开则财有出路,主发。`:`财${s}为喜用且不弱(${l}%),但库未开,是「有财待发」,不是已经发财。`:yn&&k?rn?`财${s}为喜用但偏弱(${l}%),库开只是流动起来,发而不厚,先补财再谈库。`:`财${s}为喜用但偏弱(${l}%),库又未开,宜先扶财。`:Tn?rn?`财${s}为忌(${l}%),开库反主破财,冲得越实越明显。`:`财${s}为忌(${l}%),但库未开,破财之势未启。`:rn?`财${s}在喜忌里为中性(${l}%),开库只算动了财,吉凶看岁运把哪一边引起来。`:`财${s}在喜忌里为中性(${l}%),库未开,暂不作财库论。`;Pn=rn?yn&&!k?"开库主发":Tn?"开库反主破财":yn?"开库发而不厚":"开库,吉凶待引动":yn?k?"库闭财弱":"库闭待冲开":Tn?"库闭未开":"库闭,吉凶待引动",Bn=`${ye}${be}${An}`}return{dayElement:R.me,caiElement:s,store:c,present:_.length>0,positions:_,opener:W,opened:rn,openerPositions:nn,caiInStore:Rn,mainInStore:Yn,caiPct:l,caiWeak:k,favorState:yn?"喜":Tn?"忌":"中",verdict:Pn,detail:Bn,rule:"财库=财星(日主所克那一行)之墓在四支上;开库=库支被对冲。「开库才发」有两个前提:财为喜用、且财不弱;财为忌时开库反主破财。",method:`五行之墓取木未/火戌/金丑/水辰,土取戊土长生墓位戌;问真原表作「水木日主在戌、火在丑、土在辰、金在未」,与本法五格全同。财「不弱」以全局占比 >= ${oe}% 折算,是本插件口径,非古法原数。`,boundary:"只作只读标注:不改旺衰分、不改喜忌、不参与取格。另一说把辰当作「水土同宫」的土墓,则木日主财库会落在辰,本插件不取此说。"}}const Hn={子:"阴",丑:"阴",寅:"阳",卯:"阴",辰:"阳",巳:"阳",午:"阴",未:"阴",申:"阳",酉:"阴",戌:"阳",亥:"阳"},Jn=22,Xn=4,Fn=3,Qn=5,se=.3;function ae({dayStem:K,pillars:mn={},wuxing:D={},climate:f=null,strength:R=null}){const s=Object.values(D).reduce((An,Kn)=>An+(Number(Kn)||0),0),c=An=>Math.round((Number(D[An])||0)*10)/10,M=An=>s>0?Math.round(c(An)/s*1e3)/10:0,_=w.map(An=>({element:An,pct:M(An)})),W=Math.round((Math.max(..._.map(An=>An.pct))-Math.min(..._.map(An=>An.pct)))*10)/10,nn=_.slice().sort((An,Kn)=>An.pct-Kn.pct)[0],En=_.slice().sort((An,Kn)=>Kn.pct-An.pct)[0],Sn=W<=Jn&&nn.pct>=Xn,m=Sn?`五行占比在 ${nn.pct}%–${En.pct}% 之间,极差 ${W} 个百分点,没有明显缺项。`:nn.pct<Xn?`${nn.element}只有 ${nn.pct}%,近乎缺项;${En.element}高到 ${En.pct}%,偏得明显。`:`${En.element}高到 ${En.pct}%、${nn.element}只有 ${nn.pct}%,极差 ${W} 个百分点,偏枯。`,l=["year","month","day","hour"].filter(An=>mn[An]&&mn[An].stem),k=l.filter(An=>b(mn[An].stem)).length,O=l.filter(An=>Hn[mn[An].branch]==="阳").length,sn=k+O,yn=l.length*2-sn,Tn=sn>=Fn&&sn<=Qn,rn=sn===0?"纯阴":sn===l.length*2?"纯阳":"",_n=rn?`${rn}之局(阳 ${sn}/阴 ${yn}),课里说纯阴纯阳减贵减富。`:Tn?`天干阳 ${k}、地支阳 ${O},合计阳 ${sn}/阴 ${yn},阴阳相配。`:`天干阳 ${k}、地支阳 ${O},合计阳 ${sn}/阴 ${yn},一边倒。`,Rn=f&&f.kind?f.kind:"",Yn=f&&f.need&&f.need.element?f.need.element:"",te=Yn?c(Yn):0,Pn=Rn==="平和"||!!Yn&&te>=se,Bn=Rn?Rn==="平和"?`气候平和(${Rn}),寒暖燥湿不偏。`:Yn?Pn?`气候偏${Rn},需${Yn}调候;原局${Yn}已有 ${te} 分,调候之物在位。`:`气候偏${Rn},需${Yn}调候;原局${Yn}只有 ${te} 分,调候之物不实。`:`气候偏${Rn},但未见明确调候之物。`:"未见气候判定,本项不计。",qn=[Sn,Tn,Pn].filter(Boolean).length,ye=qn===3?"三备":qn===2?"两备":qn===1?"一备":"零备",be={三备:"三方面平衡全备,课里按大富大贵论方向。",两备:"三方面备了两项,课里按中富中贵论方向。",一备:"三方面只备一项,课里按小富小贵论方向。",零备:"三项都不备,课里不给富贵层次;这不等于命薄,只说明这套衡量法在这一盘上不适用。"}[ye];return{wuxing:{ok:Sn,spread:W,highest:En.element,lowest:nn.element,pcts:_,detail:m},yinyang:{ok:Tn,yang:sn,yin:yn,yangStems:k,yangBranches:O,pure:rn,detail:_n},climate:{ok:Pn,kind:Rn,need:Yn||null,needWeight:te,detail:Bn},hits:qn,tier:ye,text:`五行平衡:${Sn?"备":"不备"}——${m}阴阳平衡:${Tn?"备":"不备"}——${_n}寒暖燥湿:${Pn?"备":"不备"}——${Bn}${be}`,strengthNote:R&&R.level?`日主${K},旺衰为${R.level}。`:"",rule:"问真《专业知识·论八字富贵层次》:五行平衡、阴阳平衡、寒暖燥湿平衡,三方面全备为大富大贵,两备为中富中贵,一备为小富小贵。",method:`阈值是本插件的折算口径,不是古法原数:五行看最高最低占比差 <= ${Jn} 个百分点且无一项低于 ${Xn}%;阴阳看八位(四天干奇偶 + 四地支本气)阳数在 ${Fn}–${Qn} 之间;寒暖燥湿看气候为平和,或调候之物在原局有 ${se} 分以上。`,boundary:"只作解读方向:不改旺衰分、不改喜忌、不参与取格。格局法的贵贱十式另有专章,不并入这三项。"}}function ue({pillars:K,dayStem:mn,monthBranch:D,strength:f,wuxing:R}){const s=o(K,mn),c=T(K,mn,D),M=on(c,K,mn,D,R);M&&M.applicable&&(c.score=M.score,c.scoreDetail=M);const _=en(K,mn,D,f,R,s),W=[c,..._],nn=$n(mn,D,f,R,Object.values(K).map(k=>k.branch)),En=v({dayStem:mn,strength:f,wuxing:R,yongshen:nn,geju:W}),Sn=F({dayStem:mn,wuxing:R,pillars:K,yongshen:nn}),m=ne({dayStem:mn,pillars:K,wuxing:R,yongshen:nn}),l=ae({dayStem:mn,pillars:K,wuxing:R,climate:nn.climate||null,strength:f});return{geju:W,primary:c,primaryName:c.name,godStats:s,yongshen:nn,bingyao:En,xianshen:Sn,caiKu:m,balance:l,patternScore:M,dayStem:mn,monthBranch:D,structure:f.branchStructure||null}}return{tenGod:S,elementRoles:d,patternScoreOf:on,tongguanOf:y,bingyaoOf:v,xianshenOf:F,scoreLuck:Cn,caiKuOf:ne,balanceOf:ae,analyzeBaziFrame:ue}})(),V.bazi=(function(){const{STEMS:B,BRANCHES:cn,TERM_NAMES:un,ganzhiName:fn,dayGanzhiIndex:an,jdToParts:I,partsToJd:H,sexagenaryIndex:P,termWindow:A,previousJie:E,nextJie:j,equationOfTime:Y,formatJd:p,xunKongOf:i}=V.calendar||{},{resolveAddress:h}=V.geo||{},{computeBaziShensha:u}=V.shensha||{},{assertCivil:b,assertShifted:w,daysInMonth:S}=V.validate||{},{applyDst:q}=V.dst||{},{bool:o}=V.bool||{},{nayinOf:d}=V.nayin||{},{SANHE:g}=V.sanhe||{},{analyzeBaziFrame:z,scoreLuck:T}=V.geju||{},{judgeHehua:Z}=V.hehua||{},{branchStructureOf:N,weightPctOf:dn}=V.structure||{},J={子:["癸"],丑:["己","癸","辛"],寅:["甲","丙","戊"],卯:["乙"],辰:["戊","乙","癸"],巳:["丙","庚","戊"],午:["丁","己"],未:["己","丁","乙"],申:["庚","壬","戊"],酉:["辛"],戌:["戊","辛","丁"],亥:["壬","甲"]},Un={寅:[["戊",7],["丙",7],["甲",16]],卯:[["甲",10],["乙",20]],辰:[["乙",9],["癸",3],["戊",18]],巳:[["戊",5],["庚",9],["丙",16]],午:[["丙",10],["己",9],["丁",11]],未:[["丁",9],["乙",3],["己",18]],申:[["戊",7],["壬",3],["庚",20]],酉:[["庚",10],["辛",20]],戌:[["辛",9],["丁",3],["戊",18]],亥:[["戊",7],["甲",5],["壬",18]],子:[["壬",10],["癸",20]],丑:[["癸",9],["辛",3],["己",18]]},bn={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},r={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"},C={木:"火",火:"土",土:"金",金:"水",水:"木"},on={木:"土",土:"水",水:"火",火:"金",金:"木"},zn=f=>B.indexOf(f)%2===0,xn=[1,.5,.3],pn=[1.2,.6,.3],ln={甲己:"土",乙庚:"金",丙辛:"水",丁壬:"木",戊癸:"火"},en=["甲庚","乙辛","丙壬","丁癸"],tn={子丑:"土",寅亥:"木",卯戌:"火",辰酉:"金",巳申:"水",午未:"土"},hn={寅卯辰:"木",巳午未:"火",申酉戌:"金",亥子丑:"水"},y=["子午","丑未","寅申","卯酉","辰戌","巳亥"],U=["子未","丑午","寅巳","卯辰","申亥","酉戌"],v=["子酉","丑辰","寅亥","卯午","巳申","未戌"],F=[["寅","巳","申"],["丑","戌","未"],["子","卯"]],$n=["辰","午","酉","亥"],jn=(f,R,s)=>f.includes(R+s)||f.includes(s+R);function Cn(f,R){const s=Object.keys(C).find(Sn=>C[Sn]===R),c=["year","month","day","hour"].map(Sn=>f[Sn].branch),M=new Set(c),_={};for(const Sn of c)_[Sn]=1;const W=[],nn=new Set,En=(Sn,m,l,k)=>{const O=[];for(const sn of[...Sn])(_[sn]??1)>l&&(_[sn]=l,O.push(sn)),nn.add(sn);O.length&&l<1&&W.push(`${Sn}${k}${m},${O.join("")}根气按${Math.round(l*10)}成计`)};for(const[Sn,m]of Object.entries(hn))[...Sn].every(l=>M.has(l))&&En(Sn,m,m===R?1:m===s?.6:.1,"三会");for(const[Sn,m]of Object.entries(g))[...Sn].every(l=>M.has(l))&&En(Sn,m,m===R?1:m===s?.6:.2,"三合");for(let Sn=0;Sn<c.length;Sn++)for(let m=Sn+1;m<c.length;m++){const l=c[Sn],k=c[m],O=tn[l+k]||tn[k+l];if(!O||nn.has(l)&&nn.has(k))continue;const sn=O===R?1:O===s?.8:.5,yn=[];for(const Tn of[l,k])nn.has(Tn)||(_[Tn]??1)>sn&&(_[Tn]=sn,yn.push(Tn));yn.length&&sn<1&&W.push(`${l}${k}合${O},${yn.join("")}根气按${Math.round(sn*10)}成计`)}return{factor:_,notes:W,inJu:nn}}const wn=.3;function Dn(f,R,s){let c=0;for(const M of["year","month","day","hour"]){const _=f[M],W=s[_.branch]??1;W<=.1||_.hidden.forEach((nn,En)=>{bn[nn.stem]===R&&(c+=(pn[En]??.1)*W)})}return c}const oe=[["亥","午"],["寅","丑"]],ne=[["卯","申"],["午","亥"],["巳","子"]],Hn=new Set(["甲午","丁亥","戊子","辛巳","壬午","癸巳"]),Jn=new Set(["辰"]);function Xn(f,R){const s=[],c=R.map(nn=>f[nn].branch),M=(nn,En)=>c.includes(nn)&&c.includes(En),_=new Set,W=nn=>{_.has(nn)||(_.add(nn),s.push(nn))};for(const[nn,En]of oe)M(nn,En)&&W(`${nn}${En}通合(藏干双合)`);for(const[nn,En]of ne)M(nn,En)&&(_.has(`${nn}${En}通合(藏干双合)`)||_.has(`${En}${nn}通合(藏干双合)`)||W(`${nn}${En}禄合`));for(const nn of R){const En=f[nn],Sn=En.ganzhi||`${En.stem}${En.branch}`;Hn.has(Sn)&&W(`${Sn}干支暗合`),Jn.has(En.branch)&&W(`${Sn}自合`)}return s}function Fn(f,R=["year","month","day","hour"]){const s=R.map(m=>f[m].stem),c=R.map(m=>f[m].branch),M=[];for(let m=0;m<s.length;m++)for(let l=m+1;l<s.length;l++){const k=s[m],O=s[l];if(k===O)continue;const sn=ln[k+O]||ln[O+k];if(sn){M.push({text:`${k}${O}合(化${sn}待定)`,rank:0});continue}if(jn(en,k,O)){M.push({text:`${k}${O}相冲`,rank:1});continue}const yn=bn[k],Tn=bn[O];on[yn]===Tn?M.push({text:`${k}克${O}`,rank:3}):on[Tn]===yn&&M.push({text:`${O}克${k}`,rank:3})}const _=[],W=new Set(c),nn=[];for(const[m,l]of Object.entries(g))[...m].every(k=>W.has(k))&&(_.push({text:`${m}三合${l}`,rank:0}),nn.push(m));const En=[];for(const[m,l]of Object.entries(hn))[...m].every(k=>W.has(k))&&(_.push({text:`${m}三会${l}`,rank:0}),En.push(m));for(let m=0;m<c.length;m++)for(let l=m+1;l<c.length;l++){const k=c[m],O=c[l];if(k===O){$n.includes(k)&&_.push({text:`${k}${O}自刑`,rank:2});continue}const sn=tn[k+O]||tn[O+k],yn=Object.keys(g).find(rn=>rn.includes(k)&&rn.includes(O)),Tn=Object.keys(hn).find(rn=>rn.includes(k)&&rn.includes(O));if(sn)_.push({text:`${k}${O}合${sn}`,rank:0});else{if(yn&&!nn.includes(yn)){const rn=yn[1],_n=k===rn||O===rn?"半合":"拱合";_.push({text:`${k}${O}${_n}${g[yn]}`,rank:0})}if(Tn&&!En.includes(Tn)){const rn=Math.abs(Tn.indexOf(k)-Tn.indexOf(O))===1;_.push({text:`${k}${O}${rn?"半会":"拱会"}${hn[Tn]}`,rank:0})}}jn(y,k,O)&&_.push({text:`${k}${O}相冲`,rank:1}),jn(U,k,O)&&_.push({text:`${k}${O}相害`,rank:2}),jn(v,k,O)&&_.push({text:`${k}${O}相破`,rank:2});for(const rn of F)rn.includes(k)&&rn.includes(O)&&_.push({text:`${k}${O}相刑`,rank:2})}const Sn=m=>{const l=new Set,k=[];for(const O of[...m].sort((sn,yn)=>sn.rank-yn.rank))l.has(O.text)||(l.add(O.text),k.push(O.text));return k};return{stems:Sn(M),branches:Sn(_),anhe:Xn(f,R),anheNote:"暗合只作取象与风水参考,不参与旺衰与格局;只出现一对时按课里可忽略",hehua:Z(f,f.month?f.month.branch:"",f.day?f.day.stem:"",R)}}function Qn(f,R){const s=bn[f],c=bn[R],M=zn(f)===zn(R);return s===c?M?"比肩":"劫财":C[s]===c?M?"食神":"伤官":on[s]===c?M?"偏财":"正财":on[c]===s?M?"七杀":"正官":C[c]===s?M?"偏印":"正印":"?"}function se(f){return d(f).name}const ae={0:1,2:2,4:3,6:4,8:5,10:6,12:7,14:8,16:9,18:10,20:11,22:0};function ue(f,R){const s=fn(f),c=J[s.branch];return{ganzhi:s.name,stem:s.stem,branch:s.branch,stemElement:bn[s.stem],branchElement:r[s.branch],stemTenGod:R?Qn(R,s.stem):null,hidden:c.map((M,_)=>({stem:M,element:bn[M],tenGod:R?Qn(R,M):null,role:["本气","中气","余气"][_]??"余气"})),nayin:se(f)}}function K(f,R){const s=I(f);if(R==null||Number.isNaN(R))return{offsetMinutes:0,jd:f,note:"未提供经度,按东八区平太阳时"};const c=(R-120)*4,M=Y(s.year,s.month,s.day),_=c+M;return{offsetMinutes:Math.round(_*10)/10,jd:f+_/1440,note:`经度差 ${c.toFixed(1)} 分 + 均时差 ${M.toFixed(1)} 分`}}function mn(f,R,s){const c=Un[f];if(!c)return null;const M=[];let _=1;for(const[k,O]of c)M.push({stem:k,element:bn[k],from:_,to:_+O-1}),_+=O;const W=_-1,nn=Math.max(1,Math.floor(R)-Math.floor(s+.5)+1),En=nn>W,Sn=En?M.length-1:M.findIndex(k=>nn>=k.from&&nn<=k.to),m=M[Sn]||M[M.length-1],l=M[Sn+1]||null;return{month:f,day:nn,tableDays:W,segments:M,active:m.stem,activeElement:m.element,segment:{from:m.from,to:m.to},next:l?{stem:l.stem,element:l.element,from:l.from,inDays:l.from-nn}:null,inHidden:(J[f]||[]).includes(m.stem),beyond:En,note:"人元司权按「节」当日起算,节当日为第 1 日,日差用本盘所用时刻(含真太阳时)所在日计;本插件固定 30 日表(余气 → 中气 → 本气),第 31 日以后按本气算。只作解释层的一层细节,不改取格。"}}function D(f){b(f);let{year:R,month:s,day:c,hour:M=0,minute:_=0,gender:W="male"}=f;const nn=o(f.hourUnknown);nn&&(M=12,_=0);const En=o(f.lateZi,!0),Sn=o(f.trueSolar,!0),m=o(f.dst,!0)?q({year:R,month:s,day:c,hour:M,minute:_}):{applied:!1,note:null};m.applied&&(R=m.year,s=m.month,c=m.day,M=m.hour,_=m.minute);const l=H({year:R,month:s,day:c,hour:M,minute:_}),k=f.geo||(f.address?h(f.address):null),O=typeof f.longitude=="number"?f.longitude:k&&typeof k.lon=="number"?k.lon:void 0,sn=Sn?K(l,O):{offsetMinutes:0,jd:l,note:"未启用真太阳时"},yn=sn.jd,Tn=A(R,{jieOnly:!0}),rn=E(Tn,yn),_n=j(Tn,yn),Rn=Tn.find(gn=>gn.index===2&&gn.year===R),Yn=Rn&&yn<Rn.jd?R-1:R,te=((Yn-4)%60+60)%60,Pn=B[te%10],Bn=ae[rn.index],qn=(B.indexOf(Pn)%5*2+2)%10,ye=((Bn-2)%12+12)%12,be=(qn+ye)%10,An=P(be,Bn),Kn=Math.floor(yn+.5),Ne=I(yn).hour,kt=En&&Ne>=23?Kn+1:Kn;En&&Ne>=23&&w(I(yn+1),"八字");const Ke=an(kt),de=B[Ke%10],ot=Math.floor((Ne+1)%24/2),gt=(B.indexOf(de)%5*2%10+ot)%10,it=P(gt,ot),re={year:ue(te,de),month:ue(An,de),day:ue(Ke,de),hour:ue(it,de)},We=B.indexOf(Pn)%2===0,ze=We&&W==="male"||!We&&W==="female",Le=ze?_n.jd-yn:yn-rn.jd,Ce=Le*4;let Pe=Math.floor(Ce/12),Je=Math.round(Ce%12);Je>=12&&(Je-=12,Pe+=1);const at=Math.floor(Ce/12),st=Ce-at*12,rt=Math.floor(st),ct=(st-rt)*30,ut=Math.floor(ct),yt=Math.floor((ct-ut)*24),De=365.2422,He=De/3,Ae=ze?_n:rn,Xe=yn+Le*He,lt=I(Xe),ht=(gn,On)=>{const kn=gn.year+On;return{year:kn,month:gn.month,day:Math.min(gn.day,S(kn,gn.month)),hour:gn.hour,minute:gn.minute}},Oe=[],Qe=[];for(let gn=1;gn<=8;gn++){const On=((An+(ze?gn:-gn))%60+60)%60,kn=fn(On),Vn=H(ht(lt,(gn-1)*10)),ie=H(ht(lt,gn*10));Oe.push({step:gn,startAge:Pe+(gn-1)*10,ganzhi:kn.name,stem:kn.stem,branch:kn.branch,stemTenGod:Qn(de,kn.stem),nayin:se(On),fromDate:p(Vn),toDate:p(ie)}),Qe.push({step:gn,ganzhi:kn.name,fromJd:Vn,toJd:ie})}const Ge=Number(f.nowYear)||new Date().getFullYear(),mt=Math.max(Ge,Number(f.liunianTo)||Ge+9),Ue=[];for(let gn=Ge;gn<=mt;gn++){const On=((gn-4)%60+60)%60;Ue.push({year:gn,age:gn-R+1,ganzhi:fn(On).name,stemTenGod:Qn(de,fn(On).stem)})}const xe={木:0,火:0,土:0,金:0,水:0};for(const gn of Object.values(re))xe[gn.stemElement]+=1,gn.hidden.forEach((On,kn)=>{xe[On.element]+=xn[kn]??.1});for(const gn of Object.keys(xe))xe[gn]=Math.round(xe[gn]*10)/10;const Be=Math.floor(Ke/10)*10,Ve=[cn[(Be+10)%12],cn[(Be+11)%12]],$t=["长生","沐浴","冠带","临官","帝旺","衰","病","死","墓","绝","胎","养"],pt={甲:11,乙:6,丙:2,丁:9,戊:2,己:9,庚:5,辛:0,壬:8,癸:3},bt=gn=>B.indexOf(gn)%2===0;function ft(gn,On){const kn=pt[gn],Vn=cn.indexOf(On),ie=bt(gn)?Vn-kn:kn-Vn;return $t[(ie%12+12)%12]}const Ye=re.month.branch,ve=u(re,Ve,{gender:W,yearNayinElement:d(te).element,yearKongwang:i(re.year.ganzhi)});for(const gn of["year","month","day","hour"]){const On=re[gn];On.dishi=ft(de,On.branch),On.zizuo=ft(On.stem,On.branch),On.kongwang=i(On.ganzhi),On.shensha=ve.detail[gn].map(kn=>kn.name),On.shenshaDetail=ve.detail[gn]}const dt={寅:"木",卯:"木",巳:"火",午:"火",申:"金",酉:"金",亥:"水",子:"水",辰:"土",戌:"土",丑:"土",未:"土"},ge=bn[de],$e=dt[Ye];let we,ke;ge===$e?(we=3,ke="旺"):C[$e]===ge?(we=2,ke="相"):C[ge]===$e?(we=1,ke="休"):on[ge]===$e?(we=.5,ke="囚"):(we=0,ke="死");const Me=Cn(re,ge);let Te=0;const nt=[];for(const gn of["year","month","day","hour"]){const On=re[gn],kn=Me.factor[On.branch]??1;let Vn=!1;On.hidden.forEach((ie,Wn)=>{bn[ie.stem]===ge?(Te+=(pn[Wn]??.1)*kn,Vn=!0):C[bn[ie.stem]]===ge&&(Te+=(pn[Wn]??.1)*.4*kn,Vn=!0)}),Vn&&nt.push(On.branch)}let je=0;const et=[],Ie=[],Ze=[];for(const gn of["year","month","hour"]){const On=re[gn].stem,kn=bn[On];if(kn===ge||C[kn]===ge){const Vn=kn===ge?1:.8;Dn(re,kn,Me.factor)>=wn?je+=Vn:(je+=Vn*.5,Ze.push(On)),et.push(On)}else on[kn]===ge?(je-=1,Ie.push(On)):on[ge]===kn?(je-=.8,Ie.push(On)):(je-=.5,Ie.push(On))}const _e=Math.round((we+Te+je)*10)/10,wt=_e>=4?"身强":_e>=2.5?"偏强":_e>=1.5?"中和":_e>=.5?"偏弱":"身弱",tt=Me.notes.length?`;合会折根:${Me.notes.join("、")}`:"",jt=Ze.length?`;虚透${Ze.join("")}帮扶减半`:"",Fe={level:wt,score:_e,detail:`月令${Ye}${$e},日主${ge}${ke}(${we});通根${nt.join("")||"无"}(${Te.toFixed(1)});天干帮扶${et.join("")||"无"}/耗泄${Ie.join("")||"无"}(${je.toFixed(1)})${tt}${jt}`,method:"月令权重 3/2/1/0.5/0 + 地支藏干通根(三会/三合/六合折根)+ 天干帮扶(虚透减半),量化后分档;属简化算法,非唯一流派",parts:{season:{branch:Ye,element:$e,word:ke,weight:we},roots:nt,rootScore:Math.round(Te*10)/10,helpers:et,drainers:Ie,helpScore:Math.round(je*10)/10,structure:Me.notes,virtualHelpers:Ze}};Fe.branchStructure=N(re,de),Fe.weightPct=dn(re,{hourUnknown:nn});const Re=z({pillars:re,dayStem:de,monthBranch:Ye,strength:Fe,wuxing:xe}),St=(gn,On)=>{if(!gn||!On)return[];if(gn===On)return $n.includes(gn)?["自刑"]:[];const kn=[];(tn[gn+On]||tn[On+gn])&&kn.push("合"),jn(y,gn,On)&&kn.push("冲"),jn(U,gn,On)&&kn.push("害"),jn(v,gn,On)&&kn.push("破");for(const Vn of F)Vn.includes(gn)&&Vn.includes(On)&&kn.push("刑");return kn},xt=["year","month","day","hour"].map(gn=>re[gn].branch),n=gn=>{const On=new Set,kn=[];for(const Vn of xt)for(const ie of St(Vn,gn)){const Wn=ie+Vn;On.has(Wn)||(On.add(Wn),kn.push(Wn))}return kn};for(const gn of Oe)gn.relations=n(gn.branch),gn.luck=T(gn.ganzhi,Re);for(const gn of Ue)gn.relations=n(gn.ganzhi[1]),gn.luck=T(gn.ganzhi,Re);const t={year:"年柱",month:"月柱",day:"日柱",hour:"时柱"},a=(gn,On)=>on[bn[gn]]===bn[On],e=(gn,On)=>typeof gn!="string"||typeof On!="string"||gn.length<2||On.length<2||!(gn[0]in bn)||!(On[0]in bn)?!1:(a(gn[0],On[0])||a(On[0],gn[0]))&&jn(y,gn[1],On[1]),x=gn=>{const On=A(gn,{jieOnly:!0}).find(kn=>kn.index===2&&I(kn.jd).year===gn);return On?On.jd:H({year:gn,month:2,day:4})};for(const gn of Ue){const On=x(gn.year),kn=x(gn.year+1),Vn=Qe.filter(Wn=>Wn.fromJd<kn&&Wn.toJd>On),ie=[];for(const Wn of Vn){Wn.ganzhi===gn.ganzhi?ie.push({type:"岁运并临",target:`第${Wn.step}步大运`,detail:`大运与流年同为${gn.ganzhi}`}):e(Wn.ganzhi,gn.ganzhi)&&ie.push({type:"运年反吟",target:`第${Wn.step}步大运`,detail:`大运${Wn.ganzhi}与流年${gn.ganzhi}天克地冲`});for(const he of["year","month","day","hour"]){const Ee=re[he].ganzhi;Ee&&(Wn.ganzhi===Ee?ie.push({type:"大运伏吟",target:`第${Wn.step}步大运·${t[he]}`,detail:`大运${Wn.ganzhi}与${t[he]}同干支`}):e(Wn.ganzhi,Ee)&&ie.push({type:"大运反吟",target:`第${Wn.step}步大运·${t[he]}`,detail:`大运${Wn.ganzhi}与${t[he]}${Ee}天克地冲`}))}}for(const Wn of["year","month","day","hour"]){const he=re[Wn].ganzhi;he&&(gn.ganzhi===he?ie.push({type:"流年伏吟",target:t[Wn],detail:`流年${gn.ganzhi}与${t[Wn]}同干支`}):e(gn.ganzhi,he)&&ie.push({type:"流年反吟",target:t[Wn],detail:`流年${gn.ganzhi}与${t[Wn]}${he}天克地冲`}))}gn.suiyun={dayun:Vn.map(Wn=>({step:Wn.step,ganzhi:Wn.ganzhi})),signals:ie,note:"只标干支重复与天克地冲这类变动信号,不判吉凶;大运按该年立春到次年立春的区间取,交运落在年内时前后两步并列;大运与本命四柱的伏吟/反吟整步大运都在,逐年重复列出"}}const $=I(yn),L=B.indexOf(re.month.stem),G=cn.indexOf(re.month.branch),X=fn(P((L+1)%10,(G+3)%12)),In=B.indexOf(re.day.stem),vn=cn.indexOf(re.day.branch),Nn=fn(P((In+5)%10,(1-vn+12)%12)),Q=cn.indexOf(re.hour.branch),Ln=B.indexOf(re.year.stem),Mn=((Ln*12+(27-G-Q)%12+2)%60+60)%60,ce=((Ln*12+(11+G+Q)%12+2)%60+60)%60,ee=fn(Mn),me=fn(ce),fe=mn(cn[Bn],Kn,rn.jd);fe&&(fe.term={name:rn.name,time:p(rn.jd)});const Zn={system:"bazi",relations:Fn(re,nn?["year","month","day"]:void 0),palaces:{taiyuan:{ganzhi:X.name,note:"月干进一、月支进三"},taixi:{ganzhi:Nn.name,note:"日干五合、日支六合"},minggong:{ganzhi:ee.name,branch:ee.branch,note:"生月与生时支合数定宫(27 减,取模后 +2);干随六十甲子"},shengong:{ganzhi:me.name,branch:me.branch,note:"生月与生时支合数定宫(11 加,取模后 +2);干随六十甲子"}},input:{civil:{year:R,month:s,day:c,hour:M,minute:_},gender:W,longitude:O??null,address:f.address||null,geo:k,lateZi:En,trueSolar:Sn,dst:{applied:!!m.applied,note:m.note||null}},solarTime:{civilText:`${R}-${String(s).padStart(2,"0")}-${String(c).padStart(2,"0")} ${String(M).padStart(2,"0")}:${String(_).padStart(2,"0")}`,trueSolarText:p(yn),offsetMinutes:sn.offsetMinutes,note:m.applied?`${m.note};${sn.note}`:sn.note,lunarYearForPillar:Yn},jieqi:{previous:{name:rn.name,time:p(rn.jd)},next:{name:_n.name,time:p(_n.jd)},nearBoundaryMinutes:Math.round(Math.min(yn-rn.jd,_n.jd-yn)*1440)},renyuan:fe,pillars:re,dayMaster:{stem:de,element:bn[de],yinYang:zn(de)?"阳":"阴"},wuxing:xe,kongwang:Ve,shensha:ve,dayun:{direction:ze?"顺行":"逆行",rule:`${We?"阳":"阴"}年${W==="male"?"男":"女"}${ze?"顺排":"逆排"}`,startAge:{years:Pe,months:Je},startAgeExact:{years:at,months:rt,days:ut,hours:yt,caliber:"截断到年月日时"},toNextJieDays:Math.round(Le*100)/100,jiao:{at:p(Xe),jd:Math.round(Xe*1e6)/1e6,scaleDaysPerDay:He,yearDays:De,spanDays:Math.round(Le*1e4)/1e4,from:{name:Ae.name,time:p(Ae.jd)},frame:sn.offsetMinutes?"真太阳时":"平太阳时",offsetMinutes:sn.offsetMinutes,note:"三日折一年:出生到节令的真实间隔按 365.2422/3 放大后加到出生时刻;同一比例即「一日折四月、一时辰折十日」,每步大运在同月同日同时刻换"},list:Oe},strength:Fe,frame:Re,climate:Re.yongshen.climate||Re.yongshen.tiaohou||null,liunian:Ue,liunianFrom:Ge};if(nn){const gn=Zn.pillars.hour;Zn.hourUnknown=!0,Zn.provisionalHour="noon",Zn.pillars.hour=null,Zn.palaces.minggong=null,Zn.palaces.shengong=null,Zn.input.civil.hour=null,Zn.input.civil.minute=null;const On=`${Zn.input.civil.year}-${String(Zn.input.civil.month).padStart(2,"0")}-${String(Zn.input.civil.day).padStart(2,"0")}`;if(Zn.solarTime.civilText=`${On}(时辰未知)`,Zn.solarTime.trueSolarText=`${On}(时辰未知)`,Zn.dayun.precision="day",Zn.dayun.jiao=null,Zn.dayun.note="时柱暂缺:起运与交运按日估算,仅供参考",Zn.dayun.list=Zn.dayun.list.map(kn=>({...kn,fromDate:kn.fromDate?String(kn.fromDate).slice(0,10):kn.fromDate,toDate:kn.toDate?String(kn.toDate).slice(0,10):kn.toDate})),gn){const kn={...Zn.wuxing};kn[gn.stemElement]-=1,gn.hidden.forEach((Vn,ie)=>{kn[Vn.element]-=xn[ie]??.1});for(const Vn of Object.keys(kn))kn[Vn]=Math.round(Math.max(0,kn[Vn])*10)/10;Zn.wuxing=kn}if(Zn.shensha&&Zn.shensha.detail&&(Zn.shensha.detail.hour=[],Array.isArray(Zn.shensha.groups))){const kn=[];for(const Vn of Zn.shensha.groups){const ie=[];for(const Wn of Vn.items||[]){const he=(Wn.pillars||[]).filter(Gn=>Gn!=="hour");if(!he.length)continue;const Ee=String(Wn.via||"").split("、").filter(Gn=>Gn&&!Gn.includes("时")).join("、");ie.push({...Wn,pillars:he,via:Ee})}ie.length&&kn.push({...Vn,items:ie})}Zn.shensha.groups=kn,Zn.shensha.count=kn.reduce((Vn,ie)=>Vn+ie.items.reduce((Wn,he)=>Wn+he.pillars.length,0),0)}if(Zn.strength.precision="three-pillars",Zn.strength.branchStructure){const kn=Zn.strength.branchStructure;kn.placeholderHour=!0,kn.congProb=null,kn.congRange="三柱不判结构概率",kn.word="时柱暂缺,第四支为正午占位,不套从格概率",kn.note="时柱暂缺:第四支为占位值,只列结构形态,不据此断从格;补上出生时刻后可能改变",kn.detail=`${kn.detail}(时支为占位值)`}if(Zn.strength.weightPct&&(Zn.strength.weightPct.placeholderHour=!0,Zn.strength.weightPct.note="时柱暂缺:时柱权重不计入合计(本盘 81%),不重新归一化;补上出生时刻后再按 100% 看"),Zn.frame&&Zn.frame.caiKu){const kn=Zn.frame.caiKu;kn.placeholderHour=!0;const Vn=(kn.positions||[]).includes("hour")||(kn.openerPositions||[]).includes("hour"),ie=kn.present&&kn.opened&&!Vn;kn.note=ie?"时柱暂缺:库与冲都已落在年月日三支上,结论不受时支影响":"时柱暂缺:库或开库可能落在未知的时支上,这一条只按正午占位算,补上出生时刻后可能整条改变",kn.detail=`${kn.detail}(时支为占位值)`}if(Zn.frame&&Zn.frame.balance){const kn=Zn.frame.balance;kn.placeholderHour=!0,kn.note="时柱暂缺:阴阳的八位与五行占比都按正午时柱占位算过,补上出生时刻后层次可能变化",kn.text=`${kn.text}(阴阳与五行未含真实时柱,层次只作方向)`}if(Zn.relations&&Zn.relations.hehua){const kn=Zn.relations.hehua;kn.placeholderHour=!0,kn.text=`${kn.text}
|
|
74
|
+
(时柱暂缺:只判了年月日三干,日干与时干那一组无从判起)`}Zn.notes=["时柱暂缺:未提供出生时刻,时柱不对外给出,也不计入神煞与干支关系","旺衰、格局、用神、调候暂以正午时柱估算,补上出生时刻后可能改变"]}return Zn}return{HIDDEN_STEMS:J,RENYUAN_TABLE:Un,STEM_ELEMENT:bn,BRANCH_ELEMENT:r,buildRelations:Fn,tenGod:Qn,nayin:se,applyTrueSolar:K,renyuanOf:mn,buildBazi:D}})(),V["name-extra"]=(function(){return{EXTRA_READING:[["杰","jie",2,12],["军","jun",1,9],["强","qiang",2,12],["彬","bin",1,11],["国","guo",2,11],["春","chun",1,9],["梅","mei",2,11],["英","ying",1,11],["玉","yu",4,5],["桂","gui",4,10],["莉","li",4,13],["芊","qian",1,9],["苏","su",1,22],["苑","yuan",4,11],["苓","ling",2,11],["荔","li",4,12],["慕","mu",4,15],["懋","mao",4,17],["楦","xuan",4,13],["树","shu",4,16],["柳","liu",3,9],["杨","yang",2,13],["桦","hua",4,16],["桃","tao",2,10],["杏","xing",4,7],["朵","duo",3,6],["根","gen",1,10],["桥","qiao",2,16],["楼","lou",2,15],["榜","bang",3,14],["模","mo",2,15],["格","ge",2,10],["籍","ji",2,20],["箭","jian",4,15],["篪","chi",2,16],["箫","xiao",1,18],["笙","sheng",1,11],["程","cheng",2,12],["秦","qin",2,10],["稳","wen",3,19],["栗","li",4,14],["梨","li",2,11],["杜","du",4,7],["村","cun",1,7],["校","xiao",4,10],["标","biao",1,15],["桩","zhuang",1,15],["梵","fan",4,11],["棣","di",4,12],["椿","chun",1,13],["榉","ju",3,21],["橄","gan",3,16],["橦","tong",2,16],["芦","lu",2,22],["苍","cang",1,16],["茅","mao",2,11],["荀","xun",2,12],["艺","yi",4,21],["艾","ai",4,8],["藤","teng",2,21],["蕖","qu",2,18],["荐","jian",4,19],["茏","long",2,22],["枞","cong",1,15],["柽","cheng",1,17],["柞","zha",4,9],["柚","you",4,9],["枳","zhi",3,9],["枸","gou",3,9],["枇","pi",2,8],["杷","pa",2,8],["柃","ling",2,9],["桉","an",1,10],["栟","ben",1,10],["榔","lang",2,13],["槲","hu",2,15],["橼","yuan",2,19],["檩","lin",3,17],["檗","bo",4,17],["椴","duan",4,13],["槭","qi",4,15],["芙","fu",2,10],["蓝","lan",2,20],["芍","shao",2,9],["茹","ru",2,12],["菖","chang",1,14],["菘","song",1,14],["萝","luo",2,25],["葳","wei",1,15],["葭","jia",1,15],["蒲","pu",2,16],["蓼","liao",3,17],["蕤","rui",2,18],["藜","li",2,21],["蘅","heng",2,22],["苹","ping",2,22],["篁","huang",2,15],["篆","zhuan",4,15],["篇","pian",1,15],["笺","jian",1,14],["种","zhong",4,14],["科","ke",1,9],["季","ji",4,8],["秉","bing",3,8],["秩","zhi",4,10],["稔","ren",3,13],["稻","dao",4,15],["乔","qiao",2,12],["娇","jiao",1,15],["巧","qiao",3,5],["俏","qiao",4,9],["柱","zhu",4,9],["栖","qi",1,12],["栉","zhi",4,19],["榭","xie",4,14],["檠","qing",2,17],["櫆","kui",2,18],["櫂","zhao",4,18],["柟","nan",2,9],["枥","li",4,20],["栌","lu",2,20],["桤","qi",1,14],["梣","chen",2,11],["梃","ting",3,11],["梼","tao",2,18],["椁","guo",3,15],["椋","liang",2,12],["椤","luo",2,23],["楗","jian",4,13],["楝","lian",4,13],["楫","ji",2,13],["榀","pin",3,13],["榇","chen",4,20],["榈","lv",2,19],["榍","xie",4,14],["榧","fei",3,14],["槎","cha",2,14],["槔","gao",1,14],["槠","zhu",1,20],["樘","tang",2,15],["樨","xi",1,15],["橹","lu",3,19],["檫","cha",2,18],["秣","mo",4,10],["稞","ke",1,13],["稹","zhen",3,15],["穰","rang",2,22],["穑","se",4,18],["笏","hu",4,10],["笈","ji",2,10],["笕","jian",3,13],["笋","sun",3,12],["笳","jia",1,11],["筌","quan",2,12],["筇","qiong",2,12],["筑","zhu",4,16],["筚","bi",4,17],["筵","yan",2,13],["箐","qing",4,14],["箓","lu",4,22],["箦","ze",2,17],["箴","zhen",1,15],["篌","hou",2,15],["篙","gao",1,16],["篝","gou",1,16],["簃","yi",2,17],["簌","su",4,17],["籁","lai",4,22],["籀","zhou",4,19],["奕","yi",4,9],["可","ke",3,5],["雅","ya",3,12],["毅","yi",4,15],["健","jian",4,11],["康","kang",1,11],["彦","yan",4,9],["家","jia",1,12],["庆","qing",4,15],["高","gao",1,10],["久","jiu",3,3],["功","gong",1,5],["贵","gui",4,12],["绮","qi",3,14],["虹","hong",2,9],["皓","hao",4,12],["婧","jing",4,11],["婕","jie",2,11],["义","yi",4,13],["廉","lian",2,13],["勤","qin",2,13],["俭","jian",3,15],["谷","gu",3,15],["谨","jin",3,18],["敬","jing",4,13],["恭","gong",1,10],["宽","kuan",1,15],["棋","qi",2,12],["笔","bi",3,12],["歌","ge",1,14],["翠","cui",4,14],["雁","yan",4,12],["莺","ying",1,21],["麒","qi",2,19],["骐","qi",2,18],["仪","yi",2,15],["喆","zhe",2,12],["翊","yi",4,11],["芯","xin",1,10],["娟","juan",1,10],["凯","kai",3,12],["德","de",2,15],["志","zhi",4,14],["丽","li",4,19],["娜","na",4,10],["天","tian",1,4],["哲","zhe",2,10],["映","ying",4,9],["辉","hui",1,15],["耀","yao",4,20],["烁","shuo",4,19],["燃","ran",2,16],["燊","shen",1,16],["焰","yan",4,12],["曙","shu",3,18],["煦","xu",4,13],["赤","chi",4,7],["绯","fei",1,14],["忠","zhong",1,8],["念","nian",4,8],["情","qing",2,12],["昌","chang",1,8],["昇","sheng",1,8],["昶","chang",3,9],["晁","chao",2,10],["晞","xi",1,11],["暧","ai",4,17],["曌","zhao",4,16],["昉","fang",3,8],["昫","xu",4,9],["晅","xuan",3,10],["旸","yang",2,13],["炘","xin",1,8],["炆","wen",2,8],["炬","ju",4,9],["炳","bing",3,9],["烈","lie",4,10],["烊","yang",2,10],["焱","yan",4,12],["煌","huang",2,13],["熀","huang",3,14],["燎","liao",2,16],["燚","yi",4,16],["燧","sui",4,17],["燮","xie",4,17],["爔","xi",1,20],["恕","shu",4,10],["慈","ci",2,14],["晃","huang",3,10],["晢","zhe",2,11],["晰","xi",1,12],["暐","wei",3,13],["暘","yang",2,13],["曈","tong",2,16],["良","liang",2,7],["郎","lang",2,13],["耿","geng",3,10],["离","li",2,19],["午","wu",3,4],["炯","jiong",3,9],["焜","kun",1,12],["煐","ying",1,13],["婷","ting",2,12],["妮","ni",1,8],["媛","yuan",4,12],["隆","long",2,17],["代","dai",4,5],["之","zhi",1,4],["政","zheng",4,8],["登","deng",1,12],["达","da",2,16],["通","tong",1,14],["长","chang",2,8],["进","jin",4,15],["显","xian",3,23],["绫","ling",2,14],["章","zhang",1,11],["采","cai",3,8],["礼","li",3,18],["理","li",3,12],["中","zhong",1,4],["让","rang",4,24],["腾","teng",2,20],["鹭","lu",4,24],["麟","lin",2,23],["翎","ling",2,11],["龙","long",2,16],["绿","lv",4,14],["立","li",4,5],["力","li",4,2],["伟","wei",3,11],["勇","yong",3,9],["怡","yi",2,9],["婉","wan",3,11],["娅","ya",4,11],["威","wei",1,9],["卫","wei",4,15],["嫣","yan",1,14],["燕","yan",4,16],["艳","yan",4,24],["优","you",1,17],["允","yun",3,4],["友","you",3,4],["有","you",3,6],["央","yang",1,5],["亚","ya",4,8],["爱","ai",4,13],["壮","zhuang",4,7],["庄","zhuang",1,13],["岱","dai",4,8],["峤","jiao",4,15],["崑","kun",1,11],["崙","lun",2,11],["崴","wai",3,12],["嶂","zhang",4,14],["峦","luan",2,22],["峒","dong",4,9],["峄","yi",4,16],["峪","yu",4,10],["崤","xiao",2,11],["嶙","lin",2,15],["砺","li",4,20],["砥","di",3,10],["碇","ding",4,13],["碚","bei",4,13],["磬","qing",4,16],["圭","gui",1,6],["圻","qi",2,7],["垠","yin",2,9],["垣","yuan",2,9],["堃","kun",1,11],["境","jing",4,14],["增","zeng",1,15],["墀","chi",2,14],["墉","yong",1,14],["壎","xun",1,17],["圩","wei",2,6],["坂","ban",3,12],["坊","fang",1,7],["坞","wu",4,13],["坝","ba",4,24],["垌","dong",4,9],["垓","gai",1,9],["垭","ya",1,11],["埂","geng",3,10],["埕","cheng",2,10],["埙","xun",1,13],["堇","jin",3,11],["塬","yuan",2,13],["塾","shu",2,14],["畴","chou",2,19],["畦","qi",2,11],["畹","wan",3,13],["研","yan",2,9],["砚","yan",4,12],["磐","pan",2,15],["砂","sha",1,9],["峥","zheng",1,11],["嵘","rong",2,17],["岷","min",2,8],["峨","e",2,10],["嵋","mei",2,12],["崧","song",1,11],["岫","xiu",4,8],["屹","yi",4,6],["旺","wang",4,8],["缨","ying",1,23],["娥","e",2,10],["跃","yue",4,21],["翔","xiang",2,12],["羽","yu",3,6],["翼","yi",4,17],["黄","huang",2,12],["道","dao",4,16],["伊","yi",1,6],["越","yue",4,12],["以","yi",3,5],["予","yu",3,4],["禹","yu",3,9],["馨","xin",1,20],["诚","cheng",2,13],["铃","ling",2,13],["银","yin",2,14],["铜","tong",2,14],["铁","tie",3,21],["钊","zhao",1,10],["钿","dian",4,13],["铄","shuo",4,23],["锟","kun",1,16],["镕","rong",2,18],["镛","yong",1,19],["镒","yi",4,18],["铖","cheng",2,15],["玫","mei",2,9],["玥","yue",4,9],["珂","ke",1,10],["珉","min",2,10],["珀","po",4,10],["珮","pei",4,11],["琛","chen",1,13],["琢","zuo",2,13],["琥","hu",3,13],["琨","kun",1,13],["瑀","yu",3,14],["瑗","yuan",4,14],["瑛","ying",1,14],["瑭","tang",2,15],["璎","ying",1,22],["瓒","zan",4,24],["瑨","jin",4,15],["倩","qian",4,10],["姗","shan",1,8],["姝","shu",1,9],["娴","xian",2,15],["嫦","chang",2,14],["声","sheng",1,17],["胜","sheng",4,12],["才","cai",2,3],["千","qian",1,3],["士","shi",4,3],["小","xiao",3,3],["上","shang",4,3],["玙","yu",2,19],["玚","yang",2,14],["玠","jie",4,9],["玢","bin",1,9],["玟","wen",2,9],["玳","dai",4,10],["珈","jia",1,10],["珖","guang",1,11],["珙","gong",3,11],["珞","luo",4,11],["珺","jun",4,12],["琇","xiu",4,12],["琊","ya",2,12],["琍","li",2,12],["琎","jin",4,17],["琏","lian",3,16],["琚","ju",1,13],["琤","cheng",1,13],["琬","wan",3,13],["琮","cong",2,13],["琯","guan",3,13],["琰","yan",3,13],["琲","bei",4,13],["琴","qin",2,13],["瑁","mao",4,14],["瑆","xing",1,14],["瑢","rong",2,15],["瑱","tian",4,15],["瑷","ai",4,18],["璆","qiu",2,16],["璋","zhang",1,16],["璘","lin",2,17],["璜","huang",2,17],["璞","pu",2,17],["璠","fan",2,17],["璩","qu",2,18],["璪","zao",3,18],["璨","can",4,18],["钟","zhong",1,17],["钥","yao",4,25],["钲","zheng",1,13],["钺","yue",4,13],["铉","xuan",4,13],["铨","quan",2,14],["铸","zhu",4,22],["锌","xin",1,15],["锏","jian",3,20],["锶","si",1,17],["锷","e",4,17],["镌","juan",1,18],["镐","gao",3,18],["镜","jing",4,19],["镝","di",1,19],["镠","liu",2,19],["镡","chan",2,20],["镧","lan",2,25],["镫","deng",4,20],["镯","zhuo",2,21],["镱","yi",4,21],["镳","biao",1,23],["镶","xiang",1,25],["钏","chuan",4,11],["钗","chai",1,11],["钤","qian",2,12],["钫","fang",1,12],["铼","lai",2,16],["舜","shun",4,12],["朝","chao",2,12],["赛","sai",4,17],["仕","shi",4,5],["佐","zuo",3,7],["儒","ru",2,16],["仁","ren",2,4],["宗","zong",1,8],["守","shou",3,6],["定","ding",4,8],["宝","bao",3,20],["盛","sheng",4,11],["真","zhen",1,10],["纯","chun",2,10],["紫","zi",3,11],["缜","zhen",3,16],["识","shi",2,19],["顺","shun",4,12],["升","sheng",1,4],["寿","shou",4,14],["财","cai",2,10],["绣","xiu",4,18],["彩","cai",3,11],["婵","chan",2,15],["瑟","se",4,14],["鹊","que",4,19],["骏","jun",4,17],["骥","ji",4,27],["宙","zhou",4,8],["石","shi",2,5],["青","qing",1,8],["慎","shen",4,14],["帅","shuai",4,9],["靖","jing",4,13],["华","hua",2,14],["红","hong",2,9],["萍","ping",2,14],["斌","bin",1,11],["妍","yan",2,9],["美","mei",3,9],["妹","mei",4,8],["媚","mei",4,12],["妙","miao",4,7],["妤","yu",2,7],["凡","fan",2,3],["百","bai",3,6],["万","wan",4,15],["井","jing",3,4],["品","pin",3,9],["民","min",2,5],["求","qiu",2,6],["孚","fu",2,7],["朋","peng",2,8],["霞","xia",2,17],["霁","ji",4,22],["霄","xiao",1,15],["霭","ai",3,24],["霂","mu",4,15],["湖","hu",2,13],["沅","yuan",2,8],["沄","yun",2,16],["沣","feng",1,22],["泸","lu",2,20],["泷","long",2,20],["泠","ling",2,9],["沫","mo",4,9],["沭","shu",4,9],["泺","luo",4,19],["洪","hong",2,10],["洱","er",3,10],["涓","juan",1,11],["涔","cen",2,11],["涧","jian",4,16],["淋","lin",2,12],["淑","shu",1,12],["淞","song",1,12],["淡","dan",4,12],["淮","huai",2,12],["淳","chun",2,12],["溯","su",4,14],["溶","rong",2,14],["滢","ying",2,19],["满","man",3,15],["潇","xiao",1,20],["漪","yi",1,15],["漫","man",4,15],["漾","yang",4,15],["潭","tan",2,16],["澎","peng",2,16],["濛","meng",2,18],["瀛","ying",2,20],["泛","fan",4,9],["泱","yang",1,9],["泮","pan",4,9],["泌","mi",4,9],["泫","xuan",4,9],["洌","lie",4,10],["洮","tao",2,10],["浠","xi",1,11],["浣","huan",4,11],["浚","jun",4,11],["浔","xun",2,16],["涑","su",4,11],["涟","lian",2,15],["涣","huan",4,13],["涤","di",2,15],["淀","dian",4,17],["渌","lu",4,12],["渑","mian",3,17],["渔","yu",2,15],["温","wen",1,14],["港","gang",3,13],["渲","xuan",4,13],["游","you",2,13],["渺","miao",3,13],["湟","huang",2,13],["湫","jiao",3,13],["源","yuan",2,14],["溱","qin",2,14],["滁","chu",2,14],["滂","pang",1,14],["滇","dian",1,14],["滏","fu",3,14],["滔","tao",1,14],["滕","teng",2,14],["滦","luan",2,27],["漆","qi",1,15],["演","yan",3,15],["漠","mo",4,15],["漩","xuan",2,15],["潋","lian",4,21],["潍","wei",2,18],["潜","qian",2,16],["潞","lu",4,16],["濠","hao",2,18],["濡","ru",2,18],["濮","pu",2,18],["濯","zhuo",2,18],["灞","ba",4,25],["霙","ying",1,17],["沂","yi",2,8],["沔","mian",3,8],["泾","jing",1,11],["学","xue",2,16],["欢","huan",1,22],["喜","xi",3,12],["福","fu",2,14],["富","fu",4,12],["名","ming",2,6],["好","hao",3,6],["贝","bei",4,7],["麦","mai",4,11],["武","wu",3,8],["一","yi",1,1],["泰","tai",4,9],["兴","xing",1,15],["治","zhi",4,9],["邦","bang",1,11],["恒","heng",2,10],["发","fa",1,12],["赋","fu",4,15],["碧","bi",4,14],["雷","lei",2,13],["霜","shuang",1,17],["凤","feng",4,14],["鹏","peng",2,19],["鹤","he",4,21],["鸥","ou",1,22],["鸣","ming",2,14],["翰","han",4,16],["飞","fei",1,9],["豪","hao",2,14],["虎","hu",3,8],["兵","bing",1,7]],EXTRA_LIB:[["杰","木","才能出众","m"],["军","木","军旅坚毅","m"],["强","木","刚健有力","m"],["彬","木","文质彬彬","m"],["国","木","家国担当","n"],["春","木","春意生机","n"],["梅","木","梅花傲雪","f"],["英","木","英华出众","n"],["玉","木","温润如玉","f"],["桂","木","桂香高洁","n"],["莉","木","茉莉清雅","f"],["芊","木","草木芊绵","f"],["苏","木","复苏新生","n"],["苑","木","苑囿文雅","n"],["苓","木","茯苓甘润","f"],["荔","木","荔枝明艳","f"],["慕","木","仰慕追远","n"],["懋","木","勤勉盛大","m"],["楦","木","楦木成器","n"],["树","木","树立成材","n"],["柳","木","柳枝柔韧","f"],["杨","木","杨树挺拔","n"],["桦","木","白桦正直","n"],["桃","木","桃李芳华","f"],["杏","木","杏花明丽","f"],["朵","木","花朵轻盈","f"],["根","木","根深本固","n"],["桥","木","桥梁通达","n"],["楼","木","楼阁高远","n"],["榜","木","榜样立身","m"],["模","木","楷模可法","m"],["格","木","格调方正","n"],["籍","木","典籍文雅","n"],["箭","木","箭矢进取","m"],["篪","木","竹篪清音","n"],["箫","木","箫声悠远","n"],["笙","木","笙歌和鸣","n"],["程","木","前程有序","n"],["秦","木","秦地厚重","n"],["稳","木","稳当笃实","n"],["栗","木","栗实坚实","n"],["梨","木","梨花洁白","f"],["杜","木","杜若芬芳","n"],["村","木","村野质朴","n"],["校","木","校序文教","n"],["标","木","标格出众","m"],["桩","木","桩基稳固","m"],["梵","木","梵音清净","n"],["棣","木","棠棣和睦","n"],["椿","木","椿树长寿","m"],["榉","木","榉木坚实","n"],["橄","木","橄榄和平","n"],["橦","木","橦木挺立","n"],["芦","木","芦苇柔韧","n"],["苍","木","苍翠辽阔","n"],["茅","木","茅草质朴","n"],["荀","木","荀草芳洁","n"],["艺","木","才艺出众","n"],["艾","木","艾草温厚","f"],["藤","木","藤蔓绵延","n"],["蕖","木","芙蕖清丽","f"],["荐","木","荐举贤能","n"],["茏","木","茏葱茂盛","n"],["枞","木","枞树常青","n"],["柽","木","柽柳坚韧","n"],["柞","木","柞木坚实","n"],["柚","木","柚实丰硕","n"],["枳","木","枳壳有用","n"],["枸","木","枸木长青","n"],["枇","木","枇杷成荫","n"],["杷","木","枇杷甘美","n"],["柃","木","柃木细密","n"],["桉","木","桉树挺拔","n"],["栟","木","栟榈常绿","n"],["榔","木","榔木坚实","n"],["槲","木","槲叶宽厚","n"],["橼","木","香橼清芬","n"],["檩","木","檩条承重","n"],["檗","木","黄檗味苦","n"],["椴","木","椴木细白","n"],["槭","木","槭叶明丽","n"],["芙","木","芙蓉清艳","f"],["蓝","木","蓝草青碧","n"],["芍","木","芍药明媚","f"],["茹","木","茹含柔韧","f"],["菖","木","菖蒲清芬","n"],["菘","木","菘菜朴实","n"],["萝","木","女萝绵延","f"],["葳","木","葳蕤繁盛","f"],["葭","木","蒹葭苍苍","f"],["蒲","木","蒲草柔韧","n"],["蓼","木","蓼花淡雅","f"],["蕤","木","葳蕤华美","f"],["藜","木","藜藿质朴","n"],["蘅","木","杜蘅香草","f"],["苹","木","苹草清雅","f"],["篁","木","竹篁幽深","n"],["篆","木","篆书古雅","n"],["篇","木","篇章有序","n"],["笺","木","笺纸雅致","f"],["种","木","种德收福","n"],["科","木","科第有成","n"],["季","木","四季有序","n"],["秉","木","秉持正直","m"],["秩","木","秩序井然","n"],["稔","木","岁稔丰实","n"],["稻","木","稻谷丰登","n"],["乔","木","乔木高耸","n"],["娇","木","娇柔明丽","f"],["巧","木","巧思灵慧","f"],["俏","木","俏丽灵动","f"],["柱","木","柱石担当","m"],["栖","木","栖居安稳","n"],["栉","木","栉比有序","n"],["榭","木","亭榭雅致","n"],["檠","木","灯檠照夜","n"],["櫆","木","櫆木挺立","n"],["櫂","木","舟櫂行远","n"],["柟","木","楠木坚韧","n"],["枥","木","枥马志远","m"],["栌","木","栌木坚实","n"],["桤","木","桤木速生","n"],["梣","木","梣木细密","n"],["梃","木","梃木挺直","n"],["梼","木","梼木坚韧","n"],["椁","木","椁木厚重","n"],["椋","木","椋鸟群飞","n"],["椤","木","椤木常绿","n"],["楗","木","楗木固本","n"],["楝","木","楝花清苦","n"],["楫","木","舟楫济渡","n"],["榀","木","榀木成架","n"],["榇","木","榇木质朴","n"],["榈","木","棕榈常青","n"],["榍","木","榍木细坚","n"],["榧","木","榧木香实","n"],["槎","木","星槎远行","n"],["槔","木","桔槔提水","n"],["槠","木","槠木结实","n"],["樘","木","樘木成室","n"],["樨","木","木樨清香","f"],["橹","木","橹楫行舟","n"],["檫","木","檫木初生","n"],["秣","木","秣马厉兵","n"],["稞","木","青稞丰实","n"],["稹","木","稹密周到","n"],["穰","木","丰穰满仓","n"],["穑","木","稼穑勤劳","n"],["笏","木","笏板端持","n"],["笈","木","书笈负行","n"],["笕","木","竹笕引泉","n"],["笋","木","春笋新生","n"],["笳","木","胡笳悠远","n"],["筌","木","筌蹄得意","n"],["筇","木","筇竹清瘦","n"],["筑","木","筑室成业","n"],["筚","木","筚路蓝缕","n"],["筵","木","筵席和乐","n"],["箐","木","竹箐深青","n"],["箓","木","符箓玄远","n"],["箦","木","箦床安寝","n"],["箴","木","箴言规正","n"],["篌","木","箜篌清音","n"],["篙","木","竹篙撑舟","n"],["篝","木","篝火夜明","n"],["簃","木","楼簃清幽","n"],["簌","木","簌簌轻响","n"],["籁","木","天籁清远","n"],["籀","木","籀文古拙","n"],["奕","木","神采奕奕","n"],["可","木","可心如意","n"],["雅","木","雅正清和","f"],["毅","木","刚毅果决","m"],["健","木","健朗有力","m"],["康","木","康宁和乐","m"],["彦","木","俊彦有才","m"],["家","木","家和人兴","n"],["庆","木","庆云呈祥","m"],["高","木","高远志洁","m"],["久","木","久远恒长","n"],["功","木","功成不居","m"],["贵","木","贵而不骄","m"],["绮","木","绮丽华美","f"],["虹","木","虹霓明丽","f"],["皓","木","皓月当空","n"],["婧","木","婧秀美好","f"],["婕","木","婕妤温婉","f"],["义","木","义正担当","m"],["廉","木","廉正自守","m"],["勤","木","勤勉不懈","m"],["俭","木","俭以养德","m"],["谷","木","谷虚能容","n"],["谨","木","谨言慎行","n"],["敬","木","敬慎有礼","n"],["恭","木","恭谨温良","n"],["宽","木","宽厚容人","n"],["棋","木","棋局从容","n"],["笔","木","笔耕不辍","n"],["歌","木","歌韵悠扬","f"],["翠","木","翠色欲滴","f"],["雁","木","雁行有序","f"],["莺","木","莺啼春晓","f"],["麒","木","麒麟祥瑞","m"],["骐","木","骐骥千里","m"],["仪","木","仪范端庄","n"],["喆","木","喆睿明达","m"],["翊","木","翊赞高飞","n"],["芯","木","芯香清婉","f"],["娟","木","娟秀清丽","f"],["凯","木","凯旋豪迈","m"],["德","火","德行厚正","m"],["志","火","志向高远","m"],["丽","火","明丽秀美","f"],["娜","火","婀娜多姿","f"],["天","火","天宇开阔","n"],["哲","火","明哲通达","m"],["映","火","映照生辉","n"],["辉","火","光辉焕发","n"],["耀","火","光耀门庭","m"],["烁","火","烁亮明盛","n"],["燃","火","燃志进取","m"],["燊","火","炽盛兴旺","m"],["焰","火","光焰明朗","n"],["曙","火","曙色初开","n"],["煦","火","和煦温暖","n"],["赤","火","赤诚热烈","m"],["绯","火","绯红明艳","f"],["忠","火","忠厚守信","m"],["念","火","念兹在兹","n"],["情","火","情意温厚","f"],["昌","火","昌盛兴隆","n"],["昇","火","旭日上升","n"],["昶","火","日长天朗","n"],["晁","火","晨光初照","n"],["晞","火","晨露待晞","n"],["暧","火","暧然温煦","n"],["曌","火","日月当空","n"],["昉","火","天方亮","n"],["昫","火","日光温煦","n"],["晅","火","日光明朗","n"],["旸","火","日出晴明","n"],["炘","火","火热明亮","n"],["炆","火","温火细烹","n"],["炬","火","火炬照路","m"],["炳","火","炳然显著","n"],["烈","火","刚烈有节","m"],["烊","火","熔金流彩","n"],["焱","火","火花飞腾","m"],["煌","火","辉煌明亮","n"],["熀","火","火光闪耀","n"],["燎","火","燎原之势","m"],["燚","火","火势炽盛","m"],["燧","火","取火启明","n"],["燮","火","调和燮理","n"],["爔","火","晨光熹微","n"],["恕","火","恕道宽厚","n"],["慈","火","慈爱温厚","f"],["晃","火","明光晃朗","n"],["晢","火","明亮昭著","n"],["晰","火","清晰明辨","n"],["暐","火","日盛光明","n"],["暘","火","日出晴明","n"],["曈","火","曚昽初明","n"],["良","火","良善温厚","n"],["郎","火","俊朗少年","m"],["耿","火","耿直光明","m"],["离","火","离火明丽","n"],["午","火","午日正中","n"],["炯","火","目光炯炯","n"],["焜","火","明亮光辉","n"],["煐","火","光彩焕发","f"],["婷","火","婷婷玉立","f"],["妮","火","妮子亲切","f"],["媛","火","媛德温婉","f"],["隆","火","隆盛高显","m"],["代","火","代有传承","n"],["之","火","行之有恒","n"],["政","火","政通人和","m"],["登","火","登高望远","m"],["达","火","通达明理","m"],["通","火","通明畅达","n"],["长","火","长乐未央","n"],["进","火","进取不息","m"],["显","火","显扬光达","m"],["绫","火","绫罗轻柔","f"],["章","火","文章华彩","n"],["采","火","采采流水","n"],["礼","火","礼敬和正","m"],["理","火","理明通达","m"],["中","火","中正平和","n"],["让","火","谦让有度","n"],["腾","火","腾达向上","m"],["鹭","火","鹭立清波","f"],["麟","火","麟趾呈祥","m"],["翎","火","翎羽华美","f"],["龙","火","龙腾四海","m"],["绿","火","绿意盎然","f"],["立","火","立身有成","n"],["力","火","力行致远","m"],["伟","土","伟岸担当","m"],["勇","土","勇敢果决","m"],["怡","土","怡然和悦","f"],["婉","土","婉约温润","f"],["娅","土","娅然清秀","f"],["威","土","威严有度","m"],["卫","土","护卫担当","m"],["嫣","土","嫣然明丽","f"],["燕","土","燕子轻盈","f"],["艳","土","明艳照人","f"],["优","土","优游从容","n"],["允","土","允执厥中","n"],["友","土","友睦和善","n"],["有","土","有守有为","n"],["央","土","中央端正","n"],["亚","土","亚次有序","n"],["爱","土","仁爱温厚","f"],["壮","土","壮健有力","m"],["庄","土","庄重端方","n"],["岱","土","岱岳崇高","m"],["峤","土","山峤高峻","m"],["崑","土","崑仑高远","m"],["崙","土","崑仑苍茫","n"],["崴","土","山崴峻拔","n"],["嶂","土","层嶂叠翠","n"],["峦","土","山峦绵延","n"],["峒","土","山峒清幽","n"],["峄","土","峄山孤秀","n"],["峪","土","山谷幽深","n"],["崤","土","崤函险要","n"],["嶙","土","嶙峋有骨","n"],["砺","土","砥砺前行","m"],["砥","土","砥柱中流","m"],["碇","土","碇泊安稳","n"],["碚","土","碚石坚稳","n"],["磬","土","磬音清越","n"],["圭","土","圭璧端洁","n"],["圻","土","疆圻辽阔","n"],["垠","土","垠际无涯","n"],["垣","土","垣墙守护","n"],["堃","土","厚德载物","m"],["境","土","境界高远","n"],["增","土","增益进取","n"],["墀","土","丹墀明亮","n"],["墉","土","墉垣坚固","n"],["壎","土","埙乐和鸣","n"],["圩","土","圩堤护田","n"],["坂","土","坡坂上行","n"],["坊","土","街坊和乐","n"],["坞","土","山坞清幽","n"],["坝","土","堤坝稳固","n"],["垌","土","田垌开阔","n"],["垓","土","垓下辽阔","n"],["垭","土","山垭通达","n"],["埂","土","田埂有序","n"],["埕","土","埕地和畅","n"],["埙","土","埙音古朴","n"],["堇","土","堇菜清雅","f"],["塬","土","塬上高平","n"],["塾","土","塾学育人","n"],["畴","土","田畴丰茂","n"],["畦","土","畦田整齐","n"],["畹","土","畹亩兰芳","f"],["研","土","研精致思","n"],["砚","土","砚田笔耕","n"],["磐","土","磐石坚定","n"],["砂","土","砂砾成珠","n"],["峥","土","峥嵘岁月","m"],["嵘","土","峥嵘高峻","m"],["岷","土","岷山高远","n"],["峨","土","峨眉秀拔","n"],["嵋","土","峨嵋秀丽","n"],["崧","土","崧岳崇高","m"],["岫","土","云岫出山","n"],["屹","土","屹然挺立","m"],["旺","土","旺达兴隆","m"],["缨","土","缨络华美","f"],["娥","土","娥眉秀美","f"],["跃","土","跃马扬鞭","m"],["翔","土","翔集高远","m"],["羽","土","羽翼丰满","n"],["翼","土","翼展云天","n"],["黄","土","黄中通理","n"],["道","土","道法自然","m"],["伊","土","伊人清婉","f"],["越","土","越超卓然","n"],["以","土","以诚立身","n"],["予","土","予怀温厚","n"],["禹","土","禹功远志","m"],["馨","金","德馨远闻","f"],["诚","金","诚正守信","n"],["铃","金","铃音清越","f"],["银","金","银白光洁","n"],["铜","金","铜质坚厚","n"],["铁","金","铁骨铮铮","m"],["钊","金","钊勉进取","m"],["钿","金","钿饰明丽","f"],["铄","金","铄金流彩","n"],["锟","金","锟铻利剑","m"],["镕","金","镕铸成器","n"],["镛","金","大钟和鸣","n"],["镒","金","镒金厚重","n"],["铖","金","铖金坚利","m"],["玫","金","玫瑰芬芳","f"],["玥","金","神珠温润","f"],["珂","金","珂玉洁白","f"],["珉","金","珉石似玉","n"],["珀","金","琥珀温润","n"],["珮","金","玉佩叮咚","f"],["琛","金","琛宝珍贵","n"],["琢","金","琢磨成器","n"],["琥","金","琥珀生辉","n"],["琨","金","琨玉坚美","m"],["瑀","金","瑀玉温润","f"],["瑗","金","瑗玉大孔","f"],["瑛","金","瑛华晶莹","f"],["瑭","金","瑭玉温润","n"],["璎","金","璎珞华美","f"],["瓒","金","瓒圭礼器","n"],["瑨","金","瑨玉坚美","n"],["倩","金","倩丽美好","f"],["姗","金","姗姗从容","f"],["姝","金","姝丽端庄","f"],["娴","金","娴静文雅","f"],["嫦","金","嫦娥明丽","f"],["声","金","声名清远","n"],["胜","金","胜志有为","m"],["才","金","才思敏捷","n"],["千","金","千山辽阔","n"],["士","金","士志弘毅","m"],["小","金","小巧玲珑","f"],["上","金","上进不息","n"],["玙","金","玙璠美玉","n"],["玚","金","玚圭礼玉","n"],["玠","金","玠圭瑞玉","n"],["玢","金","玢玉纹理","n"],["玟","金","玟玉温润","f"],["玳","金","玳瑁华美","n"],["珈","金","珈饰华美","f"],["珖","金","珖玉温润","n"],["珙","金","珙璧大玉","n"],["珞","金","珞珞坚石","f"],["珺","金","珺玉温润","f"],["琇","金","琇玉洁白","f"],["琊","金","琅琊秀色","n"],["琍","金","琍玉玲珑","f"],["琎","金","琎玉似石","n"],["琏","金","琏瑚礼器","n"],["琚","金","琚玉佩玉","f"],["琤","金","琤琮玉声","n"],["琬","金","琬圭温润","f"],["琮","金","琮璧礼天","n"],["琯","金","琯玉古雅","n"],["琰","金","琰圭上尖","f"],["琲","金","琲珠成串","f"],["琴","金","琴音和雅","f"],["瑁","金","瑁圭礼器","n"],["瑆","金","瑆玉光洁","f"],["瑢","金","瑢玉温润","f"],["瑱","金","瑱玉充耳","f"],["瑷","金","瑷玉美善","f"],["璆","金","璆琳美玉","n"],["璋","金","璋圭瑞器","m"],["璘","金","璘彬有文","n"],["璜","金","璜璧礼器","n"],["璞","金","璞玉浑金","n"],["璠","金","璠玙美玉","n"],["璩","金","璩玉环佩","n"],["璪","金","璪玉华饰","n"],["璨","金","璨然明丽","n"],["钟","金","钟声远扬","n"],["钥","金","钥启门庭","n"],["钲","金","钲鼓清亮","n"],["钺","金","钺斧威仪","m"],["铉","金","铉鼎之重","n"],["铨","金","铨衡公正","n"],["铸","金","铸造成器","n"],["锌","金","锌白坚润","n"],["锏","金","锏锏刚直","m"],["锶","金","锶光清亮","n"],["锷","金","锷锋锐利","m"],["镌","金","镌刻铭心","n"],["镐","金","镐京古都","n"],["镜","金","镜明如水","n"],["镝","金","镝锋鸣响","n"],["镠","金","镠金精纯","n"],["镡","金","镡剑厚重","n"],["镧","金","镧光清润","n"],["镫","金","镫鞍稳当","n"],["镯","金","镯环明丽","f"],["镱","金","镱光清亮","n"],["镳","金","镳马疾驰","n"],["镶","金","镶饰华美","f"],["钏","金","钏镯清脆","f"],["钗","金","钗头明丽","f"],["钤","金","钤印守信","n"],["钫","金","钫钟清鸣","n"],["铼","金","铼金坚亮","n"],["舜","金","舜日尧天","m"],["朝","金","朝阳向上","n"],["赛","金","赛过进取","n"],["仕","金","仕途有为","m"],["佐","金","佐理有成","m"],["儒","金","儒雅博学","m"],["仁","金","仁厚爱人","m"],["宗","金","宗本承先","n"],["守","金","守正不移","n"],["定","金","安定有定","n"],["宝","金","珍宝可贵","n"],["盛","金","兴盛丰盛","n"],["真","金","真诚不伪","f"],["纯","金","纯良清正","f"],["紫","金","紫气东来","f"],["缜","金","缜密周全","n"],["识","金","见识明达","n"],["顺","金","顺遂和达","m"],["升","金","升腾向上","m"],["寿","金","寿康安泰","m"],["财","金","财源广进","m"],["绣","金","锦绣前程","f"],["彩","金","彩云呈祥","f"],["婵","金","婵娟明丽","f"],["瑟","金","琴瑟和鸣","f"],["鹊","金","鹊报佳音","f"],["骏","金","骏马奔腾","m"],["骥","金","骥足千里","m"],["宙","金","宇宙辽阔","n"],["石","金","石坚志定","m"],["青","金","青出于蓝","n"],["慎","金","慎思笃行","n"],["帅","金","帅毅英朗","m"],["靖","金","靖安和正","n"],["华","水","华彩光华","n"],["红","水","红润明丽","f"],["萍","水","浮萍清圆","f"],["斌","水","文质彬彬","m"],["妍","水","妍丽美好","f"],["美","水","美善温润","f"],["妹","水","妹好亲切","f"],["媚","水","妩媚明丽","f"],["妙","水","妙思灵秀","f"],["妤","水","婕妤温婉","f"],["凡","水","凡而不庸","n"],["百","水","百川归海","n"],["万","水","万流归海","n"],["井","水","井泉清冽","n"],["品","水","品正清雅","n"],["民","水","民厚安和","n"],["求","水","求索不止","n"],["孚","水","孚信立身","n"],["朋","水","朋交和乐","n"],["霞","水","霞光满天","f"],["霁","水","雨霁天晴","n"],["霄","水","云霄高远","n"],["霭","水","云霭温和","n"],["霂","水","霂雨润物","n"],["湖","水","湖光浩渺","n"],["沅","水","沅水清长","n"],["沄","水","沄水流转","n"],["沣","水","沣水丰沛","n"],["泸","水","泸水清深","n"],["泷","水","泷水奔流","n"],["泠","水","泠泠清响","f"],["沫","水","沫花轻盈","f"],["沭","水","沭水润泽","n"],["泺","水","泺水清源","n"],["洪","水","洪流浩大","m"],["洱","水","洱海清碧","n"],["涓","水","涓流不息","f"],["涔","水","涔涔细雨","n"],["涧","水","山涧清幽","n"],["淋","水","淋漓畅快","n"],["淑","水","淑善温良","f"],["淞","水","淞江雾凇","n"],["淡","水","淡泊明志","n"],["淮","水","淮水长流","n"],["淳","水","淳厚质朴","n"],["溯","水","溯本求源","n"],["溶","水","溶溶月色","n"],["滢","水","滢澈清亮","f"],["满","水","满而不溢","n"],["潇","水","潇洒清逸","n"],["漪","水","涟漪轻漾","f"],["漫","水","漫远从容","n"],["漾","水","水漾清波","f"],["潭","水","潭水深沉","n"],["澎","水","澎湃有力","n"],["濛","水","濛濛细雨","n"],["瀛","水","瀛洲浩渺","n"],["泛","水","泛舟江湖","n"],["泱","水","泱泱大度","n"],["泮","水","泮宫文教","n"],["泌","水","泌泉清甘","n"],["泫","水","泫然清露","f"],["洌","水","清洌甘甜","n"],["洮","水","洮水长流","n"],["浠","水","浠水清涟","n"],["浣","水","浣纱清丽","f"],["浚","水","浚深通远","m"],["浔","水","浔阳江头","n"],["涑","水","涑水清流","n"],["涟","水","涟漪轻柔","f"],["涣","水","涣然冰释","n"],["涤","水","涤故更新","n"],["淀","水","淀水澄明","n"],["渌","水","渌水清波","n"],["渑","水","渑水长流","n"],["渔","水","渔歌晚唱","n"],["温","水","温润和厚","f"],["港","水","港湾安泊","n"],["渲","水","渲染成画","n"],["游","水","游刃有余","n"],["渺","水","渺远辽阔","n"],["湟","水","湟水浩荡","n"],["湫","水","湫水清深","n"],["源","水","源远流长","n"],["溱","水","溱水丰沛","n"],["滁","水","滁水清幽","n"],["滂","水","滂沱丰沛","n"],["滇","水","滇池浩渺","n"],["滏","水","滏水清流","n"],["滔","水","滔滔不绝","m"],["滕","水","滕水腾涌","n"],["滦","水","滦水长流","n"],["漆","水","漆园吏隐","n"],["演","水","演迤绵长","n"],["漠","水","漠野辽阔","n"],["漩","水","漩涡流转","n"],["潋","水","潋滟波光","f"],["潍","水","潍水长流","n"],["潜","水","潜心笃志","n"],["潞","水","潞水安流","n"],["濠","水","濠梁观鱼","n"],["濡","水","濡润涵养","n"],["濮","水","濮水清远","n"],["濯","水","濯缨清流","n"],["灞","水","灞桥烟柳","n"],["霙","水","霙雪花明","f"],["沂","水","沂水春风","n"],["沔","水","沔水悠悠","n"],["泾","水","泾渭分明","n"],["学","水","学而不厌","n"],["欢","水","欢欣和乐","n"],["喜","水","喜乐安宁","n"],["福","水","福泽绵长","n"],["富","水","富足丰盈","n"],["名","水","名实相符","n"],["好","水","好善和乐","f"],["贝","水","贝珠珍美","f"],["麦","水","麦浪丰登","n"],["武","水","武毅有威","m"],["一","水","一心一意","n"],["泰","水","泰然安和","m"],["兴","水","兴旺进取","m"],["治","水","治世有方","m"],["邦","水","邦国安定","m"],["恒","水","恒久有常","m"],["发","水","发荣滋长","n"],["赋","水","赋性聪敏","n"],["碧","水","碧玉清莹","f"],["雷","水","雷厉风行","m"],["霜","水","霜华清冷","f"],["凤","水","凤鸣朝阳","f"],["鹏","水","鹏程万里","m"],["鹤","水","鹤立清远","m"],["鸥","水","鸥鹭忘机","n"],["鸣","水","鸣珂锵玉","m"],["翰","水","翰墨书香","m"],["飞","水","飞鸿远志","m"],["豪","水","豪迈开阔","m"],["虎","水","虎步生风","m"],["兵","水","兵毅果敢","m"]]}})(),V["surname-data"]=(function(){return{SURNAME_ROWS:[["乙",1,"yi",3],["卜",2,"bu",3],["刀",2,"dao",1],["刁",2,"diao",1],["丁",2,"ding",1],["九",2,"jiu",3],["力",2,"li",4],["乜",2,"nie",4],["人",2,"ren",2],["寸",3,"cun",4],["大",3,"",0],["干",3,"gan",1],["弓",3,"gong",1],["己",3,"ji",3],["么",3,"yao",1],["千",3,"qian",1],["山",3,"shan",1],["上",3,"shang",4],["士",3,"shi",4],["夕",3,"xi",1],["于",3,"yu",2],["子",3,"zi",2],["巴",4,"ba",1],["卞",4,"bian",4],["不",4,"",0],["才",4,"cai",2],["仇",4,"qiu",2],["丹",4,"dan",1],["方",4,"fang",1],["夫",4,"",0],["父",4,"fu",4],["戈",4,"ge",1],["公",4,"gong",1],["勾",4,"gou",1],["户",4,"hu",4],["化",4,"",0],["及",4,"ji",2],["介",4,"jie",4],["井",4,"jing",3],["亢",4,"kang",4],["孔",4,"kong",3],["六",4,"lu",4],["毛",4,"mao",2],["木",4,"mu",4],["牛",4,"niu",2],["亓",4,"qi",2],["仁",4,"ren",2],["壬",4,"ren",2],["仍",4,"reng",2],["少",4,"",0],["殳",4,"shu",1],["水",4,"shui",3],["太",4,"tai",4],["天",4,"tian",1],["王",4,"wang",2],["文",4,"wen",2],["毋",4,"wu",2],["五",4,"wu",3],["尹",4,"yin",3],["尤",4,"you",2],["友",4,"you",3],["元",4,"yuan",2],["允",4,"yun",3],["仉",4,"zhang",3],["之",4,"zhi",1],["支",4,"zhi",1],["止",4,"zhi",3],["中",4,"",0],["白",5,"bai",2],["包",5,"bao",1],["北",5,"",0],["本",5,"ben",3],["丙",5,"bing",3],["布",5,"bu",4],["出",5,"chu",1],["代",5,"dai",4],["付",5,"fu",4],["甘",5,"gan",1],["功",5,"gong",1],["古",5,"gu",3],["禾",5,"he",2],["弘",5,"hong",2],["甲",5,"jia",3],["巨",5,"ju",4],["句",5,"gou",1],["可",5,"",0],["令",5,"ling",4],["卯",5,"mao",3],["母",5,"mu",3],["皮",5,"pi",2],["平",5,"ping",2],["巧",5,"qiao",3],["丘",5,"qiu",1],["冉",5,"ran",3],["申",5,"shen",1],["生",5,"sheng",1],["石",5,"shi",2],["史",5,"shi",3],["世",5,"shi",4],["市",5,"shi",4],["示",5,"shi",4],["司",5,"si",1],["台",5,"tai",2],["田",5,"tian",2],["仝",5,"tong",2],["戊",5,"wu",4],["仙",5,"xian",1],["玄",5,"xuan",2],["以",5,"yi",3],["永",5,"yong",3],["用",5,"yong",4],["由",5,"you",2],["玉",5,"yu",4],["占",5,"",0],["召",5,"shao",4],["正",5,"zheng",4],["左",5,"zuo",3],["安",6,"an",1],["百",6,"bai",3],["充",6,"chong",1],["次",6,"ci",4],["多",6,"duo",1],["伏",6,"fu",2],["光",6,"guang",1],["圭",6,"gui",1],["亥",6,"hai",4],["合",6,"",0],["后",6,"hou",4],["回",6,"hui",2],["吉",6,"ji",2],["考",6,"kao",3],["匡",6,"kuang",1],["老",6,"lao",3],["米",6,"mi",3],["牟",6,"mou",2],["年",6,"nian",2],["朴",6,"piao",2],["求",6,"qiu",2],["曲",6,"qu",1],["全",6,"quan",2],["任",6,"ren",2],["戎",6,"rong",2],["舌",6,"she",2],["守",6,"shou",3],["夙",6,"su",4],["同",6,"",0],["危",6,"wei",1],["仵",6,"wu",3],["伍",6,"wu",3],["西",6,"xi",1],["向",6,"xiang",4],["刑",6,"xing",2],["行",6,"xing",2],["休",6,"",0],["羊",6,"yang",2],["仰",6,"yang",3],["伊",6,"yi",1],["衣",6,"yi",1],["夷",6,"yi",2],["印",6,"yin",4],["有",6,"you",3],["宇",6,"yu",3],["羽",6,"yu",3],["在",6,"zai",4],["兆",6,"zhao",4],["仲",6,"zhong",4],["朱",6,"zhu",1],["竹",6,"zhu",2],["字",6,"zi",4],["贝",7,"bei",4],["孛",7,"bei",4],["别",7,"bie",2],["伯",7,"bo",2],["步",7,"bu",4],["岑",7,"cen",2],["车",7,"che",1],["成",7,"cheng",2],["池",7,"chi",2],["赤",7,"chi",4],["初",7,"chu",1],["但",7,"dan",4],["豆",7,"dou",4],["杜",7,"du",4],["佛",7,"",0],["甫",7,"fu",3],["改",7,"gai",3],["告",7,"gao",4],["谷",7,"gu",3],["汗",7,"",0],["何",7,"he",2],["宏",7,"hong",2],["夹",7,"jia",1],["江",7,"jiang",1],["局",7,"ju",2],["牢",7,"lao",2],["冷",7,"leng",3],["李",7,"li",3],["里",7,"li",3],["利",7,"li",4],["良",7,"liang",2],["吕",7,"lv",3],["杞",7,"qi",3],["汝",7,"ru",3],["佘",7,"she",2],["束",7,"shu",4],["似",7,"",0],["宋",7,"song",4],["佟",7,"tong",2],["彤",7,"tong",2],["完",7,"wan",2],["尾",7,"",0],["位",7,"wei",4],["巫",7,"wu",1],["吴",7,"wu",2],["吾",7,"",0],["希",7,"xi",1],["系",7,"",0],["孝",7,"xiao",4],["辛",7,"xin",1],["延",7,"yan",2],["言",7,"yan",2],["冶",7,"ye",3],["余",7,"yu",2],["艾",8,"ai",4],["昂",8,"ang",2],["板",8,"ban",3],["卑",8,"bei",1],["帛",8,"bo",2],["昌",8,"chang",1],["抄",8,"chao",1],["承",8,"cheng",2],["狄",8,"di",2],["典",8,"dian",3],["定",8,"ding",4],["东",8,"dong",1],["房",8,"fang",2],["奉",8,"feng",4],["扶",8,"fu",2],["府",8,"fu",3],["庚",8,"geng",1],["官",8,"guan",1],["果",8,"guo",3],["函",8,"han",2],["杭",8,"hang",2],["和",8,"he",2],["呼",8,"hu",1],["虎",8,"hu",3],["汲",8,"ji",2],["季",8,"ji",4],["佼",8,"jiao",3],["金",8,"jin",1],["京",8,"jing",1],["咎",8,"jiu",4],["居",8,"ju",1],["卷",8,"",0],["抗",8,"kang",4],["空",8,"kong",1],["狂",8,"kuang",2],["来",8,"lai",2],["林",8,"lin",2],["枚",8,"mei",2],["门",8,"men",2],["孟",8,"meng",4],["宓",8,"mi",4],["明",8,"ming",2],["沐",8,"mu",4],["牧",8,"mu",4],["佴",8,"nai",4],["奈",8,"nai",4],["念",8,"nian",4],["朋",8,"peng",2],["祁",8,"qi",2],["其",8,"",0],["奇",8,"",0],["歧",8,"qi",2],["青",8,"qing",1],["屈",8,"qu",1],["沙",8,"sha",1],["尚",8,"shang",4],["沈",8,"shen",3],["始",8,"shi",3],["侍",8,"shi",4],["受",8,"shou",4],["叔",8,"shu",1],["姒",8,"si",4],["所",8,"suo",3],["帖",8,"",0],["宛",8,"",0],["汪",8,"wang",1],["委",8,"",0],["沃",8,"wo",4],["武",8,"wu",3],["昔",8,"xi",1],["析",8,"xi",1],["冼",8,"xian",3],["忻",8,"xin",1],["姓",8,"xing",4],["幸",8,"xing",4],["依",8,"yi",1],["宜",8,"yi",2],["易",8,"yi",4],["於",8,"yu",1],["岳",8,"yue",4],["长",8,"zhang",3],["折",8,"she",2],["政",8,"zheng",4],["枝",8,"",0],["周",8,"zhou",1],["竺",8,"zhu",2],["卓",8,"zhuo",2],["宗",8,"zong",1],["哀",9,"ai",1],["柏",9,"bai",3],["拜",9,"bai",4],["保",9,"bao",3],["表",9,"biao",3],["波",9,"bo",1],["查",9,"zha",1],["柴",9,"chai",2],["春",9,"chun",1],["度",9,"",0],["段",9,"duan",4],["法",9,"fa",3],["飞",9,"fei",1],["风",9,"",0],["封",9,"feng",1],["革",9,"",0],["冠",9,"",0],["哈",9,"ha",3],["罕",9,"han",3],["红",9,"hong",2],["侯",9,"hou",2],["厚",9,"hou",4],["後",9,"hou",4],["狐",9,"hu",2],["宦",9,"huan",4],["皇",9,"huang",2],["计",9,"ji",4],["纪",9,"ji",3],["建",9,"jian",4],["姜",9,"jiang",1],["军",9,"jun",1],["柯",9,"ke",1],["况",9,"kuang",4],["柳",9,"liu",3],["律",9,"lv",4],["芒",9,"mang",2],["冒",9,"",0],["弭",9,"mi",3],["南",9,"nan",2],["泥",9,"",0],["祈",9,"qi",2],["俟",9,"qi",2],["泣",9,"qi",4],["前",9,"qian",2],["秋",9,"qiu",1],["泉",9,"quan",2],["却",9,"que",4],["柔",9,"rou",2],["厍",9,"she",4],["施",9,"shi",1],["是",9,"shi",4],["首",9,"shou",3],["帅",9,"shuai",4],["拓",9,"tuo",4],["泰",9,"tai",4],["威",9,"wei",1],["韦",9,"wei",2],["相",9,"xiang",4],["香",9,"xiang",1],["肖",9,"xiao",1],["信",9,"",0],["星",9,"xing",1],["性",9,"xing",4],["宣",9,"xuan",1],["姚",9,"yao",2],["要",9,"yao",1],["奕",9,"yi",4],["羿",9,"yi",4],["盈",9,"ying",2],["勇",9,"yong",3],["俞",9,"yu",2],["禹",9,"yu",3],["昝",9,"zan",3],["招",9,"zhao",1],["俎",9,"zu",3],["晁",10,"chao",2],["城",10,"cheng",2],["乘",10,"",0],["肥",10,"fei",2],["刚",10,"gang",1],["皋",10,"",0],["高",10,"gao",1],["耿",10,"geng",3],["宫",10,"gong",1],["恭",10,"gong",1],["拱",10,"gong",3],["贡",10,"gong",4],["桂",10,"gui",4],["邗",10,"han",2],["盍",10,"he",2],["洪",10,"hong",2],["候",10,"hou",4],["花",10,"hua",1],["桓",10,"huan",2],["姬",10,"ji",1],["家",10,"jia",1],["晋",10,"jin",4],["酒",10,"jiu",3],["库",10,"ku",4],["栗",10,"li",4],["凌",10,"ling",2],["留",10,"liu",2],["旅",10,"lv",3],["伦",10,"lun",2],["洛",10,"luo",4],["马",10,"ma",3],["秘",10,"",0],["纳",10,"na",4],["倪",10,"ni",2],["旁",10,"",0],["秦",10,"qin",2],["邛",10,"qiong",2],["容",10,"rong",2],["芮",10,"rui",4],["桑",10,"sang",1],["闪",10,"shan",3],["师",10,"shi",1],["时",10,"shi",2],["书",10,"shu",1],["素",10,"su",4],["孙",10,"sun",1],["索",10,"suo",3],["唐",10,"tang",2],["桐",10,"tong",2],["徒",10,"tu",2],["翁",10,"weng",1],["乌",10,"wu",1],["奚",10,"xi",1],["席",10,"xi",2],["夏",10,"xia",4],["校",10,"",0],["修",10,"xiu",1],["徐",10,"xu",2],["轩",10,"xuan",1],["晏",10,"yan",4],["洋",10,"yang",2],["益",10,"yi",4],["殷",10,"yin",1],["员",10,"yun",4],["原",10,"yuan",2],["袁",10,"yuan",2],["宰",10,"zai",3],["展",10,"zhan",3],["钊",10,"zhao",1],["针",10,"zhen",1],["真",10,"zhen",1],["衷",10,"zhong",1],["祝",10,"zhu",4],["祖",10,"zu",3],["敖",11,"ao",2],["班",11,"ban",1],["毕",11,"bi",4],["闭",11,"bi",4],["曹",11,"cao",2],["常",11,"chang",2],["巢",11,"chao",2],["崇",11,"chong",2],["啜",11,"chuai",4],["从",11,"cong",2],["崔",11,"cui",1],["笪",11,"da",2],["第",11,"di",4],["浮",11,"fu",2],["符",11,"fu",2],["盖",11,"ge",3],["苟",11,"gou",3],["贯",11,"guan",4],["国",11,"guo",2],["海",11,"hai",3],["胡",11,"hu",2],["斛",11,"hu",2],["扈",11,"hu",4],["祭",11,"ji",4],["坚",11,"jian",1],["将",11,"",0],["康",11,"kang",1],["寇",11,"kou",4],["苦",11,"ku",3],["犁",11,"li",2],["梁",11,"liang",2],["聊",11,"liao",2],["娄",11,"lou",2],["鹿",11,"lu",4],["麻",11,"ma",2],["麦",11,"mai",4],["茅",11,"mao",2],["茆",11,"mao",2],["茂",11,"mao",4],["梅",11,"mei",2],["苗",11,"miao",2],["敏",11,"min",3],["那",11,"na",1],["偶",11,"ou",3],["浦",11,"pu",3],["戚",11,"qi",1],["牵",11,"qian",1],["乾",11,"",0],["卿",11,"qing",1],["区",11,"ou",1],["雀",11,"",0],["商",11,"shang",1],["绍",11,"shao",4],["宿",11,"su",4],["眭",11,"sui",1],["堂",11,"tang",2],["涂",11,"tu",2],["庹",11,"tuo",3],["望",11,"wang",4],["伟",11,"wei",3],["尉",11,"yu",4],["问",11,"wen",4],["务",11,"wu",4],["悟",11,"wu",4],["悉",11,"xi",1],["习",11,"xi",2],["邢",11,"xing",2],["胥",11,"xu",1],["许",11,"xu",3],["雪",11,"xue",3],["焉",11,"yan",1],["闫",11,"yan",2],["野",11,"ye",3],["英",11,"ying",1],["鱼",11,"yu",2],["御",11,"yu",4],["苑",11,"yuan",4],["粘",11,"",0],["张",11,"zhang",1],["章",11,"zhang",1],["终",11,"zhong",1],["紫",11,"zi",3],["跋",12,"ba",2],["邶",12,"bei",4],["贲",12,"ben",1],["邴",12,"bing",3],["曾",12,"zeng",1],["钞",12,"chao",1],["程",12,"cheng",2],["淳",12,"chun",2],["答",12,"",0],["单",12,"shan",4],["淡",12,"dan",4],["登",12,"deng",1],["邸",12,"di",3],["栋",12,"dong",4],["钭",12,"tou",3],["堵",12,"du",3],["贰",12,"er",4],["斐",12,"fei",3],["费",12,"fei",4],["冯",12,"feng",2],["傅",12,"fu",4],["富",12,"fu",4],["淦",12,"gan",4],["辜",12,"gu",1],["妫",12,"gui",1],["贵",12,"gui",4],["寒",12,"han",2],["贺",12,"he",4],["闳",12,"hong",2],["黄",12,"huang",2],["惠",12,"hui",4],["嵇",12,"ji",1],["集",12,"ji",2],["焦",12,"jiao",1],["接",12,"jie",1],["捷",12,"jie",2],["荆",12,"jing",1],["景",12,"jing",3],["开",12,"kai",1],["劳",12,"lao",2],["理",12,"li",3],["买",12,"mai",3],["贸",12,"mao",4],["闵",12,"min",3],["赧",12,"nan",3],["能",12,"nai",4],["甯",12,"ning",4],["钮",12,"niu",3],["彭",12,"peng",2],["普",12,"pu",3],["强",12,"qiang",2],["乔",12,"qiao",2],["钦",12,"qin",1],["清",12,"qing",1],["邱",12,"qiu",1],["茹",12,"ru",2],["阮",12,"ruan",3],["森",12,"sen",1],["善",12,"shan",4],["邵",12,"shao",4],["盛",12,"sheng",4],["疏",12,"shu",1],["舒",12,"shu",1],["税",12,"shui",4],["舜",12,"shun",4],["斯",12,"si",1],["粟",12,"su",4],["邰",12,"tai",2],["覃",12,"qin",2],["童",12,"tong",2],["屠",12,"tu",2],["无",12,"wu",2],["喜",12,"xi",3],["项",12,"xiang",4],["象",12,"xiang",4],["须",12,"xu",1],["寻",12,"xun",2],["荀",12,"xun",2],["尧",12,"yao",2],["庾",12,"yu",3],["喻",12,"yu",4],["越",12,"yue",4],["云",12,"yun",2],["迮",12,"ze",2],["掌",12,"zhang",3],["植",12,"zhi",2],["智",12,"zhi",4],["訾",12,"zi",1],["阿",13,"",0],["爱",13,"ai",4],["楚",13,"chu",3],["督",13,"du",1],["顿",13,"dun",4],["浑",13,"hun",2],["戢",13,"ji",2],["贾",13,"jia",3],["揭",13,"",0],["节",13,"",0],["解",13,"xie",4],["靳",13,"jin",4],["经",13,"jing",1],["敬",13,"jing",4],["靖",13,"jing",4],["隽",13,"",0],["郎",13,"lang",2],["雷",13,"lei",2],["廉",13,"lian",2],["零",13,"ling",2],["禄",13,"lu",4],["路",13,"lu",4],["莫",13,"mo",4],["貊",13,"mo",4],["睦",13,"mu",4],["农",13,"nong",2],["逄",13,"pang",2],["辟",13,"",0],["琦",13,"qi",2],["郄",13,"qie",4],["琴",13,"qin",2],["禽",13,"qin",2],["勤",13,"qin",2],["裘",13,"qiu",2],["渠",13,"",0],["塞",13,"",0],["莘",13,"shen",1],["圣",13,"sheng",4],["诗",13,"shi",1],["势",13,"shi",4],["睢",13,"",0],["塔",13,"ta",3],["汤",13,"tang",1],["脱",13,"tuo",1],["陀",13,"tuo",2],["微",13,"wei",1],["温",13,"wen",1],["烟",13,"yan",1],["扬",13,"yang",2],["杨",13,"yang",2],["徭",13,"yao",2],["业",13,"ye",4],["义",13,"yi",4],["裔",13,"yi",4],["雍",13,"yong",1],["犹",13,"you",2],["游",13,"you",2],["愚",13,"yu",2],["虞",13,"yu",2],["郁",13,"yu",4],["愈",13,"yu",4],["毓",13,"yu",4],["恽",13,"yun",4],["载",13,"",0],["詹",13,"zhan",1],["湛",13,"zhan",4],["庄",13,"zhuang",1],["资",13,"zi",1],["碧",14,"bi",4],["宾",14,"bin",1],["苌",14,"chang",2],["畅",14,"chang",4],["称",14,"",0],["慈",14,"ci",2],["翠",14,"cui",4],["翟",14,"zhai",2],["端",14,"duan",1],["尔",14,"er",3],["逢",14,"feng",2],["凤",14,"feng",4],["福",14,"fu",2],["郜",14,"gao",4],["管",14,"guan",3],["郝",14,"hao",3],["赫",14,"he",4],["华",14,"hua",4],["滑",14,"hua",2],["箕",14,"ji",1],["暨",14,"ji",4],["嘉",14,"jia",1],["郏",14,"jia",2],["菅",14,"jian",1],["竭",14,"jie",2],["僪",14,"",0],["莱",14,"lai",2],["连",14,"lian",2],["廖",14,"liao",4],["闽",14,"min",3],["宁",14,"ning",4],["裴",14,"pei",2],["仆",14,"",0],["溥",14,"pu",3],["齐",14,"qi",2],["旗",14,"qi",2],["綦",14,"qi",2],["侨",14,"qiao",2],["荣",14,"rong",2],["瑞",14,"rui",4],["僧",14,"seng",1],["韶",14,"shao",2],["慎",14,"shen",4],["实",14,"shi",2],["寿",14,"shou",4],["说",14,"",0],["硕",14,"shuo",4],["速",14,"su",4],["滕",14,"teng",2],["通",14,"tong",1],["闻",14,"wen",2],["郗",14,"xi",1],["郤",14,"xi",4],["熊",14,"xiong",2],["绪",14,"xu",4],["银",14,"yin",2],["源",14,"yuan",2],["臧",14,"zang",1],["赵",14,"zhao",4],["肇",14,"zhao",4],["甄",14,"zhen",1],["种",14,"",0],["褒",15,"bao",1],["暴",15,"bao",4],["褚",15,"chu",3],["逮",15,"",0],["德",15,"de",2],["董",15,"dong",3],["樊",15,"fan",2],["范",15,"fan",4],["葛",15,"ge",3],["巩",15,"gong",3],["缑",15,"gou",1],["穀",15,"gu",3],["广",15,"guang",3],["郭",15,"guo",1],["虢",15,"guo",2],["汉",15,"han",4],["辉",15,"hui",1],["荤",15,"hun",1],["稽",15,"",0],["翦",15,"jian",3],["剑",15,"jian",4],["进",15,"jin",4],["驹",15,"ju",1],["剧",15,"ju",4],["乐",15,"yue",4],["黎",15,"li",2],["厉",15,"li",4],["练",15,"lian",4],["刘",15,"liu",2],["楼",15,"lou",2],["鲁",15,"lu",3],["逯",15,"lu",4],["闾",15,"lv",2],["满",15,"man",3],["漫",15,"man",4],["摩",15,"",0],["墨",15,"mo",4],["慕",15,"mu",4],["欧",15,"ou",1],["盘",15,"pan",2],["漆",15,"qi",1],["庆",15,"qing",4],["锐",15,"rui",4],["赏",15,"shang",3],["驷",15,"si",4],["谈",15,"tan",2],["郯",15,"tan",2],["万",15,"wan",4],["卫",15,"wei",4],["线",15,"xian",4],["兴",15,"",0],["养",15,"yang",3],["叶",15,"ye",4],["仪",15,"yi",2],["禚",15,"zhuo",2],["鲍",16,"bao",4],["苍",16,"cang",1],["潮",16,"chao",2],["陈",16,"chen",2],["谌",16,"chen",2],["澄",16,"",0],["错",16,"cuo",4],["达",16,"da",2],["道",16,"dao",4],["雕",16,"diao",1],["都",16,"du",1],["笃",16,"du",3],["鄂",16,"e",4],["过",16,"guo",1],["蒿",16,"hao",1],["衡",16,"heng",2],["霍",16,"huo",4],["机",16,"ji",1],["冀",16,"ji",4],["谏",16,"jian",4],["蒯",16,"kuai",3],["赖",16,"lai",4],["历",16,"li",4],["龙",16,"long",2],["卢",16,"lu",2],["陆",16,"lu",4],["骆",16,"luo",4],["蒙",16,"meng",2],["磨",16,"",0],["穆",16,"mu",4],["诺",16,"nuo",4],["潘",16,"pan",1],["频",16,"",0],["凭",16,"ping",2],["蒲",16,"pu",2],["钱",16,"qian",2],["潜",16,"qian",2],["桥",16,"qiao",2],["融",16,"rong",2],["撒",16,"sa",3],["树",16,"shu",4],["潭",16,"tan",2],["陶",16,"tao",2],["学",16,"xue",2],["阎",16,"yan",2],["燕",16,"yan",1],["阴",16,"yin",1],["嬴",16,"ying",2],["遇",16,"yu",4],["运",16,"yun",4],["战",16,"zhan",4],["诸",16,"zhu",1],["蔡",17,"cai",4],["操",17,"cao",1],["丑",17,"chou",3],["蹉",17,"cuo",1],["澹",17,"dan",4],["独",17,"du",2],["繁",17,"po",2],["韩",17,"han",2],["检",17,"jian",3],["謇",17,"jian",3],["蹇",17,"jian",3],["蒋",17,"jiang",3],["矫",17,"jiao",3],["鞠",17,"ju",1],["励",17,"li",4],["敛",17,"lian",3],["隆",17,"long",2],["弥",17,"",0],["糜",17,"mi",2],["缪",17,"miao",4],["蓬",17,"peng",2],["赛",17,"sai",4],["声",17,"sheng",1],["霜",17,"shuang",1],["隋",17,"",0],["檀",17,"tan",2],["蔚",17,"wei",4],["邬",17,"wu",1],["戏",17,"",0],["鲜",17,"xian",1],["谢",17,"xie",4],["阳",17,"yang",2],["应",17,"ying",1],["营",17,"ying",2],["辕",17,"yuan",2],["斋",17,"zhai",1],["钟",17,"zhong",1],["锺",17,"zhong",1],["纵",17,"",0],["邹",17,"zou",1],["储",18,"chu",3],["丛",18,"cong",2],["戴",18,"dai",4],["丰",18,"feng",1],["归",18,"gui",1],["环",18,"huan",2],["简",18,"jian",3],["蒉",18,"",0],["礼",18,"li",3],["谬",18,"miu",4],["聂",18,"nie",4],["濮",18,"pu",2],["骑",18,"qi",2],["璩",18,"qu",2],["瞿",18,"qu",2],["阙",18,"que",1],["双",18,"shuang",1],["松",18,"song",1],["锁",18,"suo",3],["隗",18,"wei",3],["魏",18,"wei",4],["萧",18,"xiao",1],["鄢",18,"yan",1],["颜",18,"yan",2],["鄞",18,"yin",2],["镇",18,"zhen",4],["颛",18,"zhuan",1],["濯",18,"zhuo",2],["薄",19,"bo",2],["迟",19,"chi",2],["郸",19,"dan",1],["邓",19,"deng",4],["关",19,"guan",1],["蓟",19,"ji",4],["镜",19,"jing",4],["旷",19,"kuang",4],["类",19,"lei",4],["离",19,"li",2],["祢",19,"mi",2],["庞",19,"pang",2],["谯",19,"qiao",2],["麹",19,"qu",1],["麴",19,"qu",1],["绳",19,"sheng",2],["谭",19,"tan",2],["薛",19,"xue",1],["蚁",19,"yi",3],["郑",19,"zheng",4],["宝",20,"bao",3],["藏",20,"",0],["党",20,"dang",3],["窦",20,"dou",4],["怀",20,"huai",2],["籍",20,"ji",2],["阚",20,"kan",4],["蓝",20,"lan",2],["泷",20,"",0],["罗",20,"luo",2],["壤",20,"rang",3],["萨",20,"sa",4],["释",20,"shi",4],["腾",20,"teng",2],["咸",20,"xian",2],["严",20,"yan",2],["铎",21,"duo",2],["藩",21,"fan",1],["顾",21,"gu",4],["夔",21,"kui",2],["饶",21,"rao",2],["随",21,"sui",2],["藤",21,"teng",2],["铁",21,"tie",3],["续",21,"xu",4],["边",22,"bian",1],["龚",22,"gong",1],["邝",22,"kuang",4],["蔺",22,"lin",4],["权",22,"quan",2],["穰",22,"rang",2],["苏",22,"su",1],["袭",22,"xi",2],["隐",22,"",0],["兰",23,"lan",2],["栾",23,"luan",2],["让",24,"rang",4],["酆",25,"feng",1],["蛮",25,"man",2],["衅",25,"xin",4],["郦",26,"li",4],["钻",27,"zuan",1],["鬱",29,"yu",4]],COMPOUND_ROWS:[["百里",6,7,"baili",3],["碧鲁",14,15,"bilu",4],["淳于",12,3,"chunyu",2],["单于",12,3,"chanyu",2],["澹台",17,5,"tantai",2],["第五",11,4,"diwu",4],["东方",8,4,"dongfang",1],["东郭",8,15,"dongguo",1],["东门",8,8,"dongmen",1],["端木",14,4,"duanmu",1],["段干",9,3,"duangan",4],["范姜",15,9,"fanjiang",4],["费莫",12,13,"feimo",4],["富察",12,14,"fucha",4],["公良",4,7,"gongliang",1],["公叔",4,8,"gongshu",1],["公孙",4,10,"gongsun",1],["公西",4,6,"gongxi",1],["公羊",4,6,"gongyang",1],["公冶",4,7,"gongye",1],["谷梁",7,11,"guliang",3],["榖梁",14,11,"guliang",3],["毌丘",4,5,"guanqiu",4],["赫连",14,14,"helian",4],["呼延",8,7,"huyan",1],["皇甫",9,7,"huangfu",2],["夹谷",7,7,"jiagu",2],["句龙",5,16,"goulong",1],["乐正",15,5,"yuezheng",4],["梁丘",11,5,"liangqiu",2],["令狐",5,9,"linghu",2],["闾丘",15,5,"lvqiu",2],["马佳",10,8,"majia",3],["慕容",15,10,"murong",4],["那拉",11,9,"",0],["纳喇",10,12,"nala",4],["南宫",9,10,"nangong",2],["南门",9,8,"nanmen",2],["欧阳",15,17,"ouyang",1],["濮阳",18,17,"puyang",2],["漆雕",15,16,"qidiao",1],["亓官",4,8,"qiguan",2],["壤驷",20,15,"rangsi",3],["上官",3,8,"shangguan",4],["申屠",5,12,"shentu",1],["司空",5,8,"sikong",1],["司寇",5,11,"sikou",1],["司马",5,10,"sima",1],["司徒",5,10,"situ",1],["拓跋",9,12,"tuoba",4],["太史",4,5,"taishi",4],["太叔",4,8,"taishu",4],["佟佳",7,8,"tongjia",2],["图门",14,8,"tumen",2],["完颜",7,18,"wanyan",2],["万俟",15,9,"moqi",4],["微生",13,5,"weisheng",1],["尉迟",11,19,"yuchi",4],["闻人",14,2,"wenren",2],["乌孙",10,10,"wusun",1],["乌雅",10,12,"wuya",1],["巫马",7,10,"wuma",1],["西门",6,8,"ximen",1],["夏侯",10,9,"xiahou",4],["鲜于",17,3,"xianyu",1],["轩辕",10,17,"xuanyuan",1],["羊舌",6,6,"yangshe",2],["宇文",6,4,"yuwen",3],["宰父",10,4,"zaifu",3],["张简",11,18,"zhangjian",1],["张廖",11,14,"zhangliao",1],["章佳",11,8,"zhangjia",1],["仉督",4,13,"zhangdu",3],["长孙",8,10,"zhangsun",3],["钟离",17,19,"zhongli",1],["锺离",17,19,"zhongli",1],["仲孙",6,10,"zhongsun",4],["诸葛",16,15,"zhuge",1],["颛孙",18,10,"zhuansun",1],["子车",3,7,"ziju",3],["宗政",8,8,"zongzheng",1],["左丘",5,5,"zuoqiu",3]],SURNAME_ALT:{尉:["wei",4],覃:["tan",2],蔚:["yu",4],隗:["kui",2],柏:["bo",2],乐:["le",4],能:["neng",2],查:["cha",2],石:["dan",4]},SURNAME_COUNTS:{single:998,compound:82,strokeOnly:71,alt:9}}})(),V["name-data"]=(function(){const{EXTRA_READING:B}=V["name-extra"]||{},{SURNAME_ROWS:cn,COMPOUND_ROWS:un,SURNAME_ALT:fn,SURNAME_COUNTS:an}=V["surname-data"]||{},H=[...[["梓","zi",3,11],["桐","tong",2,10],["楠","nan",2,13],["楷","kai",3,13],["松","song",1,8],["柏","bai",3,9],["枫","feng",1,13],["榕","rong",2,14],["槿","jin",3,15],["棠","tang",2,12],["楚","chu",3,13],["柯","ke",1,9],["桓","huan",2,10],["榆","yu",2,13],["栩","xu",3,10],["榛","zhen",1,14],["芸","yun",2,10],["芷","zhi",3,10],["芮","rui",4,10],["若","ruo",4,11],["茜","qian",4,12],["茵","yin",1,12],["茗","ming",2,12],["莎","sha",1,13],["茉","mo",4,11],["筱","xiao",3,13],["蓉","rong",2,16],["萱","xuan",1,15],["蕙","hui",4,18],["蕊","rui",3,18],["菲","fei",1,14],["蔓","man",4,17],["荣","rong",2,14],["茂","mao",4,11],["栋","dong",4,12],["梁","liang",2,11],["朴","pu",3,6],["本","ben",3,5],["林","lin",2,8],["森","sen",1,12],["枝","zhi",1,8],["果","guo",3,8],["禾","he",2,5],["秀","xiu",4,7],["穗","sui",4,17],["稼","jia",4,15],["颖","ying",3,16],["苗","miao",2,8],["菁","jing",1,14],["菡","han",4,14],["蕴","yun",4,22],["蕾","lei",3,19],["薇","wei",1,19],["薏","yi",4,19],["菀","wan",3,14],["荷","he",2,13],["莲","lian",2,17],["菱","ling",2,14],["苇","wei",3,15],["荻","di",2,13],["筠","yun",2,13],["笛","di",2,11],["杉","shan",1,7],["柠","ning",2,18],["桢","zhen",1,13],["樾","yue",4,16],["柘","zhe",4,9],["权","quan",2,22],["材","cai",2,7],["杭","hang",2,8],["枚","mei",2,8],["梧","wu",2,11],["竹","zhu",2,6],["简","jian",3,18],["策","ce",4,12],["筹","chou",2,20],["芬","fen",1,10],["芳","fang",1,10],["花","hua",1,10],["菊","ju",2,14],["兰","lan",2,23],["芝","zhi",1,10],["芹","qin",2,10],["荃","quan",2,12],["萃","cui",4,14],["蓁","zhen",1,16],["荞","qiao",2,18],["莞","wan",3,13],["萦","ying",2,16],["蔚","wei",4,17],["芃","peng",2,9],["芩","qin",2,10],["苡","yi",3,11],["莱","lai",2,14],["萌","meng",2,14],["葆","bao",3,15],["萧","xiao",1,18],["樟","zhang",1,15],["樱","ying",1,21],["栎","li",4,19],["棹","zhao",4,12],["楸","qiu",1,13],["槐","huai",2,14],["橙","cheng",2,16],["檀","tan",2,17],["炎","yan",2,8],["灿","can",4,17],["炫","xuan",4,9],["炜","wei",3,13],["烨","ye",4,14],["煜","yu",4,13],["熙","xi",1,13],["煊","xuan",1,13],["焕","huan",4,13],["熠","yi",4,15],["炅","jiong",3,8],["昱","yu",4,9],["晗","han",2,11],["旭","xu",4,6],["昊","hao",4,8],["晟","sheng",4,11],["晨","chen",2,11],["景","jing",3,12],["曜","yao",4,18],["曦","xi",1,20],["朗","lang",3,11],["昭","zhao",1,9],["昕","xin",1,8],["昀","yun",2,8],["暖","nuan",3,13],["灵","ling",2,24],["丹","dan",1,4],["彤","tong",2,7],["冉","ran",3,5],["南","nan",2,9],["丰","feng",1,18],["日","ri",4,4],["阳","yang",2,17],["光","guang",1,6],["亮","liang",4,9],["明","ming",2,8],["晶","jing",1,12],["晴","qing",2,12],["夏","xia",4,10],["智","zhi",4,12],["卓","zhuo",2,8],["乐","le",4,15],["恺","kai",3,14],["恬","tian",2,10],["甜","tian",2,11],["亭","ting",2,9],["俊","jun",4,9],["丙","bing",3,5],["丁","ding",1,2],["鼎","ding",3,13],["陶","tao",2,16],["熹","xi",1,16],["炀","yang",2,13],["烜","xuan",3,10],["暻","jing",3,16],["晖","hui",1,13],["晔","ye",4,16],["旻","min",2,8],["晏","yan",4,10],["晓","xiao",3,16],["暄","xuan",1,13],["昆","kun",1,8],["伶","ling",2,7],["坤","kun",1,8],["垚","yao",2,9],["培","pei",2,11],["城","cheng",2,10],["域","yu",4,11],["坚","jian",1,11],["墨","mo",4,15],["均","jun",1,7],["坦","tan",3,8],["基","ji",1,11],["堂","tang",2,11],["圣","sheng",4,13],["在","zai",4,6],["岳","yue",4,8],["峰","feng",1,10],["峻","jun",4,10],["岚","lan",2,12],["岩","yan",2,8],["崇","chong",2,11],["岐","qi",2,7],["屿","yu",3,17],["磊","lei",3,15],["尧","yao",2,12],["圆","yuan",2,13],["恩","en",1,10],["惟","wei",2,11],["轩","xuan",1,10],["逸","yi",4,15],["山","shan",1,3],["岸","an",4,8],["岑","cen",2,7],["巍","wei",1,21],["嵩","song",1,13],["岭","ling",3,17],["奥","ao",4,13],["宜","yi",2,8],["容","rong",2,10],["意","yi",4,13],["依","yi",1,8],["悠","you",1,11],["维","wei",2,14],["纬","wei",3,15],["永","yong",3,5],["远","yuan",3,17],["辰","chen",2,7],["壁","bi",4,16],["田","tian",2,5],["由","you",2,5],["画","hua",4,12],["延","yan",2,7],["建","jian",4,9],["音","yin",1,9],["韵","yun",4,19],["玮","wei",3,14],["雍","yong",1,13],["懿","yi",4,22],["宇","yu",3,6],["亦","yi",4,6],["安","an",1,6],["宁","ning",2,14],["锋","feng",1,15],["钢","gang",1,16],["钧","jun",1,12],["铭","ming",2,14],["锐","rui",4,15],["锡","xi",1,16],["锦","jin",3,16],["鑫","xin",1,24],["键","jian",4,17],["鉴","jian",4,22],["钦","qin",1,12],["镇","zhen",4,18],["铮","zheng",1,16],["钰","yu",4,13],["铠","kai",3,18],["珊","shan",1,10],["珠","zhu",1,10],["琳","lin",2,13],["琦","qi",2,13],["琪","qi",2,13],["瑜","yu",2,14],["瑞","rui",4,14],["瑄","xuan",1,14],["璇","xuan",2,16],["璟","jing",3,17],["璐","lu",4,18],["瑾","jin",3,16],["珏","jue",2,9],["环","huan",2,18],["玲","ling",2,10],["珑","long",2,21],["瑶","yao",2,15],["莹","ying",2,15],["铎","duo",2,21],["金","jin",1,8],["秋","qiu",1,9],["书","shu",1,10],["舒","shu",1,12],["善","shan",4,12],["信","xin",4,9],["修","xiu",1,10],["素","su",4,10],["静","jing",4,16],["心","xin",1,4],["新","xin",1,13],["正","zheng",4,5],["世","shi",4,5],["少","shao",3,4],["西","xi",1,6],["白","bai",2,5],["辛","xin",1,7],["成","cheng",2,7],["利","li",4,7],["剑","jian",4,15],["刚","gang",1,10],["则","ze",2,9],["初","chu",1,7],["硕","shuo",4,14],["尚","shang",4,8],["臣","chen",2,6],["川","chuan",1,3],["舟","zhou",1,6],["州","zhou",1,6],["祖","zu",3,10],["祥","xiang",2,11],["禄","lu",4,13],["禧","xi",3,17],["珍","zhen",1,10],["宣","xuan",1,9],["序","xu",4,7],["谦","qian",1,17],["赞","zan",4,19],["超","chao",1,12],["锴","kai",3,17],["承","cheng",2,8],["语","yu",3,14],["诺","nuo",4,16],["诗","shi",1,13],["梦","meng",4,14],["思","si",1,9],["悦","yue",4,11],["欣","xin",1,8],["嘉","jia",1,14],["佳","jia",1,8],["博","bo",2,12],["睿","rui",4,14],["知","zhi",1,8],["星","xing",1,9],["言","yan",2,7],["和","he",2,8],["江","jiang",1,7],["河","he",2,9],["海","hai",3,11],["洋","yang",2,10],["波","bo",1,9],["涛","tao",1,18],["涵","han",2,12],["清","qing",1,12],["澈","che",4,16],["澄","cheng",2,16],["润","run",4,16],["泽","ze",2,17],["沛","pei",4,8],["沁","qin",4,8],["泓","hong",2,9],["泉","quan",2,9],["汐","xi",1,7],["淇","qi",2,12],["鸿","hong",2,17],["滋","zi",1,13],["淼","miao",3,12],["雨","yu",3,8],["雪","xue",3,11],["霖","lin",2,16],["霏","fei",1,16],["露","lu",4,21],["霆","ting",2,15],["雯","wen",2,12],["霓","ni",2,16],["湉","tian",2,13],["沐","mu",4,8],["宸","chen",2,10],["然","ran",2,12],["文","wen",2,4],["月","yue",4,4],["水","shui",3,4],["冰","bing",1,6],["洁","jie",2,16],["浩","hao",4,11],["瀚","han",4,20],["渊","yuan",1,12],["澜","lan",2,21],["潮","chao",2,16],["溪","xi",1,14],["湘","xiang",1,13],["渝","yu",2,13],["深","shen",1,12],["湛","zhan",4,13],["汇","hui",4,13],["洲","zhou",1,10],["湾","wan",1,26],["云","yun",2,12],["风","feng",1,9],["北","bei",3,5],["冬","dong",1,5],["玄","xuan",2,5],["子","zi",3,3],["平","ping",2,5],["方","fang",1,4],["帆","fan",1,6],["航","hang",2,10],["敏","min",3,11],["慧","hui",4,15],["惠","hui",4,12],["霈","pei",4,15],["灏","hao",4,25],["湄","mei",2,13],["滨","bin",1,18],["洛","luo",4,10],["津","jin",1,10],["泊","bo",2,9],["沧","cang",1,14],["浦","pu",3,11]],...B],P={},A={},E={},j={};for(const[i,h,u,b]of cn)P[i]=h,u&&(A[i]=[u,b]);for(const[i,h,u,b,w]of un)j[i]={s:[h,u],py:b,tone:w};for(const[i,h]of Object.entries(fn))E[i]=h;return{READING:H,SURNAME_STROKES:P,SURNAME_READING:A,SURNAME_ALT_READING:E,DOUBLE_SURNAMES:j,SURNAME_STATS:an,SHULI_81:[null,["吉","太极之数"],["凶","两仪之数"],["吉","三才之数"],["凶","四象之数"],["吉","五行之数"],["吉","六爻之数"],["吉","七政之数"],["吉","八卦之数"],["凶","大成之数"],["凶","终结之数"],["吉","旱苗逢雨"],["凶","掘井无泉"],["吉","春日牡丹"],["凶","破兆之数"],["吉","福寿之数"],["吉","厚重之数"],["吉","刚强之数"],["吉","铁镜重磨"],["凶","多难之数"],["凶","屋下藏金"],["吉","明月中天"],["凶","秋草逢霜"],["吉","壮丽之数"],["吉","掘藏得金"],["吉","荣俊之数"],["凶","变怪之数"],["半吉","增长之数"],["凶","阔水浮萍"],["吉","智谋之数"],["半吉","非运之数"],["吉","春日花开"],["吉","宝马金鞍"],["吉","旭日升天"],["凶","破家之数"],["吉","高楼望月"],["凶","波澜重叠"],["吉","猛虎出林"],["半吉","磨铁成针"],["吉","富贵荣华"],["半吉","退安之数"],["吉","有德之数"],["半吉","寒蝉在柳"],["凶","散财破产"],["凶","烦闷之数"],["吉","顺风之数"],["凶","浪里淘金"],["吉","点石成金"],["吉","古松立鹤"],["半吉","转变之数"],["半吉","小舟入海"],["半吉","沉浮之数"],["吉","先见之明"],["半吉","曲卷难星"],["凶","石上栽花"],["半吉","善恶之数"],["凶","浪里行舟"],["吉","日照春松"],["半吉","晚行遇月"],["凶","寒蝉悲风"],["凶","无谋之数"],["吉","牡丹芙蓉"],["凶","衰败之数"],["吉","舟归平海"],["凶","非命之数"],["吉","巨流归海"],["凶","岩头步马"],["吉","通达之数"],["吉","顺风吹帆"],["凶","非业之数"],["凶","残菊经霜"],["半吉","石上金花"],["凶","劳苦之数"],["半吉","志高力微"],["凶","残菊逢霜"],["半吉","退守之数"],["凶","离散之数"],["半吉","半吉之数"],["半吉","晚苦之数"],["凶","云头望月"],["半吉","遁吉之数"],["吉","万物回春"]]}})(),V.name=(function(){const{buildBazi:B}=V.bazi||{},{bool:cn}=V.bool||{},{assertCivil:un,assertObject:fn}=V.validate||{},{fail:an}=V.fail||{},{READING:I,SURNAME_STROKES:H,SURNAME_READING:P,SURNAME_ALT_READING:A,DOUBLE_SURNAMES:E,SHULI_81:j}=V["name-data"]||{},{EXTRA_LIB:Y}=V["name-extra"]||{},p={木:"火",火:"土",土:"金",金:"水",水:"木"},i={木:"土",土:"水",水:"火",火:"金",金:"木"},h={火:"木",土:"火",金:"土",水:"金",木:"水"},u={土:"木",水:"土",火:"水",金:"火",木:"金"},b=["木","火","土","金","水"],w=new Set([..."伟刚勇毅俊峰军强磊涛明超杰鹏华飞鑫波斌宇浩凯健帆帅旭宁龙林欢岩中志国建文博诚晨昊天阳亮睿泽轩然煜宸涵楷桐瑞铭航辰一诺思远嘉懿沐梓奕安可欣哲德智靖翊豪虎兵立力禹予以皓曦昱晟熠烨炜灿霖潇灏瀚渊澜澄澈润沛泓淇淳泰坤垚岳峻嵘峥岱崧翔翼羽麒麟骏骐骥腾龙凤鸣翰武捷喆亦逸宜芳娜秀英敏静丽艳娟霞桂华玲燕红梅兰珍淑云凤春丹萍慧惠巧美婷雪倩颖洁琳璐琪瑶妍彤伊仪芯萱玥晴雨梦诗悦怡欣佳嘉思语诺溪若芷芮茉柠萌蕾薇菲蕊菁茜莎莲荷菡芸雯霏霓露霜冰清沁汐湉淼泉温馨婉媛妮娅嫣妤姝姗娴嫦婵玫珂珮瑛璎璇瑾璟琦珊珠琬瑷瑢瑗瑀珺琇珞琴瑟念慈爱恬甜暖曦晞晗昕虹映岚"]),q=[...[["梓","木","梓树,喻成长、手艺与念乡","n"],["桐","木","梧桐,高洁、引来凤凰","n"],["楠","木","楠木,坚韧贵重","n"],["楷","木","楷模,端正可法","m"],["松","木","松柏常青,坚韧长寿","m"],["柏","木","柏树,刚直耐寒","m"],["枫","木","枫叶,热烈与秋意","n"],["榕","木","榕树,荫庇包容","n"],["槿","木","木槿,朝开暮落、坚韧","f"],["棠","木","海棠,明媚雅致","f"],["楚","木","清楚、楚楚有致","n"],["柯","木","草木枝干,条理分明","m"],["桓","木","桓桓武貌,栋梁","m"],["榆","木","榆树,安稳敦厚","n"],["栩","木","栩栩生动","n"],["榛","木","榛果,丰实","n"],["芸","木","芸香,清雅好学","f"],["芷","木","白芷,芳洁","f"],["芮","木","草初生,柔而韧","f"],["若","木","若木,从容","f"],["茜","木","茜草,明丽","f"],["茵","木","绿茵,葱茏","f"],["茗","木","茶芽,清雅","f"],["莎","木","莎草,柔韧","f"],["茉","木","茉莉,素净芬芳","f"],["筱","木","小竹,清秀有节","f"],["蓉","木","芙蓉,明艳","f"],["萱","木","萱草,忘忧","f"],["蕙","木","蕙兰,芳心","f"],["蕊","木","花蕊,含秀","f"],["菲","木","芳菲,繁茂","f"],["蔓","木","藤蔓,绵延","f"],["荣","木","繁荣,荣光","m"],["茂","木","茂盛,丰隆","m"],["栋","木","栋梁","m"],["梁","木","桥梁、栋梁","m"],["朴","木","质朴","m"],["本","木","根本","m"],["炎","火","火盛,热烈","m"],["灿","火","灿烂","n"],["炫","火","光彩炫目","m"],["炜","火","光明","m"],["烨","火","火光盛明","m"],["煜","火","照耀","m"],["熙","火","光明和乐","n"],["煊","火","温暖显赫","m"],["焕","火","焕然一新","m"],["熠","火","熠熠生辉","n"],["炅","火","日光","n"],["昱","火","日光,明亮","m"],["晗","火","天将明","f"],["旭","火","旭日初升","m"],["昊","火","广大如天","m"],["晟","火","光明兴盛","m"],["晨","火","清晨","n"],["景","火","光景、景仰","n"],["曜","火","日光照耀","m"],["曦","火","晨曦","n"],["朗","火","明朗","m"],["昭","火","昭明","n"],["昕","火","黎明","f"],["昀","火","日光","f"],["暖","火","温暖","f"],["灵","火","灵秀","f"],["丹","火","赤诚","f"],["彤","火","朱红","f"],["冉","火","冉冉上升","f"],["南","火","南方,向阳","n"],["坤","土","大地,厚德","m"],["垚","土","山高","m"],["培","土","培育","m"],["城","土","城池,坚固","m"],["域","土","疆域","m"],["坚","土","坚定","m"],["墨","土","笔墨,文气","n"],["均","土","均衡","m"],["坦","土","坦荡","m"],["基","土","根基","m"],["堂","土","堂堂正正","m"],["圣","土","圣明","m"],["在","土","存在、自在","n"],["岳","土","山岳","m"],["峰","土","山峰","m"],["峻","土","高峻","m"],["岚","土","山间雾气","f"],["岩","土","岩石,刚毅","m"],["崇","土","崇高","m"],["岐","土","岐山,分岔有路","m"],["屿","土","小岛","n"],["磊","土","磊落","m"],["尧","土","古圣王,高远","m"],["圆","土","圆满","f"],["恩","土","恩厚","n"],["惟","土","思惟","m"],["锋","金","锋芒","m"],["钢","金","刚强","m"],["钧","金","权衡、钧衡","m"],["铭","金","铭记","m"],["锐","金","锐进","m"],["锡","金","赐予","m"],["锦","金","锦绣","n"],["鑫","金","兴盛(三金)","m"],["键","金","关键、强健","m"],["鉴","金","明鉴","m"],["钦","金","钦敬","m"],["镇","金","镇守","m"],["铮","金","铮铮有声","m"],["钰","金","珍宝","n"],["铠","金","铠甲","m"],["珊","金","珊瑚","f"],["珠","金","明珠","f"],["琳","金","美玉","f"],["琦","金","美玉、奇伟","n"],["琪","金","美玉","f"],["瑜","金","美玉、瑜亮","n"],["瑞","金","祥瑞","n"],["瑄","金","璧玉","f"],["璇","金","美玉","f"],["璟","金","玉光","n"],["璐","金","美玉","f"],["瑾","金","美玉,谨守","f"],["珏","金","双玉","n"],["环","金","圆环,周全","f"],["玲","金","玲珑","f"],["珑","金","玲珑","f"],["瑶","金","瑶华","f"],["莹","金","晶莹","f"],["铎","金","铃铎,传声","m"],["江","水","江河,开阔","m"],["河","水","河流","m"],["海","水","海纳百川","m"],["洋","水","海洋,宽广","n"],["波","水","波澜","m"],["涛","水","波涛","m"],["涵","水","包涵、涵养","f"],["清","水","清澈","n"],["澈","水","澄澈","m"],["澄","水","澄明","n"],["润","水","温润","m"],["泽","水","恩泽","m"],["沛","水","充沛","m"],["沁","水","沁润","f"],["泓","水","水深而广","m"],["泉","水","源泉","n"],["汐","水","潮汐","f"],["淇","水","淇水","f"],["鸿","水","鸿鹄、宏大","m"],["滋","水","滋润","n"],["淼","水","水势浩渺","n"],["雨","水","甘霖","n"],["雪","水","洁白","f"],["霖","水","甘霖","m"],["霏","水","雨雪纷飞","f"],["露","水","露华","f"],["霆","水","雷霆","m"],["雯","水","云纹","f"],["霓","水","虹霓","f"],["湉","水","水流平缓","f"],["沐","水","沐浴,受润泽","n"],["宸","木","屋宇、北极星所居,喻尊贵","m"],["轩","土","高轩,气宇轩昂","m"],["逸","土","安逸、超逸","m"],["然","火","自然、坦然","n"],["承","金","承继担当","m"],["语","木","言语,温言","f"],["诺","火","诺言,信守","n"],["诗","金","诗书,文气","f"],["梦","木","梦想","f"],["思","金","思虑,才思","n"],["悦","金","喜悦","f"],["欣","木","欢欣","f"],["嘉","木","嘉美","n"],["佳","木","佳好","f"],["博","水","博学","m"],["文","水","文采","n"],["睿","金","睿智","m"],["宇","土","器宇、宇宙","m"],["亦","土","也,从容","n"],["知","火","知晓,明理","n"],["星","火","星辰","n"],["月","木","明月","f"],["言","木","言语,信","n"],["和","水","和顺","n"],["安","土","安宁","n"],["宁","火","安宁","f"],["林","木","林木成片,茂盛有荫","n"],["森","木","众木成林,森然","n"],["枝","木","枝条,生发","n"],["果","木","果实,有成","n"],["禾","木","禾苗,五谷初生","n"],["秀","木","禾吐穗,秀美出众","n"],["穗","木","谷穗,丰实","n"],["稼","木","庄稼,耕作有成","m"],["颖","木","禾颖,聪颖","n"],["苗","木","苗裔,初生有生机","n"],["菁","木","菁华,草木茂盛","f"],["菡","木","荷花含苞","f"],["蕴","木","蕴积,含而不露","f"],["蕾","木","花蕾,待放","f"],["薇","木","蔷薇,细而韧","f"],["薏","木","薏苡,清润","f"],["菀","木","草木茂盛","f"],["荷","木","荷花,出淤泥","f"],["莲","木","莲花,清直","f"],["菱","木","菱角,水生","f"],["苇","木","芦苇,柔韧","n"],["荻","木","荻草,秋声","n"],["筠","木","竹皮,竹之青","n"],["笛","木","竹笛,清音","n"],["杉","木","杉木,挺拔","n"],["柠","木","柠檬,清新","f"],["桢","木","桢干,栋梁材","m"],["樾","木","树荫,庇下","m"],["柘","木","柘木,坚韧","n"],["权","木","权衡,执中","m"],["材","木","木材,成材","m"],["杭","木","苏杭,舟行","n"],["枚","木","衔枚,静而进","n"],["梧","木","梧桐,栖凤","n"],["竹","木","竹,有节而虚心","n"],["简","木","简朴,简静","n"],["策","木","策谋,鞭策","m"],["筹","木","筹算,谋划","m"],["芬","木","芬芳","f"],["芳","木","芳华","f"],["花","木","花,明媚","f"],["菊","木","菊花,晚节","f"],["兰","木","兰花,幽香","f"],["芝","木","芝兰,瑞草","f"],["芹","木","芹献,谦诚","f"],["荃","木","荃草,香草","f"],["萃","木","荟萃,聚合","n"],["蓁","木","蓁蓁,草木盛","n"],["荞","木","荞麦,实而不华","f"],["莞","木","莞尔,浅笑","f"],["萦","木","萦绕,绵长","f"],["蔚","木","蔚然,文采盛","n"],["芃","木","芃芃,草木茂","n"],["芩","木","黄芩,草本","f"],["苡","木","薏苡,清润","f"],["莱","木","莱草,野而秀","n"],["萌","木","萌芽,生机","n"],["葆","木","永葆,守而不失","n"],["萧","木","萧然,清疏","n"],["樟","木","樟木,香而久","n"],["樱","木","樱花,明丽","f"],["栎","木","栎树,坚实","n"],["棹","木","舟棹,行水","n"],["楸","木","楸树,高直","n"],["槐","木","槐树,三公之位","n"],["橙","木","橙,明暖","n"],["檀","木","檀香,沉静","n"],["丰","火","丰盛、丰盈(繁体豐从豆,归火)","n"],["日","火","太阳,光明","m"],["阳","火","阳光,向阳而生","m"],["光","火","光明","n"],["亮","火","明亮,爽朗","m"],["明","火","光明、明理","n"],["晶","火","晶莹,三光","f"],["晴","火","晴朗,天开","f"],["夏","火","夏天,盛大","n"],["智","火","智慧,明达","m"],["卓","火","卓越,卓立","m"],["乐","火","和乐","n"],["恺","火","恺悌,和乐","m"],["恬","火","恬静","f"],["甜","火","甜美","f"],["亭","火","亭亭,端立","f"],["俊","火","俊朗,才俊","m"],["丙","火","天干丙,阳火","m"],["丁","火","天干丁,阴火","n"],["鼎","火","鼎立,厚重","m"],["陶","火","陶然,自得","n"],["熹","火","熹微,晨光","n"],["炀","火","火旺,炽盛","m"],["烜","火","烜赫,显明","m"],["暻","火","日光","n"],["晖","火","日晖,光彩","n"],["晔","火","光晔,明盛","n"],["旻","火","秋天,天高","m"],["晏","火","晏然,安和","n"],["晓","火","拂晓,天将明","f"],["暄","火","温暖,日暖","f"],["昆","火","昆山,同也","m"],["伶","火","伶俐,聪敏","f"],["山","土","山,稳重","m"],["岸","土","岸然,独立","m"],["岑","土","小山,高而静","n"],["巍","土","巍峨,高大","m"],["嵩","土","嵩山,高峻","m"],["岭","土","山岭,绵延","n"],["奥","土","深奥,蕴藉","m"],["宜","土","宜然,合度","n"],["容","土","包容,容仪","n"],["意","土","心意,诚意","f"],["依","土","依倚,亲近","f"],["悠","土","悠然,从容","f"],["维","土","维系,纲维","n"],["纬","土","经纬,有条","n"],["永","土","永恒,久长","n"],["远","土","高远","m"],["辰","土","星辰、辰时","m"],["壁","土","壁立,端正","m"],["田","土","田野,耕获","m"],["由","土","由来,自得","n"],["画","土","图画,文采","f"],["延","土","延展,绵长","m"],["建","土","建立,树也","m"],["音","土","音声,和鸣","f"],["韵","土","韵致,余响","f"],["玮","土","美玉,珍奇","m"],["雍","土","雍容,和穆","m"],["懿","土","懿德,美善","f"],["金","金","金,坚而贵","m"],["秋","金","秋收、成熟(秋属金,肃而收)","n"],["书","金","书卷,文墨","n"],["舒","金","舒展,从容","n"],["善","金","善良,善成","n"],["信","金","诚信,符信","m"],["修","金","修远,修身","m"],["素","金","素雅,本色","f"],["静","金","安静,沉静","f"],["心","金","心志,中藏","f"],["新","金","新意,日新","n"],["正","金","正直,端正","m"],["世","金","世代,绵延","m"],["少","金","少年,少壮","m"],["西","金","西方,金位","n"],["白","金","洁白,素净","n"],["辛","金","天干辛,阴金","n"],["成","金","成器,成事","m"],["利","金","利落,锋利","m"],["剑","金","剑,刚锐","m"],["刚","金","刚强,不屈","m"],["则","金","法则,有度","m"],["初","金","初心,开端","n"],["硕","金","硕大,学殖","m"],["尚","金","崇尚,尚贤","n"],["臣","金","臣,佐事","m"],["川","金","川流,通达","n"],["舟","金","舟行,济渡","n"],["州","金","州,聚落","n"],["祖","金","祖德,源远","m"],["祥","金","吉祥,祥瑞","n"],["禄","金","福禄,俸给","m"],["禧","金","禧庆,福","n"],["珍","金","珍宝,珍重","f"],["宣","金","宣明,布达","n"],["序","金","秩序,庠序","n"],["谦","金","谦逊,有终","m"],["赞","金","赞美,佐成","m"],["超","金","超越,越过","m"],["锴","金","精铁,坚刚","m"],["水","水","水,润下","n"],["冰","水","冰清,澄澈","f"],["洁","水","洁净,洁身","f"],["浩","水","浩大,广远","m"],["瀚","水","浩瀚,无涯","m"],["渊","水","渊深,有本","m"],["澜","水","波澜,壮阔","n"],["潮","水","潮涌,有信","n"],["溪","水","溪流,清浅","f"],["湘","水","湘水,清深","f"],["渝","水","渝水,守而不变","n"],["深","水","深厚,深藏","m"],["湛","水","湛然,清深","m"],["汇","水","汇聚,会归","n"],["洲","水","洲渚,水中地","n"],["湾","水","水湾,曲处","f"],["云","水","云行,舒卷","n"],["风","水","风雅,流动","n"],["北","水","北方,水位","n"],["冬","水","冬藏,静敛","f"],["玄","水","玄远,幽深","n"],["子","水","子,初生","m"],["平","水","平和,坦易","n"],["方","水","方正,有隅","n"],["帆","水","风帆,顺行","n"],["航","水","航行,济远","m"],["敏","水","敏思,捷悟","f"],["慧","水","慧心,明彻","f"],["惠","水","惠泽,施与","f"],["霈","水","霈雨,丰沛","m"],["灏","水","灏气,广大","m"],["湄","水","水湄,岸边","f"],["滨","水","水滨,近水","n"],["洛","水","洛水,清流","n"],["津","水","津渡,要处","n"],["泊","水","淡泊,自守","m"],["沧","水","沧海,苍茫","m"],["浦","水","浦,水滨","n"]],...Y],o=new Map,d=new Map;for(const[y,U,v,F]of I)d.has(y)||d.set(y,{py:U,tone:v,st:F});for(const y of q)if(!o.has(y[0])){const U=d.get(y[0])||{};o.set(y[0],{c:y[0],el:y[1],meaning:y[2],g:y[3],order:o.size,py:U.py||null,tone:U.tone||null,strokes:U.st||null})}const g={1:"木",2:"木",3:"火",4:"火",5:"土",6:"土",7:"金",8:"金",9:"水",0:"水"},z=(y,U)=>y===U?"同":p[y]===U?"生":i[y]===U?"克":p[U]===y?"被生":"被克";function T(y){const U=y>81?(y-1)%80+1:y;if(!(U>=1))return null;const v=j[U];return v?{num:U,level:v[0],name:v[1]}:null}function Z(y){const U={};for(const v of[y&&y.surnameStrokes,y&&y.strokeOverrides])if(!(!v||typeof v!="object"))for(const[F,$n]of Object.entries(v)){const jn=typeof $n=="string"?Number($n.trim()):$n;Number.isInteger(jn)&&jn>0&&(U[F]=jn)}return Object.keys(U).length?U:void 0}function N(y,U,v){if(U&&Number.isInteger(U[y])&&U[y]>0)return{strokes:U[y],source:"user"};const F=o.get(y);return F&&F.strokes?{strokes:F.strokes,source:"lib"}:v==="surname"&&H[y]?{strokes:H[y],source:"surname"}:null}function dn(y,U){const v=o.get(y);if(v&&v.py)return{py:v.py,tone:v.tone};if(U==="surname"&&P[y]){const[F,$n]=P[y];return{py:F,tone:$n}}return null}function J(y,U,v){const F=[...String(y||"")],$n=[...String(U||"")];if(!F.length||!$n.length)return{available:!1,reason:"需要姓与名才能排五格"};if(F.length>2)return{available:!1,reason:"姓超过两字:五格只算单姓与常见复姓"};const jn=F.length===2?E[y]:null,wn=jn&&!F.some(c=>v&&v[c])?jn.s.map(c=>({strokes:c,source:"table"})):F.map(c=>N(c,v,"surname")),Dn=$n.map(c=>N(c,v,"given")),oe=[...F,...$n].filter((c,M)=>!(M<F.length?wn[M]:Dn[M-F.length]));if(oe.length)return{available:!1,reason:`这些字没有康熙笔画数据,五格算不了:${oe.join("、")}——可用 strokeOverrides 传入笔画后再算`,missing:oe};const ne=wn.map(c=>c.strokes),Hn=Dn.map(c=>c.strokes),Jn=c=>c.reduce((M,_)=>M+_,0),Xn=F.length===2,Fn=Xn?Jn(ne):ne[0]+1,Qn=ne[F.length-1]+Hn[0],se=Jn(Hn)+($n.length===1?1:0),ae=Jn(ne)+Jn(Hn),ue=F.length===1&&$n.length===1?2:ae-Qn+1,K=[["天格",Fn],["人格",Qn],["地格",se],["外格",ue],["总格",ae]].map(([c,M])=>({key:c,strokes:M,...T(M)})),D=[Fn,Qn,se].map(c=>c%10).map(c=>g[c]),f=[{pair:"天与人",rel:z(D[0],D[1])},{pair:"人与地",rel:z(D[1],D[2])}],R=D[0]===D[1]&&D[1]===D[2]?"三才同气,气脉集中":f.every(c=>c.rel==="生"||c.rel==="同")?"一路相生,传统看作顺遂":f.every(c=>c.rel==="克"||c.rel==="被克")?"相连相克,传统看作内外拉扯":`${f.map(c=>`${c.pair}${c.rel}`).join("、")},吉凶各派看法不一`,s=[...wn,...Dn].some(c=>c.source==="user")?"mixed":"table";return{available:!0,surnameStyle:Xn?"复姓":"单姓",strokes:[...F.map((c,M)=>({char:c,strokes:wn[M].strokes,source:wn[M].source,kind:"姓"})),...$n.map((c,M)=>({char:c,strokes:Dn[M].strokes,source:Dn[M].source,kind:"名"}))],rows:K,sancai:{elements:D,text:`${D.join("")}(${R})`,relations:f},summary:K.map(c=>`${c.key}${c.strokes}${c.level}`).join(" "),source:s}}const Un=["zh","ch","sh","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","z","c","s","y","w"];function bn(y){const U=String(y||"").toLowerCase();for(const v of Un)if(U.startsWith(v))return{ini:v,fin:U.slice(v.length)};return{ini:"",fin:U}}const r={1:"一",2:"二",3:"三",4:"四"};function C(y,U=1){const v=[...String(y||"")];if(v.length<2)return{available:!1,reason:"至少两个字才谈得上音韵"};const F=Math.min(Math.max(1,U|0),v.length),$n=v.map((Hn,Jn)=>{const Xn=dn(Hn,Jn<F?"surname":"given");return Xn?{char:Hn,py:Xn.py,tone:Xn.tone,...bn(Xn.py)}:{char:Hn,py:null,tone:null,ini:null,fin:null}}),jn=$n.filter(Hn=>!Hn.py).map(Hn=>Hn.char);if(jn.length)return{available:!1,reason:`这些字没有读音数据:${jn.join("、")}`,missing:jn};const Cn=[];new Set($n.map(Hn=>Hn.tone)).size===1&&$n.length>=2&&Cn.push({type:"tone",text:`全名都是${r[$n[0].tone]}声,声调没有起伏`});for(let Hn=1;Hn<$n.length;Hn++){const Jn=$n[Hn-1],Xn=$n[Hn];if(Jn.py===Xn.py&&Jn.tone===Xn.tone){Cn.push({type:"same",text:`「${Jn.char}${Xn.char}」同音同调(叠字或撞音)`});continue}Jn.ini&&Jn.ini===Xn.ini&&Cn.push({type:"initial",text:`「${Jn.char}${Xn.char}」同声母 ${Jn.ini}`}),Jn.fin===Xn.fin&&Cn.push({type:"final",text:`「${Jn.char}${Xn.char}」同韵母 ${Jn.fin}`})}const Dn=new Set($n.map(Hn=>Hn.ini).filter(Boolean));$n.length>=3&&Dn.size===1&&Cn.push({type:"initial",text:`三字同声母 ${[...Dn][0]},连着读容易黏在一起`});const oe=Cn.length===0?"顺口":Cn.length===1?"略拗":"拗口",ne=v.slice(0,F).filter(Hn=>P[Hn]&&A[Hn]).map(Hn=>({char:Hn,py:A[Hn][0],tone:A[Hn][1]}));return{available:!0,chars:$n.map(Hn=>({char:Hn.char,py:Hn.py,tone:Hn.tone})),tonePattern:$n.map(Hn=>Hn.tone).join("-"),issues:Cn,alt:ne,level:oe}}function on(y,U){const v=y&&y.charElements;if(!v||typeof v!="object")return null;const F=v[U];return b.includes(F)?F:null}function zn(y,U,v,F=3){const $n=q.filter(jn=>jn[1]===y&&!v.has(jn[0]));return $n.sort((jn,Cn)=>{const wn=oe=>oe[3]===U||oe[3]==="n"?1:0,Dn=oe=>w.has(oe[0])?1:0;return Dn(Cn)-Dn(jn)||wn(Cn)-wn(jn)}),$n.slice(0,F).map(jn=>({char:jn[0],element:jn[1],meaning:jn[2]}))}const xn={m:"男",f:"女",n:"中"};function pn(y){const U=y&&y.level?y.level:null,v=y&&y.dayElement?y.dayElement:null;return!v||!U?{list:b.slice(),basis:"未取得旺衰:不筛五行,只做用字与字义建议"}:U==="身强"||U==="偏强"?{list:[u[v],p[v],i[v]].filter(Boolean),basis:`${U}(${v}):宜克、泄、耗——用${u[v]}(克我)、${p[v]}(我生)、${i[v]}(我克)`}:U==="身弱"||U==="偏弱"?{list:[v,h[v]].filter(Boolean),basis:`${U}(${v}):宜生、扶——用${v}(同我)、${h[v]}(生我)`}:{list:b.slice(),basis:`${U}:中和不偏,五行皆可用,以字义与音形为先`}}function ln(y){return o.get(y)||null}function en(y){fn(y,"assessName 的参数","{ surname, givenName, year?, month?, day? }");const U=String(y.surname||"").trim();if(!U)throw an("E_INPUT","缺少姓氏:请给 surname(如「李」)");const v=String(y.givenName||"").trim();if(!v)throw an("E_INPUT","缺少名字:请给 givenName(1–2 个汉字,如「沐宸」)");if([...v].length>2)throw an("E_INPUT","名请给 1–2 个汉字;复姓请把复姓整体写在 surname,名只留 1–2 字");let F={list:[],basis:""},$n=null,jn=null;const Cn=Number.isInteger(y.year)&&Number.isInteger(y.month)&&Number.isInteger(y.day);if(Cn){un(y,"birth");const K=B({year:y.year,month:y.month,day:y.day,hour:Number.isInteger(y.hour)?y.hour:0,minute:Number.isInteger(y.minute)?y.minute:0,gender:y.gender||"male",lateZi:cn(y.lateZi,!0),trueSolar:cn(y.trueSolar,!0),dst:cn(y.dst,!0),longitude:y.longitude,address:y.address,geo:y.geo});$n={level:K.strength.level,score:K.strength.score,dayElement:K.pillars.day.stemElement},F=pn($n),jn={dayMaster:K.dayMaster,solarNote:K.solarTime?K.solarTime.note:""}}const wn=y.gender==="female"?"f":"m",Dn=new Set([U,...v]),oe=F.list.length?F.list:b.slice(),ne=[...v].map(K=>{const mn=ln(K),D=on(y,K);return mn?{char:K,element:mn.el,meaning:mn.meaning,genderHint:xn[mn.g],favorable:Cn?F.list.includes(mn.el):null,source:"lib",note:null}:D?{char:K,element:D,meaning:"字库未收录;五行按你指定的「"+D+"」计",genderHint:null,favorable:Cn?F.list.includes(D):null,source:"user",note:"此字五行由调用方指定,不是字库推断"}:{char:K,element:"未收录",meaning:"字库未收录,未推断五行(不猜)",genderHint:null,favorable:null,source:"none",note:Cn?"若想贴合命局,可换用下面的同喜用字":"字库未收录:给出生辰后可以看同喜用的替换字",suggest:Cn?oe.flatMap(f=>zn(f,wn,Dn,2)):[]}}),Hn=ne.filter(K=>K.source==="lib").length,Jn=ne.filter(K=>K.source==="none").length,Xn=ne.filter(K=>K.favorable===!0).length,Fn=ne.length-Jn;let Qn;Cn?Jn===ne.length?Qn=`两字都不在字库里,没法判断合不合喜用(喜用为 ${F.list.join("、")})。下面给了可替换的常用字,或把你自己认定的五行传进来。`:Xn===Fn&&Fn>0?Qn=`用字都落在喜用(${F.list.join("、")})上,与命局方向一致。`:Xn>0?Qn=`部分用字合喜用(${Xn}/${Fn}),其余可再斟酌;喜用为 ${F.list.join("、")}。`:Qn=`用字未落在喜用(${F.list.join("、")})上;不必然是坏名,但若想贴合命局可换字再看。`:Qn="只做了字义与五行归类;给出生年月日才能判断用字是否合喜用。";const se=Z(y),ae=J(U,v,se),ue=C(U+v,[...String(U||"")].length);return{system:"name",action:"assess",surname:U,givenName:v,fullName:U+v,...Cn?{bazi:{...jn,strength:$n,favorable:F.list,basis:F.basis}}:{},chars:ne,wuge:ae,phonetics:ue,stats:{chars:ne.length,known:Hn,unknown:Jn,favorableCount:Xn,libSize:q.length,wugeReady:ae.available===!0},verdict:Qn,notes:[`字之五行按通行字义/偏旁归类,自建字库共 ${q.length} 字(常用名用字为主);未收录的字不猜五行,如实标注,「用户指定」是你传入的归类。`,"五格按康熙字典繁体笔画计(氵→水4、艹→艸6、华→華14 这类换算),81 数理取通行本、各派对少数数取法有出入;姓氏笔画表没覆盖的姓或你想按别派算,可传 strokeOverrides 覆盖。","音韵只做机械检查(全名同调、相邻同声母/同韵母、叠字),不做语义谐音判断——谐音、方言读法还得自己读三遍。","起名只做用字参考,不替父母做决定。"]}}function tn(y){fn(y,"generateNames 的参数","{ surname, year, month, day, limit? }");const U=String(y.surname||"").trim();if(!U)throw an("E_INPUT","缺少姓氏:请给 surname(如「李」)");if(!Number.isInteger(y.year)||!Number.isInteger(y.month)||!Number.isInteger(y.day))throw an("E_INPUT","生成候选名需要完整出生年月日(公历):不给生辰无法判断喜用五行");un(y,"birth");const v=y.gender==="female"?"female":"male",F=Math.max(1,Math.min(20,Number.isInteger(y.limit)?y.limit:10)),$n=B({year:y.year,month:y.month,day:y.day,hour:Number.isInteger(y.hour)?y.hour:0,minute:Number.isInteger(y.minute)?y.minute:0,gender:v,lateZi:cn(y.lateZi,!0),trueSolar:cn(y.trueSolar,!0),dst:cn(y.dst,!0),longitude:y.longitude,address:y.address,geo:y.geo}),jn={level:$n.strength.level,score:$n.strength.score,dayElement:$n.pillars.day.stemElement},Cn=pn(jn),wn=q.filter(s=>Cn.list.includes(s[1])&&s[0]!==U),Dn=v==="male"?"m":"f",oe=[...U],ne=Z(y),Hn=oe.map(s=>N(s,ne,"surname")),Jn=oe.length<=2&&Hn.every(Boolean),Xn=Jn?Hn.reduce((s,c)=>s+c.strokes,0):0,Fn=Jn?Hn[Hn.length-1].strokes:0,Qn=s=>{const c=T(s);return c?c.level==="吉"?2:c.level==="半吉"?1:0:0},se=new Map(wn.map(s=>[s[0],(N(s[0],ne,"given")||{}).strokes||0])),ae=[];for(let s=0;s<wn.length;s++)for(let c=0;c<wn.length;c++){if(s===c)continue;const M=wn[s],_=wn[c],W=sn=>sn[3]===Dn||sn[3]==="n"?1:0,nn=W(M)+W(_)-(M[3]!==Dn&&M[3]!=="n"&&_[3]!==Dn&&_[3]!=="n"?2:0),En=w.has(M[0]),Sn=w.has(_[0]),m=(En&&Sn?2:0)+(En||Sn?1:0),l=se.get(M[0]),k=se.get(_[0]);let O=0;if(Jn&&l&&k){const sn=Fn+l,yn=l+k,Tn=Xn+l+k;O=Qn(sn)+Qn(yn)+Qn(Tn)+Qn(Tn-sn+1)}ae.push({name:M[0]+_[0],chars:[{char:M[0],element:M[1],meaning:M[2]},{char:_[0],element:_[1],meaning:_[2]}],elements:[M[1],_[1]],allFavorable:Cn.list.includes(M[1])&&Cn.list.includes(_[1]),commonScore:m,genderScore:nn,wugeScore:O,order:(s*7+c*13)%9973})}const ue=s=>s.elements[0]!==s.elements[1]?1:0;ae.sort((s,c)=>c.allFavorable-s.allFavorable||ue(c)-ue(s)||c.commonScore-s.commonScore||c.wugeScore-s.wugeScore||c.genderScore-s.genderScore||s.order-c.order);const K=[],mn=new Set,D=new Set([U]),f=new Set,R=(s,c,M)=>{const _=[...s.name].sort().join("");if(mn.has(_)||c&&s.chars.some(nn=>D.has(nn.char)))return!1;const W=s.elements.join("");return M&&f.has(W)?!1:(mn.add(_),f.add(W),s.chars.forEach(nn=>D.add(nn.char)),K.push({rank:K.length+1,name:U+s.name,given:s.name,chars:s.chars,wuge:J(U,s.name,ne),phonetics:C(U+s.name,[...String(U||"")].length)}),!0)};for(const s of ae){if(K.length>=F)break;R(s,!0,!0)}for(const s of ae){if(K.length>=F)break;R(s,!0,!1)}for(const s of ae){if(K.length>=F)break;R(s,!1,!1)}return{system:"name",action:"generate",surname:U,gender:v==="male"?"男":"女",bazi:{dayMaster:$n.dayMaster,strength:jn,favorable:Cn.list,basis:Cn.basis},candidates:K,notes:[`字库共 ${q.length} 字,只在喜用五行(${Cn.list.join("、")})里选字;未覆盖的生僻好字可用 charElements 指定五行后评估。`,"候选排序依次看:合喜用 → 两字异行 → 常用字优先 → 五格(人格/地格/总格/外格 吉多者先)→ 性别倾向 → 字库序,是排序不是「吉名」判定。",Jn?"五格按康熙字典繁体笔画与通行本 81 数理算;姓的笔画取自内置姓氏表,没覆盖的姓可传 surnameStrokes 或 strokeOverrides。":"姓的笔画不在内置姓氏表里,这一轮没按五格排序(不半算);可传 surnameStrokes 或 strokeOverrides 后重算。","音韵只做机械检查(同调、相邻同声母/同韵母、叠字),不做语义谐音判断——候选的音韵结果随每条一起给出。"]}}function hn(y){if(!y||typeof y!="object")throw an("E_INPUT","起名参数不能为空:评名要 surname / givenName,起名要 surname 与性别/生日");if(y.action!=null&&y.action!=="assess"&&y.action!=="generate")throw an("E_INPUT",`起名 action 只能是 assess / generate,收到「${String(y.action).slice(0,24)}」`);return y.action==="generate"?tn(y):en(y)}return{CHAR_LIB:q,shuliOf:T,wuge:J,splitPinyin:bn,phonetics:C,favorableElements:pn,assessName:en,generateNames:tn,buildName:hn}})(),V["bazi-words"]=(function(){const B={甲:{image:"参天之木",look:"身形多半偏修长,肩背挺,站着有股站相",temper:"直、有担当,认定的事不太会转弯",gift:"扛得起事,适合把一摊子组织起来",trap:"不会转弯,撞上南墙也硬顶"},乙:{image:"藤萝之木",look:"身形柔韧,气质亲和,不太有攻击性",temper:"柔中带韧,擅长借力,能屈能伸",gift:"协调、渗透,在缝隙里也能生长",trap:"太依赖环境,环境一换就慌"},丙:{image:"太阳之火",look:"面色偏红润,精神足,进门容易被注意到",temper:"外放热情,心里想什么脸上就写着什么",gift:"感染人、带动气氛,适合站到台前",trap:"三分钟热度,来得快去得也快"},丁:{image:"灯烛之火",look:"偏清瘦,眼神亮,动静之间有点静气",temper:"内敛细腻,认准一件事能守很久",gift:"专注、耐得住,适合做需要磨的活",trap:"敏感,容易在心里反复内耗"},戊:{image:"城墙之土",look:"骨架偏厚,给人稳当、压得住场的感觉",temper:"沉稳慢热,不轻易表态,表态了就算数",gift:"承载与守成,能把局面稳稳托住",trap:"太钝,机会过了才反应过来"},己:{image:"田园之土",look:"面目温和,身形圆润,没什么棱角",temper:"包容细致,想得多,习惯先照顾别人",gift:"经营与服务,把琐碎的事理顺",trap:"纠结,反复权衡反而错过时机"},庚:{image:"刀剑之金",look:"骨架硬朗,气场直接,说话不绕弯",temper:"果决、讲义气,眼里容不下拖泥带水",gift:"执行与开疆,难啃的骨头敢接",trap:"太刚,锋利的一面容易伤到亲近的人"},辛:{image:"珠玉之金",look:"清秀讲究,衣着细节看得出用心",temper:"精致敏锐,对分寸与体面很在意",gift:"审美与精细活,做得比说的好",trap:"挑剔,也容易被一句评价刺到"},壬:{image:"江河之水",look:"身形偏厚实,眉眼开阔,气度大",temper:"大开大合,爱自由,不喜欢被框住",gift:"统筹与流动,能把资源盘活",trap:"散漫,摊子铺开却收不回来"},癸:{image:"雨露之水",look:"清秀安静,存在感不抢,但耐看",temper:"细腻、直觉强,心事多半自己消化",gift:"感知与研究,能注意到别人漏掉的细节",trap:"多愁,遇事先退,容易错过表态的时机"}},cn={正官:{role:"规则与名分",gift:"守序可靠,答应的事会做到",trap:"太在意评价,放不开手脚",love:"重承诺,但不擅长把在意说出口",work:"适合在成体系的组织里按层级上升"},七杀:{role:"压力与冲劲",gift:"抗压强、敢担事,越难越来劲",trap:"急躁,习惯用硬碰解决问题",love:"容易被有主见的人吸引,也容易互相较劲",work:"适合高挑战、要快速决断的岗位"},正财:{role:"稳定收入与责任",gift:"务实会积累,账目清楚",trap:"算得太细,不敢为机会冒一点险",love:"重实际,用行动多于言语",work:"适合按劳取酬、积累型的路径"},偏财:{role:"机会与流动资源",gift:"善抓机会、人脉活络",trap:"铺得太开,钱和精力都容易留不住",love:"大方、桃花多,边界要自己划",work:"适合业务、投资、资源整合"},食神:{role:"表达与享受",gift:"会生活,也能把喜欢的事做成产出",trap:"太舒服就懒下来,节奏一松就拖",love:"温柔会照顾人,也怕麻烦",work:"适合技术、创作、餐饮、教育"},伤官:{role:"才华与不服",gift:"点子多、敢改,能做出别人做不出的东西",trap:"嘴上不饶人,赢了道理输了关系",love:"要求高,容易挑对方的刺",work:"适合改革、创意、专业型岗位"},正印:{role:"支持与学习",gift:"有耐心、学得进,靠得住",trap:"依赖心重,想得多做得少",love:"需要被理解与照顾",work:"适合研究、文教、需要资质的岗位"},偏印:{role:"偏门与钻研",gift:"冷门的门类也能钻透",trap:"孤,想法多但不爱解释",love:"需要空间,不喜欢被管",work:"适合专精技术、冷门专业"},比肩:{role:"同伴与自我",gift:"独立、扛得住,不轻易麻烦别人",trap:"固执,什么都想亲力亲为",love:"相处像朋友多过像恋人",work:"适合并肩作战或独立负责一块"},劫财:{role:"竞争与行动",gift:"行动快、敢抢,机会面前不犹豫",trap:"冲动,容易在钱和人情上破口",love:"来去都快,需要给彼此空间",work:"适合业务冲刺、竞争型岗位"},比劫:{role:"自我与同辈",gift:"独立、扛得住,不太依赖别人",trap:"固执,什么都想自己来",love:"相处像并肩的伙伴",work:"适合独立负责一块,或与同频的人并肩"},食伤:{role:"表达与产出",gift:"有想法,也做得出东西",trap:"话多或要求高,容易得罪人",love:"重视交流,也容易挑刺",work:"适合创作、技术、教学这类要表达的岗位"},财:{role:"资源与现实",gift:"务实、会算账、抓得住机会",trap:"把安全感全押在数字上",love:"重实际,用行动多于言语",work:"适合业务、财务、资源整合"},官杀:{role:"规则与压力",gift:"守序、抗压、担得起责任",trap:"绷得太紧,习惯用硬碰解决",love:"重承诺,也容易管得太宽",work:"适合体系内按层级上升,或高压高挑战的岗位"},印:{role:"支持与学习",gift:"有耐心、学得进、靠得住",trap:"想得多做得少,依赖现成的东西",love:"需要被理解与照顾",work:"适合研究、文教、需要资质的岗位"}},un={强:{泄:"这盘的问题是「力气有余、出口不够」:不缺劲头,缺的是把劲往哪使。先把方向定下来,比再多加一把力更管用。",制:"这盘气足又带压力:能扛事,但也容易一直绷着。学会把压力分出去,比硬顶更能长久。",耗:"这盘底子厚,适合在资源与实务上做文章:把力气换成看得见的成果,别停在想法里。"},弱:{生:"这盘底子偏薄,靠「有人托一把」最有效:找对平台、师友与环境,比自己硬撑省力得多。",比:"这盘单打独斗会累,找到同频的人并肩做,反而能把短板补上。",泄:"这盘不宜再往外耗,先收一收摊子,把根基补稳,再谈扩张。"},中:{default:"这盘五行相对均衡,没有哪一处特别极端:走哪条路都能走,靠的是选择与坚持,不是运气。"}};function fn(A,E){const j=/强/.test(String(A||"")),Y=/弱/.test(String(A||"")),p=Array.isArray(E)?E:[String(E||"")];if(!j&&!Y)return un.中.default;const i=j?un.强:un.弱;for(const h of p){const u=/官杀/.test(h)?"制":/财/.test(h)?"耗":/食伤/.test(h)?"泄":/印/.test(h)?"生":/比劫/.test(h)?"比":"";if(u&&i[u])return i[u]}return j?i.泄:i.生}const an=[[/自刑/,"自刑:自己跟自己较劲,多半是内耗而不是外来的事"],[/三会|三合/,"三合三会:几股力并成一股,做同类的事更容易成势"],[/半会|拱会/,"半会拱会:两支有会意但没凑成三会,像有默契还没结盟,可借势、不宜当定局"],[/半合|拱合/,"合(半合/拱合):三合只到两支,成势的苗头有了,还差最后一支"],[/六合|合/,"合:人事上容易谈拢,也容易被关系绑住、脱不开身"],[/相冲|冲/,"冲:桩子会晃,变动与拉扯偏多,宜先稳住再动"],[/相刑|刑/,"刑:规矩与情绪上的摩擦,事情不大但磨人"],[/相害|害/,"害:暗处的损耗,多是说不清的不顺"],[/相破|破/,"破:本来成形的事容易散,收尾要多花一分力"]];function I(A){const E=[];for(const j of Array.isArray(A)?A:[])for(const[Y,p]of an)if(Y.test(j)&&!E.includes(p)){E.push(p);break}return E}function H(A){return cn[String(A||"")]||null}function P(A){return B[String(A||"")]||null}return{STEM_PORTRAIT:B,TENGOD_PORTRAIT:cn,FRAME_TONE:un,frameToneOf:fn,relationNotes:I,godPortraitOf:H,stemPortraitOf:P}})(),V.followup=(function(){const{ZIWEI_STARS:B}=V["interpret-data"]||{},cn=[{key:"career",label:"事业",words:["事业","工作","跳槽","升职","创业","职业","岗位","离职","加薪","面试","offer"]},{key:"wealth",label:"财富",words:["财","钱","收入","投资","买房","存款","亏","赚","分红"]},{key:"love",label:"感情",words:["感情","婚","恋","对象","分手","复合","姻缘","结婚","桃花"]},{key:"health",label:"健康",words:["健康","病","身体","手术","失眠","体检","医院"]},{key:"study",label:"学业",words:["学业","考试","学习","考研","考公","证书","升学"]},{key:"travel",label:"出行",words:["出行","搬家","旅行","出国","迁","远行"]}],un={career:"官禄",wealth:"财帛",love:"夫妻",health:"疾厄",study:"官禄",travel:"迁移",overall:"命宫"},fn=(u,b)=>{const w=String(u).match(/(20\d{2})\s*年?/);if(w)return Number(w[1]);const S=Array.isArray(b.liunian)&&b.liunian[0]?Number(b.liunian[0].year):null;return S?/明年/.test(u)?S+1:/后年/.test(u)?S+2:/去年/.test(u)?S-1:/今年|本年/.test(u)?S:null:null},an=u=>cn.find(b=>b.words.some(w=>String(u).includes(w)))||null;function I(u,b){const w=fn(b,u),S=an(b),q=Array.isArray(u.liunian)?u.liunian:[],o=Array.isArray(u.dayun?.list)?u.dayun.list:[],d=q.map(g=>g.year);if(w&&!q.some(g=>Number(g.year)===w))return{ok:!1,year:w,topic:S,answer:`这一盘已排的流年范围是 ${d[0]}–${d[d.length-1]},没有 ${w} 年。可以把问题改到范围内,或用 asOf 指定你想看的年份重新排盘。`,evidence:[`已排流年:${d.join("、")}`],confidence:"弱"};if(w){const g=q.find(J=>Number(J.year)===w),z=o.find(J=>Number(J.startAge)<=Number(g.age)&&Number(g.age)<=Number(J.startAge)+9)||null,T=g.luck?.tier||"平",Z=(g.luck?.reasons||[]).slice(0,3),N=(g.relations||[]).join("、"),dn=S?P(u,S.key):"";return{ok:!0,year:w,topic:S,answer:`${w} 年(${g.ganzhi})流年,十神为${g.stemTenGod||"—"},档位「${T}」;所行大运 ${z?`${z.ganzhi}(${z.luck?.tier||"平"})`:"未取到"}。${Z.length?`理由:${Z.join(",")}。`:""}${N?`与该年地支相关的原局关系:${N}。`:""}${dn}`,evidence:[`流年 ${g.year} ${g.ganzhi}·${g.stemTenGod||""}·${T}`,z?`大运 ${z.ganzhi}·${z.luck?.tier||"平"}`:"",N?`原局关系 ${N}`:"",S?`问题方向:${S.label}`:""].filter(Boolean),confidence:z&&Z.length?"强":"中"}}if(S){const g={wealth:"overall",study:"work",travel:"overall"}[S.key]||S.key,z=(u.interpret?.dimensions||[]).find(Z=>Z.key===S.key||Z.key===g);if(z){const Z=u.frame&&u.frame.godStats&&u.frame.godStats.groups||{},N=S.key==="wealth"?` 财星权重 ${Number(Z.财||0)}(只作结构参考,不含金额)。`:"";return{ok:!0,year:null,topic:S,answer:`按${S.label}这条线看:${z.text}${N}${z.advice?` 建议:${z.advice}`:""}`,evidence:(z.evidence||[]).slice(0,4),confidence:z.confidence||"中"}}const T=u.frame&&u.frame.godStats&&u.frame.godStats.groups||{};if(Object.keys(T).length){const Z=["比劫","食伤","财","官杀","印"].map(N=>`${N} ${Number(T[N]||0)}`);return{ok:!0,year:null,topic:S,answer:`「${S.label}」这条线,这一盘只带了盘面结构:${Z.join("、")}。具体吉凶与建议需要解析层(排盘时加 withInterpret),追问这里不自行推演。`,evidence:Z.slice(0,3),confidence:"弱"}}}return{ok:!1,year:null,topic:S,answer:`这个问题里没有识别到具体的年份或方面。可以这样问:「2027 年事业怎么样」「财运如何」「感情在 2028 年」;已排流年是 ${d[0]}–${d[d.length-1]}。`,evidence:[`可问年份:${d.join("、")}`],confidence:"弱"}}function H(u,b){const w=fn(b,u),S=an(b),q=Array.isArray(u.liunian)?u.liunian:[];if(w&&!q.some(o=>Number(o.year)===w))return{ok:!1,year:w,topic:S,answer:`这一盘的流年表覆盖 ${q[0]?.year}–${q[q.length-1]?.year},没有 ${w} 年;可以换一个年份,或用 asOf 指定起点重新排盘。`,evidence:[`流年表:${q.map(o=>o.year).join("、")}`],confidence:"弱"};if(w){const o=q.find(g=>Number(g.year)===w),d=o.daxian||{};return{ok:!0,year:w,topic:S,answer:`${w} 年(${o.ganzhi},${o.age} 岁)流年命宫落在「${o.lifePalace?o.lifePalace.palace:"—"}」,四化为 ${(o.mutagen||[]).join("、")||"不明显"};所行大限${d.palace?`在${d.palace}(${d.start}–${d.end} 岁)`:"未取到"}。${S?`与「${S.label}」对应的宫位信号见下条依据。`:""}`,evidence:[`流年命宫 ${o.lifePalace?o.lifePalace.palace:"—"}(${o.lifePalace?o.lifePalace.branch:"—"})`,`四化 ${(o.mutagen||[]).join("、")||"不明显"}`,d.palace?`大限 ${d.palace}·${d.start}–${d.end}岁`:""].filter(Boolean),confidence:(o.mutagen||[]).length>=3?"强":"中"}}if(S){const o=un[S.key]||"命宫",d=(u.palaces||[]).find(g=>g.palace===o);if(d){const g=(d.stars||[]).filter(T=>T.type==="主星").map(T=>T.name),z=g.map(T=>B[T]?.trait).filter(Boolean).slice(0,2).join(";");return{ok:!0,year:null,topic:S,answer:`「${S.label}」看${o}:主星${g.length?g.join("、"):"无正曜(借对宫)"}${z?`——${z}`:""}。宫支${d.branch},${d.stems,""}生年四化与煞星的影响需结合报告里的对应分节一起看。`,evidence:[`${o} ${d.branch}·${g.join("、")||"无正曜"}`,...(d.shensha||[]).slice(0,3)],confidence:g.length?"强":"弱"}}}return{ok:!1,year:null,topic:S,answer:"没有识别到具体年份或方面。可以问「2028 年事业」「感情怎么样」「财运在 2030 年」;也可以直接问某个宫位,如「夫妻宫」。",evidence:[],confidence:"弱"}}function P(u,b){return`这段时间可以重点对照报告里「${{career:"事业",wealth:"财富",love:"感情",health:"健康",study:"学业",travel:"出行"}[b]||"整体"}」一节看。`}function A(u,b){const w=an(b),S=Array.isArray(u.interpret?.sections)?u.interpret.sections:[],q=w?S.find(g=>g.label.includes(w.label)||g.text.includes(w.label)):null;if(q)return{ok:!0,year:null,topic:w,answer:q.text,evidence:[`引用分节:${q.label}`],confidence:"中"};const o=S[0];if(o)return{ok:!1,year:null,topic:w,answer:`这一盘的追问需要落到具体方面(事业 / 财富 / 感情 / 健康 / 学业 / 出行)。先看「${o.label}」这一节,或把问题说得更具体一点。`,evidence:[],confidence:"弱"};const d=String(u&&u.summary||"").trim();if(d){const g=d.split(`
|
|
75
|
+
`).map(T=>T.trim()).filter(Boolean),z=w?g.filter(T=>w.words.some(Z=>T.includes(Z))):[];return{ok:!0,year:null,topic:w,answer:z.length?`${w.label}相关的盘面字段:${z.slice(0,3).join(";")}。这一盘没带解析层,只列盘面事实,不在这里补吉凶结论。`:`这一盘没有解析层,只能按盘面字段回答;可问的方向:${cn.map(T=>T.label).join(" / ")}。下面任取摘要是盘面原文,未作推演。`,evidence:(z.length?z:g).slice(0,4),confidence:"弱"}}return{ok:!1,year:null,topic:w,answer:"这一盘暂时没有可追问的分节,也没有摘要字段;先重新排一次盘,再问具体方面。",evidence:[],confidence:"弱"}}function E(u,b){const w=String(b||"").trim(),S=u&&u.system==="bazi"?I(u,w):u&&u.system==="ziwei"?H(u,w):A(u,w);return{question:w,...S}}const j={bazi:"八字(四柱)",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",qimen:"奇门遁甲",tarot:"塔罗",hepan:"合盘",chenggu:"称骨",almanac:"黄历",zeri:"择日",star:"星座",numerology:"生命数字",mbti:"十六型人格",trend:"人生 K 线",fengshui:"风水",name:"起名",convert:"公农历互转"},Y=Object.freeze({bazi:["基本信息","四柱(日主/十神/藏干)","旺衰·格局·用神","合冲·神煞","起运·大运·流年","古籍依据"],ziwei:["基本信息","命宫/身宫与五行局","十二宫(主星/辅煞/四化)","格局与三方四正","大限/流年","古籍依据"],liuyao:["所问与用神","本卦/变卦(世应/动爻/六亲)","月建日辰(旺衰/空破)","应期线索","卦辞与依据"],meihua:["所问与体用","本卦/互卦/变卦","五行生克","应期与依据"],daliuren:["天地盘(月将/贵人)","四课","三传","课体与神将","依据"],qimen:["四柱与局数","九宫(星门神/天盘干)","用神落宫","门宫·干宫·十干克应","旺衰·击刑入墓","依据"],tarot:["问题与牌阵","逐牌(正逆/牌面/元素对应)","牌间关系","综合倾向","边界"],fengshui:["坐向与元运","运盘/山盘/向盘","旺山旺向","取象与边界"]}),p=Object.freeze(["基本信息","盘面事实","结构与关系","倾向","边界"]);function i(u){return Y[u]||p}function h(u,b={}){const w=j[u&&u.system]||u&&u.system||"未知体系",q=String(b&&b.question||"").trim()||"请先用一句白话讲清这张盘的主线,再指出最值得注意的一两处,并说明每处的具体依据。",o=Number.isFinite(b&&b.maxChars)&&b.maxChars>=400?b.maxChars:3e3,d=String(u&&u.summary||"").trim(),g=d.length>o,z=g?`${d.slice(0,o)}…(摘要已截断)`:d,T=b&&typeof b.interpret=="object"&&b.interpret||u&&typeof u.interpret=="object"&&u.interpret||null,Z=String(T&&T.answer||"").trim(),N=String(T&&T.plain||"").trim(),dn=[];Z&&dn.push(`直答:${Z}`),N&&dn.push(`说人话:${N}`);const Un=["【命理追问】下面这张盘是命理插件刚排好的,请就着它回答我的问题;不用重新排盘,盘面字段已经够用。",`体系:${w}`,`所问:${q}`,"",...dn.length?["——开场结论(插件已按同一套规则算好,开场先沿用这句;措辞可改,口径别换)——",...dn,""]:[],"——盘面层次(从上到下读,别跳层)——",`${w}:${i(u&&u.system).join(" → ")}`,"先复述事实,再讲结构与时间;上一层没交代清楚,不要跳到下一层。","","——盘面摘要——",z||"(这张盘没有摘要字段,请先让我重新排一次。)",...String(u&&u.jing||"").trim()?["","——《周易》经文原文(本插件按三份底本互校照录,〔一作…〕是异文,不是改写)——",String(u.jing).trim()]:[],...u&&u.zuoyao&&u.zuoyao.verses?["",`——紫微杂曜安星诀(本盘开了全表,${u.zuoyao.placed.length} 颗已按下列诀安入;诀文出多处近代通行辑本并核,属通行说,不是《紫微斗数全书》原文)——`,String(u.zuoyao.verses).trim(),`未另立:${(u.zuoyao.skipped||[]).join(";")}`]:[],"","——回答要求——","读者不懂命理。按下面的骨架答;任何一句他看不懂,就算没写完:",dn.length?"1) 开头一句结论:先沿用上面的「开场结论」,再用一句不用术语的话说清这张盘的主线——只读这一句也该有收获;":"1) 开头一句结论:不用术语,一句话说清这张盘的主线,只读这一句也该有收获;","2) 第二段只复述盘面骨架:按上面的层次用 2–4 行写事实(如四柱、格局、用神、大运),不掺倾向,让读者知道后面的判断从哪来;","3) 判断最多两条,按重要性排序,每条分四行写:"," 盘面|只引盘面已有的字(具体的柱、宫或爻、字段名),不掺解释;"," 白话|把上一行的术语当场翻成日常话——调候 / 化气 / 通关 / 空亡 / 争合 这类词必须落地,一个词只翻一次,不连续堆三个以上;"," 倾向|说「更可能……」,讲清它在现实里大概意味着什么,用概率语气;"," 边界|这条在什么情况下不成立;盘面没给的,直接写「这盘里看不出来」;","4) 收尾一句「如果只记一件事」:给一条能核对、能动手的观察点,并说明它出自上面哪条盘面依据;","5) 别把传统说法当成已证实的事实:不下绝对断言,也不用「肯定」「绝对」这类词,更不写「格局很好」「运程不顺」这种没有信息的空话。"].join(`
|
|
76
|
+
`);return{text:Un,question:q,system:u&&u.system||"",label:w,chars:Un.length,truncated:g}}return{followup:E,READING_ORDERS:Y,READING_ORDER_FALLBACK:p,readingOrderOf:i,askPrompt:h}})(),V.revise=(function(){const B=[{key:"ziwei",label:"紫微",re:/紫微|斗数/},{key:"bazi",label:"八字",re:/八字|四柱/},{key:"liuyao",label:"六爻",re:/六爻|摇卦/},{key:"qimen",label:"奇门",re:/奇门/},{key:"daliuren",label:"大六壬",re:/大六壬|六壬/},{key:"tarot",label:"塔罗",re:/塔罗|抽牌/},{key:"meihua",label:"梅花",re:/梅花/},{key:"hepan",label:"合盘",re:/合盘|合婚/},{key:"almanac",label:"黄历",re:/黄历|老黄历/},{key:"zeri",label:"择日",re:/择日|挑日子/},{key:"fengshui",label:"风水",re:/风水/},{key:"name",label:"起名",re:/起名|取名/},{key:"chenggu",label:"称骨",re:/称骨/},{key:"xiaoliuren",label:"小六壬",re:/小六壬/},{key:"star",label:"星座",re:/星座/},{key:"numerology",label:"生命数字",re:/生命数字|生命灵数/},{key:"mbti",label:"MBTI",re:/mbti|人格测试|十六型/i},{key:"trend",label:"人生 K 线",re:/k\s*线|人生曲线/i},{key:"convert",label:"公农历互转",re:/农历转公历|公历转农历|公农历/}],cn=[{key:"love",label:"感情",re:/感情|婚姻|恋爱|对象|夫妻/},{key:"wealth",label:"财运",re:/财运|财富|赚钱|收入|破财/},{key:"career",label:"事业",re:/事业|工作|升职|跳槽/},{key:"health",label:"健康",re:/健康|身体|疾病|病/},{key:"study",label:"学业",re:/学业|考试|考研|升学|读书/},{key:"travel",label:"出行",re:/出行|搬家|迁移|旅行|外地/}],un=/换成|改成|改为|换到|改看|再看|再看一下|换一套|排一?张|用|按|看/,fn=A=>String(A||"").replace(/(出生|出生地|所在地|人)$/,"").replace(/[的了].*$/,"").trim();function an(A){const E=String(A??"").trim(),j={},Y=[],p=[];if(!E)return{text:"",patch:j,labels:Y,ignored:p};if(un.test(E)){for(const u of B)if(u.re.test(E)){j.system=u.key,Y.push({key:"system",label:"体系",value:u.key,display:u.label});break}}/女命|女性|换成女|改成女|女盘/.test(E)?(j.gender="female",Y.push({key:"gender",label:"性别",value:"female",display:"女"})):/男命|男性|换成男|改成男|男盘/.test(E)&&(j.gender="male",Y.push({key:"gender",label:"性别",value:"male",display:"男"})),/晚子时/.test(E)&&(/不换日|不换天|算当日|归当日|按当日|当天/.test(E)?(j.lateZi=!1,Y.push({key:"lateZi",label:"晚子时",value:!1,display:"23:00 后仍算当日"})):/换日|算次日|归次日|按次日|第二天|次日/.test(E)&&(j.lateZi=!0,Y.push({key:"lateZi",label:"晚子时",value:!0,display:"23:00 后算次日"}))),/真太阳时/.test(E)&&(/不用|不要|关闭|关掉|取消|不算/.test(E)?(j.trueSolar=!1,Y.push({key:"trueSolar",label:"真太阳时",value:!1,display:"用东八区平太阳时"})):(j.trueSolar=!0,Y.push({key:"trueSolar",label:"真太阳时",value:!0,display:"按出生地经度校正"}))),/夏令时/.test(E)&&(/不用|不要|关闭|关掉|取消|不校正/.test(E)?(j.dst=!1,Y.push({key:"dst",label:"夏令时",value:!1,display:"不自动校正 1986–1991 夏令时"})):(j.dst=!0,Y.push({key:"dst",label:"夏令时",value:!0,display:"自动校正 1986–1991 夏令时"})));const i=E.match(/出生在\s*([\u4e00-\u9fa5]{2,12})/)||E.match(/出生地(?:改成|改为|换成|换到|是|为)?\s*([\u4e00-\u9fa5]{2,12})/)||E.match(/改到\s*([\u4e00-\u9fa5]{2,12})\s*出生/);if(i){const u=fn(i[1]);u.length>=2&&(j.address=u,Y.push({key:"address",label:"出生地",value:u,display:u}))}const h=E.match(/(?:看|查|问|到|到了|临近)\s*((?:19|20)\d{2})\s*年/)||E.match(/((?:19|20)\d{2})\s*年(?:的)?(?:运势|怎么样|如何|会怎样|流年)/);if(h){const u=Number(h[1]);j.asOf=`${u}-01-01T00:00`,Y.push({key:"asOf",label:"流年基准",value:j.asOf,display:`${u} 年`})}else/(出生|生年)/.test(E)&&/(19|20)\d{2}\s*年/.test(E)&&p.push("出生年份没改:一句话改不出日与时辰,请直接传 datetime(如 1993-04-08T06:20)");for(const u of cn)if(u.re.test(E)){j.direction=u.key,Y.push({key:"direction",label:"询问方向",value:u.key,display:u.label});break}return/解读|详解|详细说|说人话/.test(E)&&!/不要解读|不用解读|别解读/.test(E)&&(j.withInterpret=!0,Y.push({key:"withInterpret",label:"解读",value:!0,display:"附解析与详解"})),{text:E,patch:j,labels:Y,ignored:p}}const I=B,H=cn;function P(A,E){if(E==null)return null;if(A==="system"){const j=B.find(Y=>Y.key===E);return j?j.label:String(E)}if(A==="gender")return E==="female"?"女":E==="male"?"男":String(E);if(A==="direction"){const j=cn.find(Y=>Y.key===E);return j?j.label:String(E)}if(typeof E=="boolean")return E?"开":"关";if(A==="asOf"){const j=String(E).match(/^(\d{4})/);return j?`${j[1]} 年`:String(E)}return String(E)}return{parseRevision:an,REVISE_SYSTEMS:I,REVISE_DIRECTIONS:H,displayValue:P}})(),V.handle=(function(){const{fail:B}=V.fail||{},cn="mc1.",un=new Set(["handle","trace","shadow","shadowVersion","diff","withInterpret","detail","cross","verifyPast","rectify","events","ask","followup","question","geocode","caliber","geo","longitudeFromGeo","revise"]),fn=d=>d!==null&&typeof d=="object"&&!Array.isArray(d);function an(d){if(Array.isArray(d))return`[${d.map(z=>an(z===void 0?null:z)).join(",")}]`;if(fn(d))return`{${Object.keys(d).filter(T=>d[T]!==void 0).sort().map(T=>`${JSON.stringify(T)}:${an(d[T])}`).join(",")}}`;const g=JSON.stringify(d===void 0?null:d);return g===void 0?"null":g}function I(d){let g=2166136261;for(let z=0;z<d.length;z++)g^=d.charCodeAt(z),g=Math.imul(g,16777619)>>>0;return g.toString(16).padStart(8,"0")}const H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function P(d){const g=[];for(const z of String(d)){let T=z.codePointAt(0);T<128?g.push(T):T<2048?g.push(192|T>>6,128|T&63):T<65536?g.push(224|T>>12,128|T>>6&63,128|T&63):g.push(240|T>>18,128|T>>12&63,128|T>>6&63,128|T&63)}return g}function A(d){let g="";for(let z=0;z<d.length;){const T=d[z];let Z,N;T<128?(Z=T,N=1):T<224?(Z=T&31,N=2):T<240?(Z=T&15,N=3):(Z=T&7,N=4);for(let dn=1;dn<N;dn++)Z=Z<<6|d[z+dn]&63;z+=N,g+=String.fromCodePoint(Z)}return g}function E(d){const g=P(d);let z="";for(let T=0;T<g.length;T+=3){const Z=g[T],N=g[T+1],dn=g[T+2];if(z+=H[Z>>2],z+=H[(Z&3)<<4|(N===void 0?0:N)>>4],N===void 0||(z+=H[(N&15)<<2|(dn===void 0?0:dn)>>6],dn===void 0))break;z+=H[dn&63]}return z}function j(d){const g=[];let z=0,T=0;for(const Z of d){const N=H.indexOf(Z);if(N<0)throw new Error(`不是 base64url 字符:${Z}`);z=z<<6|N,T+=6,T>=8&&(T-=8,g.push(z>>T&255))}return A(g)}function Y(d={}){const g={};for(const[z,T]of Object.entries(d||{}))un.has(z)||T===void 0||(g[z]=T);return g}function p(d={}){const g=Y(d);if(!Object.keys(g).length)return"";const z=E(an(g));return`${cn}${z}.${I(z)}`}function i(d){if(typeof d!="string"||!d.trim())throw B("E_HANDLE","handle 必须是非空字符串;没拿到句柄时照常传 system + datetime 等原始参数即可");const g=d.trim();if(!g.startsWith(cn))throw B("E_HANDLE",`handle 前缀不对(应以 ${cn} 开头):句柄来自旧版本或复制不全,重新排一次盘取新的 handle`);const z=g.slice(cn.length),T=z.lastIndexOf(".");if(T<=0)throw B("E_HANDLE","handle 缺少校验位:复制时可能被截断,重新取一次");const Z=z.slice(0,T),N=z.slice(T+1);if(I(Z)!==N)throw B("E_HANDLE","handle 校验不通过:内容被改动或截断,重新排一次盘取新的 handle");let dn;try{dn=JSON.parse(j(Z))}catch{throw B("E_HANDLE","handle 内容无法解析(不是本插件生成的句柄),重新排一次盘取新的 handle")}if(!fn(dn))throw B("E_HANDLE","handle 内容不是参数对象,重新排一次盘取新的 handle");return dn}const h=new Set(["__proto__","constructor","prototype"]),u={hour:["chenggu","xiaoliuren","name"],minute:["name"],date:["xiaoliuren"],mode:["convert","meihua","xiaoliuren"],action:["fengshui","name"]};function b(d,g){if(!fn(d))return d;const z=d.system;if(typeof z!="string"||!z)return d;for(const[T,Z]of Object.entries(u))g.has(T)||d[T]===void 0||Z.includes(z)||delete d[T];return d}function w(...d){const g=new Set;for(const z of d)if(fn(z))for(const[T,Z]of Object.entries(z))Z!==void 0&&T!=="handle"&&g.add(T);return g}function S(d={}){if(!fn(d))return d;const{handle:g,...z}=d;if(g==null||g==="")return{...z};const Z={...i(g)};for(const[N,dn]of Object.entries(z))dn===void 0||h.has(N)||(Z[N]=dn);return b(Z,w(z)),Z}return{handlePayload:Y,encodeHandle:p,decodeHandle:i,pruneForeignKeys:b,ownedKeys:w,resolveHandle:S,HANDLE_PREFIX:cn,handleChecksum:I}})(),V.bridge=(function(){const{encodeHandle:B,decodeHandle:cn,HANDLE_PREFIX:un}=V.handle||{},{askPrompt:fn}=V.followup||{},an=200,I=60,H={bazi:"八字",ziwei:"紫微",liuyao:"六爻",meihua:"梅花",daliuren:"大六壬",qimen:"奇门",hepan:"合盘",tarot:"塔罗",almanac:"黄历",zeri:"择日",chenggu:"称骨",xiaoliuren:"小六壬",star:"星座",numerology:"生命数字",mbti:"人格",trend:"人生K线",fengshui:"风水",name:"起名",convert:"农历"},P=S=>H[S]||S||"未知体系";function A(S){const q=String(S||""),o=q.indexOf("#");return o<0?q:q.slice(0,o)}function E(S){try{return encodeURIComponent(S)}catch{return""}}function j(S){try{return decodeURIComponent(S)}catch{return String(S||"")}}function Y(S={},q={}){const o=q||{},g=String(o.handle||S&&S.handle||"").trim()||B(S||{});if(!g||!g.startsWith(un))return"";const z=String(o.question||"").trim().slice(0,an),T=[`mp=${g}`];return z&&T.push(`q=${E(z)}`),`${A(o.base)}#${T.join("&")}`}function p(S){const q=String(S||"").trim();if(!q)return{ok:!1,code:"E_LINK",message:"没有链接内容:请粘贴带 #mp= 的完整链接"};let o="";const d=q.indexOf("#");if(d>=0&&q.slice(d+1).trim())o=q.slice(d+1).trim();else{const Z=q.indexOf("?");Z>=0&&q.slice(Z+1).trim()?o=q.slice(Z+1).trim():/^mp=/.test(q)&&(o=q)}if(!o)return{ok:!1,code:"E_LINK",message:"链接里没有 #mp= 片段:这不是本插件生成的深链"};const g={};for(const Z of o.split("&")){if(!Z)continue;const N=Z.indexOf("=");if(N<=0)continue;const dn=Z.slice(0,N),J=Z.slice(N+1);dn==="mp"?g.mp=J:dn==="q"&&(g.q=J)}if(!g.mp)return{ok:!1,code:"E_LINK",message:"链接里没有 mp 参数(只有问题没有盘):无法还原盘面"};let z;try{z=cn(g.mp)}catch(Z){return{ok:!1,code:Z&&Z.code||"E_HANDLE",message:Z&&Z.message||"句柄无法解析"}}const T=g.q?j(g.q).slice(0,an):"";return{ok:!0,handle:g.mp,args:z,question:T,system:z.system||"",label:P(z.system)}}const i=S=>{const q=/^(\d{4}-\d{1,2}-\d{1,2})[T ](\d{1,2}:\d{2})/.exec(String(S||"").trim());if(!q)return{date:"",time:""};const[o,d,g]=q[1].split("-");return{date:`${o}-${String(d).padStart(2,"0")}-${String(g).padStart(2,"0")}`,time:q[2].padStart(5,"0")}},h=["gender","address","trueSolar","lateZi","lines"];function u(S){const q=S&&S.ok?S:null,o=q&&q.args||{},d=i(o.datetime),g={tab:o.system||"",date:d.date,time:d.time,question:q&&q.question||"",restored:[],rest:{}};g.tab&&g.restored.push("system"),d.date&&g.restored.push("datetime");for(const z of h)o[z]===void 0||o[z]===null||(g[z]=o[z],g.restored.push(z));g.question&&g.restored.push("question");for(const[z,T]of Object.entries(o))z==="system"||z==="datetime"||h.includes(z)||(g.rest[z]=T);return g}function b(S){const q=Object.keys(S&&S.rest||{});return q.length?`链接里还有 ${q.length} 项没填回表单(${q.join("、")}):这些只在引擎调用里生效,页面上按默认值显示。`:""}function w(S,q={}){const o=q||{},d=S||{},g=d.system||"",z=P(g),T=String(o.question||"").trim(),Z=String(d.handle||"").trim();let N="";try{const C=fn(d,{question:T,interpret:o.interpret});N=C&&C.text||String(d.summary||"")}catch{N=String(d.summary||"")}const dn=T?T.length>I?`${T.slice(0,I)}…`:T:"(未填问题:按摘要讲主线)",J=Z?`【命理追问】${z}|${Z}|问:${dn}`:`【命理追问】${z}|问:${dn}`,Un={};Z&&(Un.handle=Z),g&&(Un.system=g),T&&(Un.question=T);const bn=JSON.stringify({tool:"metaphysics",v:1,args:Un},null,2),r=Z?Y({handle:Z},{question:T,base:o.base}):"";return{system:g,label:z,handle:Z,question:T,full:N,brief:J,structured:bn,link:r}}return{LINK_MAX_QUESTION:an,askLink:Y,parseAskLink:p,formOf:u,restNote:b,askPackages:w}})(),V["plain-summary"]=(function(){const{ASK_KINDS:B}=V["event-prompt"]||{},{PALACE_FIELD:cn,GATE_MEANING:un}=V["qimen-prompt"]||{},fn=B||{},an=cn||{},I=un||{},H={wealth:"business",career:"career",love:"love",health:"other",study:"career",travel:"action",general:"other"},P=r=>H[r]||(fn[r]?r:"other"),A={木:{color:"青、绿",where:"东边、有树有水的地方",daily:"早上多出门走走"},火:{color:"红、橙、紫",where:"南边、向阳的房间",daily:"白天多晒太阳,别总待在阴冷的屋里"},土:{color:"黄、棕、米色",where:"中原地带、干爽高燥处",daily:"把作息和吃饭时间固定下来"},金:{color:"白、银、浅灰",where:"西边、通风利落的地方",daily:"把该断的事断干净,别拖"},水:{color:"黑、深蓝",where:"北边、临水处",daily:"留出独处和放空的时间"}},E={正印:"靠吸收和消化来获得安全感,习惯先想明白再动",偏印:"想得比说得多,一件事会在心里推演出很多种可能",正官:"对规矩和责任敏感,别人一句交代会变成自己的压力",七杀:"对压力和竞争敏感,遇强则强,也容易被强势的人吸引",正财:"对现实条件敏感,不太会被空话打动",偏财:"对机会敏感,愿意为看得见的回报承担风险",食神:"表达温和,喜欢把日子过得有滋味",伤官:"有自己的标准,看不上粗糙的东西,容易先挑毛病",比肩:"自我边界清楚,不太愿意被安排",劫财:"同辈之间容易较劲,也容易替朋友出头"},j={长生:"刚起步,有生机",沐浴:"不安定,容易被外界牵动",冠带:"在成形,开始要面子",临官:"正当力,能扛事",帝旺:"很足,但也容易过满",衰:"开始收力,做事偏保守",病:"使不上劲,需要借外力",死:"静态,不爱主动",墓:"收着、藏着,不爱外露",绝:"在这里使不上劲,容易觉得被压着",胎:"还在孕育,慢热",养:"在积攒,等时机"},Y={紫微:"要主导、在意体面",天机:"脑子转得快,爱盘算",太阳:"愿意给出去,也容易被消耗",武曲:"务实,认结果",天同:"图安稳,怕冲突",廉贞:"要强,情绪起伏大",天府:"稳,能存住东西",太阴:"细腻,心思藏在里面",贪狼:"欲望强、多才多艺",巨门:"爱辨析,也容易生口舌",天相:"会配合,擅长讲和",天梁:"老成,愿意护着别人",七杀:"独断,敢冲",破军:"破旧立新,不安于现状"},p={庙:"得力",旺:"得力",得地:"还算得力",平:"一般",陷:"不太稳"},i=r=>[...new Set(r.filter(Boolean))],h={寅:"初春",卯:"仲春",辰:"暮春",巳:"初夏",午:"盛夏",未:"长夏",申:"初秋",酉:"仲秋",戌:"深秋",亥:"初冬",子:"仲冬",丑:"隆冬"};function u(r,C){const on={po:[],chong:[],he:[]};for(const zn of r&&r.branches||[])!C||!String(zn).includes(C)||(/破/.test(zn)?on.po.push(zn):/冲/.test(zn)?on.chong.push(zn):/合/.test(zn)&&on.he.push(zn));return on}function b(r){const C=r.pillars||{},on=C.day||{},zn=C.month||{},xn=r.dayMaster||{},pn=r.climate||{},ln=r.input&&r.input.gender||"female",en=Object.entries(r.frame&&r.frame.godStats&&r.frame.godStats.groups||{}).filter(([,f])=>f>0).sort((f,R)=>R[1]-f[1]),tn=r.frame&&r.frame.yongshen&&r.frame.yongshen.favorTenGods||[],hn=r.frame&&r.frame.yongshen&&r.frame.yongshen.favor||[],y=r.frame&&r.frame.yongshen&&r.frame.yongshen.avoid||[],U=h[zn.branch]||`${zn.branch}月`,v=pn.label==="寒湿"?"天寒水旺,木像冬天的藤,不是不强,是冷得伸展不开":pn.label==="燥热"?"火土偏燥,像久旱的地,需要水和湿气来松一松":"寒暖相对均衡,没有极端的偏枯",F=pn.need&&pn.need.element||hn[0]||"",$n=r.frame&&r.frame.caiKu||null,jn=$n?$n.present?$n.opened&&$n.verdict==="开库主发"?`财有库(${$n.store}),而且库门被${$n.opener}冲开了:钱是能进来的,关键在于你肯不肯把它存住。`:$n.opened&&$n.verdict==="开库反主破财"?`财有库(${$n.store})也被冲开了,但这一行在你这盘上是忌:动得越多漏得越快,稳比冲重要。`:$n.opened?`财有库(${$n.store}),库门也开了,但财本身不算厚:有得有失,别指望一次翻身。`:`财有库(${$n.store}),门还关着:不是没有,是要等对的时间或对的选择把它引出来。`:"财这一路没有立库,赚多少看明面上的财星与行运,不靠「开库」这一说。":"",Cn=`${xn.stem||""}${xn.element||""}日主,生在${U}${zn.branch||""}月:${v}。${F?`最需要的是${F}${pn.need&&pn.need.why?`——${pn.need.why}`:""}。`:""}整体${r.strength?r.strength.level:"中和"},不是极旺也不是极弱,所以${r.strength&&r.strength.level==="身弱"?"很多事要靠外部条件配合,硬扛不如借力":"撑得住,关键是别把力气用在错的地方"}。`+jn,wn=en.slice(0,2).map(([f])=>f),Dn=[];for(const f of Object.values(C))f&&(f.stemTenGod&&Dn.push(f.stemTenGod),f.hidden&&f.hidden[0]&&f.hidden[0].tenGod&&Dn.push(f.hidden[0].tenGod));const ne=`${wn.map(f=>{const R={印:["正印","偏印"],官杀:["正官","七杀"],食伤:["食神","伤官"],财:["正财","偏财"],比劫:["比肩","劫财"]}[f]||[],s=R.find(c=>Dn.includes(c))||R[0];return s&&E[s]?`${f}偏重:${E[s]}。`:""}).filter(Boolean).join("")}${tn.length,""}`+(wn.includes("印")?"想得多是你的默认状态,好处是稳,代价是慢和累。":""),Hn=ln==="female"?["正官","七杀"]:["正财","偏财"],Jn=ln==="female"?"官杀(正官与七杀)":"财星(正财与偏财)",Xn={year:"年干",month:"月干",day:"日干",hour:"时干"},Fn=Object.entries(C).filter(([,f])=>f&&Hn.includes(f.stemTenGod)).map(([f,R])=>`${Xn[f]}${R.stemTenGod}`),Qn=on.hidden&&on.hidden[0]&&on.hidden[0].tenGod||"",se=u(r.relations,on.branch),ae=[];ae.push(`${ln==="female"?"女命":"男命"}看配偶星取${Jn}${Fn.length?`,${Fn.join("、")}`:",盘中未透干"}${Fn.length?"——摆在明处,说明这件事在你生活里是绕不开的主题":"——不显在明处,往往要靠后天遇到的人把它带出来"}。`),Qn&&ae.push(`日支(配偶宫)坐${on.branch}${Qn}${on.dishi?`,日主在这里是「${on.dishi}」:${j[on.dishi]||""}`:""}。`),se.po.length&&ae.push(`日支与另一支相破(${se.po.join("、")}):破不是吵架,是那种说不清、解释不明白的暗耗,容易冷处理。`),se.chong.length&&ae.push(`日支逢冲(${se.chong.join("、")}):关系里变动感强,聚散、异地、节奏不一致都可能出现。`),se.he.length&&ae.push(`日支有合(${se.he.join("、")}):容易被关系拴住,进去了就不太想出来。`),r.hourUnknown&&ae.push("时柱暂缺,所以「子女」这一路的信息读不出,感情结论也就少了三分之一。");const ue=(r.frame&&r.frame.geju||[]).map(f=>f.name),K=[];se.po.length&&K.push("破在日支:最伤人的往往不是大事,是没说开的小事。"),ue.includes("伤官见官")&&K.push("盘里有「伤官见官」的组合:既想要稳定,又忍不了对方的毛病,这是同一件事的两面。"),wn.includes("印")&&!wn.includes("财")&&K.push("印重而财轻:想得多、落得少;越焦虑越容易继续想。"),K.length||K.push("这一盘没有特别尖锐的冲克,卡点更多在「节奏」上——什么时候该动,什么时候该停。");const mn=[];if(F&&A[F]){const f=A[F];mn.push(`多接触${F}:${f.color}这类颜色、${f.where},日常可以${f.daily}。`)}y.length&&mn.push(`少把自己放在${y.slice(0,2).join("、")}过重的环境里——不是不能碰,是别长期待在那种氛围中。`),wn.includes("印")&&mn.push("给「想」设个时限:一件事想超过十分钟还没结论,就先做一个最小动作,用行动换信息。"),ue.includes("伤官见官")&&mn.push("把标准用在事情上,不要用在人身上;对人提要求之前,先说清你需要什么。");const D=r.frame&&r.frame.balance||null;if(D){const f=[];D.wuxing.ok||f.push(`五行偏在${D.wuxing.highest}、缺在${D.wuxing.lowest}`),D.yinyang.ok||f.push(D.yinyang.pure?`${D.yinyang.pure}之局`:`阴阳一边倒(阳 ${D.yinyang.yang}/阴 ${D.yinyang.yin})`),D.climate.ok||f.push(`寒暖燥湿没调匀(${D.climate.kind})`),mn.push(f.length?`结构上${f.join("、")}:不必去「补命」,把这几处当作长期要照看的方向就行。`:"五行、阴阳、寒暖燥湿三方面都还匀:这种盘最忌讳的是为了「更好」而硬改节奏,稳住就是优势。")}return{system:"bazi",title:"先看这一张:这张盘大致在说什么",chips:i([`${xn.stem||""}${xn.element||""}日主`,`${zn.branch||""}月`,pn.label||"",r.strength?r.strength.level:"",r.hourUnknown?"时柱暂缺":""]),lead:Cn,sections:[{h:"你的底色",t:ne||"结构比较均衡,没有一边倒的偏重。"},{h:"感情这件事",t:ae.join("")},{h:"最容易卡住的地方",t:K.join("")}],advice:mn,caveat:r.hourUnknown?"时柱暂缺:以上只据年、月、日六个字,等于全盘信息的七成左右。子女缘分、晚年走势、以及「内心最深处那一层」都读不全,结论只作参考。":"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}function w(r){const C=r.palaces||[],on=C[0]||{},zn=r.body||{},xn=(on.stars||[]).filter(wn=>wn.type==="主星"),pn=C.find(wn=>wn.isBody)||{},ln=C.find(wn=>wn.palace==="夫妻")||{},en=xn.map(wn=>wn.name).join("、")||"空宫(借对宫)",tn=xn.map(wn=>p[wn.brightness]||"").filter(Boolean)[0]||"",hn=wn=>wn.filter(Dn=>Dn.type==="主星").map(Dn=>`${Dn.name}${Y[Dn.name]?`(${Y[Dn.name]})`:""}`).join(";"),y=r.patternSummary||{},U=i(y.broken||[]),v=i(y.bad||[]),F=i([...y.good||[],...y.neutral||[]]).filter(wn=>!U.includes(wn)),$n=ln.stars||[],jn=$n.filter(wn=>wn.type==="主星"),Cn=$n.filter(wn=>wn.type==="煞星");return{system:"ziwei",title:"先看这一张:这张盘大致在说什么",chips:i([`命宫在${on.branch||""}`,en,r.bureau?r.bureau.name:"",zn.lands?`身宫落${zn.lands}`:""]),lead:`命宫在${on.branch||""},坐${en}${tn?`(${tn})`:""};身宫落在${zn.lands||zn.palace||"—"}。${xn.length?`底色是${xn.map(wn=>Y[wn.name]||wn.name).join("、")}。`:"命宫无主星,性格更多由对宫与三方决定,可塑性反而大。"}${F.length?`结构上成的是${F.slice(0,3).join("、")}——格局只说明形状,不是吉凶判词。`:"没有完整成套的格局,这一盘更多看单颗星的性质,少看组合。"}`,sections:[{h:"你的底色",t:`${hn(on.stars||[])||"命宫无主星,靠三方四正补"}。身宫落${zn.lands||"—"},说明你这辈子真正花力气的地方在${zn.lands||"那一块"}。`},{h:"感情这件事",t:`夫妻宫在${ln.branch||"—"},坐${jn.map(wn=>`${wn.name}${wn.brightness?`(${p[wn.brightness]||wn.brightness})`:""}`).join("、")||"空宫(借对宫)"}。${Cn.length?`同宫还有${Cn.map(wn=>wn.name).join("、")}——关系里容易起摩擦,来得快也去得快。`:"没有明显的煞星同宫,关系相对平顺。"}`},{h:"最容易卡住的地方",t:`${U.length?`被冲破的格局有${U.join("、")}——结构还在,但成色打折;冲不等于毁,说的是它不如完好时那么顶用。`:"主要格局没有明显被冲破。"}${v.length?`另有${v.join("、")}这类忌格,只描述结构,不作吉凶断。`:""}`}],advice:[`命宫主星${xn.length?`是${xn.map(wn=>wn.name).join("、")},顺它的长处在做事,比硬改性格省力`:"不显,先靠环境和习惯替自己定节奏"}。`,`身宫落${zn.lands||"—"}:这块是你真正在意的地方,也是容易耗人的地方,留出余量。`],caveat:"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}const S={旺:"当令,气最足",相:"有生机,正在起",休:"气在泄,歇着",囚:"被压着,使不上劲",死:"最弱,得靠外援"},q={官鬼:"职位、压力、管你的人和事",妻财:"钱、资源、实际回报",父母:"文书、答复、流程与长辈",子孙:"结果本身、松弛、把事情落地",兄弟:"同辈、分利、竞争"},o={日生:"日辰生它,当天有人托着",日克:"日辰克它,当天被压一头",比和:"与日辰同气,力量相当",日合:"与日辰相合,黏住了",日冲:"与日辰相冲,当天就动"};function d(r){if(!r)return"";const C=[],on=S[r.monthState]||r.monthSay||"";on&&C.push(`月令${r.monthState||""}(${on})`);const zn=o[r.dayRelation]||r.daySay||"";return zn&&C.push(zn),r.kong&&C.push("旬空——抓不实,等冲或填"),r.moving&&C.push("发动,是这件事的动因"),r.monthChong&&C.push("月破,先破后立"),C.join(";")}function g(r){const C=r.hexStrength&&r.hexStrength.lines||[];if(!C.length)return null;const on=C.find(F=>F.shi)||null,zn=C.find(F=>F.ying)||null,xn=r.body||{},pn=xn.ben||{},ln=xn.bian||{},en=r.cast&&r.cast.movingPositions||[],tn=C.filter(F=>F.moving),hn=String(r.question||"").trim(),y=i([...xn.labels||[],...r.hexStrength&&r.hexStrength.labels||[]]),U=r.hexStrength&&r.hexStrength.month?r.hexStrength.month.branch:"",v=[pn.chong?"六冲卦:事情容易散、节奏快":"",pn.he?"六合卦:事情黏住、快不起来":"",xn.fuYin&&(xn.fuYin.inner||xn.fuYin.outer)?"有伏吟:原地打转":"",xn.fanYin&&(xn.fanYin.inner||xn.fanYin.outer)?"有反吟:来回反复":""].filter(Boolean);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:i([pn.name,ln.name?`变${ln.name}`:"",en.length?`${en.length} 爻动`:"静卦",U?`${U}月`:""]),lead:`${hn?`你问的是「${hn}」。`:""}本卦「${pn.name||"—"}」${ln.name?`,${en.length?`第 ${en.join("、")} 爻动`:"六爻安静"},变「${ln.name}」`:""}。方向还留在「综合」,所以这一卦没有取用神——先只讲与问题无关的那几样:你(世爻)、事情(应爻)、卦体。`,sections:[{h:"代表你的是",t:on?`世爻在${on.name}(${on.branch}${on.element}·${on.liuqin}):${d(on)||"状态平稳"}。`:"这一卦取不到世爻。"},{h:"代表事情的是",t:zn?`应爻在${zn.name}(${zn.branch}${zn.element}·${zn.liuqin}):${d(zn)||"状态平稳"}。应爻说的是「事情那一头」的状态,不是你努力的程度。`:"这一卦取不到应爻。"},{h:"卦体与动爻",t:`${v.length?`${v.join(";")}。`:"没有六冲、六合、伏吟、反吟这类整体结构。"}${tn.length?`动爻在${tn.map(F=>`${F.name}(${F.liuqin})`).join("、")}——动的地方,就是这件事会发生变化的那一环。`:"六爻安静:眼下没有明显在动的地方,说明事情的节奏还没起来。"}`}],advice:["先在上面选一个「询问方向」(工作、感情、生意、推进、择日):选完才会取用神,旺衰、应期、成败条件才有落点。",...(fn.other&&fn.other.reality||[]).slice(0,2)].filter(Boolean),caveat:"未指定所问之事:这一版只读世应、卦体与动爻,不判成败,也不给应期——不是算不出来,是取用神要先知道问什么。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function z(r){const C=r.useGod||{};if(!C.liuqin)return g(r);const on=C.found||[];if(!on.length&&!C.missing)return null;const zn=String(r.question||"").trim(),xn=r.useGodStrength&&r.useGodStrength.lines||[],pn=wn=>xn.find(Dn=>Dn.position===wn)||null,en=(r.hexStrength&&r.hexStrength.lines||[]).find(wn=>wn.shi)||null,tn=r.useGodStrength&&r.useGodStrength.month?r.useGodStrength.month.branch:"",hn=r.dayGanZhi&&r.dayGanZhi.name||"",y=on.map(wn=>wn.name).join("、"),U=`${zn?`你问的是「${zn}」。`:"你没填具体问题,这里按「综合」取用神,结论会更粗。"}这卦里代表它的是「${C.liuqin}」(${C.ask||""}),`+(on.length?`落在${y}${on.length>1?"——两处都出现了,两个条件要一起看":""}。`:"盘中看不见它(伏藏),要等冲开或引出才有动静。")+`日辰是${hn||"—"},月建是${tn||"—"}。`,v=[],F=[];for(const wn of on){const Dn=pn(wn.position);Dn&&(/旺|相/.test(Dn.monthState||"")&&!Dn.kong&&!Dn.monthChong&&v.push(wn.name),(/日克|日冲/.test(Dn.dayRelation||"")||Dn.kong||Dn.monthChong)&&F.push(wn.name))}const $n=on.length?v.length>F.length?"条件偏有利":F.length>v.length?"条件偏紧,得有外力或时间":"一半一半,取决于你怎么推":"没有可判的落点",jn=i([...(C.labels||[]).filter(wn=>/两现|伏藏|六合|六冲/.test(wn)),r.body&&r.body.ben&&r.body.ben.chong?"六冲卦:事情容易散,节奏偏快":"",r.body&&r.body.ben&&r.body.ben.he?"六合卦:事情黏住,快不起来":""]),Cn=i((r.yingqi&&r.yingqi.items||[]).map(wn=>wn.branch)).slice(0,4);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:i([r.ben&&r.ben.name,`用神 ${C.liuqin||""}`,tn?`${tn}月`:"",r.yingqi?r.yingqi.tempo:""]),lead:U,sections:[{h:"代表你的是",t:en?`世爻在${en.name}(${en.branch}${en.element}·${en.liuqin}):${d(en)||"状态平稳"}。`:"这一卦的世爻取不到,先看用神那一条。"},{h:"代表这件事的是",t:on.length?on.map(wn=>`${wn.name} ${wn.ganzhi}(${wn.liuqin}):${d(pn(wn.position))||"没有明显的月日冲克"}。`).join(""):"用神伏藏:盘中看不见它,说明这件事现在还不在明面上,要等一个引子。"},{h:"成不成看哪里",t:`把用神的月令与日辰放在一起,盘面给的是「${$n}」。${jn.length?`另有:${jn.join(";")}。`:""}`}],advice:[...(fn[P(C.direction)]&&fn[P(C.direction)].reality||[]).slice(0,2),Cn.length?`应期只看地支:${Cn.join("、")}——地支只是「往哪个方向等」,不是公历日期。`:""].filter(Boolean),caveat:i([on.length>1?`用神两现(${y}):本插件不替你二选一,两处条件一起看。`:"",C.missing?"用神伏藏:先看伏神与飞神的关系,再看有没有东西把它冲出来。":"","世应只说明「你」和「事」的相对位置,不直接等于吉凶。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function T(r){const C=r.bodyUse;if(!C||!C.body||!C.use)return null;const on=String(r.question||"").trim();return{system:"meihua",title:"先看这一卦:方向大致在哪",chips:i([r.ben&&r.ben.name,r.bian&&`变${r.bian.name}`,C.relation?`体用 ${C.relation.split("(")[0]}`:""]),lead:`${on?`你问的是「${on}」。`:""}本卦「${r.ben&&r.ben.name}」,动在第 ${r.moving} 爻,变卦「${r.bian&&r.bian.name}」。体卦 ${C.body.trigram}(${C.body.element})代表你,用卦 ${C.use.trigram}(${C.use.element})代表这件事:${C.relation}。`,sections:[{h:"过程与结果",t:`过程看互卦「${r.hu&&r.hu.name||"—"}」,结果看变卦「${r.bian&&r.bian.name||"—"}」。梅花给的是方向,不是细节——它不会告诉你几号、多少钱。`},{h:"盘面给的分量",t:`这一卦的体用关系被标成「${C.level}」。注意:这是条件层面的判断,不是结果已经发生;条件好但不动,一样没有结果。`}],advice:["把它当「换个角度看这件事」:体用只分「谁在给、谁在耗」,剩下要你自己补具体动作。","如果要推进,先定一个最小动作(打个电话、发条消息),别等条件齐了再动。"],caveat:"梅花取象的自由度大:同一卦,不同人读出的细节可以不同。本插件只取体用生克这一层。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function Z(r){const C=r.sanChuan||{};if(!C.chu||!C.zhong||!C.mo)return null;const on=String(r.question||"").trim(),zn=pn=>`${pn.zhi}(${pn.liuQin||""}·${pn.jiangFull||""})`,xn=pn=>q[pn.liuQin]?`——${q[pn.liuQin]}`:"";return{system:"daliuren",title:"先看这一课:事情怎么走到这一步",chips:i([r.geJu&&r.geJu.name,`${C.chu.zhi}→${C.mo.zhi}`,r.yueJiang&&`月将${r.yueJiang.zhi}`]),lead:`${on?`你问的是「${on}」。`:""}三传是 ${C.chu.zhi} → ${C.zhong.zhi} → ${C.mo.zhi};末传落 ${C.mo.zhi}(${C.mo.liuQin||""}·${C.mo.jiangFull||""}),课体是「${r.geJu&&r.geJu.name||"—"}」。`,sections:[{h:"起手(初传)",t:`${zn(C.chu)}${xn(C.chu)}。这是事情开头的样子。`},{h:"转折(中传)",t:`${zn(C.zhong)}${xn(C.zhong)}。中间会经过这一段,也是容易改道的地方。`},{h:"落点(末传)",t:`${zn(C.mo)}${xn(C.mo)}。末传比初传更接近结果——但也只是「照现在这样走下去会到哪」。`}],advice:["先看初传:事情是从哪儿起的?把那个起点找出来,比猜结果有用。","中传若与初传相冲相克,说明中途会变;这时别把计划定死。"],caveat:"三传讲的是传变形态,不给具体日期;同一课不同流派对课体的命名也有差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function N(r){const C=r.siZhu&&r.siZhu.day?String(r.siZhu.day)[0]:"",on=r.siZhu&&r.siZhu.time?String(r.siZhu.time)[0]:"",zn=r.palaces||[];if(!zn.length)return null;const xn=v=>zn.find(F=>F.tianPan===v)||(r.centerPalace&&r.centerPalace.tianPan===v?r.centerPalace:null),pn=xn(C),ln=xn(on),en=String(r.question||"").trim(),tn=v=>{const F=v&&an[v.palace]&&an[v.palace].field;return F?F.split(":")[0]:v?`${v.palace}宫`:"盘中取不到"},hn=v=>v&&an[v.palace]&&an[v.palace].dir?`(${an[v.palace].dir})`:"",y=v=>v?`${tn(v)}${hn(v)}|${v.gate||"—"}·${v.star||"—"}·${v.god||"—"}`:"盘中取不到",U=v=>!v||!v.gateRelation||!v.gateRelation.type?"门与宫的关系没算到":`${v.gateRelation.type}(${v.gateRelation.note||""})`;return{system:"qimen",title:"先看这一局:条件和位置在哪",chips:i([r.ju,r.zhiFu&&`值符${r.zhiFu.star}`]),lead:`${en?`你问的是「${en}」。`:""}日干 ${C} 落在${y(pn)},时干 ${on} 落在${y(ln)}——前者代表你,后者代表这件事。你这边门与宫是${U(pn)};事情那边是${U(ln)}。`,sections:[{h:"你这边的条件",t:pn?`你在${an[pn.palace]?an[pn.palace].field:pn.palace+"宫"};门是${pn.gate||"—"}——${I[pn.gate]||"门名只说明形态"}。`:"日干落在中宫或取不到:中宫无门无神,按寄宫(多寄坤二)取用,读的时候要说清这是寄宫。"},{h:"事情那边的条件",t:ln?`事情落在${an[ln.palace]?an[ln.palace].field:ln.palace+"宫"};门是${ln.gate||"—"}——${I[ln.gate]||"门名只说明形态"}。`:"时干落在中宫或取不到,同样按寄宫看,别当成坤二本宫。"},{h:"门名不是吉凶",t:"开门主启动、生门主生长、休门主等待、伤门主损耗、杜门主隐藏——这些说的是「这件事现在是什么形态」,不是好坏判决。要看它与日干宫、时干宫的生克。"}],advice:["把「我这边」和「事情那边」的宫位对一下:两边相距越远,越需要中间人、流程或时间。","如果门名是伤门、死门,不是叫你别做,而是提醒这件事的代价和收尾要先想清楚。"],caveat:i([r.juMethodNote||"","奇门重方位与时机;本插件不给具体方位建议,只把宫位与门星神摊开。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function dn(r){const C=r.cards||[];if(!C.length)return null;const on=String(r.question||"").trim(),zn=C.find(xn=>/现在|现况|当下|建议|核心/.test(xn.position||""))||C[Math.floor(C.length/2)];return{system:"tarot",title:"先看这几张牌:它们各在说什么",chips:i([r.spread]),lead:`${on?`你问的是「${on}」。`:""}${r.spread||""}:`+C.map(xn=>`${xn.position}「${xn.name}」${xn.orientation}`).join(",")+"。",sections:C.slice(0,4).map(xn=>({h:xn.position,t:`「${xn.name}」${xn.orientation}:${(xn.keywords||[]).slice(0,3).join("、")||xn.core||""}。${xn.image?`牌面上${xn.image}。`:""}${xn.astro?`占星对应是${xn.astro}。`:xn.role?`它在盘上顶的是「${xn.role}」那个角色。`:""}${xn.positionHint||""}`})),advice:[`最值得先看的是「${zn.name}」(${zn.position}·${zn.orientation})——${(zn.keywords||[]).slice(0,3).join("、")||"它所在的位置,就是这件事现在的着力点"}。`,"把牌当镜子:它给的是看事情的角度,不是判决。看完写一句「那我下一步做什么」。"],caveat:r.systemNote||"塔罗为象征系统,牌义与元素对应存在流派差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function J(r){const C=r.score;if(!C)return null;const on=(r.dimensions||[]).filter(ln=>ln&&ln.text),zn=ln=>{const en=ln&&ln.dayMaster;return en?typeof en=="string"?en.replace(/日主$/,""):`${en.stem||""}${en.element||""}`:""},xn=zn(r.a),pn=zn(r.b);return{system:"hepan",title:"先看这一张:你们大致怎么相处",chips:i([xn&&pn?`${xn} × ${pn}`:"",C.level,`${C.total}/100`]),lead:`${xn&&pn?`你们是 ${xn} 与 ${pn}。`:""}合盘描述的是「相处方式与互补点」,不判合不合,也不决定关系成败。整体上盘面给的是「${C.level}」(${C.total}/100——分数只是相对刻度,不是及格线)。`,sections:on.slice(0,3).map(ln=>({h:ln.label,t:ln.text})),advice:["一起看,别一个人看完拿去判断对方:前者是对话,后者是审判。","把上面的分歧当话题清单:哪一条你们真的在意,就聊哪一条。"],caveat:r.notes&&r.notes[0]||"合盘看的是相处方式与互补点,不决定关系成败。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function Un(r){const C=r.points||[],on=r.segments||[];if(!C.length||!on.length)return null;const zn=Number.isInteger(r.meta&&r.meta.nowYear)?r.meta.nowYear:null,xn=zn&&C.find($n=>$n.year===zn)||null,pn=xn&&on.find($n=>xn.age>=$n.startAge&&xn.age<=$n.endAge)||on[0],ln=on[on.indexOf(pn)+1],en=C.filter($n=>$n.age>=pn.startAge&&$n.age<=pn.endAge),tn=en.length?en.reduce(($n,jn)=>$n+jn.score,0)/en.length:0,hn=C.reduce(($n,jn)=>$n+jn.score,0)/C.length,y=tn>=hn+5?"比一生平均更亮":tn<=hn-5?"比一生平均更闷":"与一生平均差不多",U=r.highlights&&r.highlights.best||[],v=r.highlights&&r.highlights.worst||[],F=xn?`你现在 ${xn.age} 岁(${zn} 年),在「${pn.ganZhi}」这一步的第 ${xn.age-pn.startAge+1} 年(${pn.startAge}–${pn.endAge} 岁)${ln?`,再过 ${pn.endAge-xn.age+1} 年到 ${ln.startAge} 岁换「${ln.ganZhi}」`:",已是最后一步"}。`:`没给当前日期(asOf),所以不标「现在在第几步」;先看第一步「${pn.ganZhi}」(${pn.startAge}–${pn.endAge} 岁)起手的样子。`;return{system:"trend",title:"先看这一条线:这些年大致什么走势",chips:i([pn.ganZhi,`${pn.startAge}–${pn.endAge} 岁`,xn?`${xn.age} 岁`:""]),lead:`这条线按 ${r.meta&&r.meta.toAge||C.length} 岁排到 ${C[C.length-1].year} 年,共 ${on.length} 步大运。`+F,sections:[{h:"这一步的基调",t:`这一步里各年的平均分是 ${tn.toFixed(0)},${y}(全盘平均 ${hn.toFixed(0)})。分数是相对刻度,不是绝对值。`},{h:"这些年里最亮和最闷的",t:`${U.length?`高点:${U.slice(0,2).join("、")}`:"没有特别高的点"};${v.length?`低点:${v.slice(0,2).join("、")}`:"没有特别低的点"}。高点适合推进,低点适合收口。`},{h:"怎么用这条线",t:"它不是命运表,是把「顺/不顺」画成可视的起伏。真正决定走向的,是你在这几步里做了什么。"}],advice:["把下一步换运的年龄记下来:换运前后半年,通常是最容易做决定、也最容易冲动的时候。","低点年别做大额投入,高点年别只观望——这两条比记分数管用。"],caveat:"线按年岁等距绘制,实际每步大运十年;起点与交运按节气推算,出生时刻未知时按日估算。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function bn(r){return!r||typeof r!="object"?null:r.system==="bazi"?b(r):r.system==="ziwei"?w(r):r.system==="liuyao"?z(r):r.system==="meihua"?T(r):r.system==="daliuren"?Z(r):r.system==="qimen"?N(r):r.system==="tarot"?dn(r):r.system==="hepan"?J(r):r.system==="trend"?Un(r):null}return{plainSummary:bn}})(),V.index=(function(){const{buildBazi:B}=V.bazi||{},{buildLiuyao:cn,tossLines:un,bodyLabels:fn,yongshenOf:an,yongshenStrength:I,fushenAccess:H,hexagramStrength:P,jinTuiPower:A,yingqiWindow:E}=V.liuyao||{},{buildZiwei:j,BRIGHTNESS:Y,flowOf:p,asOfParts:i,ZIWEI_SCHOOL_DEFAULTS:h}=V.ziwei||{},{drawTarot:u}=V.tarot||{},{buildMeihua:b}=V.meihua||{},{buildDaliuren:w}=V.daliuren||{},{buildHepan:S,tripleOf:q}=V.hepan||{},{buildZiweiHepan:o}=V["ziwei-hepan"]||{},{buildQimen:d,buildSnapshot:g}=V.qimen||{},{geocodeAddress:z,resolveAddress:T}=V.geo||{},{toJDN:Z,ganzhiName:N,dayGanzhiIndex:dn}=V.calendar||{},{bool:J,canonicalFlags:Un,canonicalNumbers:bn}=V.bool||{},{randomOf:r,isSeed:C}=V.random||{},{encodeHandle:on,decodeHandle:zn,resolveHandle:xn,pruneForeignKeys:pn,ownedKeys:ln}=V.handle||{},{askLink:en,parseAskLink:tn,formOf:hn,restNote:y,askPackages:U}=V.bridge||{},{parseRevision:v,displayValue:F}=V.revise||{},{interpret:$n,DIRECTIONS:jn,DIRECTION_DEFAULT:Cn}=V.interpret||{},{followup:wn,askPrompt:Dn}=V.followup||{},{crossCheck:oe,crossText:ne,crossSection:Hn}=V.crosscheck||{},{pastSignals:Jn,verifyFit:Xn}=V.verify||{},{rectifyBirth:Fn}=V.rectify||{},{buildAlmanac:Qn}=V.almanac||{},{buildZeri:se}=V.zeri||{},{buildChenggu:ae}=V.chenggu||{},{buildXiaoliuren:ue}=V.xiaoliuren||{},{buildStar:K}=V.star||{},{buildNumerology:mn}=V.numerology||{},{buildMbti:D,mbtiPaper:f}=V.mbti||{},{buildConvert:R}=V.convert||{},{classicsFor:s,classicsText:c,suiyunClassicOf:M,classicOf:_,CLASSIC_BOOKS:W}=V.classics||{},{diffObjects:nn,summarize:En,sortDiffs:Sn,labelOf:m,rootOf:l,categoryOf:k,formatValue:O,CALIBER_SWITCHES:sn,viewRows:yn}=V.diff||{},{canonicalJson:Tn,fingerprintOf:rn}=V.fingerprint||{},{buildTrend:_n}=V.trend||{},{buildFengshui:Rn}=V.fengshui||{},{buildName:Yn}=V.name||{},{buildTrace:te,traceMarkdown:Pn,SYSTEM_LABEL:Bn}=V.trace||{},{fail:qn}=V.fail||{},{assertCivil:ye,MIN_YEAR:be,MAX_YEAR:An}=V.validate||{},{parseDateTime:Kn,daysInMonth:Ne}=V.datetime||{},kt=n=>String(n).padStart(2,"0"),Ke=["male","female"],de=new Set(["bazi","ziwei","hepan","trend","meihua","daliuren","qimen","name"]),ot={bazi:{what:"时柱",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(只排三柱)"},ziwei:{what:"命宫与生时星曜",advice:"紫微排不出三柱,必须补上出生时刻"},hepan:{what:"两侧时柱",advice:"两侧都要出生时刻,合盘才有意义"},trend:{what:"时柱与起运",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(按日估算)"},meihua:{what:"起卦时刻",advice:"时间起卦要用真实起念时刻,请补 HH:mm"},daliuren:{what:"起课时辰(月将与贵人)",advice:"请补起课时刻 HH:mm"},qimen:{what:"起局时辰(旬首与局数)",advice:"请补起局时刻 HH:mm"},name:{what:"时柱",advice:"请补出生时刻 HH:mm"}};function Se(n,t=""){if(Ke.includes(n))return n;const a=n==null||n===""?"(未提供)":`「${n}」`;throw qn("E_INPUT",`${t?t+"的":""}gender 必须是 male 或 female${a};性别决定大运/大限顺逆,不能靠默认值`)}const gt=["brightnessSchool","gengYearSihua","tianmaSchool","tiankongSchool","jiekongSchool","kuiyueSchool","tianshiTianshang","changshengSchool","lateZishi","shenzhuSchool","mingzhuSchool","zuoyaoSchool","liunianSihua","sihuaVariant","jieluSchool","suipoSchool"];function it(n){const t={};for(const a of gt)n[a]!==void 0&&(t[a]=n[a]);return n.schools&&typeof n.schools=="object"&&(t.schools=n.schools),t}function re(n){const t=n.pillars,a=(Gn,le)=>`${Gn}:${le.ganzhi} ${le.stemTenGod?`十神 ${le.stemTenGod} `:""}藏干 ${le.hidden.map(qe=>`${qe.stem}(${qe.tenGod})`).join(" ")} 纳音 ${le.nayin} 地势 ${le.dishi} 自坐 ${le.zizuo} 空亡 ${le.kongwang.join("")}`+(le.shensha&&le.shensha.length?` 神煞 ${le.shensha.join("、")}`:""),e=Object.entries(n.wuxing).map(([Gn,le])=>`${Gn}${le}`).join(" "),x=n.palaces?`【胎元】${n.palaces.taiyuan.ganzhi} 胎息 ${n.palaces.taixi?n.palaces.taixi.ganzhi:"—"}`+(n.palaces.minggong?` 命宫 ${n.palaces.minggong.ganzhi}`:" 命宫 时柱暂缺,不排")+(n.palaces.shengong?` 身宫 ${n.palaces.shengong.ganzhi}`:" 身宫 时柱暂缺,不排"):"",$=n.dayun.list.slice(0,8).map(Gn=>`${Gn.startAge}岁 ${Gn.ganzhi}(${Gn.stemTenGod})${Gn.luck?`·${Gn.luck.tier}`:""}${Gn.relations&&Gn.relations.length?`[${Gn.relations.join("")}]`:""}`).join(" "),L=n.dayun.jiao&&n.dayun.jiao.at?`;交运 ${n.dayun.jiao.at}(${n.dayun.jiao.frame},距${n.dayun.jiao.from.name} ${n.dayun.jiao.spanDays} 天,三日折一年)`:"",G=n.dayun.startAgeExact,X=G&&Number.isInteger(G.years)?`起运岁(精确):${G.years} 年 ${G.months} 个月 ${G.days} 天 ${G.hours} 小时(${G.caliber};上面「${n.dayun.startAge.years}岁${n.dayun.startAge.months}个月」是四舍五入到月,两者同源)`:"",In=n.jieqi.nearBoundaryMinutes<20?`
|
|
77
|
+
⚠ 出生时刻距「节」仅 ${n.jieqi.nearBoundaryMinutes} 分钟,而节气时刻本身有最多约 14 分钟的偏差,月柱与年柱建议人工复核。`:"",vn={year:"年",month:"月",day:"日",hour:"时"},Nn=n.shensha&&n.shensha.groups&&n.shensha.groups.length?`神煞(${n.shensha.count} 见):`+n.shensha.groups.map(Gn=>`${Gn.cat}|`+Gn.items.map(le=>`${le.name}(${le.pillars.map(qe=>vn[qe]).join("")})`).join("、")).join(";"):"神煞:—",Q=n.renyuan,Ln=_("smt-renyuan"),Mn=Q?`人元:${Q.month}月第${Q.day}日,${Q.active}${Q.activeElement}司权(${Q.segments.map(Gn=>`${Gn.stem}${Gn.from}–${Gn.to}`).join(" ")})${Q.beyond?";已过 30 日表,按本气算":""}${Ln?`|原文见《${W[Ln.book].name}·${Ln.chapter}》`:""}`:"",ce=n.frame&&n.frame.yongshen&&n.frame.yongshen.disputed||[],ee=ce.length?` 有争议:${ce.map(Gn=>`${Gn.element}(${Gn.favorRole};${Gn.climate}盘调候忌${Gn.element})`).join("、")}`:"",me=new Set(ce.map(Gn=>Gn.element)),fe=n.frame&&n.frame.yongshen&&n.frame.yongshen.neutral||[],Zn=fe.length?` 中性偏忌:${fe.map(Gn=>`${Gn.element} ${Gn.weight} 分`).join("、")}(近零,不作实忌)`:"",gn=n.frame?[`格局:${n.frame.primary?`${n.frame.primary.name}(${n.frame.primary.evidence})`:"—"}`,` ${n.frame.geju.map(Gn=>`${Gn.name}[${Gn.kind}${Gn.status?`·${Gn.status}`:""}]`).join(" ")}`,`用神:喜${n.frame.yongshen.favor.join("")}(${n.frame.yongshen.favorTenGods.join("、")}) 忌${n.frame.yongshen.avoid.join("")}(${n.frame.yongshen.avoidTenGods.join("、")})${ee}${Zn} ${n.frame.yongshen.method}`,` ${n.frame.yongshen.detail}`,`寒暖:${n.climate?`${n.climate.label}(${(n.climate.evidence||[]).join("、")})${n.climate.need?` 调候取${n.climate.need.stem}${n.climate.need.element} 忌${n.climate.avoidElement}${me.has(n.climate.avoidElement)?"(有争议)":""}`:""}`:"—"}`+(n.frame.yongshen.qt?` 穷通:${n.frame.yongshen.qt.month}${n.frame.yongshen.qt.stem}取${n.frame.yongshen.qt.yong.join("、")}(首取${n.frame.yongshen.qt.primary})`:""),`十神权重:${Object.entries(n.frame.godStats.groups).map(([Gn,le])=>`${Gn}${le}`).join(" ")}`]:[],On=n.strength&&n.strength.branchStructure,kn=On?On.branches.map(Gn=>`${Gn.label}${Gn.branch}${Gn.camp}${On.placeholderHour&&Gn.key==="hour"?"·占位":""}`).join("、"):"",Vn=On&&!On.placeholderHour&&!On.complete?" 时柱暂缺,只列三支":"",ie=On?`地支结构:${On.placeholderHour?"三支+占位":"四支"} ${On.code}(${kn}) ${On.word}${On.congProb!=null?`(静态从格 ${On.congRange})`:""}${Vn}`:"",Wn=n.relations&&Array.isArray(n.relations.anhe)?n.relations.anhe:[],he=Wn.length?`暗合:${Wn.join(" ")}(另列,不并入上面的合冲刑害;${Wn.length===1?"只一对,按口径可忽略":`共 ${Wn.length} 对`})`:"",Ee=n.hourUnknown===!0||!t.hour;return[`【四柱】${t.year.ganzhi} ${t.month.ganzhi} ${t.day.ganzhi}${t.hour?` ${t.hour.ganzhi}`:"(时柱暂缺)"}`,`日主:${n.dayMaster.stem}${n.dayMaster.element}(${n.dayMaster.yinYang}) 空亡:${n.kongwang.join("")}`,a("年柱",t.year),a("月柱",t.month),a("日柱",t.day),...Ee?[]:[a("时柱",t.hour)],`五行:${e}`,...x?[x]:[],`日主强弱:${n.strength.level}(${n.strength.score}) ${n.strength.detail}`,...ie?[ie]:[],...gn,`天干关系:${n.relations&&n.relations.stems.length?n.relations.stems.join(" "):"—"}`,`地支关系:${n.relations&&n.relations.branches.length?n.relations.branches.join(" "):"—"}`,...he?[he]:[],Nn,`真太阳时:${n.solarTime.trueSolarText}(${n.input.geo?n.input.geo.note+";":""}${n.solarTime.note}) 晚子时:${n.input.lateZi?"23:00 后算次日":"23:00 后仍算当日"}`,`节气:上一节 ${n.jieqi.previous.name} ${n.jieqi.previous.time} 下一节 ${n.jieqi.next.name} ${n.jieqi.next.time}`,...Mn?[Mn]:[],`大运:${n.dayun.rule}(${n.dayun.direction}),${n.dayun.startAge.years}岁${n.dayun.startAge.months}个月起运${L}`,...X?[X]:[],` ${$}`,`流年:${n.liunian.slice(0,10).map(Gn=>`${Gn.year}${Gn.ganzhi}(${Gn.stemTenGod})${Gn.luck?`·${Gn.luck.tier}`:""}`).join(" ")}`,(()=>{const Gn=n.liunian.filter(pe=>pe.suiyun&&pe.suiyun.signals&&pe.suiyun.signals.length);if(!Gn.length)return"岁运提示:近十年无岁运并临、运年反吟或大运/流年伏吟、反吟(只标干支,不判吉凶)";const le=pe=>`${pe.type}${(pe.type.startsWith("流年")||pe.type.startsWith("大运"))&&pe.target?`(${pe.target})`:""}`,qe=M(n),Et=qe?`|古籍见《${W[qe.book].name}·${qe.chapter}》`:"";return"岁运提示(只标干支变动,不判吉凶):"+Gn.map(pe=>`${pe.year}${pe.ganzhi} ${pe.suiyun.signals.map(le).join("/")}`).join(";")+Et})(),"(格局、用神、行运吉凶为扶抑+简化调候的量化提示,非断语。)"].join(`
|
|
78
|
+
`)+In}function We(n){const t=n.lunar.monthRaw||n.lunar.month,a=`${n.lunar.year}年${n.lunar.isLeap?`闰${t}`:n.lunar.month}月${n.lunar.day}日`+(n.lunar.isLeap&&n.lunar.month!==t?`(按${n.lunar.month}月起盘)`:""),e=(()=>{if(!n.schools)return"";const Ln=Object.entries({brightnessSchool:"亮度",gengYearSihua:"庚干四化",tianmaSchool:"天马",tiankongSchool:"天空",jiekongSchool:"截空",kuiyueSchool:"魁钺",tianshiTianshang:"天伤天使",changshengSchool:"长生",lateZishi:"晚子时",shenzhuSchool:"身主",mingzhuSchool:"命主取法",zuoyaoSchool:"杂曜全表",liunianSihua:"流年四化取干",sihuaVariant:"十干四化变体",jieluSchool:"截路空亡",suipoSchool:"岁前十二神"}).filter(([Mn])=>n.schools[Mn]&&n.schools[Mn]!==h[Mn]).map(([Mn,ce])=>`${ce} ${n.schools[Mn]}`);return Ln.length?`【流派】${Ln.join(" ")}`:""})(),x=Q=>Q.length?Q.map(Ln=>`${Ln.name}${Ln.mutagen?`化${Ln.mutagen}`:""}`).join(" "):"—",$=Q=>`神煞:长生(${Q.changsheng}) 博士(${Q.boshi}) 将前(${Q.jiangqian}) 岁前(${Q.suiqi})`,L=[];for(const Q of n.palaces){const Ln=Q.isSoul?"【命】":Q.isBody?"【身】":" ";L.push(` ${Q.palace} ${Q.branch} ${Q.ganzhi} ${Ln} 大限${String(Q.daxian.start).padStart(2)}-${Q.daxian.end} 小限${String(Q.xiaoxian.age).padStart(2)} ${x(Q.stars)}`),L.push(` ${$(Q.shensha)}`)}const G=(n.liunian??[]).slice(0,6).map(Q=>` ${Q.year} ${Q.ganzhi} ${String(Q.age).padStart(2)}岁 命宫${Q.lifePalace.branch}(${Q.lifePalace.palace}) 流禄${Q.liulu} 流羊${Q.liuyang} 流陀${Q.liutuo} | ${Q.mutagen.map(Ln=>Ln.replace("化","")).join(" ")}`+(Q.mutagenHits?` 四化落宫 ${Q.mutagenHits.map(Ln=>`${Ln.star}${Ln.type}→${Ln.palace||"未上盘"}`).join("、")}`:"")+(Q.sanfangMainStars?` 三方主星 ${Q.sanfangMainStars.join("")}`:"")),X=(n.patterns??[]).length?n.patterns.map(Q=>`${Q.name}(${Q.tone==="good"?"吉格":Q.tone==="bad"?"忌格":"中"}:${Q.evidence})`).join(";"):"无明显格局(按内置规则)",In=(n.daxianList??[]).slice(0,8).map(Q=>` ${Q.branch}宫(${Q.palace})${Q.ages[0]}-${Q.ages[1]}岁 ${Q.ganzhi} 会${Q.mainStars.join("")||"—"} 化 ${Q.mutagenHits.map(Ln=>`${Ln.star}${Ln.type}→${Ln.palace||"未上盘"}`).join("、")}`),vn=(()=>{const Q=n.flyChains;if(!Q)return"";const Ln=ce=>{const ee=Q[ce];return!ee||!ee.steps.length?"":`${ce}:${ee.path.join("→")}${ee.closed?"(成环)":""}`},Mn=["禄","权","科","忌"].map(Ln).filter(Boolean).join(" ");return Mn?`【命宫飞星】${Mn}`:""})(),Nn=(()=>{const Q=n.flyComposite;if(!Q||!Array.isArray(Q.sources)||!Q.sources.length)return"";const Ln=Q.labels.length?Q.labels.join(" · "):"无同宫会聚",Mn=["禄","权","科","忌"].map(ce=>{const ee=(Q.byType&&Q.byType[ce]||[]).filter(fe=>!fe.self),me=[...new Set(ee.map(fe=>String(fe.to).replace(/宫$/,"")))];return me.length?`${ce}→${me.join("/")}`:""}).filter(Boolean).join(" ");return`【三方四正飞化】${Q.sanfang.join("·")}:${Ln}${Mn?` ${Mn}`:""}`})();return[`【农历】${a}(月首 ${n.lunar.monthStart}) 时支:${n.hourBranch} 年干支:${n.yearGanzhi}`,`【时刻】${n.solarTime?`${n.solarTime.civilText} → 真太阳时 ${n.solarTime.trueSolarText}${n.input.geo?"("+n.input.geo.note+")":""}`:""}`,`【命宫】${n.soul.branch}(${n.soul.ganzhi}·${n.soul.nayin}) 【身宫】${n.body.branch}(落${n.body.lands}) 【五行局】${n.bureau.name}`,`【紫微】${n.ziwei} 【天府】${n.tianfu} 【命主】${n.lifeMaster} 【身主】${n.bodyMaster}${n.bodyMasterNote?`(${n.bodyMasterSchool==="common"?"子午皆火星":"子铃午火"})`:""}${n.lifeMasterNote?`(${n.lifeMasterNote})`:""}`,`【大限】${n.daxian.rule},${n.daxian.startAge}岁起 【小限】${n.xiaoxianRule.direction}`,e,`【昌曲】文昌${n.changqu.wenchang.branch}(${n.changqu.wenchang.palace}${n.changqu.wenchang.mutagen?"·化"+n.changqu.wenchang.mutagen:""}) 文曲${n.changqu.wenqu.branch}(${n.changqu.wenqu.palace}${n.changqu.wenqu.mutagen?"·化"+n.changqu.wenqu.mutagen:""})`,` ${n.changqu.relation} 入命三方:${n.changqu.inSoulSanfang?"是":"否"} 吸收面:${n.changqu.absorb.label}(${n.changqu.absorb.reason})`,vn,Nn,"十二宫:",...L,"大限(按起运年龄排序,前 8 限,宫干四化落宫):",...In,"流年(前 6 年,完整 12 年在结构化数据里):",...G,`【格局】${X}`,n.patternSummary?`【结构统计】吉格 ${n.patternSummary.good.length}、中性 ${n.patternSummary.neutral.length}、忌格 ${n.patternSummary.bad.length}${n.patternSummary.broken.length?`、破格 ${n.patternSummary.broken.length}(${n.patternSummary.broken.join("、")})`:""};${n.patternSummary.note}`:"",n.lunar.note?`注:${n.lunar.note}`:""].filter(Boolean).join(`
|
|
79
|
+
`)}const ze=["旺","相","休","囚","死"];function Le(n){const t=n.states,a=n.month;if(!t||!a)return"无月令数据";const e=x=>ze.filter($=>x&&Array.isArray(x[$])&&x[$].length).map($=>`${$} ${x[$].join("/")}`).join(" ");return`月令 ${a.branch}(${a.element}) 门 ${e(t.gate)||"—"} 星 ${e(t.star)||"—"} 干 ${e(t.stem)||"—"}`}function Ce(n){const t=n.palaces,a=e=>`${e.palace}宫 ${e.star||"—"}/${e.gate||"—"}/${e.god||"—"}${e.kong?" 空":""}${e.ma?" 马":""}`;return[`【四柱】${n.siZhu.year} ${n.siZhu.month} ${n.siZhu.day} ${n.siZhu.time}`,`【局数】${n.ju} 节气 ${n.jieqi}(${n.jieqiTime})`,`【值符】${n.zhiFu.star}(${n.zhiFu.gong}宫) 【值使】${n.zhiShi.gate}(${n.zhiShi.gong}宫) 旬首 ${n.xunshou}`,`【空亡】${n.kongWang.join("")||"—"} 驿马 ${n.ma.zhi||"—"}(${n.ma.gong||"—"}宫)`,`【宫位条件】击刑 ${(n.conditions&&n.conditions.jiXing||[]).map(e=>`${e.palace}宫${e.stem}`).join("、")||"无"} 三奇入墓 ${(n.conditions&&n.conditions.ruMu||[]).map(e=>`${e.palace}宫${e.stem}`).join("、")||"无"} 六仪入墓 ${(n.conditions&&n.conditions.liuYiRuMu||[]).map(e=>`${e.palace}宫${e.stem}`).join("、")||"无"}`,`【十干克应】${[...t,n.centerPalace].filter(e=>e&&e.ganYing).map(e=>`${e.palace}宫 ${e.ganYing.tian}加${e.ganYing.di} ${e.ganYing.name}`).join(" ")||"—"}`,`【旺衰】${Le(n)}`,`【九宫】${t.map(a).join(" ")}`,`※ 晚子时:${n.lateZiHourMode==="next-day"?"23:00 后归次日":"23:00 后仍归当日"}(可用 lateZiHourMode / lateZi 指定)`,`※ ${n.rules[n.rules.length-1]}`].join(`
|
|
80
|
+
`)}function Pe(n){if(!n||!Array.isArray(n.pairs)||!n.pairs.length)return[];const t=["【三方合盘】三对两两并列,不合成「三人总分」",...n.pairs.map(a=>`· ${a.a}–${a.b}:${a.level||"—"}(${a.total==null?"—":`${a.total}/100`})`)];return n.best&&(n.spread>=3?t.push(` 最顺:${n.best.a}–${n.best.b}(${n.best.total}/100)`+(n.hardest?`;最需磨合:${n.hardest.a}–${n.hardest.b}(${n.hardest.total}/100)`:"")):t.push(` 三对分数接近(最高与最低相差 ${n.spread} 分),不排名`)),n.focus&&n.focus.spread>=3&&t.push(` 差异最大的一维:${n.focus.label}(三对相差 ${n.focus.spread} 分)`),n.note&&t.push(`※ ${n.note}`),t}function Je(n){if(n.chart==="ziwei"){const e=x=>`${x.label}:${x.score>=0?"+":""}${x.score} ${x.text}`;return[`【紫微合盘】${n.score.level}(${n.score.total}/100)`,`你 命宫 ${n.a.soul.branch}(${n.a.soulStars.join("、")||"无主星"}) 夫妻 ${n.a.spouseStars.join("、")||"无主星"} ${n.a.bureau}`,`对方 命宫 ${n.b.soul.branch}(${n.b.soulStars.join("、")||"无主星"}) 夫妻 ${n.b.spouseStars.join("、")||"无主星"} ${n.b.bureau}`,...n.dimensions.map(e),...n.interactions.map(x=>` · ${x.text}`),...Pe(n.triple),...n.notes.map(x=>`※ ${x}`)].join(`
|
|
81
|
+
`)}const t=e=>`${e.label}:${e.score>=0?"+":""}${e.score} ${e.text}`,a=e=>!e||!e.solarNote?"—":`${e.longitude==null?"未含经度修正":`${e.longitude}°E`}(${e.solarNote})`;return[`【合盘】${n.score.level}(${n.score.total}/100)`,`你 ${n.a.pillars.join(" ")} 日主 ${n.a.dayMaster} 日支 ${n.a.dayBranch} ${n.a.strength||""}`,`对方 ${n.b.pillars.join(" ")} 日主 ${n.b.dayMaster} 日支 ${n.b.dayBranch} ${n.b.strength||""}`,`真太阳时:你 ${a(n.a)};对方 ${a(n.b)}`,...n.dimensions.map(t),...n.detail?[`属相:${n.detail.yearRelation.label}——${n.detail.yearRelation.text}`,`日干:${n.detail.stems.text}`,...n.detail.crossBranches&&n.detail.crossBranches.length?[`跨盘地支:${n.detail.crossBranches.map(e=>`${e.name}(${e.a}${e.b})`).join("、")}`]:[],`年命纳音:${n.detail.nayin.a} / ${n.detail.nayin.b}(${n.detail.nayin.label})——${n.detail.nayin.text}`,`吉凶象:吉 ${n.detail.tally.good} / 凶 ${n.detail.tally.bad}(${n.detail.tally.lean};分档只数象,总分以上面三维度为准)`]:[],...Pe(n.triple),...n.notes.map(e=>`※ ${e}`)].join(`
|
|
82
|
+
`)}function at(n){const t=n.sanChuan,a=e=>`${e.zhi}(${e.jiang}${e.liuQin}${e.xunKong?"空":""})`;return[`【日时】${n.dayGanZhi}日 ${n.hourZhi}时(${n.dayNight}贵) 月将 ${n.yueJiang.name}${n.yueJiang.zhi} 节气 ${n.jieqi.name} ${n.lateZi===!1?"晚子时不换日":"晚子时换日"}`,`【三传】初 ${a(t.chu)} → 中 ${a(t.zhong)} → 末 ${a(t.mo)}`,`【四课】${n.siKe.map(e=>`${e.position}课 ${e.shang}上${e.xia}下(${e.relation}·${e.jiang})`).join(" ")}`,`【天地盘】${n.pan.map(e=>`${e.di}:${e.tian}(${e.jiang})`).join(" ")}`,`【格局】${n.geJu.name}·${n.geJu.detail}`,...n.shensha&&n.shensha.length?[`【神煞】${n.shensha.map(e=>`${e.name}${e.branch}`).join(" ")}`]:[]].join(`
|
|
83
|
+
`)}function st(n){const t=[`【起卦】${n.source}`,`【本卦】${n.ben.name}(上${n.ben.upper} 下${n.ben.lower}) 动爻:${n.movingName}`,`【互卦】${n.hu.name} 【变卦】${n.bian.name} 【错卦】${n.cuo.name} 【综卦】${n.zong.name}`,`【体用】体 ${n.bodyUse.body.trigram}${n.bodyUse.body.element} 用 ${n.bodyUse.use.trigram}${n.bodyUse.use.element} ${n.bodyUse.level}`,` ${n.bodyUse.relation}`],a=n.lines.slice().reverse().map(e=>` ${e.name} ${e.yinYang==="阳"?"━━━━━":"━━ ━━"}${e.moving?" ←动":""}`);return[...t,"【爻】",...a].join(`
|
|
84
|
+
`)}function rt(n){const t=[n.question?`【所问】${n.question}`:"(未填写提问)",`【牌阵】${n.spread}${n.castAt?` 抽牌于 ${n.castAt}`:""}`];for(const a of n.cards){const e=a.astro?` ${a.astro}`:a.role?` ${a.role}`:"",x=a.en?` [${a.en}]`:"";t.push(` ${a.position}:${a.name}${x}(${a.orientation})${e} ${a.keywords.join("、")}`),a.image&&t.push(` 牌面:${a.image}`)}if(n.reading&&n.reading.length){t.push("【解读】");for(const a of n.reading)t.push(` ${a}`)}return t.join(`
|
|
85
|
+
`)}function ct(n){const t=X=>{const In=X.lines.slice().reverse().map(vn=>{const Nn=vn.position===X.shi?"世":vn.position===X.ying?"应":" ";return` ${vn.name} ${Nn} ${vn.symbol} ${vn.ganzhi}${vn.element} ${vn.liuqin}/${vn.liushen}`});return[`${X.name}(${X.palace}·${X.palaceElement})`,...In].join(`
|
|
86
|
+
`)},a=[`起卦:${n.cast.notation.join("、")}(自下而上)`,`日辰:${n.dayGanZhi.name}`,n.xunShou?`旬首:${n.xunShou} 旬空:${(n.xunKong||[]).join("")||"—"}`:"",n.question?`所问:${n.question}`:"","本卦:",t(n.ben)];n.bian?a.push(`动爻:第 ${n.cast.movingPositions.join("、")} 爻`,"变卦(六亲以变卦自身宫论):",t(n.bian)):a.push("六爻安静,无变卦。");const e=n.body&&Array.isArray(n.body.labels)?n.body.labels:fn(n.body);a.push(`卦体:${e.length?e.join(" · "):"无六冲、六合、伏吟、反吟"}`);const x=n.useGod||an(n,{});if(x&&x.liuqin){const X=x.found.length?x.found.map(Ln=>`${Ln.position}爻${Ln.ganzhi}${Ln.element}${Ln.kong?"(空)":""}`).join("、"):x.fushen.length?x.fushen.map(Ln=>`伏 ${Ln.position}爻${Ln.ganzhi}${Ln.element}(${Ln.relation||"飞伏关系未知"})`).join("、"):"不上卦";a.push(`用神:${x.byShi?"世爻":x.liuqin}(${x.ask})→ ${X}${x.side?`(${x.side})`:""}`);const In=x.byShi?"用神 世爻":`用神 ${x.liuqin}`,vn=x.labels.filter(Ln=>Ln!==In&&!Ln.startsWith(In));vn.length&&a.push(`用神联动:${vn.join(" · ")}`);const Nn=n.useGodStrength;if(Nn&&Nn.labels.length){const Ln=Nn.month&&Nn.month.branch?`月建 ${Nn.month.branch}(${Nn.month.element}) `:"";a.push(`用神旺衰:${Ln}${Nn.labels.join(" · ")}`)}const Q=n.fushenAccess;Q&&Array.isArray(Q.labels)&&Q.labels.length&&a.push(`伏神出伏:${Q.labels.join(" · ")}`)}else a.push("用神:未取(未指明所问之事;用「询问方向」指定后即按六亲取用)");const $=n.hexStrength;if($&&Array.isArray($.labels)&&$.labels.length){const X=$.month&&$.month.branch?`月建 ${$.month.branch}(${$.month.element}) `:"无月建(未给起卦时间) ";a.push(`全卦旺衰:${X}${$.labels.join(" · ")}`)}const L=n.jinTuiPower;L&&Array.isArray(L.lines)&&L.lines.length&&a.push(`进退力重:${L.lines.map(X=>`${X.position}爻${X.from}→${X.to}${X.type}·${X.verdict}`).join(" · ")}`);const G=n.yingqi;return G&&Array.isArray(G.triggers)&&G.triggers.length&&a.push(`应期线索:${G.tempo} · ${G.triggers.map(X=>`${X.labels.join("/")}${X.branch}`).join(" · ")}(只列地支,不出日期)`),a.filter(Boolean).join(`
|
|
87
|
+
`)}function ut(n){const t=new WeakSet,a=(e,x)=>{switch((e instanceof Number||e instanceof String||e instanceof Boolean)&&(e=e.valueOf()),e&&typeof e=="object"&&typeof e.toJSON=="function"&&(e=e.toJSON(x)),typeof e){case"string":case"boolean":return e;case"number":return Number.isFinite(e)?Object.is(e,-0)?0:e:null;case"bigint":throw new TypeError("Do not know how to serialize a BigInt");case"object":{if(e===null)return null;if(t.has(e))throw new TypeError("Converting circular structure to JSON");t.add(e);let $;if(Array.isArray(e)){$=new Array(e.length);for(let L=0;L<e.length;L++){const G=a(e[L],String(L));$[L]=G===void 0?null:G}}else{$={};for(const L of Object.keys(e)){const G=a(e[L],L);G!==void 0&&($[L]=G)}}return t.delete(e),$}default:return}};return a(n,"")}const yt=new Set(["shadow","shadowVersion","diff","trace","traceError","withInterpret","detail","cross","verifyPast","rectify","events","geocode","ask","followup","caliber","seed","asOf","handle","revise","geo","longitudeFromGeo"]),De=n=>{if(n==null||n==="")return null;const t=Number(n);return Number.isFinite(t)?Number(t.toFixed(6)):null};function He(n){if(n==null||n==="")return null;try{const t=Kn(n);return{y:t.year,m:t.month,d:t.day,h:t.hour,mi:t.minute,precision:t.precision}}catch{return String(n).trim()}}function Ae(n={}){const t={};return n.datetime&&(t.datetime=He(n.datetime)),n.gender&&(t.gender=String(n.gender).toLowerCase()),n.longitude!==void 0?t.longitude=De(n.longitude):n.address&&(t.address=String(n.address).trim()),n.lateZi!==void 0&&(t.lateZi=J(n.lateZi,!0)),n.trueSolar!==void 0&&(t.trueSolar=J(n.trueSolar,!0)),n.dst!==void 0&&(t.dst=J(n.dst,!0)),t}function Xe(n){return n.lateZiHourMode==="next-day"||J(n.lateZi)?"next-day":"same-day"}function lt(n,t){const a=String(t&&t.system||n.system||""),e=t&&t.input&&typeof t.input=="object"?t.input:null;if(a==="bazi"&&e)return{civil:e.civil,gender:e.gender,longitude:De(e.longitude),lateZi:J(e.lateZi,!0),trueSolar:J(e.trueSolar,!0),dst:!!(e.dst&&e.dst.applied)};if(a==="ziwei"&&e)return{civil:{year:e.year,month:e.month,day:e.day,hour:e.hour,minute:e.minute},gender:e.gender,longitude:De(e.longitude),leapMonth:e.leapMonth||"split",leapAsNext:J(e.leapAsNext),schools:e.schools||h,trueSolar:J(e.trueSolar,!0),dst:!!(e.dst&&e.dst.applied)};if(a==="qimen")return{datetime:He(n.datetime),juMethod:n.juMethod||"chaibu",lateZiHourMode:Xe(n)};if(a==="hepan"){const L={chart:n.chart==="ziwei"?"ziwei":"bazi",a:Ae({...n,datetime:n.datetime}),b:Ae(n.partner||{})};return n.partner2&&(L.c=Ae(n.partner2)),L}const x={},$=(L,G)=>Object.defineProperty(x,L,{value:G,enumerable:!0,writable:!0,configurable:!0});for(const[L,G]of Object.entries(n))if(!(yt.has(L)||G===void 0))if(L==="datetime")$(L,He(G));else if(L==="partner")$(L,Ae(G));else if(L==="gender")$(L,String(G).toLowerCase());else{if(L==="address")continue;typeof G=="number"?$(L,Number.isFinite(G)?Object.is(G,-0)?0:G:null):typeof G=="string"?$(L,G.trim()):$(L,G)}return a==="daliuren"&&x.lateZi===void 0&&(x.lateZi=!0),a==="tarot"&&x.count===void 0&&(x.count=3),a==="meihua"&&x.mode===void 0&&(x.mode="time"),a==="xiaoliuren"&&x.mode===void 0&&(x.mode="time"),a==="convert"&&x.mode===void 0&&(x.mode="solar2lunar"),a==="fengshui"&&x.action===void 0&&(x.action="natal"),a==="tarot"&&t&&Array.isArray(t.cards)&&t.cards.length&&(x.cards=t.cards.map(L=>`${L.name||""}|${L.upright?"正":"逆"}`)),a==="liuyao"&&t&&t.cast&&Array.isArray(t.cast.lines)&&(x.cast=t.cast.lines.join("")),x}function ht(n,t,a=Oe(t.asOf)){const e=t.seed,x=!(e==null||e==="");return n==="liuyao"&&Array.isArray(t.lines)&&t.lines.length===6?{reproducible:!0}:(n==="tarot"||n==="liuyao")&&!x?{reproducible:!1,reason:"未给 seed:重算会变成另一副牌 / 另一卦"}:n==="bazi"||n==="ziwei"||n==="trend"||n==="fengshui"?{reproducible:!0,asOfPinned:!!a}:{reproducible:!0}}function Oe(n){if(n==null||n==="")return null;if(typeof n=="object")return n;const t=String(n).trim();if(!t)return null;const a=i(t);if(!a)return t;const e=$=>String($).padStart(2,"0");return`${String(a.year).padStart(4,"0")}-${e(a.month)}-${e(a.day)}T${e(a.hour)}:${e(a.minute)}`}function Qe(n={},t={}){const a=t.result||null,e=String(a&&a.system||n.system||""),x=String(t.version||typeof globalThis<"u"&&globalThis.__MP_VER||"dev"),$=Oe(n.asOf);return{...rn({system:e,params:lt(n,a),seed:n.seed,asOf:$,version:x}),...ht(e,n,$),system:e,version:x}}const Ge=new Set(["shadow","trace","traceText","traceError","interpret","summary","classics","suiyunClassic","renyuanClassic","cross","past","rectify","followup","caliber","input","reading","knowledge","outline","sections","answer","plain","tables","glossary","caveats","lead","dimensions","moduleType","technique","disclaimer","ask","followups","knowledgeCount","title","systemLabel","handle","handleError","revision"]);function mt(n){const t={};for(const[a,e]of Object.entries(n||{}))Ge.has(a)||(t[a]=e);return t}function Ue(n){return!n||!n.shadow||!n.shadow.baseId?null:{snapshot:!0,shadow:n.shadow,data:mt(n)}}function xe(n,t,a={}){const e=n&&n.shadow,x=t&&t.shadow;if(!e||!x)return{sameId:!1,total:0,reason:"缺少影子盘信息"};if(e.baseId&&x.baseId&&e.baseId!==x.baseId)return{sameId:!1,total:0,fromId:e.id,toId:x.id,fromBaseId:e.baseId,toBaseId:x.baseId,reason:"基础指纹不同,不是同一张盘"};const $=Q=>Q.snapshot===!0&&Q.data&&typeof Q.data=="object"?Q.data:mt(Q),L=nn($(n),$(t)),G=Sn(L.filter(Q=>l(Q.path))).map(Q=>({path:Q.path,label:m(Q.path),from:O(Q.from),to:O(Q.to)})),X=new Map;for(const Q of L){const Ln=k(Q.path)||"其他";X.set(Ln,(X.get(Ln)||0)+1)}const In=[...X.entries()].map(([Q,Ln])=>({name:Q,count:Ln})).sort((Q,Ln)=>Ln.count-Q.count||Q.name.localeCompare(Ln.name,"zh-Hans-CN")),vn=a.fromVersion||e.version||"",Nn=a.toVersion||x.version||"";return{sameId:!0,versionChanged:vn!==Nn,fromVersion:vn,toVersion:Nn,total:L.length,summary:En(L),roots:G,categories:In,diffs:L}}function Be(n={}){let t=xn(n),a;if(typeof t.revise=="string"&&t.revise.trim()){const X=v(t.revise),In={...t};t={...t,...X.patch},a={text:X.text,applied:X.labels.map(vn=>{const Nn=In[vn.key]===void 0?null:In[vn.key];return{...vn,from:Nn,fromDisplay:F(vn.key,Nn)}}),ignored:X.ignored},t=pn(t,ln(n,X.patch))}if(t=Un(t),t=bn(t),t.asOf!==void 0&&t.asOf!==null&&t.asOf!==""){const X=Oe(t.asOf);X===null?(t={...t},delete t.asOf):X!==t.asOf&&(t={...t,asOf:X})}if(t.partner2===null&&(t={...t},delete t.partner2),t=dt(t),t.verifyPast!==void 0&&t.verifyPast!==null&&t.verifyPast!==""){const X=Number(t.verifyPast);if(!Number.isInteger(X)||X<1||X>10)throw qn("E_INPUT",`verifyPast 要是 1–10 的整数(年数),收到「${t.verifyPast}」`);t={...t,verifyPast:X}}const e=ut(we(t));if(e&&!e.question&&typeof t.question=="string"&&t.question.trim()&&["liuyao","meihua","daliuren","qimen","tarot","xiaoliuren"].includes(e.system)&&(e.question=t.question.trim()),e)try{const X=xt(e);X&&(e.brief=X)}catch(X){e.briefError=String(X&&X.message||X)}if(a&&(e.revision=a),e&&e.system==="bazi"){e.classics=s(e);const X=c(e.classics);X&&(e.summary=`${e.summary}
|
|
86
88
|
【古籍】
|
|
87
|
-
${
|
|
89
|
+
${X}`);const In=M(e);if(In&&(e.suiyunClassic={...In,bookName:W[In.book].name}),e.renyuan){const vn=_("smt-renyuan");vn&&(e.renyuanClassic={...vn,bookName:W[vn.book].name})}}e&&e.precision&&e.precision.level==="approx"&&e.summary&&(e.summary=`⚠ ${e.precision.note}
|
|
88
90
|
${e.summary}`),e&&(e.system==="bazi"||e.system==="ziwei")&&e.input&&e.input.longitude==null&&e.summary&&(e.summary=`⚠ 未提供出生地或经度:按东八区平太阳时排盘,时柱可能与本命盘相差一个时辰;海外出生请先把当地时间换算成东八区标准时。
|
|
89
91
|
${e.summary}`),e&&e.system==="bazi"&&e.hourUnknown&&e.summary&&(e.summary=`时柱按正午暂算,涉及时柱的结论仅供参考
|
|
90
92
|
${e.summary}`),e&&e.system==="trend"&&e.hourUnknown&&e.summary&&(e.summary=`时柱暂缺:起运与大运按日估算,仅供参考
|
|
91
|
-
${e.summary}`);const
|
|
92
|
-
${e.summary}`}if(e&&e.system==="hepan"&&e.summary){const
|
|
93
|
-
${e.summary}`)}const
|
|
94
|
-
依据:${
|
|
95
|
-
规则 ${
|
|
96
|
-
规则·${
|
|
97
|
-
`))}Array.isArray(n.followups)&&n.followups.length&&
|
|
93
|
+
${e.summary}`);const x=e&&e.system==="meihua"&&t.mode==="number",$=typeof t.datetime=="string"&&t.datetime.trim()!==""&&!/[T\s]\d{1,2}:\d{1,2}/.test(t.datetime.trim()),L=e&&e.system==="name"&&!(typeof t.datetime=="string"&&t.datetime.trim())&&Number.isInteger(t.year)&&Number.isInteger(t.month)&&Number.isInteger(t.day)&&!Number.isInteger(t.hour);if(e&&!x&&!e.hourUnknown&&!e.timeMissing&&de.has(e.system)&&($||L)&&e.summary){e.timeMissing=!0;const X=ot[e.system]||{what:"时刻",advice:"请补上时刻 HH:mm"};e.summary=`⚠ 只给了日期、没有时刻:${X.what}按 00:00 暂算,与真实结果可能整档不同;${X.advice}
|
|
94
|
+
${e.summary}`}if(e&&e.system==="hepan"&&e.summary){const X=[];for(const[In,vn]of[["partner","对方"],["partner2","第三方"]]){const Nn=t[In],Q=Nn&&typeof Nn=="object"?Nn.datetime:void 0;typeof Q=="string"&&!/[T\s]\d{1,2}:\d{1,2}/.test(Q.trim())&&X.push(vn)}X.length&&(e.timeMissing=!0,e.summary=`⚠ 只给了日期、没有时刻:${X.join("、")}的时柱按 00:00 暂算,与真实结果可能整档不同;请补出生时刻 HH:mm
|
|
95
|
+
${e.summary}`)}const G=ge(t.detail);if(t.withInterpret&&(e.interpret=$n(e,{question:typeof t.question=="string"?t.question:"",direction:typeof t.direction=="string"?t.direction:"general"}),e.interpret&&G!=="full"&&(e.interpretTier=G)),J(t.cross)&&J(t.hourUnknown)&&(e.crossSkipped="HOUR_UNKNOWN"),J(t.cross)&&!J(t.hourUnknown)&&(e.system==="bazi"||e.system==="ziwei")){const In={...Kn(t.datetime),gender:Se(t.gender),longitude:typeof t.longitude=="number"?t.longitude:void 0,address:typeof t.address=="string"?t.address:void 0,geo:t.geo&&typeof t.geo=="object"?t.geo:void 0,trueSolar:J(t.trueSolar,!0),dst:J(t.dst,!0)},vn=$e(t.asOf),Nn=t.lateZishi!==void 0?t.lateZishi:t.lateZi===void 0||t.lateZi===null||t.lateZi===""?void 0:J(t.lateZi,!0)?"next-day":"current-day",Q=e.system==="bazi"?j({...In,leapMonth:t.leapMonth,leapAsNext:J(t.leapAsNext),...it(t),...Nn!==void 0?{lateZishi:Nn}:{},asOf:vn}):B({...In,lateZi:J(t.lateZi,!0),nowYear:vn?vn.year:void 0});e.cross=oe(e.system==="bazi"?e:Q,e.system==="ziwei"?e:Q),e.interpret&&e.interpret.sections.push(Hn(e.cross))}if(Number.isInteger(t.verifyPast)&&t.verifyPast>0&&e.system==="bazi"){const X=t.verifyPast,In=Number(e.liunianFrom)-X,vn=B({...Kn(t.datetime),hourUnknown:J(t.hourUnknown),gender:Se(t.gender),lateZi:J(t.lateZi,!0),trueSolar:J(t.trueSolar,!0),longitude:typeof t.longitude=="number"?t.longitude:void 0,address:typeof t.address=="string"?t.address:void 0,geo:t.geo&&typeof t.geo=="object"?t.geo:void 0,dst:J(t.dst,!0),nowYear:In});e.past={rows:Jn(vn,Number(e.liunianFrom)-1),years:X,until:Number(e.liunianFrom)-1}}if(J(t.rectify)&&e.system==="bazi"){const X=Kn(t.datetime);e.rectify=Fn({base:{year:X.year,month:X.month,day:X.day,minute:X.minute},gender:Se(t.gender),events:Array.isArray(t.events)?t.events:[],hours:Array.isArray(t.rectifyHours)?t.rectifyHours:void 0,lateZi:J(t.lateZi,!0),trueSolar:J(t.trueSolar,!0),dst:J(t.dst,!0),longitude:typeof t.longitude=="number"?t.longitude:void 0,address:typeof t.address=="string"?t.address:void 0,geo:t.geo&&typeof t.geo=="object"?t.geo:void 0})}if(typeof t.ask=="string"&&t.ask.trim()&&(e.followup=wn(e,t.ask)),J(t.trace))try{const X=te(e,{direction:t.direction,gender:t.gender});X&&(e.trace=X,e.traceText=Pn(X,{system:e.system}))}catch(X){e.traceError=String(X&&X.message||X)}if(J(t.shadow))try{e.shadow=Qe(t,{result:e,version:t.shadowVersion})}catch(X){e.shadow={error:String(X&&X.message||X)}}try{const X=on(t);X&&(e.handle=X)}catch(X){e.handleError=String(X&&X.message||X)}return e}function Ve(n,t){if(!n)return"";const a=t==="brief",x=a||t==="lean",$=8,L=300,G=[`【${n.title||"解析与详解"}】${n.ask&&n.ask.echo?n.ask.echo:""}`];n.answer&&G.push(`▶ ${n.ask&&n.ask.question?"先答所问":"先看结论"}:${n.answer}`),n.plain&&G.push(`▶ 说人话:${n.plain}`),n.lead&&G.push(n.lead),Array.isArray(n.outline)&&n.outline.length&&G.push("一页读懂:"+n.outline.map(Mn=>`${Mn.label}·${Mn.text}`).join(" ")),n.error&&G.push(`⚠ 解析生成失败:${n.error}(上方盘面数据本身可用)`);const X=n.dimensions||[],In=x&&X.some(Mn=>Mn&&Mn.focused)?X.filter(Mn=>Mn&&Mn.focused):X;for(const Mn of In){const ce=Array.isArray(Mn.evidence)&&Mn.evidence.length?`
|
|
96
|
+
依据:${Mn.evidence.join(";")}${Mn.confidence?` 置信度:${Mn.confidence}`:""}`:"",ee=Mn.plain?`(${Mn.plain})`:"",me=x?(Mn.knowledge||[]).length?`
|
|
97
|
+
规则 ${Mn.knowledge.length} 条未展开(detail:"full" 给出原文与出处)`:"":(Mn.knowledge||[]).map(fe=>`
|
|
98
|
+
规则·${fe.gist}〔${fe.statusLabel}〕${fe.detail} 出处:${fe.source}${fe.note?` 注:${fe.note}`:""}`).join("");G.push(`${Mn.label}:${ee}${Mn.text}${Mn.advice?` 建议:${Mn.advice}`:""}${ce}${me}`)}const vn=n.sections||[],Nn=x?vn.filter(Mn=>String(Mn.text||"").length>L):[];for(const Mn of vn)x&&String(Mn.text||"").length>L||G.push(`${Mn.label}:${Mn.text}`);Nn.length&&G.push(`(另有 ${Nn.length} 节长论述未展开:${Nn.map(Mn=>Mn.label).join("、")}。需要原文与出处时传 detail:"full")`);for(const Mn of n.tables||[]){if(!Array.isArray(Mn.rows)||!Mn.rows.length)continue;let ce=Mn.rows;G.push(`【${Mn.title}】`),a&&ce.length>$&&(ce=ce.slice(0,$),G.push(`(共 ${Mn.rows.length} 行,仅列前 ${$} 行;全表传 detail:"lean")`)),G.push([Mn.columns.join(" | "),...ce.map(ee=>ee.join(" | "))].join(`
|
|
99
|
+
`))}Array.isArray(n.followups)&&n.followups.length&&G.push("还可以这样追问:"+n.followups.map(Mn=>`「${Mn}」`).join(" ")),!a&&Array.isArray(n.glossary)&&n.glossary.length&&G.push("名词解释:"+n.glossary.map(Mn=>`${Mn.term}=${Mn.plain}`).join(" "));let Q="";Array.isArray(n.limits)&&n.limits.length&&(Q+=`【本插件不回答什么】${n.limits.map(Mn=>`${Mn.title}——${Mn.text}`).join(`
|
|
98
100
|
`)}
|
|
99
|
-
`),n.disclaimer&&(
|
|
100
|
-
`);return
|
|
101
|
-
${J}`:Dn}const $t=["cross","verifyPast","withInterpret","detail","question","direction","ask","geocode","rectify","events","shadow","trace"];function pt(n={},t={}){const a=t.system||n.system,e=t.switches||Cn[a]||[];if(!e.length)return{system:a,switches:[],affected:0,total:0};const p={...n};for(const v of $t)delete p[v];const l=e.map(v=>{const _=v.read(p),Z=v.alt(_);let Ln=[],On="",jn=null,J=null;try{jn=Pe({...p,[v.key]:_}),J=Pe({...p,[v.key]:Z}),Ln=Tn(jn,J)}catch(Xn){On=Xn&&Xn.message||String(Xn)}const Dn=Nn(Ln.filter(Xn=>s(Xn.path))).map(Xn=>({path:Xn.path,label:w(Xn.path),from:An(Xn.from),to:An(Xn.to)})),vn=new Map;for(const Xn of Ln){const ue=O(Xn.path)||"其他";vn.set(ue,(vn.get(ue)||0)+1)}const ie=[...vn.entries()].map(([Xn,ue])=>({name:Xn,count:ue})).sort((Xn,ue)=>ue.count-Xn.count||Xn.name.localeCompare(ue.name,"zh-Hans-CN"));return{key:v.key,title:v.title,short:v.short,current:_,alt:Z,currentLabel:v.label(_),altLabel:v.label(Z),total:Ln.length,summary:On?"":Rn(Ln),views:On?[]:Fn(a,jn,J),roots:Dn,categories:ie,error:On}});return{system:a,switches:l,affected:l.filter(v=>!v.error&&v.total>0).length,total:l.reduce((v,_)=>v+_.total,0)}}const lt=["chaibu","chaoshen","zhirun"],Ce=[1,3,5],Fe=["same-day","next-day"];function Ke(n,t=""){if(n==null||n==="")return;const a=t?`${t}的`:"";let e;if(typeof n=="number")e=n;else if(typeof n=="string"){const p=n.trim();if(!/^[+-]?(\d+(\.\d*)?|\.\d+)$/.test(p))throw Jn("E_RANGE",`${a}经度不是十进制数字:收到「${n}」。经度写数字即可,例如北京 116.4`);e=Number(p)}else throw Jn("E_RANGE",`${a}经度必须是数字或数字字符串,收到 ${Array.isArray(n)?"array":typeof n}`);if(!Number.isFinite(e))throw Jn("E_RANGE",`${a}经度不是有限数值:收到「${n}」。经度写十进制数字即可,例如北京 116.4`);if(e<-180||e>180)throw Jn("E_RANGE",`${a}经度要在 −180 到 180 之间(东经为正),收到 ${e}`);return e}function le(n){const t=Ke(n.longitude,""),a=n.partner&&typeof n.partner=="object"?Ke(n.partner.longitude,"对方"):void 0,e=n.partner2&&typeof n.partner2=="object"?Ke(n.partner2.longitude,"第三方"):void 0;if(!(t!==void 0&&n.longitude!==t||a!==void 0&&n.partner.longitude!==a||e!==void 0&&n.partner2.longitude!==e))return n;const l={...n};return t!==void 0&&(l.longitude=t),a!==void 0&&(l.partner={...l.partner,longitude:a}),e!==void 0&&(l.partner2={...l.partner2,longitude:e}),l}function we(n){if(n==null||n==="")return"full";if(n==="full"||n==="lean"||n==="brief")return n;throw Jn("E_INPUT",`detail 只能是 'full' / 'lean' / 'brief':收到「${String(n).slice(0,24)}」`)}function he(n){if(n==null||typeof n=="string"&&!n.trim())return;const t=o(n);if(!t)throw Jn("E_ASOF",`无法解析 asOf:「${n}」,请用 2026-10-22T16:00 这种格式`);const{year:a,month:e,day:p,hour:l,minute:v}=t;if(a<Ue||a>ve)throw Jn("E_ASOF",`asOf 的年份超出可计算范围(${Ue}–${ve}):${n}`);if(!(e>=1&&e<=12)||!(p>=1&&p<=ft(a,e)))throw Jn("E_ASOF",`asOf 指向的日期不存在:${n}`);if(l!==void 0&&!(l>=0&&l<=23))throw Jn("E_ASOF",`asOf 的小时要在 0–23 之间:${n}`);if(v!==void 0&&!(v>=0&&v<=59))throw Jn("E_ASOF",`asOf 的分钟要在 0–59 之间:${n}`);return t}function $e(n={}){const t=n.system;if(n.mode!==void 0&&n.mode!==null&&n.mode!==""){const a={convert:["solar2lunar","lunar2solar"],meihua:["time","number"],xiaoliuren:["time","number"]},e=a[t];if(!e)throw Jn("E_INPUT",`mode 只用于 ${Object.keys(a).join(" / ")};${t||"当前体系"} 不收 mode`);if(!e.includes(n.mode))throw Jn("E_INPUT",`${t} 的 mode 只能是 ${e.join(" / ")},收到「${String(n.mode).slice(0,24)}」`)}if(n.gender!==void 0&&n.gender!==null&&n.gender!==""&&n.gender!=="male"&&n.gender!=="female")throw Jn("E_INPUT",`gender 只能是 male / female,收到「${String(n.gender).slice(0,24)}」`);if(n.direction!==void 0&&n.direction!==null&&n.direction!==""&&!["general","wealth","career","love","health","study","travel"].includes(n.direction))throw Jn("E_INPUT",`direction 只能是 general / wealth / career / love / health / study / travel,收到「${String(n.direction).slice(0,24)}」`);if(n.fortuneYear!==void 0&&n.fortuneYear!==null&&n.fortuneYear!==""){const a=Number(n.fortuneYear);if(!Number.isInteger(a))throw Jn("E_INPUT",`fortuneYear 要是整数年份,收到「${n.fortuneYear}」`);n={...n,fortuneYear:a}}if(t==="bazi"){const a=te(n.datetime),e=he(n.asOf),p=P({...a,gender:de(n.gender),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0,lateZi:K(n.lateZi,!0),trueSolar:K(n.trueSolar,!0),dst:K(n.dst,!0),nowYear:e?e.year:void 0,hourUnknown:K(n.hourUnknown)});return{...p,...e?{asOf:e}:{},precision:a.precision,summary:Be(p)}}if(t==="ziwei"){if(K(n.hourUnknown))throw Jn("HOUR_UNKNOWN","紫微必须有出生时刻:命宫由生月与生时支定,时支未知则整盘不成立。请补上出生时刻,或改用八字三柱模式只看年/月/日。");n.lateZi!==void 0&&n.lateZishi===void 0&&(n={...n,lateZishi:K(n.lateZi,!0)?"next-day":"current-day"});const a=te(n.datetime),e=he(n.asOf),p=$({...a,gender:de(n.gender),leapMonth:n.leapMonth,leapAsNext:K(n.leapAsNext),...oe(n),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0,trueSolar:K(n.trueSolar,!0),dst:K(n.dst,!0),asOf:e});return{...p,...e?{asOf:e}:{},precision:a.precision,summary:Se(p)}}if(t==="tarot"){const a=n.count===void 0||n.count===null||n.count===""?3:Number(n.count);if(!Ce.includes(a))throw Jn("E_COUNT",`塔罗张数只能是 1 / 3 / 5,收到「${n.count}」`);if(!D(n.seed))throw Jn("E_INPUT",`seed 必须是数字,收到「${n.seed}」`);const e=he(n.asOf),p=r({count:a,question:n.question,at:n.asOf,random:c(n.seed)});return n.seed!==void 0&&n.seed!==null&&n.seed!==""&&(p.seed=Number(n.seed)),{...p,...e?{asOf:e}:{},summary:ot(p)}}if(t==="daliuren"){const a=te(n.datetime),e=K(n.lateZi,!0),p=g({...a,lateZi:e});return p.lateZi=e,{...p,precision:a.precision,summary:et(p)}}if(t==="qimen"){const a=te(n.datetime);if(n.juMethod!==void 0&&!lt.includes(n.juMethod))throw Jn("E_INPUT",`juMethod 只能是 chaibu / chaoshen / zhirun,收到「${n.juMethod}」`);const e=n.lateZiHourMode!==void 0?n.lateZiHourMode:n.lateZi===void 0||n.lateZi===null?void 0:K(n.lateZi)?"next-day":"same-day";if(e!==void 0&&!Fe.includes(e))throw Jn("E_INPUT",`lateZiHourMode 只能是 same-day / next-day,收到「${e}」`);const p=e==="next-day"?"next-day":"same-day",l=h({...a,lateZiHourMode:p,juMethod:n.juMethod});return l.lateZiHourMode=p,{...l,summary:Ze(l)}}if(t==="hepan"){if(K(n.hourUnknown)||n.partner&&K(n.partner.hourUnknown)||n.partner2&&K(n.partner2.hourUnknown))throw Jn("HOUR_UNKNOWN","合盘需要每一方都有出生时刻:夫妻宫与大运都依赖时支。请补齐时刻后再看,或用八字三柱模式各自看年/月/日。");const e=n.partner;if(!e||typeof e!="object")throw Jn("E_PARTNER","合盘需要 partner:{ datetime, gender, address? },其中 partner.datetime 是对方的公历出生时间");if(!e.datetime)throw Jn("E_PARTNER",'缺少 partner.datetime(对方的公历出生时间),例如 partner: {"datetime":"1992-03-03T10:00","gender":"female"}');const p=n.partner2;if(p!=null){if(typeof p!="object"||Array.isArray(p))throw Jn("E_PARTNER","partner2 需要 { datetime, gender, address? };不想看三方就整段省略(null 视同未传)");if(!p.datetime)throw Jn("E_PARTNER",'缺少 partner2.datetime(第三方的公历出生时间),例如 partner2: {"datetime":"1988-09-09T08:00","gender":"male"}')}const l=n.chart==="ziwei"?"ziwei":"bazi",v=(jn,J)=>{const Dn=te(jn.datetime),vn=jn.lateZishi!==void 0?jn.lateZishi:jn.lateZi===void 0||jn.lateZi===null||jn.lateZi===""?void 0:K(jn.lateZi,!0)?"next-day":"current-day";return{...Dn,gender:de(jn.gender,J),trueSolar:jn.trueSolar,lateZi:jn.lateZi,...vn!==void 0?{lateZishi:vn}:{},...jn.leapMonth!==void 0?{leapMonth:jn.leapMonth}:{},...jn.leapAsNext!==void 0?{leapAsNext:K(jn.leapAsNext)}:{},dst:K(jn.dst,!0),address:typeof jn.address=="string"?jn.address:void 0,longitude:typeof jn.longitude=="number"?jn.longitude:void 0,geo:jn.geo&&typeof jn.geo=="object"?jn.geo:void 0}},_=v(n,"你(主方)"),Z=v(e,"对方"),Ln=(jn,J)=>l==="ziwei"?i({a:jn,b:J}):y({a:jn,b:J}),On=Ln(_,Z);if(p){const jn=v(p,"第三方");On.triple=S([{key:"a-b",a:"你",b:"对方",result:On},{key:"a-c",a:"你",b:"第三方",result:Ln(_,jn)},{key:"b-c",a:"对方",b:"第三方",result:Ln(Z,jn)}])}return{...On,summary:nt(On)}}if(t==="meihua"){let a;n.mode!=="number"&&te(n.datetime);try{a=z({mode:n.mode==="number"?"number":"time",datetime:n.datetime,upper:n.upper,lower:n.lower,changing:n.changing,lateZi:n.lateZi})}catch(e){const p=e&&e.message||String(e);throw Jn(e&&e.code||"E_INPUT",e&&e.code?p:`梅花起卦参数不完整:${p}`)}return{...a,summary:tt(a)}}if(t==="liuyao"){if(!D(n.seed))throw Jn("E_INPUT",`seed 必须是数字,收到「${n.seed}」`);let a;if(n.lines===void 0||n.lines===null)a=sn(c(n.seed));else{if(!Array.isArray(n.lines))throw Jn("E_LINES","lines 必须是数组:自下而上 6 个爻值(6 老阴 / 7 少阳 / 8 少阴 / 9 老阳)");if(n.lines.length!==6)throw Jn("E_LINES",`六爻需要正好 6 个爻值(自下而上),收到 ${n.lines.length} 个;留空则由引擎随机摇卦`);a=n.lines.map(Number)}let e,p=null;const l=n.datetime?te(n.datetime):he(n.asOf);if(l){n.datetime||(p=l);const jn=q(hn(H(l.year,l.month,l.day)));e={stem:jn.stem,branch:jn.branch,name:jn.name}}let v;try{v=en({lines:a,question:n.question,dayGanZhi:e})}catch(jn){throw Jn(jn&&jn.code||"E_LINES",jn&&jn.message?jn.message:jn)}const _=nn(v,{direction:n.direction,gender:n.gender});_.liuqin&&(v.useGod=_);let Z=null;if(l)try{Z=(m({year:l.year,month:l.month,day:l.day,hour:l.hour,minute:l.minute}).monthGanZhi||"")[1]||null}catch{Z=null}const Ln=L(v,{monthBranch:Z,dayBranch:v.dayGanZhi.branch});Ln&&(v.hexStrength=Ln);const On=k(v,{monthBranch:Z,dayBranch:v.dayGanZhi.branch});if(On&&(v.jinTuiPower=On),_.liuqin){const jn=A(v,_,{monthBranch:Z,dayBranch:v.dayGanZhi.branch});jn&&(v.useGodStrength=jn);const J=R(v,_,{monthBranch:Z,dayBranch:v.dayGanZhi.branch});J&&(v.fushenAccess=J);const Dn=j(v,_,{monthBranch:Z});Dn&&(v.yingqi=Dn)}return n.seed!==void 0&&n.seed!==null&&n.seed!==""&&(v.seed=Number(n.seed)),{...v,...p?{asOf:p}:{},summary:it(v)}}if(t==="almanac"){const a=te(n.datetime),e=ln({year:a.year,month:a.month,day:a.day});return{...e,summary:qe(e)}}if(t==="zeri"){if(!(n.candidates!==void 0&&n.candidates!==null)&&(typeof n.startDate!="string"||!n.startDate.trim()))throw Jn("E_INPUT",'择日需要 startDate(公历 YYYY-MM-DD,起算日);可另给 days(1–60,默认 30)与 shengXiao(当事人属相)。只想比几天,改给 candidates: ["2026-12-01","2026-12-08"]');let e;try{e=xn({task:n.task,startDate:n.startDate,days:n.days,shengXiao:n.shengXiao,candidates:n.candidates})}catch(p){throw Jn(p&&p.code||"E_INPUT",p&&p.message||String(p))}return{...e,summary:ze(e)}}if(t==="chenggu"){const a=te(n.datetime),e=/[T\s]\d{1,2}:\d{1,2}/.test(String(n.datetime)),p=Number.isInteger(n.hour)?n.hour:e?a.hour:null;if(p===null||p<0||p>23)throw Jn("E_INPUT","称骨必须给时辰:datetime 带时分(如 1990-08-15T10:00),或额外给 hour(0–23)——缺时辰四柱不齐");const l=tn({year:a.year,month:a.month,day:a.day,hour:p,minute:e?a.minute:0,lateZi:n.lateZi});return{...l,summary:Je(l)}}if(t==="convert"){const a=n.mode==="lunar2solar"?"lunar2solar":"solar2lunar";let e;if(a==="lunar2solar"){if(n.lunarYear==null||n.lunarMonth==null||n.lunarDay==null)throw Jn("E_INPUT","农历转公历需要 lunarYear / lunarMonth / lunarDay(闰月另加 isLeapMonth: true)");e=on({mode:a,lunarYear:Number(n.lunarYear),lunarMonth:Number(n.lunarMonth),lunarDay:Number(n.lunarDay),isLeapMonth:K(n.isLeapMonth)})}else{const p=te(n.datetime);e=on({mode:a,year:p.year,month:p.month,day:p.day})}return{...e,summary:Ee(e)}}if(t==="xiaoliuren"){const a=n.datetime?te(n.datetime):null,e=In({mode:n.mode==="number"?"number":"time",date:typeof n.date=="string"&&n.date.trim()?n.date:a?`${a.year}-${a.month}-${a.day}`:void 0,hour:Number.isInteger(n.hour)?n.hour:a&&/[T\s]\d{1,2}:\d{1,2}/.test(String(n.datetime))?a.hour:void 0,num1:n.num1,num2:n.num2,num3:n.num3,question:n.question,lateZi:n.lateZi});return{...e,summary:ge(e)}}if(t==="star"){const a=te(n.datetime),e=un({year:a.year,month:a.month,day:a.day});return{...e,summary:We(e)}}if(t==="numerology"){const a=te(n.datetime),e=_n({year:a.year,month:a.month,day:a.day});return{...e,summary:Ge(e)}}if(t==="mbti"){if(n.answers===void 0||n.answers===null){const e=cn();return{...e,summary:bt(e)}}const a=U({answers:n.answers});return{...a,summary:Ne(a)}}if(t==="trend"){const a=te(n.datetime),e=n.asOf?he(n.asOf):void 0,p=Vn({...a,nowYear:e?e.year:void 0,gender:de(n.gender),toAge:n.toAge,lateZi:K(n.lateZi,!0),trueSolar:K(n.trueSolar,!0),dst:K(n.dst,!0),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0,hourUnknown:K(n.hourUnknown)});return{...p,...K(n.hourUnknown)?{hourUnknown:!0,hourPrecision:"day"}:{},precision:a.precision,summary:wt(p)}}if(t==="fengshui"){if(n.action!=null&&!["natal","advise","xuankong"].includes(n.action))throw Jn("E_INPUT",`风水 action 只能是 natal / advise / xuankong,收到「${String(n.action).slice(0,24)}」`);const a=n.action==="advise"?"advise":n.action==="xuankong"?"xuankong":"natal";if(a==="xuankong"){const l=ee({action:a,sitting:n.sitting,facing:n.facing,...n.period!==void 0?{period:n.period}:{},...n.fortuneYear!==void 0?{fortuneYear:n.fortuneYear}:{},...typeof n.sittingOffset=="number"?{sittingOffset:n.sittingOffset}:{},...typeof n.sittingDegree=="number"?{sittingDegree:n.sittingDegree}:{},...typeof n.facingOffset=="number"?{facingOffset:n.facingOffset}:{},...typeof n.facingDegree=="number"?{facingDegree:n.facingDegree}:{},...typeof n.fortuneDate=="string"?{fortuneDate:n.fortuneDate}:{},...typeof n.fortuneTime=="string"?{fortuneTime:n.fortuneTime}:{},dst:K(n.dst,!0)});return{...l,summary:Xe(l)}}if(a==="advise"){const l=ee({action:a,sitting:n.sitting,facing:n.facing,...n.datetime?te(n.datetime):{},...n.gender==="male"||n.gender==="female"?{gender:n.gender}:{},dst:K(n.dst,!0)});return{...l,summary:Xe(l)}}const e=te(n.datetime),p=ee({action:"natal",year:e.year,month:e.month,day:e.day,gender:de(n.gender),fortuneYear:n.fortuneYear,dst:K(n.dst,!0)});return{...p,summary:Xe(p)}}if(t==="name"){if(n.action!=null&&!["assess","generate"].includes(n.action))throw Jn("E_INPUT",`起名 action 只能是 assess / generate,收到「${String(n.action).slice(0,24)}」`);const a=n.action==="generate"?"generate":"assess",e=n.datetime?te(n.datetime):Number.isInteger(n.year)&&Number.isInteger(n.month)&&Number.isInteger(n.day)?{year:n.year,month:n.month,day:n.day,...Number.isInteger(n.hour)?{hour:n.hour}:{},...Number.isInteger(n.minute)?{minute:n.minute}:{}}:{},p=re({action:a,surname:n.surname,givenName:n.givenName,limit:n.limit,charElements:n.charElements&&typeof n.charElements=="object"?n.charElements:void 0,strokeOverrides:n.strokeOverrides&&typeof n.strokeOverrides=="object"?n.strokeOverrides:void 0,surnameStrokes:n.surnameStrokes&&typeof n.surnameStrokes=="object"?n.surnameStrokes:void 0,...e,...n.gender==="male"||n.gender==="female"?{gender:n.gender}:{},...n.datetime?{lateZi:K(n.lateZi,!0),trueSolar:K(n.trueSolar,!0),dst:K(n.dst,!0),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0}:{}});return{...p,summary:De(p)}}throw t?Jn("E_SYSTEM",`未知体系「${t}」,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。`):Jn("E_INPUT","缺少 system,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。")}function qe(n){const t=n.ganzhi,a=n.jieQi&&n.jieQi.next?` 下一节:${n.jieQi.next.name} ${n.jieQi.next.date}`:"",e=n.dayGod?`值日:${n.dayGod.name}(${n.dayGod.type}·${n.dayGod.luck})`:"",p=n.xiu?`二十八宿:${n.xiu.name}宿(${n.xiu.luck}·${n.xiu.zheng}·${n.xiu.animal})`:"",l=n.taiShen?`胎神:${n.taiShen}`:"",v=n.positions?`吉神方位:喜神${n.positions.xiShen||"—"} 财神${n.positions.caiShen||"—"} 福神${n.positions.fuShen?n.positions.fuShen.dir:"—"} 阳贵${n.positions.yangGui?n.positions.yangGui.dir:"—"} 阴贵${n.positions.yinGui?n.positions.yinGui.dir:"—"}`:"",_=n.lucky?`吉配生肖:六合${n.lucky.liuhe||"—"} 三合${(n.lucky.sanhe||[]).join("、")||"—"}`:"",Z=n.nayin&&n.nayin.day?`日柱纳音:${n.nayin.day.name}`:"",Ln=(n.hours||[]).map(On=>`${On.zhi}${On.ganZhi.slice(0,1)}·${On.shen}${On.luck==="吉"?"吉":"凶"}`).join(" ");return[`【黄历】${n.meta.date} ${n.meta.weekday} ${n.lunar.text}`,`干支:${t.year}年 ${t.month}月 ${t.day}日 属${t.shengXiao}`,...n.meta.boundaryNote?[` ${n.meta.boundaryNote}`]:[],`建除:${n.zhiXing}日 冲:${n.chong.text}${n.chong.sha?`(${n.chong.sha})`:""} ${e}`,[p,Z,l].filter(Boolean).join(" "),`宜:${n.yi.join("、")}`,`忌:${n.ji.join("、")}`,v,_,Ln?`时辰吉凶:${Ln}`:"",`节气:上一节 ${n.jieQi.prev?`${n.jieQi.prev.name} ${n.jieQi.prev.date}`:"—"}${a}`,n.dailyHexagram?`每日一卦:${n.dailyHexagram.name} ${n.dailyHexagram.meaning||""}`:"",`口径:${n.meta.scope}`].filter(Boolean).join(`
|
|
102
|
-
`)}function
|
|
103
|
-
`)}function
|
|
104
|
-
`)}function
|
|
105
|
-
`)}function
|
|
101
|
+
`),n.disclaimer&&(Q+=n.disclaimer);const Ln=G.join(`
|
|
102
|
+
`);return Q?`${Ln}
|
|
103
|
+
${Q}`:Ln}const $t=["cross","verifyPast","withInterpret","detail","question","direction","ask","geocode","rectify","events","shadow","trace"];function pt(n={},t={}){const a=t.system||n.system,e=t.switches||sn[a]||[];if(!e.length)return{system:a,switches:[],affected:0,total:0};const x={...n};for(const L of $t)delete x[L];const $=e.map(L=>{const G=L.read(x),X=L.alt(G);let In=[],vn="",Nn=null,Q=null;try{Nn=Be({...x,[L.key]:G}),Q=Be({...x,[L.key]:X}),In=nn(Nn,Q)}catch(ee){vn=ee&&ee.message||String(ee)}const Ln=Sn(In.filter(ee=>l(ee.path))).map(ee=>({path:ee.path,label:m(ee.path),from:O(ee.from),to:O(ee.to)})),Mn=new Map;for(const ee of In){const me=k(ee.path)||"其他";Mn.set(me,(Mn.get(me)||0)+1)}const ce=[...Mn.entries()].map(([ee,me])=>({name:ee,count:me})).sort((ee,me)=>me.count-ee.count||ee.name.localeCompare(me.name,"zh-Hans-CN"));return{key:L.key,title:L.title,short:L.short,current:G,alt:X,currentLabel:L.label(G),altLabel:L.label(X),total:In.length,summary:vn?"":En(In),views:vn?[]:yn(a,Nn,Q),roots:Ln,categories:ce,error:vn}});return{system:a,switches:$,affected:$.filter(L=>!L.error&&L.total>0).length,total:$.reduce((L,G)=>L+G.total,0)}}const bt=["chaibu","chaoshen","zhirun"],ft=[1,3,5],Ye=["same-day","next-day"];function ve(n,t=""){if(n==null||n==="")return;const a=t?`${t}的`:"";let e;if(typeof n=="number")e=n;else if(typeof n=="string"){const x=n.trim();if(!/^[+-]?(\d+(\.\d*)?|\.\d+)$/.test(x))throw qn("E_RANGE",`${a}经度不是十进制数字:收到「${n}」。经度写数字即可,例如北京 116.4`);e=Number(x)}else throw qn("E_RANGE",`${a}经度必须是数字或数字字符串,收到 ${Array.isArray(n)?"array":typeof n}`);if(!Number.isFinite(e))throw qn("E_RANGE",`${a}经度不是有限数值:收到「${n}」。经度写十进制数字即可,例如北京 116.4`);if(e<-180||e>180)throw qn("E_RANGE",`${a}经度要在 −180 到 180 之间(东经为正),收到 ${e}`);return e}function dt(n){const t=ve(n.longitude,""),a=n.partner&&typeof n.partner=="object"?ve(n.partner.longitude,"对方"):void 0,e=n.partner2&&typeof n.partner2=="object"?ve(n.partner2.longitude,"第三方"):void 0;if(!(t!==void 0&&n.longitude!==t||a!==void 0&&n.partner.longitude!==a||e!==void 0&&n.partner2.longitude!==e))return n;const $={...n};return t!==void 0&&($.longitude=t),a!==void 0&&($.partner={...$.partner,longitude:a}),e!==void 0&&($.partner2={...$.partner2,longitude:e}),$}function ge(n){if(n==null||n==="")return"full";if(n==="full"||n==="lean"||n==="brief")return n;throw qn("E_INPUT",`detail 只能是 'full' / 'lean' / 'brief':收到「${String(n).slice(0,24)}」`)}function $e(n){if(n==null||typeof n=="string"&&!n.trim())return;const t=i(n);if(!t)throw qn("E_ASOF",`无法解析 asOf:「${n}」,请用 2026-10-22T16:00 这种格式`);const{year:a,month:e,day:x,hour:$,minute:L}=t;if(a<be||a>An)throw qn("E_ASOF",`asOf 的年份超出可计算范围(${be}–${An}):${n}`);if(!(e>=1&&e<=12)||!(x>=1&&x<=Ne(a,e)))throw qn("E_ASOF",`asOf 指向的日期不存在:${n}`);if($!==void 0&&!($>=0&&$<=23))throw qn("E_ASOF",`asOf 的小时要在 0–23 之间:${n}`);if(L!==void 0&&!(L>=0&&L<=59))throw qn("E_ASOF",`asOf 的分钟要在 0–59 之间:${n}`);return t}function we(n={}){const t=n.system;if(n.mode!==void 0&&n.mode!==null&&n.mode!==""){const a={convert:["solar2lunar","lunar2solar"],meihua:["time","number"],xiaoliuren:["time","number"]},e=a[t];if(!e)throw qn("E_INPUT",`mode 只用于 ${Object.keys(a).join(" / ")};${t||"当前体系"} 不收 mode`);if(!e.includes(n.mode))throw qn("E_INPUT",`${t} 的 mode 只能是 ${e.join(" / ")},收到「${String(n.mode).slice(0,24)}」`)}if(n.gender!==void 0&&n.gender!==null&&n.gender!==""&&n.gender!=="male"&&n.gender!=="female")throw qn("E_INPUT",`gender 只能是 male / female,收到「${String(n.gender).slice(0,24)}」`);if(n.direction!==void 0&&n.direction!==null&&n.direction!==""&&!["general","wealth","career","love","health","study","travel"].includes(n.direction))throw qn("E_INPUT",`direction 只能是 general / wealth / career / love / health / study / travel,收到「${String(n.direction).slice(0,24)}」`);if(n.fortuneYear!==void 0&&n.fortuneYear!==null&&n.fortuneYear!==""){const a=Number(n.fortuneYear);if(!Number.isInteger(a))throw qn("E_INPUT",`fortuneYear 要是整数年份,收到「${n.fortuneYear}」`);n={...n,fortuneYear:a}}if(t==="bazi"){const a=Kn(n.datetime),e=$e(n.asOf),x=B({...a,gender:Se(n.gender),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0,lateZi:J(n.lateZi,!0),trueSolar:J(n.trueSolar,!0),dst:J(n.dst,!0),nowYear:e?e.year:void 0,hourUnknown:J(n.hourUnknown)});return{...x,...e?{asOf:e}:{},precision:a.precision,summary:re(x)}}if(t==="ziwei"){if(J(n.hourUnknown))throw qn("HOUR_UNKNOWN","紫微必须有出生时刻:命宫由生月与生时支定,时支未知则整盘不成立。请补上出生时刻,或改用八字三柱模式只看年/月/日。");n.lateZi!==void 0&&n.lateZishi===void 0&&(n={...n,lateZishi:J(n.lateZi,!0)?"next-day":"current-day"});const a=Kn(n.datetime),e=$e(n.asOf),x=j({...a,gender:Se(n.gender),leapMonth:n.leapMonth,leapAsNext:J(n.leapAsNext),...it(n),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0,trueSolar:J(n.trueSolar,!0),dst:J(n.dst,!0),asOf:e});return{...x,...e?{asOf:e}:{},precision:a.precision,summary:We(x)}}if(t==="tarot"){const a=n.count===void 0||n.count===null||n.count===""?3:Number(n.count);if(!ft.includes(a))throw qn("E_COUNT",`塔罗张数只能是 1 / 3 / 5,收到「${n.count}」`);if(!C(n.seed))throw qn("E_INPUT",`seed 必须是数字,收到「${n.seed}」`);const e=$e(n.asOf),x=u({count:a,question:n.question,at:n.asOf,random:r(n.seed)});return n.seed!==void 0&&n.seed!==null&&n.seed!==""&&(x.seed=Number(n.seed)),{...x,...e?{asOf:e}:{},summary:rt(x)}}if(t==="daliuren"){const a=Kn(n.datetime),e=J(n.lateZi,!0),x=w({...a,lateZi:e});return x.lateZi=e,{...x,precision:a.precision,summary:at(x)}}if(t==="qimen"){const a=Kn(n.datetime);if(n.juMethod!==void 0&&!bt.includes(n.juMethod))throw qn("E_INPUT",`juMethod 只能是 chaibu / chaoshen / zhirun,收到「${n.juMethod}」`);const e=n.lateZiHourMode!==void 0?n.lateZiHourMode:n.lateZi===void 0||n.lateZi===null?void 0:J(n.lateZi)?"next-day":"same-day";if(e!==void 0&&!Ye.includes(e))throw qn("E_INPUT",`lateZiHourMode 只能是 same-day / next-day,收到「${e}」`);const x=e==="next-day"?"next-day":"same-day",$=d({...a,lateZiHourMode:x,juMethod:n.juMethod});return $.lateZiHourMode=x,{...$,summary:Ce($)}}if(t==="hepan"){if(J(n.hourUnknown)||n.partner&&J(n.partner.hourUnknown)||n.partner2&&J(n.partner2.hourUnknown))throw qn("HOUR_UNKNOWN","合盘需要每一方都有出生时刻:夫妻宫与大运都依赖时支。请补齐时刻后再看,或用八字三柱模式各自看年/月/日。");const e=n.partner;if(!e||typeof e!="object")throw qn("E_PARTNER","合盘需要 partner:{ datetime, gender, address? },其中 partner.datetime 是对方的公历出生时间");if(!e.datetime)throw qn("E_PARTNER",'缺少 partner.datetime(对方的公历出生时间),例如 partner: {"datetime":"1992-03-03T10:00","gender":"female"}');const x=n.partner2;if(x!=null){if(typeof x!="object"||Array.isArray(x))throw qn("E_PARTNER","partner2 需要 { datetime, gender, address? };不想看三方就整段省略(null 视同未传)");if(!x.datetime)throw qn("E_PARTNER",'缺少 partner2.datetime(第三方的公历出生时间),例如 partner2: {"datetime":"1988-09-09T08:00","gender":"male"}')}const $=n.chart==="ziwei"?"ziwei":"bazi",L=(Nn,Q)=>{const Ln=Kn(Nn.datetime),Mn=Nn.lateZishi!==void 0?Nn.lateZishi:Nn.lateZi===void 0||Nn.lateZi===null||Nn.lateZi===""?void 0:J(Nn.lateZi,!0)?"next-day":"current-day";return{...Ln,gender:Se(Nn.gender,Q),trueSolar:Nn.trueSolar,lateZi:Nn.lateZi,...Mn!==void 0?{lateZishi:Mn}:{},...Nn.leapMonth!==void 0?{leapMonth:Nn.leapMonth}:{},...Nn.leapAsNext!==void 0?{leapAsNext:J(Nn.leapAsNext)}:{},dst:J(Nn.dst,!0),address:typeof Nn.address=="string"?Nn.address:void 0,longitude:typeof Nn.longitude=="number"?Nn.longitude:void 0,geo:Nn.geo&&typeof Nn.geo=="object"?Nn.geo:void 0}},G=L(n,"你(主方)"),X=L(e,"对方"),In=(Nn,Q)=>$==="ziwei"?o({a:Nn,b:Q}):S({a:Nn,b:Q}),vn=In(G,X);if(x){const Nn=L(x,"第三方");vn.triple=q([{key:"a-b",a:"你",b:"对方",result:vn},{key:"a-c",a:"你",b:"第三方",result:In(G,Nn)},{key:"b-c",a:"对方",b:"第三方",result:In(X,Nn)}])}return{...vn,summary:Je(vn)}}if(t==="meihua"){let a;n.mode!=="number"&&Kn(n.datetime);try{a=b({mode:n.mode==="number"?"number":"time",datetime:n.datetime,upper:n.upper,lower:n.lower,changing:n.changing,lateZi:n.lateZi})}catch(e){const x=e&&e.message||String(e);throw qn(e&&e.code||"E_INPUT",e&&e.code?x:`梅花起卦参数不完整:${x}`)}return{...a,summary:st(a)}}if(t==="liuyao"){if(!C(n.seed))throw qn("E_INPUT",`seed 必须是数字,收到「${n.seed}」`);let a;if(n.lines===void 0||n.lines===null)a=un(r(n.seed));else{if(!Array.isArray(n.lines))throw qn("E_LINES","lines 必须是数组:自下而上 6 个爻值(6 老阴 / 7 少阳 / 8 少阴 / 9 老阳)");if(n.lines.length!==6)throw qn("E_LINES",`六爻需要正好 6 个爻值(自下而上),收到 ${n.lines.length} 个;留空则由引擎随机摇卦`);a=n.lines.map(Number)}let e,x=null;const $=n.datetime?Kn(n.datetime):$e(n.asOf);if($){n.datetime||(x=$);const Nn=N(dn(Z($.year,$.month,$.day)));e={stem:Nn.stem,branch:Nn.branch,name:Nn.name}}let L;try{L=cn({lines:a,question:n.question,dayGanZhi:e})}catch(Nn){throw qn(Nn&&Nn.code||"E_LINES",Nn&&Nn.message?Nn.message:Nn)}const G=an(L,{direction:n.direction,gender:n.gender});G.liuqin&&(L.useGod=G);let X=null;if($)try{X=(g({year:$.year,month:$.month,day:$.day,hour:$.hour,minute:$.minute}).monthGanZhi||"")[1]||null}catch{X=null}const In=P(L,{monthBranch:X,dayBranch:L.dayGanZhi.branch});In&&(L.hexStrength=In);const vn=A(L,{monthBranch:X,dayBranch:L.dayGanZhi.branch});if(vn&&(L.jinTuiPower=vn),G.liuqin){const Nn=I(L,G,{monthBranch:X,dayBranch:L.dayGanZhi.branch});Nn&&(L.useGodStrength=Nn);const Q=H(L,G,{monthBranch:X,dayBranch:L.dayGanZhi.branch});Q&&(L.fushenAccess=Q);const Ln=E(L,G,{monthBranch:X});Ln&&(L.yingqi=Ln)}return n.seed!==void 0&&n.seed!==null&&n.seed!==""&&(L.seed=Number(n.seed)),{...L,...x?{asOf:x}:{},summary:ct(L)}}if(t==="almanac"){const a=Kn(n.datetime),e=Qn({year:a.year,month:a.month,day:a.day});return{...e,summary:ke(e)}}if(t==="zeri"){if(!(n.candidates!==void 0&&n.candidates!==null)&&(typeof n.startDate!="string"||!n.startDate.trim()))throw qn("E_INPUT",'择日需要 startDate(公历 YYYY-MM-DD,起算日);可另给 days(1–60,默认 30)与 shengXiao(当事人属相)。只想比几天,改给 candidates: ["2026-12-01","2026-12-08"]');let e;try{e=se({task:n.task,startDate:n.startDate,days:n.days,shengXiao:n.shengXiao,candidates:n.candidates})}catch(x){throw qn(x&&x.code||"E_INPUT",x&&x.message||String(x))}return{...e,summary:Me(e)}}if(t==="chenggu"){const a=Kn(n.datetime),e=/[T\s]\d{1,2}:\d{1,2}/.test(String(n.datetime)),x=Number.isInteger(n.hour)?n.hour:e?a.hour:null;if(x===null||x<0||x>23)throw qn("E_INPUT","称骨必须给时辰:datetime 带时分(如 1990-08-15T10:00),或额外给 hour(0–23)——缺时辰四柱不齐");const $=ae({year:a.year,month:a.month,day:a.day,hour:x,minute:e?a.minute:0,lateZi:n.lateZi});return{...$,summary:Te($)}}if(t==="convert"){const a=n.mode==="lunar2solar"?"lunar2solar":"solar2lunar";let e;if(a==="lunar2solar"){if(n.lunarYear==null||n.lunarMonth==null||n.lunarDay==null)throw qn("E_INPUT","农历转公历需要 lunarYear / lunarMonth / lunarDay(闰月另加 isLeapMonth: true)");e=R({mode:a,lunarYear:Number(n.lunarYear),lunarMonth:Number(n.lunarMonth),lunarDay:Number(n.lunarDay),isLeapMonth:J(n.isLeapMonth)})}else{const x=Kn(n.datetime);e=R({mode:a,year:x.year,month:x.month,day:x.day})}return{...e,summary:et(e)}}if(t==="xiaoliuren"){const a=n.datetime?Kn(n.datetime):null,e=ue({mode:n.mode==="number"?"number":"time",date:typeof n.date=="string"&&n.date.trim()?n.date:a?`${a.year}-${a.month}-${a.day}`:void 0,hour:Number.isInteger(n.hour)?n.hour:a&&/[T\s]\d{1,2}:\d{1,2}/.test(String(n.datetime))?a.hour:void 0,num1:n.num1,num2:n.num2,num3:n.num3,question:n.question,lateZi:n.lateZi});return{...e,summary:nt(e)}}if(t==="star"){const a=Kn(n.datetime),e=K({year:a.year,month:a.month,day:a.day});return{...e,summary:je(e)}}if(t==="numerology"){const a=Kn(n.datetime),e=mn({year:a.year,month:a.month,day:a.day});return{...e,summary:Ie(e)}}if(t==="mbti"){if(n.answers===void 0||n.answers===null){const e=f();return{...e,summary:_e(e)}}const a=D({answers:n.answers});return{...a,summary:Ze(a)}}if(t==="trend"){const a=Kn(n.datetime),e=n.asOf?$e(n.asOf):void 0,x=_n({...a,nowYear:e?e.year:void 0,gender:Se(n.gender),toAge:n.toAge,lateZi:J(n.lateZi,!0),trueSolar:J(n.trueSolar,!0),dst:J(n.dst,!0),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0,hourUnknown:J(n.hourUnknown)});return{...x,...J(n.hourUnknown)?{hourUnknown:!0,hourPrecision:"day"}:{},precision:a.precision,summary:wt(x)}}if(t==="fengshui"){if(n.action!=null&&!["natal","advise","xuankong"].includes(n.action))throw qn("E_INPUT",`风水 action 只能是 natal / advise / xuankong,收到「${String(n.action).slice(0,24)}」`);const a=n.action==="advise"?"advise":n.action==="xuankong"?"xuankong":"natal";if(a==="xuankong"){const $=Rn({action:a,sitting:n.sitting,facing:n.facing,...n.period!==void 0?{period:n.period}:{},...n.fortuneYear!==void 0?{fortuneYear:n.fortuneYear}:{},...typeof n.sittingOffset=="number"?{sittingOffset:n.sittingOffset}:{},...typeof n.sittingDegree=="number"?{sittingDegree:n.sittingDegree}:{},...typeof n.facingOffset=="number"?{facingOffset:n.facingOffset}:{},...typeof n.facingDegree=="number"?{facingDegree:n.facingDegree}:{},...typeof n.fortuneDate=="string"?{fortuneDate:n.fortuneDate}:{},...typeof n.fortuneTime=="string"?{fortuneTime:n.fortuneTime}:{},dst:J(n.dst,!0)});return{...$,summary:tt($)}}if(a==="advise"){const $=Rn({action:a,sitting:n.sitting,facing:n.facing,...n.datetime?Kn(n.datetime):{},...n.gender==="male"||n.gender==="female"?{gender:n.gender}:{},dst:J(n.dst,!0)});return{...$,summary:tt($)}}const e=Kn(n.datetime),x=Rn({action:"natal",year:e.year,month:e.month,day:e.day,gender:Se(n.gender),fortuneYear:n.fortuneYear,dst:J(n.dst,!0)});return{...x,summary:tt(x)}}if(t==="name"){if(n.action!=null&&!["assess","generate"].includes(n.action))throw qn("E_INPUT",`起名 action 只能是 assess / generate,收到「${String(n.action).slice(0,24)}」`);const a=n.action==="generate"?"generate":"assess",e=n.datetime?Kn(n.datetime):Number.isInteger(n.year)&&Number.isInteger(n.month)&&Number.isInteger(n.day)?{year:n.year,month:n.month,day:n.day,...Number.isInteger(n.hour)?{hour:n.hour}:{},...Number.isInteger(n.minute)?{minute:n.minute}:{}}:{},x=Yn({action:a,surname:n.surname,givenName:n.givenName,limit:n.limit,charElements:n.charElements&&typeof n.charElements=="object"?n.charElements:void 0,strokeOverrides:n.strokeOverrides&&typeof n.strokeOverrides=="object"?n.strokeOverrides:void 0,surnameStrokes:n.surnameStrokes&&typeof n.surnameStrokes=="object"?n.surnameStrokes:void 0,...e,...n.gender==="male"||n.gender==="female"?{gender:n.gender}:{},...n.datetime?{lateZi:J(n.lateZi,!0),trueSolar:J(n.trueSolar,!0),dst:J(n.dst,!0),longitude:typeof n.longitude=="number"?n.longitude:void 0,address:typeof n.address=="string"?n.address:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0}:{}});return{...x,summary:jt(x)}}throw t?qn("E_SYSTEM",`未知体系「${t}」,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。`):qn("E_INPUT","缺少 system,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。")}function ke(n){const t=n.ganzhi,a=n.jieQi&&n.jieQi.next?` 下一节:${n.jieQi.next.name} ${n.jieQi.next.date}`:"",e=n.dayGod?`值日:${n.dayGod.name}(${n.dayGod.type}·${n.dayGod.luck})`:"",x=n.xiu?`二十八宿:${n.xiu.name}宿(${n.xiu.luck}·${n.xiu.zheng}·${n.xiu.animal})`:"",$=n.taiShen?`胎神:${n.taiShen}`:"",L=n.positions?`吉神方位:喜神${n.positions.xiShen||"—"} 财神${n.positions.caiShen||"—"} 福神${n.positions.fuShen?n.positions.fuShen.dir:"—"} 阳贵${n.positions.yangGui?n.positions.yangGui.dir:"—"} 阴贵${n.positions.yinGui?n.positions.yinGui.dir:"—"}`:"",G=n.lucky?`吉配生肖:六合${n.lucky.liuhe||"—"} 三合${(n.lucky.sanhe||[]).join("、")||"—"}`:"",X=n.nayin&&n.nayin.day?`日柱纳音:${n.nayin.day.name}`:"",In=(n.hours||[]).map(vn=>`${vn.zhi}${vn.ganZhi.slice(0,1)}·${vn.shen}${vn.luck==="吉"?"吉":"凶"}`).join(" ");return[`【黄历】${n.meta.date} ${n.meta.weekday} ${n.lunar.text}`,`干支:${t.year}年 ${t.month}月 ${t.day}日 属${t.shengXiao}`,...n.meta.boundaryNote?[` ${n.meta.boundaryNote}`]:[],`建除:${n.zhiXing}日 冲:${n.chong.text}${n.chong.sha?`(${n.chong.sha})`:""} ${e}`,[x,X,$].filter(Boolean).join(" "),`宜:${n.yi.join("、")}`,`忌:${n.ji.join("、")}`,L,G,In?`时辰吉凶:${In}`:"",`节气:上一节 ${n.jieQi.prev?`${n.jieQi.prev.name} ${n.jieQi.prev.date}`:"—"}${a}`,n.dailyHexagram?`每日一卦:${n.dailyHexagram.name} ${n.dailyHexagram.meaning||""}`:"",`口径:${n.meta.scope}`].filter(Boolean).join(`
|
|
104
|
+
`)}function Me(n){const t=n.compare&&n.compare.mode==="candidates",a=t?`【择日·${n.meta.task}】候选 ${n.meta.days} 天:${n.meta.candidates.join("、")}${n.meta.shengXiao?` 当事人属${n.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`:`【择日·${n.meta.task}】${n.meta.startDate} 起 ${n.meta.days} 天${n.meta.shengXiao?` 当事人属${n.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`,e=n.days.slice().sort(($,L)=>L.score-$.score).slice(0,t?12:5).map($=>{const L=$.grade?`,卷十${$.grade.label}·${$.grade.decision}`:"";return`· ${$.date} ${$.weekday} ${$.verdict}(${$.score}分${L}) 宜${$.yi.slice(0,3).join("/")} ${$.reasons.join(";")||"无特别加减分"}`}),x=t?n.compare.best?`这一组里最优:${n.compare.best.date}(${n.compare.best.score}分,${n.compare.best.verdict})`+(n.compare.best.ties.length>1?`;同分:${n.compare.best.ties.filter($=>$!==n.compare.best.date).join("、")}`:""):"这一组都因冲属相被排除,没有可用的日子":`推荐日:${n.best.length?n.best.join("、"):"本期无(都不够推荐分)"}`;return[a,x,`推荐日:${n.best.length?n.best.join("、"):"无"}`,`可用日:${n.usable.length?n.usable.join("、"):"无"}`,`回避日:${n.avoid.length?n.avoid.slice(0,6).join("、"):"无"}`,t?"候选日逐日:":"逐日排序:",...e,...t?[`比较口径:${n.compare.note}`]:[],`神煞依据:${n.shenshaRef.text};起法 ${n.shenshaRef.volumes.join("、")}。未实现起法:${n.shenshaRef.unsupported.join("、")}(不计分,逐日 shensha.unsupported 列出)。`,...n.shenshaRef.juan10?[`卷十依据:${n.shenshaRef.juan10.text}(${n.shenshaRef.juan10.corpusLines});${n.shenshaRef.juan10.thresholdsNote}`]:[],`口径:${n.meta.scope}`].join(`
|
|
105
|
+
`)}function Te(n){const t=n.song||{};return[`【称骨】${n.input.solar} ${n.lunar.text}`,`四项:${n.weights.year.label} ${n.weights.month.label} ${n.weights.day.label} ${n.weights.hour.label}`,`合计:${n.total.label}(${n.verdict.band})`,`歌诀(${n.total.label}):${t.text||"—"}`,`释义:${t.plain||"—"}`,`分档白话:${n.verdict.text}`,"口径:骨重与歌诀为通行本口径(各版本歌诀有异文),释义为白话自撰,属民俗娱乐参考。"].join(`
|
|
106
|
+
`)}function nt(n){const t=n.question||n.meta&&n.meta.question||null;return[`【小六壬·${n.meta.mode}】${t?`所问:${t}`:""}`,n.meta.originText,`落宫:${n.steps.join(" → ")}`,`断语:${n.result.palace}(${n.result.luck}) ${n.result.text}`].join(`
|
|
107
|
+
`)}function je(n){return[`【星座】${n.meta.date} ${n.sign.name}(${n.sign.element}·守护星${n.sign.planet})`,`区间:${n.sign.range} 关键词:${n.sign.keywords} 契合:${n.sign.compatible}`,`当日基调:${n.daily.tone}`,n.daily.dims.map(t=>`· ${t.name}:${"★".repeat(t.stars)}${"☆".repeat(5-t.stars)} ${t.text}`).join(`
|
|
106
108
|
`),`幸运色:${n.daily.luckyColor} 幸运数字:${n.daily.luckyNumber}`,"口径:当日基调由日期哈希确定性生成(同日同结果),纯娱乐向。"].join(`
|
|
107
|
-
`)}function
|
|
108
|
-
`)}function
|
|
109
|
+
`)}function et(n){const t=n.ganzhi;return[`【公农历转换·${n.meta.mode==="lunar2solar"?"农历 → 公历":"公历 → 农历"}】${n.lunar.text} ⇄ ${n.solar.text} ${n.meta.weekday}`,`干支:${t.year}年 ${t.month}月 ${t.day}日 属${t.shengXiao}${t.springYear&&t.springYear!==t.year?`(春节界为${t.springYear}年)`:""}`,...n.meta.note?[`注:${n.meta.note}`]:[],`口径:${n.meta.scope}`].join(`
|
|
110
|
+
`)}function Ie(n){return[`【生命数字】${n.meta.date}(西方数字学,与八字/紫微不可互证)`,...n.parts.map(t=>`${t.name}:${t.number}(${t.meaning.title}) ${t.meaning.keywords}
|
|
109
111
|
倾向:${t.meaning.tendency}
|
|
110
112
|
课题:${t.meaning.lesson}`)].join(`
|
|
111
|
-
`)}function
|
|
112
|
-
${a.stack.map(
|
|
113
|
-
`)}`:"",
|
|
114
|
-
`)}function
|
|
115
|
-
`)}function wt(n){const t=n.meta.strength,a=n.meta.dayMaster,e=a&&typeof a=="object"?`${a.stem}(${a.element})`:String(a||"");return[`【人生 K 线】${n.meta.birth} ${n.meta.gender} 日主 ${e} 旺衰 ${t.level}(${t.score})`,n.meta.boundaryNote?`※ ${n.meta.boundaryNote}`:"",`【大运分段】${n.segments.map(
|
|
113
|
+
`)}function Ze(n){const t=n.dims.map($=>{const L=$.picked===$.left?$.leftSay:$.rightSay,G=Math.round($.pct*100);return`${$.left}/${$.right} 取 ${$.picked}(${$.strength} ${G}%,净分 ${$.sum}) ${L}`}),a=n.profile,e=Array.isArray(a.stack)&&a.stack.length?a.stack.map(($,L)=>`${L===0?"主导 ":""}${$.code}`).join(" → ")+`
|
|
114
|
+
${a.stack.map($=>`${$.code}:${$.say}`).join(`
|
|
115
|
+
`)}`:"",x=Array.isArray(n.unanswered)&&n.unanswered.length?` 未答维度:${n.unanswered.join("、")}(该维按平手占位)`:"";return[`【十六型人格】${n.type}(${a.title})· ${a.keywords} 已答 ${n.answered}/${n.total} 题${x}`,`一句:${a.oneLine}`,"【四维】",...t,`【优势】${a.strengths.join(";")}`,`【留意】${a.blindspots.join(";")}`,`【课题】${a.growth}`,`【认知功能】${e}`,`【工作】${a.work}`,`【关系】${a.love}`,`【学习】${a.study}`,`注:${n.note}`].join(`
|
|
116
|
+
`)}function _e(n){return[`【十六型人格问卷】${n.total} 题,每题按 1(完全不像我)到 5(很像我)打分`,...n.questions.map(t=>`${t.no}. ${t.text}`),`请把 ${n.total} 个分数按顺序交给 answers(如 [4,2,5,3,…]);可以跳过某些题(填 null),至少答 12 题。`,`注:${n.note}`].join(`
|
|
117
|
+
`)}function wt(n){const t=n.meta.strength,a=n.meta.dayMaster,e=a&&typeof a=="object"?`${a.stem}(${a.element})`:String(a||"");return[`【人生 K 线】${n.meta.birth} ${n.meta.gender} 日主 ${e} 旺衰 ${t.level}(${t.score})`,n.meta.boundaryNote?`※ ${n.meta.boundaryNote}`:"",`【大运分段】${n.segments.map(x=>`${x.ganZhi} ${x.startAge}-${x.endAge}岁`).join(" ")}`,`【走势】${Array.isArray(n.sparkline)?n.sparkline.join(" "):n.sparkline}`,...n.highlights&&n.highlights.best&&n.highlights.best.length?[`【关键年】最佳 ${n.highlights.best.join(";")}${n.highlights.worst&&n.highlights.worst.length?`
|
|
116
118
|
最需留意 ${n.highlights.worst.join(";")}`:""}`]:[],`※ ${n.disclaimer}`].filter(Boolean).join(`
|
|
117
|
-
`)}function
|
|
119
|
+
`)}function tt(n){if(n.meta.action==="xuankong"){const a=n.meta.period,e=In=>{const vn=n.palaces.find(Nn=>Nn.palace===In);return`${In}${vn.yun}/${vn.shan}/${vn.xiang}`},x=In=>In.map(e).join(" "),$=n.wangShanWangXiang,L=n.meta.jianXiang,G=n.timeFlying,X=G?`【年月日时】${[["year","年"],["month","月"],["day","日"],["hour","时"]].filter(([In])=>G[In]).map(([In,vn])=>`${vn}${G[In].centerName}${G[In].fly?`·${G[In].fly}`:""}`).join(" ")}${G.meta&&G.meta.note?`(${G.meta.note})`:""}`:"";return[`【玄空】${n.meta.periodLabel}${L&&L.active?"·替卦":"·下卦"} 坐 ${n.meta.sitting} 向 ${n.meta.facing}`,...L&&L.active?[`【替卦】${L.note}`]:[],`【入中】山盘 ${n.meta.shanCenter.star}${n.meta.shanCenter.name}(${n.meta.shanCenter.fly},${n.meta.shanCenter.basis}${n.meta.shanCenter.mode==="替卦"?`;原运星 ${n.meta.shanCenter.original}${n.meta.shanCenter.replaced?",已替":",用替而未替"}`:""});向盘 ${n.meta.xiangCenter.star}${n.meta.xiangCenter.name}(${n.meta.xiangCenter.fly},${n.meta.xiangCenter.basis}${n.meta.xiangCenter.mode==="替卦"?`;原运星 ${n.meta.xiangCenter.original}${n.meta.xiangCenter.replaced?",已替":",用替而未替"}`:""})`,`【九宫】${x(["巽","离","坤"])}|${x(["震","中","兑"])}|${x(["艮","坎","乾"])}`,`【当运】山星${a}到${n.dangYun.shan.text};向星${a}到${n.dangYun.xiang.text}`,`【表法】${$.byTable===null?"替卦不套正向表;":""}${$.table.length?$.table.join("、"):"无"};${$.note}`,`【合十】山星合十 ${n.heshi.shan.join("、")||"无"};向星合十 ${n.heshi.xiang.join("、")||"无"}`,...X?[X]:[],...n.meta.note?[`※ ${n.meta.note}`]:[],`※ ${n.disclaimer}`].join(`
|
|
118
120
|
`)}if(n.meta.action==="advise"){const a=n.mingMatch?[`【命宅配】${n.mingMatch.text}`]:[`※ ${n.meta.birthNote||"未提供生辰,未做命宅配。"}`];return[`【宅卦】坐 ${n.meta.sitting} 向 ${n.meta.facing} ${n.meta.houseGua}宅(${n.meta.houseGroup})`,`【八星】${n.houseStars.map(e=>`${e.star}·${e.direction}${e.palace?`(${e.palace})`:""}`).join(" ")}`,`【门】${n.layout.door}`,`【灶】${n.layout.stove}`,`【床】${n.layout.bed}`,`【厕】${n.layout.toilet}`,...a,`※ ${n.disclaimer}`].join(`
|
|
119
121
|
`)}const t=n.mingGua;return[`【命卦】${t.num}${t.gua}(${t.group}) 方位 ${t.direction}`,`【四吉】${n.luckyDirections.map(a=>`${a.star}·${a.direction}${a.palace?`(${a.palace})`:""}`).join(" ")}`,`【四凶】${n.unluckyDirections.map(a=>`${a.star}·${a.direction}`).join(" ")}`,...n.yearlyFlying?[`【${n.meta.fortuneYear} 年九宫飞星】中宫 ${n.yearlyFlying.centerName};${n.yearlyFlying.palaces.filter(a=>a.palace!=="中").map(a=>`${a.palace}${a.name}`).join(" ")}`]:[`※ ${n.meta.note||""}`],`※ ${n.disclaimer}`].filter(Boolean).join(`
|
|
120
|
-
`)}function
|
|
121
|
-
`);const t=
|
|
122
|
-
`)}function
|
|
123
|
-
`,
|
|
124
|
-
基础指纹 ${
|
|
125
|
-
⚠ 不可复算:${
|
|
126
|
-
提示:未固定 asOf,流年/流月随「此刻」变化;要比对请传 asOf。`:""))}if(n.revision&&((n.revision.applied||[]).length||(n.revision.ignored||[]).length)){const
|
|
127
|
-
${
|
|
128
|
-
没有识别到可改的参数,仍按原参数排盘`}`+((
|
|
129
|
-
未处理:${
|
|
130
|
-
追问同一张盘:传 handle + 增量参数(asOf / direction / question,或换 system 看另一套盘),不必重报出生信息。`),Array.isArray(n.trace)&&n.trace.length&&
|
|
131
|
-
`+n.trace.map((
|
|
132
|
-
规则:${
|
|
133
|
-
`)),n.interpret){const
|
|
134
|
-
${
|
|
135
|
-
|
|
136
|
-
并排:${
|
|
137
|
-
${
|
|
138
|
-
`))}if(n.followup){const
|
|
139
|
-
${
|
|
140
|
-
依据:${
|
|
141
|
-
`+n.past.rows.map(
|
|
122
|
+
`)}function jt(n){if(n.action==="generate")return[`【候选名】姓 ${n.surname}(${n.gender},喜用 ${n.bazi.favorable.join("、")})${n.bazi.basis}`,...n.candidates.map(G=>{const X=G.wuge&&G.wuge.available?` 五格 ${G.wuge.summary}`:"",In=G.phonetics&&G.phonetics.available?` 音韵 ${G.phonetics.level}(${G.phonetics.tonePattern})`:"";return`${G.rank}. ${G.name} ${G.chars.map(vn=>`${vn.char}(${vn.element})${vn.meaning}`).join(" ")}${X}${In}`}),...n.notes.map(G=>`※ ${G}`)].join(`
|
|
123
|
+
`);const t=G=>G.source==="lib"?"字库":G.source==="user"?"用户指定":"未收录",a=G=>{const X=G.element==="未收录"?"未收录(不猜五行)":`${G.element}(${t(G)})`,In=G.favorable===!0?"合喜用":G.favorable===!1?"不合喜用":"不判",vn=G.suggest&&G.suggest.length?` 可换:${G.suggest.map(Nn=>`${Nn.char}(${Nn.element})`).join("、")}`:"";return`· ${G.char}:${X}|${In}|${G.meaning}${vn}`},e=n.wuge,x=e&&e.available?`【五格】${e.strokes.map(G=>`${G.char}${G.strokes}画`).join("+")}|${e.summary}|三才 ${e.sancai.text}`:`【五格】${e?e.reason:"未算"}`,$=n.phonetics,L=$&&$.available?`【音韵】${$.chars.map(G=>`${G.char}${G.py}${G.tone}`).join(" ")}|声调 ${$.tonePattern}|${$.level}${($.alt||[]).length?`|姓又读 ${$.alt.map(G=>`${G.char}${G.py}${G.tone}`).join("、")}`:""}${$.issues.length?`:${$.issues.map(G=>G.text).join(";")}`:""}`:`【音韵】${$?$.reason:"未算"}`;return[`【名字评估】${n.fullName}`,...n.chars.map(a),n.bazi?`【八字】日主 ${n.bazi.dayMaster&&n.bazi.dayMaster.stem?`${n.bazi.dayMaster.stem}(${n.bazi.dayMaster.element})`:n.bazi.dayMaster},旺衰 ${n.bazi.strength.level}(${n.bazi.strength.score}),${n.bazi.basis}`:"",x,L,`【结论】${n.verdict}`,...n.notes.map(G=>`※ ${G}`)].filter(Boolean).join(`
|
|
124
|
+
`)}function Fe(n){const t=n.summary??JSON.stringify(n,null,2),a=`
|
|
125
|
+
`,x=[(n.brief?["【先说结论】"+n.brief.lead].concat((n.brief.sections||[]).map($=>[" ",$.h,":",$.t].join(""))).concat((n.brief.advice||[]).length?[" 可以试着做的:"+n.brief.advice.map($=>String($).replace(/。$/,"")).join(";")+"。"]:[]).concat(n.brief.caveat?[" ※ "+n.brief.caveat]:[]).join(a)+a:"")+t];if(n.shadow&&n.shadow.id){const $=n.shadow;x.push(`【影子盘】${$.id}(同参数同 ID;版本 ${$.version})
|
|
126
|
+
基础指纹 ${$.baseId}(不含版本,跨版本可比对)`+($.reproducible===!1?`
|
|
127
|
+
⚠ 不可复算:${$.reason}`:"")+($.reproducible===!0&&$.asOfPinned===!1&&($.system==="bazi"||$.system==="ziwei")?`
|
|
128
|
+
提示:未固定 asOf,流年/流月随「此刻」变化;要比对请传 asOf。`:""))}if(n.revision&&((n.revision.applied||[]).length||(n.revision.ignored||[]).length)){const $=n.revision,L=($.applied||[]).map(G=>`${G.label}:${G.fromDisplay==null?"(未设)":G.fromDisplay} → ${G.display}`);x.push(`【改参】${$.text}${L.length?`
|
|
129
|
+
${L.join(";")}`:`
|
|
130
|
+
没有识别到可改的参数,仍按原参数排盘`}`+(($.ignored||[]).length?`
|
|
131
|
+
未处理:${$.ignored.join(";")}`:""))}if(typeof n.handle=="string"&&n.handle&&x.push(`【排盘句柄】${n.handle}
|
|
132
|
+
追问同一张盘:传 handle + 增量参数(asOf / direction / question,或换 system 看另一套盘),不必重报出生信息。`),Array.isArray(n.trace)&&n.trace.length&&x.push(`【推导链】${Bn[n.system]||n.system} · ${n.trace.length} 层
|
|
133
|
+
`+n.trace.map(($,L)=>`${L+1}. ${$.field}|${$.result}
|
|
134
|
+
规则:${$.rule} 出处:${$.source}`).join(`
|
|
135
|
+
`)),n.interpret){const $=Ve(n.interpret,n.interpretTier);$&&x.push($)}if(n.cross&&x.push(`【八字 × 紫微 交叉验证】
|
|
136
|
+
${ne(n.cross)}`),n.caliber&&Array.isArray(n.caliber.switches)&&n.caliber.switches.length){const $=n.caliber;x.push(`【口径对照】同一组输入,只换一个口径(不判哪套更准,也不改盘面)
|
|
137
|
+
`+$.switches.map(L=>{if(L.error)return`· ${L.title}:未能对照(${L.error})`;if(!L.total)return`· ${L.title}:${L.currentLabel} → ${L.altLabel},本盘无变化`;const G=(Array.isArray(L.views)?L.views:[]).filter(In=>In.changed),X=G.length?`
|
|
138
|
+
并排:${G.map(In=>`${In.label} ${In.current} → ${In.alt}`).join(";")}`:"";return`· ${L.title}:${L.currentLabel} → ${L.altLabel}
|
|
139
|
+
${L.summary}${X}`}).join(`
|
|
140
|
+
`))}if(n.followup){const $=n.followup;x.push(`【追问】${$.question}
|
|
141
|
+
${$.answer}${$.evidence&&$.evidence.length?`
|
|
142
|
+
依据:${$.evidence.join(";")} 置信度:${$.confidence}`:""}`)}if(n.past&&Array.isArray(n.past.rows)&&n.past.rows.length&&x.push(`【验前事】过去 ${n.past.years} 年的流年信号(只读,不改盘)
|
|
143
|
+
`+n.past.rows.map($=>`· ${$.year} ${$.ganzhi} · ${$.theme}(${$.tier}${$.tenGod?`,${$.tenGod}`:""})`).join(`
|
|
142
144
|
`)+`
|
|
143
|
-
用法:在面板里勾「准 / 不准 / 不确定」后算贴合度;贴合度低时先核对出生时间、时区与晚子时口径。`),n.rectify&&Array.isArray(n.rectify.candidates)){const
|
|
144
|
-
|
|
145
|
+
用法:在面板里勾「准 / 不准 / 不确定」后算贴合度;贴合度低时先核对出生时间、时区与晚子时口径。`),n.rectify&&Array.isArray(n.rectify.candidates)){const $=n.rectify;x.push(`【生时校正】候选时辰 ${$.candidates.length} 个(固定规则打分,只缩小范围)
|
|
146
|
+
`+$.candidates.slice(0,8).map(L=>`· ${L.label} 时柱 ${L.hourGanzhi} / 日柱 ${L.dayGanzhi} · 命中 ${L.hits}/${L.total}`).join(`
|
|
145
147
|
`)+`
|
|
146
|
-
${
|
|
148
|
+
${$.note}`)}return x.filter(Boolean).join(`
|
|
147
149
|
|
|
148
|
-
`)}const{buildEventPrompt:
|
|
150
|
+
`)}const{buildEventPrompt:Re,ASK_KINDS:St}=V["event-prompt"]||{},{plainSummary:xt}=V["plain-summary"]||{};return{interpret:$n,DIRECTIONS:jn,DIRECTION_DEFAULT:Cn,BRIGHTNESS:Y,flowOf:p,parseDateTime:Kn,geocodeAddress:z,resolveAddress:T,buildBazi:B,buildLiuyao:cn,tossLines:un,followup:wn,askPrompt:Dn,pastSignals:Jn,verifyFit:Xn,rectifyBirth:Fn,crossCheck:oe,crossText:ne,crossSection:Hn,buildAlmanac:Qn,buildZeri:se,buildChenggu:ae,buildXiaoliuren:ue,buildStar:K,buildNumerology:mn,buildConvert:R,buildTrend:_n,buildFengshui:Rn,buildName:Yn,buildTrace:te,traceMarkdown:Pn,encodeHandle:on,decodeHandle:zn,resolveHandle:xn,pruneForeignKeys:pn,ownedKeys:ln,askLink:en,parseAskLink:tn,formOf:hn,restNote:y,askPackages:U,buildEventPrompt:Re,ASK_KINDS:St,chartFingerprint:Qe,shadowSnapshot:Ue,shadowDiff:xe,compute:Be,interpretText:Ve,caliberCompare:pt,normalizeLongitudes:dt,renderText:Fe}})(),{Engine:V.index}}});
|