astro-bazi-utils 1.0.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/dist/index.cjs ADDED
@@ -0,0 +1,3123 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ paipan: () => paipan
24
+ });
25
+ module.exports = __toCommonJS(index_exports);
26
+
27
+ // src/bazi/Tiaohou.ts
28
+ var DH_MAP = {
29
+ ["\u7532" /* 甲 */]: {
30
+ ["\u5BC5" /* 寅 */]: {
31
+ text: "\u5BC5\u6708\u4E19\uFF0C\u7678\u8C03\u4E0E\u6C14\u5019\u4E3A\u8981\uFF0C\u4E19\u706B\u4E3A\u4E3B\uFF0C\u7678\u6C34\u4E3A\u4F50\u3002",
32
+ target: ["\u4E19" /* 丙 */, "\u7678" /* 癸 */]
33
+ },
34
+ ["\u536F" /* 卯 */]: {
35
+ text: "\u536F\u6708\u5E9A\uFF0C\u4E19\uFF0C\u4E01\uFF0C\u620A\uFF0C\u5DF1\u3002\u9633\u5203\u67B6\u6740\uFF0C\u4E13\u7528\u5E9A\u91D1\uFF0C\u4EE5\u620A\uFF0C\u5DF1\u6ECB\u6740\u4E3A\u4F50\uFF1B\u65E0\u5E9A\uFF0C\u7528\u4E19\uFF0C\u4E01\u6CC4\u79C0\uFF0C\u4E0D\u53D6\u5236\u6740\u3002",
36
+ target: []
37
+ },
38
+ ["\u8FB0" /* 辰 */]: {
39
+ text: "\u8FB0\u6708\u5E9A\uFF0C\u4E01\uFF0C\u58EC\u3002\u7528\u5E9A\u91D1\u5FC5\u987B\u4E01\u706B\u5236\u4E4B\uFF0C\u4E3A\u4F24\u5B98\u5236\u6740\uFF0C\u65E0\u5E9A\u7528\u58EC\u3002",
40
+ target: []
41
+ },
42
+ ["\u5DF3" /* 巳 */]: {
43
+ text: "\u5DF3\u6708\u7678\uFF0C\u5E9A\uFF0C\u4E01\u8C03\u4E0E\u6C14\u5019\uFF0C\u7678\u6C34\u4E3A\u4E3B\uFF1B\u539F\u5C40\u6C14\u6DA6\uFF0C\u5E9A\u4E01\u4E3A\u7528\u3002",
44
+ target: []
45
+ },
46
+ ["\u5348" /* 午 */]: {
47
+ text: "\u5348\u6708\u7678\uFF0C\u5E9A\uFF0C\u4E01\u6728\u6027\u865A\u7126\uFF0C\u7678\u4E3A\u4E3B\u8981\uFF0C\u65E0\u7678\u7528\u4E01\uFF0C\u4EA6\u5E94\u8BE5\u8FD0\u884C\u5317\u5730\uFF1B\u6728\u76DB\u5148\u5E9A\uFF0C\u5E9A\u76DB\u5148\u4E01\u3002",
48
+ target: []
49
+ },
50
+ ["\u672A" /* 未 */]: {
51
+ text: "\u672A\u6708\u7678\uFF0C\u5E9A\uFF0C\u4E01\u4E0A\u534A\u6708\u540C\u4E94\u6708\u7528\u7678\uFF0E\u4E0B\u534A\u6708\u7528\u5E9A\u4E01\u3002",
52
+ target: []
53
+ },
54
+ ["\u7533" /* 申 */]: {
55
+ text: "\u7533\u6708\u5E9A\uFF0C\u4E01\uFF0C\u58EC\u4F24\u5B98\u5236\u715E\uFF0C\u7528\u4E19\u8C03\u5019\uFF0C\u4E01\u4E19\u5E76\u7528\u4E3A\u4F50\u3002",
56
+ target: []
57
+ },
58
+ ["\u9149" /* 酉 */]: {
59
+ text: "\u9149\u6708\u5E9A\uFF0C\u4E01\uFF0C\u4E19\u7528\u4E01\u5236\u7136\uFF0C\u7528\u4E19\u8C03\u5019\uFF0C\u4E01\u4E19\u5E76\u7528\u4E3A\u4F50\u3002",
60
+ target: []
61
+ },
62
+ ["\u620C" /* 戌 */]: {
63
+ text: "\u620C\u6708\u5E9A\uFF0C\u7532\uFF0C\u4E01\uFF0C\u58EC\uFF0C\u7678\u571F\u65FA\u8005\u7528\u7532\u6728\uFF0C\u6728\u65FA\u8005\u7528\u5E9A\u91D1\uFF0C\u4E01\uFF0C\u58EC\uFF0C\u7678\u4E3A\u4F50\u3002",
64
+ target: []
65
+ },
66
+ ["\u4EA5" /* 亥 */]: {
67
+ text: "\u4EA5\u6708\u5E9A\uFF0C\u4E01\uFF0C\u4E19\uFF0C\u620A\u7528\u5E9A\u91D1\uFF0C\u53D6\u4E01\u706B\u5236\u4E4B\uFF0C\u4E19\u706B\u8C03\u5019\uFF0C\u6C34\u65FA\u7528\u620A\u3002",
68
+ target: []
69
+ },
70
+ ["\u5B50" /* 子 */]: {
71
+ text: "\u5B50\u6708\u4E01\uFF0C\u5E9A\uFF0C\u4E19\u6728\u6027\u751F\u5BD2\uFF0C\u4E01\u5148\u5E9A\u540E\uFF0C\u4E19\u706B\u4E3A\u4F50\uFF0C\u4E3A\u52A9\uFF0C\u7528\u5E9A\u5288\u7532\u5F15\u4E01\u3002",
72
+ target: []
73
+ },
74
+ ["\u4E11" /* 丑 */]: {
75
+ text: "\u4E11\u6708\u4E01\u70BA\u5FC5\u9808\uFF0C\u6B21\u5E9A\u4E19\uFF0C\u901A\u5BC5\u5DF3\u4F73\u3002",
76
+ target: []
77
+ }
78
+ },
79
+ ["\u4E59" /* 乙 */]: {
80
+ ["\u5BC5" /* 寅 */]: {
81
+ text: "\u5BC5\u6708\u4E19\uFF0C\u7678\u53D6\u4E19\u706B\u89E3\u5BD2\uFF0C\u7565\u53D6\u7678\u6C34\u6ECB\u6DA6\uFF0C\u4E0D\u5E94\u8BE5\u56F0\u4E19\u3002",
82
+ target: []
83
+ },
84
+ ["\u536F" /* 卯 */]: {
85
+ text: "\u536F\u6708\u4E19\uFF0C\u7678\u4EE5\u7678\u6728\uFF0C\u4EE5\u4E19\u6CC4\u79C0\uFF0C\u4E0D\u5E94\u8BE5\u89C1\u91D1\u3002",
86
+ target: []
87
+ },
88
+ ["\u8FB0" /* 辰 */]: {
89
+ text: "\u8FB0\u6708\u7678\uFF0C\u4E19\uFF0C\u620A\u82E5\u652F\u6210\u6C34\u5C40\uFF0C\u53D6\u620A\u4E3A\u4F50\u3002",
90
+ target: []
91
+ },
92
+ ["\u5DF3" /* 巳 */]: {
93
+ text: "\u5DF3\u6708\u7678\u6708\u4EE4\u4E19\u706B\u5F97\u7984\uFF0C\u4E13\u7528\u7678\u6C34\uFF0C\u8C03\u5019\u4E3A\u6025\u3002",
94
+ target: []
95
+ },
96
+ ["\u5348" /* 午 */]: {
97
+ text: "\u5348\u6708\u7678\uFF0C\u4E19\u4E0A\u534A\u6708\u4E13\u7528\u7678\u6C34\uFF0C\u4E0B\u534A\u6708\u4E19\u7678\u5E76\u7528\u3002",
98
+ target: []
99
+ },
100
+ ["\u672A" /* 未 */]: {
101
+ text: "\u672A\u6708\u7678\uFF0C\u4E19\u6DA6\u571F\u6ECB\u6728\uFF0C\u559C\u7528\u7678\u6C34\uFF0C\u67F1\u591A\u91D1\u6C34\uFF0C\u5148\u7528\u4E19\u706B\uFF0C\u590F\u6708\u58EC\u7678\uFF0C\u5207\u5FCC\u620A\uFF0C\u5DF1\u6742\u4E71\u3002",
102
+ target: []
103
+ },
104
+ ["\u7533" /* 申 */]: {
105
+ text: "\u7533\u6708\u4E19\uFF0C\u7678\uFF0C\u5DF1\u6708\u57A3\u5E9A\u91D1\u53F8\u4EE4\uFF0C\u53D6\u4E19\u706B\u5236\u4E4B\uFF0C\u6216\u7678\u6C34\u5316\u4E4B\uFF0C\u4E0D\u8BBA\u7528\u4E19\u7528\u7678\uFF0C\u7686\u5DF1\u571F\u4E3A\u4F50\u3002",
106
+ target: []
107
+ },
108
+ ["\u9149" /* 酉 */]: {
109
+ text: "\u9149\u6708\u7678\uFF0C\u4E19\uFF0C\u4E01\u4E0A\u534A\u6708\u7678\u5148\u4E19\u540E\uFF0C\u4E0B\u534A\u6708\u4E19\u5148\u7678\u540E\uFF0C\u65E0\u7678\u7528\u58EC\uFF0C\u652F\u6210\u91D1\u5C40\uFF0C\u53C8\u5E94\u8BE5\u7528\u4E01\u3002",
110
+ target: []
111
+ },
112
+ ["\u620C" /* 戌 */]: {
113
+ text: "\u620C\u6708\u7678\uFF0C\u8F9B\u4EE5\u91D1\u53D1\u6C34\u4E4B\u6E90\uFF0C\u89C1\u7532\uFF0C\u540D\u85E4\u841D\u7CFB\u7532\u3002",
114
+ target: []
115
+ },
116
+ ["\u4EA5" /* 亥 */]: {
117
+ text: "\u4EA5\u6708\u4E19\uFF0C\u620A\u4E59\u6728\u5411\u9633\uFF0C\u4E13\u53D6\u4E19\u706B\uFF0C\u6C34\u591A\u4EE5\u620A\u4F50\u3002",
118
+ target: []
119
+ },
120
+ ["\u5B50" /* 子 */]: {
121
+ text: "\u5B50\u6708\u4E19\u5BD2\u6728\u5411\u9633\uFF0C\u4E13\u53D6\u4E19\u706B\uFF0C\u5FCC\u89C1\u7678\u6C34\u3002",
122
+ target: []
123
+ },
124
+ ["\u4E11" /* 丑 */]: {
125
+ text: "\u4E11\u6708\u4E19\u5BD2\u8C37\u56DE\u6625\uFF0C\u4E13\u7528\u4E19\u706B\u3002",
126
+ target: []
127
+ }
128
+ },
129
+ ["\u4E19" /* 丙 */]: {
130
+ ["\u5BC5" /* 寅 */]: {
131
+ text: "\u5BC5\u6708\u58EC\uFF0C\u5E9A\u3002\u58EC\u6C34\u4E3A\u7528\uFF0C\u5E9A\u91D1\u53D1\u6C34\u4E4B\u6E90\u4E3A\u4F50\u3002",
132
+ target: []
133
+ },
134
+ ["\u536F" /* 卯 */]: {
135
+ text: "\u536F\u6708\u58EC\uFF0C\u5DF1\u3002\u4E13\u7528\u58EC\u6C34\uFF0C\u6C34\u591A\u7528\u620A\u5236\u4E4B\uFF0C\u8EAB\u5F31\u7528\u5370\u5316\u4E4B\u3002",
136
+ target: []
137
+ },
138
+ ["\u8FB0" /* 辰 */]: {
139
+ text: "\u8FB0\u6708\u58EC\uFF0C\u7532\u3002\u4E13\u7528\u58EC\u6C34\uFF0C\u571F\u91CD\u4EE5\u7532\u4E3A\u4F50\u3002",
140
+ target: []
141
+ },
142
+ ["\u5DF3" /* 巳 */]: {
143
+ text: "\u5DF3\u6708\u58EC\uFF0C\u7678\uFF0C\u5E9A\u3002\u4EE5\u5E9A\u4E3A\u4F50\uFF0C\u5FCC\u620A\u5236\u58EC\uFF0C\u65E0\u58EC\u7528\u7678\u3002",
144
+ target: []
145
+ },
146
+ ["\u5348" /* 午 */]: {
147
+ text: "\u5348\u6708\u58EC\uFF0C\u5E9A\u3002\u58EC\u5E9A\u4EE5\u901A\u6839\u7533\u5BAB\u4E3A\u5999",
148
+ target: []
149
+ },
150
+ ["\u672A" /* 未 */]: {
151
+ text: "\u672A\u6708\u58EC\uFF0C\u5E9A\uFF0C\u4EE5\u5E9A\u4E3A\u4F50\u3002",
152
+ target: []
153
+ },
154
+ ["\u7533" /* 申 */]: {
155
+ text: "\u7533\u6708\u58EC\uFF0C\u620A\u3002\u58EC\u6C34\u901A\u6839\u7533\u5BAB\uFF0C\u58EC\u591A\u5FC5\u53D6\u620A\u5236\u3002",
156
+ target: []
157
+ },
158
+ ["\u9149" /* 酉 */]: {
159
+ text: "\u9149\u6708\u58EC\uFF0C\u7678\u3002\u56DB\u67F1\u591A\u4E19\uFF0C\u4E00\u58EC\u9AD8\u900F\u4E3A\u5947\u3002\u65E0\u58EC\u7528\u7678\u3002",
160
+ target: []
161
+ },
162
+ ["\u620C" /* 戌 */]: {
163
+ text: "\u620C\u6708\u7532\uFF0C\u58EC\u3002\u5FCC\u571F\u6666\u5149\uFF0C\u5148\u53D6\u7532\u758F\u571F\uFF0C\u6B21\u7528\u58EC\u6C34\u3002",
164
+ target: []
165
+ },
166
+ ["\u4EA5" /* 亥 */]: {
167
+ text: "\u4EA5\u6708\u7532\uFF0C\u620A\uFF0C\u5E9A\uFF0C\u58EC\u3002\u6708\u57A3\u58EC\u6C34\u79C9\u4EE4\uFF0C\u6C34\u65FA\u7528\u7532\u6728\u5316\u4E4B\uFF0C\u8EAB\u715E\u4E24\u65FA\uFF0C\u7528\u620A\u5236\u4E4B\uFF0C\u706B\u65FA\u7528\u58EC\uFF0C\u6728\u65FA\u5E94\u8BE5\u5E9A\u3002",
168
+ target: []
169
+ },
170
+ ["\u5B50" /* 子 */]: {
171
+ text: "\u5B50\u6708\u58EC\uFF0C\u620A\uFF0C\u5DF1\u3002\u6C14\u8FDB\u4E8C\u9633\uFF0C\u4E19\u706B\u5F31\u4E2D\u590D\u5F3A\uFF0C\u7528\u58EC\u6C34\uFF0C\u7528\u620A\u5236\u4E4B\uFF0C\u65E0\u620A\u7528\u5DF1\u3002",
172
+ target: []
173
+ },
174
+ ["\u4E11" /* 丑 */]: {
175
+ text: "\u4E11\u6708\u58EC\uFF0C\u7532\u3002\u559C\u58EC\u4E3A\u7528\uFF0C\u571F\u591A\u4E0D\u53EF\u5C11\u7532\u3002",
176
+ target: []
177
+ }
178
+ },
179
+ ["\u4E01" /* 丁 */]: {
180
+ ["\u5BC5" /* 寅 */]: {
181
+ text: "\u5BC5\u6708\u7532\uFF0C\u5E9A\u3002\u7528\u5E9A\u91D1\u5288\u7532\u5F15\u4E01",
182
+ target: []
183
+ },
184
+ ["\u536F" /* 卯 */]: {
185
+ text: "\u536F\u6708\u5E9A\uFF0C\u7532\uFF0C\u4EE5\u5E9A\u53BB\u4E59\uFF0C\u4EE5\u7532\u5F15\u4E01\u3002",
186
+ target: []
187
+ },
188
+ ["\u8FB0" /* 辰 */]: {
189
+ text: "\u8FB0\u6708\u7532\uFF0C\u5E9A\u3002\u7528\u7532\u6728\u5F15\u4E01\u5236\u571F\uFF0C\u6B21\u770B\u5E9A\u91D1\u3002",
190
+ target: []
191
+ },
192
+ ["\u5DF3" /* 巳 */]: {
193
+ text: "\u5DF3\u6708\u7532\uFF0C\u5E9A\u3002\u53D6\u7532\u5F15\u4E01\uFF0C\u7532\u591A\u53C8\u53D6\u5E9A\u4E3A\u5148\u3002",
194
+ target: []
195
+ },
196
+ ["\u5348" /* 午 */]: {
197
+ text: "\u5348\u6708\u58EC\uFF0C\u5E9A\uFF0C\u7678\u3002\u706B\u591A\u4EE5\u5E9A\u58EC\u4E24\u900F\u4E3A\u8D35\uFF0C\u65E0\u58EC\u7528\u7678\uFF0C\u4E3A\u72EC\u715E\u5F53\u6743\u3002",
198
+ target: []
199
+ },
200
+ ["\u672A" /* 未 */]: {
201
+ text: "\u672A\u6708\u7532\uFF0C\u58EC\uFF0C\u5E9A\u3002\u4EE5\u7532\u6728\u5316\u58EC\u5F15\u4E01\u4E3A\u7528\uFF0C\u7528\u7532\u4E0D\u80FD\u65E0\u5E9A\uFF0C\u53D6\u5E9A\u4E3A\u4F50\u3002",
202
+ target: []
203
+ },
204
+ ["\u7533" /* 申 */]: {
205
+ text: "\u7533\u6708\u7532\uFF0C\u5E9A\uFF0C\u4E19\uFF0C\u620A\u3002\u53D6\u5E9A\u5288\u7532\uFF0C\u65E0\u7532\u7528\u4E59\uFF0C\u7528\u4E19\u6696\u91D1\u6652\u7532\uFF0C\u65E0\u5E9A\u7532\u800C\u7528\u4E59\u8005\uFF0C\u89C1\u4E19\u4E3A\u67AF\u8349\u5F15\u706F\uFF0C\u6C34\u65FA\u7528\u620A\u3002",
206
+ target: []
207
+ },
208
+ ["\u9149" /* 酉 */]: {
209
+ text: "\u9149\u6708\u7532\uFF0C\u5E9A\uFF0C\u4E19\uFF0C\u620A\u3002\u53D6\u5E9A\u5288\u7532\uFF0C\u65E0\u7532\u7528\u4E59\uFF0C\u7528\u4E19\u6696\u91D1\u6652\u7532\uFF0C\u65E0\u5E9A\u7532\u800C\u7528\u4E59\u8005\uFF0C\u89C1\u4E19\u4E3A\u67AF\u8349\u5F15\u706F\uFF0C\u6C34\u65FA\u7528\u620A\u3002",
210
+ target: []
211
+ },
212
+ ["\u620C" /* 戌 */]: {
213
+ text: "\u620C\u6708\u7532\uFF0C\u5E9A\uFF0C\u620A\u3002\u4E00\u6D3E\u620A\u571F\u65E0\u7532\uFF0C\u4E3A\u4F24\u5B98\u4F24\u5C3D\u3002",
214
+ target: []
215
+ },
216
+ ["\u4EA5" /* 亥 */]: {
217
+ text: "\u4EA5\u6708\u7532\uFF0C\u5E9A\u3002\u5E9A\u91D1\u5288\u7532\u5F15\u4E01\uFF0C\u7532\u6728\u4E3A\u5C0A\uFF0C\u5E9A\u91D1\u4E3A\u4F50\uFF0C\u620A\u7678\u6743\u5E94\u8BE5\u914C\u7528\u3002",
218
+ target: []
219
+ },
220
+ ["\u5B50" /* 子 */]: {
221
+ text: "\u5B50\u6708\u7532\uFF0C\u5E9A\u3002\u5E9A\u91D1\u5288\u7532\u5F15\u4E01\uFF0C\u6728\u5C0A\uFF0C\u5E9A\u91D1\u4E3A\u4F50\uFF0C\u620A\u7678\u6743\u5E94\u8BE5\u914C\u7528\u3002",
222
+ target: []
223
+ },
224
+ ["\u4E11" /* 丑 */]: {
225
+ text: "\u4E11\u6708\u7532\uFF0C\u5E9A\u3002\u5E9A\u91D1\u5288\u7532\u5F15\u4E01\uFF0C\u7532\u6728\u4E3A\u5C0A\uFF0C\u5E9A\u91D1\u4E3A\u4F50\uFF0C\u620A\u7678\u6743\u5E94\u8BE5\u914C\u7528\u3002",
226
+ target: []
227
+ }
228
+ },
229
+ ["\u620A" /* 戊 */]: {
230
+ ["\u5BC5" /* 寅 */]: {
231
+ text: "\u5BC5\u6708\u4E19\uFF0C\u7532\uFF0C\u7678\u3002\u65E0\u4E19\u7167\u6696\uFF0C\u620A\u571F\u4E0D\u751F\uFF0C\u65E0\u7532\u758F\u5288\uFF0C\u620A\u571F\u4E0D\u7075\uFF1B\u65E0\u7678\u6ECB\u6DA6\uFF0C\u4E07\u7269\u4E0D\u957F\uFF0C\u5148\u4E19\uFF0C\u6B21\u7532\uFF0C\u6B21\u7678\u3002",
232
+ target: []
233
+ },
234
+ ["\u536F" /* 卯 */]: {
235
+ text: "\u536F\u6708\u4E19\uFF0C\u7532\uFF0C\u7678\u3002\u65E0\u4E19\u7167\u6696\uFF0C\u620A\u571F\u4E0D\u751F\uFF0C\u65E0\u7532\u758F\u5288\uFF0C\u620A\u571F\u4E0D\u7075\uFF1B\u65E0\u7678\u6ECB\u6DA6\uFF0C\u4E07\u7269\u4E0D\u957F\uFF0C\u5148\u4E19\uFF0C\u6B21\u7532\uFF0C\u6B21\u7678\u3002",
236
+ target: []
237
+ },
238
+ ["\u8FB0" /* 辰 */]: {
239
+ text: "\u8FB0\u6708\u7532\uFF0C\u4E19\uFF0C\u7678\u3002\u620A\u571F\u53F8\u4EE4\uFF0C\u5148\u7528\u7532\u758F\uFF0C\u6B21\u4E19\uFF0C\u6B21\u7678\u3002",
240
+ target: []
241
+ },
242
+ ["\u5DF3" /* 巳 */]: {
243
+ text: "\u5DF3\u6708\u7532\uFF0C\u4E19\uFF0C\u7678\u3002\u620A\u571F\u5EFA\u7984\uFF0C\u5148\u7528\u7532\u758F\u5288\uFF0C\u6B21\u53D6\u4E19\u7678\u3002",
244
+ target: []
245
+ },
246
+ ["\u5348" /* 午 */]: {
247
+ text: "\u5348\u6708\u58EC\uFF0C\u7532\uFF0C\u4E19\u3002\u8C03\u5019\u4E3A\u6025\uFF0C\u5148\u7528\u58EC\u6C34\uFF0C\u6B21\u53D6\u7532\u6728\uFF0C\u4E19\u706B\u914D\u7528\u3002",
248
+ target: []
249
+ },
250
+ ["\u672A" /* 未 */]: {
251
+ text: "\u672A\u6708\u7678\uFF0C\u4E19\uFF0C\u7532\u3002\u8C03\u5019\u4E3A\u6025\uFF0C\u7678\u4E0D\u53EF\u7F3A\uFF0C\u4E19\u706B\u914D\u7528\uFF0C\u571F\u91CD\u4E0D\u80FD\u65E0\u7532\u3002",
252
+ target: []
253
+ },
254
+ ["\u7533" /* 申 */]: {
255
+ text: "\u7533\u6708\u4E19\uFF0C\u7678\uFF0C\u7532\u3002\u5BD2\u6C14\u6E10\u589E\uFF0C\u5148\u7528\u4E19\u706B\uFF0E\u6C34\u591A\uFF0C\u7528\u7532\u6CC4\u4E4B\u3002",
256
+ target: []
257
+ },
258
+ ["\u9149" /* 酉 */]: {
259
+ text: "\u9149\u6708\u4E19\uFF0C\u7678\u3002\u8D56\u4E19\u7167\u6696\uFF0C\u559C\u6C34\u6ECB\u6DA6\uFF0C\u620C\u6708\u7532\uFF0C\u4E19\uFF0C\u7678\u3002",
260
+ target: []
261
+ },
262
+ ["\u620C" /* 戌 */]: {
263
+ text: "\u620A\u571F\u5F53\u6743\uFF0C\u5148\u7528\u7532\u6728\uFF0C\u6B21\u53D6\u4E19\u706B\uFF0C\u89C1\u91D1\uFF0C\u5148\u7528\u7678\u6C34\uFF0C\u540E\u53D6\u4E19\u706B\u3002",
264
+ target: []
265
+ },
266
+ ["\u4EA5" /* 亥 */]: {
267
+ text: "\u4EA5\u6708\u7532\uFF0C\u4E19\u3002\u975E\u7532\u4E0D\u7075\uFF0C\u975E\u4E19\u4E0D\u6696\u3002",
268
+ target: []
269
+ },
270
+ ["\u5B50" /* 子 */]: {
271
+ text: "\u5B50\u6708\u4E19\uFF0C\u7532\u3002\u4E19\u706B\u4E3A\u5C1A\uFF0C\u7532\u6728\u4E3A\u4F50\u3002",
272
+ target: []
273
+ },
274
+ ["\u4E11" /* 丑 */]: {
275
+ text: "\u4E11\u6708\u4E19\uFF0C\u7532\u3002\u4E19\u706B\u4E3A\u5C1A\uFF0C\u7532\u6728\u4E3A\u4F50\u3002",
276
+ target: []
277
+ }
278
+ },
279
+ ["\u5DF1" /* 己 */]: {
280
+ ["\u5BC5" /* 寅 */]: {
281
+ text: "\u5BC5\u6708\u4E19\uFF0C\u5E9A\uFF0C\u7532\u3002\u53D6\u4E19\u89E3\u5BD2\uFF0C\u5FCC\u89C1\u58EC\u6C34\uFF0C\u5982\u6C34\u591A\uFF0C\u987B\u4EE5\u620A\u571F\u4E3A\u4F50\uFF1B\u571F\u591A\u7528\u7532\uFF0C\u7532\u591A\u7528\u5E9A\u3002",
282
+ target: []
283
+ },
284
+ ["\u536F" /* 卯 */]: {
285
+ text: "\u536F\u6708\u7532\uFF0C\u7678\uFF0C\u4E19\u3002\u7528\u7532\u5FCC\u4E0E\u5DF1\u571F\u5408\u5316\uFF0C\u6B21\u7528\u7678\u6C34\u6DA6\u4E4B\u3002",
286
+ target: []
287
+ },
288
+ ["\u8FB0" /* 辰 */]: {
289
+ text: "\u8FB0\u6708\u4E19\uFF0C\u7678\uFF0C\u7532\u3002\u5148\u4E19\u540E\u7678\uFF0C\u571F\u6696\u800C\u6DA6\uFF0C\u968F\u7528\u7532\u758F\u3002",
290
+ target: []
291
+ },
292
+ ["\u5DF3" /* 巳 */]: {
293
+ text: "\u5DF3\u6708\u7678\uFF0C\u4E19\u3002\u8C03\u5019\u4E0D\u80FD\u65E0\u7678\uFF0C\u571F\u6DA6\u4E0D\u80FD\u65E0\u4E19\u3002",
294
+ target: []
295
+ },
296
+ ["\u5348" /* 午 */]: {
297
+ text: "\u5348\u6708\u7678\uFF0C\u4E19\u3002\u8C03\u5019\u4E0D\u80FD\u65E0\u7678\uFF0C\u571F\u6DA6\u4E0D\u80FD\u65E0\u4E19\u3002",
298
+ target: []
299
+ },
300
+ ["\u672A" /* 未 */]: {
301
+ text: "\u672A\u6708\u7678\uFF0C\u4E19\u3002\u8C03\u5019\u4E0D\u80FD\u65E0\u7678\uFF0C\u571F\u6DA6\u4E0D\u80FD\u65E0\u4E19\u3002",
302
+ target: []
303
+ },
304
+ ["\u7533" /* 申 */]: {
305
+ text: "\u7533\u6708\u4E19\uFF0C\u7678\u3002\u4E19\u706B\u6E29\u571F\uFF0C\u7678\u6C34\u6DA6\u571F\uFF0C\u4E03\u6708\u5E9A\u91D1\u53F8\u6743\uFF0C\u4E19\u80FD\u5236\u91D1\uFF0C\u7678\u4EE5\u6CC4\u91D1\u3002",
306
+ target: []
307
+ },
308
+ ["\u9149" /* 酉 */]: {
309
+ text: "\u9149\u6708\u4E19\uFF0C\u7678\u3002\u53D6\u8F9B\u8F85\u7678\u3002",
310
+ target: []
311
+ },
312
+ ["\u620C" /* 戌 */]: {
313
+ text: "\u620C\u6708\u7532\uFF0C\u4E19\uFF0C\u7678\u3002\u4E5D\u6708\u571F\u76DB\uFF0C\u5E94\u8BE5\u7532\u6728\u758F\u4E4B\uFF0C\u6B21\u7528\u4E19\u7678\u3002",
314
+ target: []
315
+ },
316
+ ["\u4EA5" /* 亥 */]: {
317
+ text: "\u4EA5\u6708\u4E19\uFF0C\u7532\uFF0C\u620A\u3002\u4E09\u51AC\u5DF1\u571F\uFF0C\u975E\u4E19\u6696\u4E0D\u751F\uFF0C\u521D\u51AC\u58EC\u65FA\uFF0C\u53D6\u620A\u571F\u5236\u4E4B\uFF0C\u571F\u591A\uFF0C\u53D6\u7532\u6728\u758F\u4E4B\u3002",
318
+ target: []
319
+ },
320
+ ["\u5B50" /* 子 */]: {
321
+ text: "\u5B50\u6708\u4E19\uFF0C\u7532\uFF0C\u620A\u3002\u4E09\u51AC\u5DF1\u571F\u975E\u4E19\u6696\u4E0D\u751F\uFF0C\u58EC\u6C34\u592A\u65FA\uFF0C\u53D6\u620A\u571F\u5236\u4E4B\uFF0C\u571F\u591A\uFF0C\u53D6\u7532\u6728\u758F\u4E4B\u3002",
322
+ target: []
323
+ },
324
+ ["\u4E11" /* 丑 */]: {
325
+ text: "\u4E11\u6708\u4E19\uFF0C\u7532\uFF0C\u620A\u3002\u4E09\u51AC\u5DF1\u571F\u975E\u4E19\u6696\u4E0D\u751F\uFF0C\u58EC\u6C34\u592A\u65FA\uFF0C\u53D6\u620A\u571F\u5236\u4E4B\uFF0C\u571F\u591A\uFF0C\u53D6\u7532\u6728\u758F\u4E4B\u3002",
326
+ target: []
327
+ }
328
+ },
329
+ ["\u5E9A" /* 庚 */]: {
330
+ ["\u5BC5" /* 寅 */]: {
331
+ text: "\u5BC5\u6708\u620A\uFF0C\u7532\uFF0C\u58EC\uFF0C\u4E19\uFF0C\u4E01\u3002\u7528\u4E19\u6696\u5E9A\u6027\uFF0C\u8651\u571F\u539A\u57CB\u91D1\uFF0C\u987B\u7532\u758F\u6CC4\uFF0C\u706B\u591A\u7528\u571F\uFF0C\u652F\u6210\u706B\u5C40\u7528\u58EC\u3002",
332
+ target: []
333
+ },
334
+ ["\u536F" /* 卯 */]: {
335
+ text: "\u536F\u6708\u4E01\uFF0C\u7532\uFF0C\u5E9A\uFF0C\u4E19\u3002\u5E9A\u91D1\u6697\u5F3A\uFF0C\u4E13\u7528\u4E01\u706B\uFF0C\u501F\u7532\u5F15\u4E01\uFF0C\u7528\u5E9A\u5288\u7532\uFF0C\u65E0\u4E01\u7528\u4E19\u3002",
336
+ target: []
337
+ },
338
+ ["\u8FB0" /* 辰 */]: {
339
+ text: "\u8FB0\u6708\u7532\uFF0C\u4E01\uFF0C\u58EC\uFF0C\u7678\u3002\u987D\u91D1\u5E94\u8BE5\u4E01\uFF0C\u65FA\u571F\u7528\u7532\uFF0C\u4E0D\u7528\u5E9A\u5288\uFF0C\u652F\u706B\u5E94\u8BE5\u7678\uFF0C\u5E72\u706B\u5E94\u8BE5\u58EC\u3002",
340
+ target: []
341
+ },
342
+ ["\u5DF3" /* 巳 */]: {
343
+ text: "\u5DF3\u6708\u58EC\uFF0C\u620A\uFF0C\u4E19\uFF0C\u4E01\u3002\u4E19\u4E0D\u91D1\uFF0C\u60DF\u559C\u58EC\u5236\uFF0C\u6B21\u53D6\u620A\u571F\uFF0C\u4E19\u706B\u4E3A\u4F50\uFF0C\u652F\u6210\u91D1\u5C40\uFF0C\u53D8\u5F31\u4E3A\u5F3A\uFF0C\u987B\u7528\u4E01\u706B\u3002",
344
+ target: []
345
+ },
346
+ ["\u5348" /* 午 */]: {
347
+ text: "\u5348\u6708\u58EC\uFF0C\u7678\u3002\u4E13\u7528\u58EC\u6C34\uFF0C\u7678\u6B21\u4E4B\uFF0C\u987B\u652F\u89C1\u5E9A\u8F9B\u4E3A\u52A9\uFF0C\u65E0\u58EC\uFF0C\u7678\uFF0C\u7528\u620A\uFF0C\u5DF1\u6CC4\u706B\u4E4B\u6C14\u3002",
348
+ target: []
349
+ },
350
+ ["\u672A" /* 未 */]: {
351
+ text: "\u672A\u6708\u4E01\uFF0C\u7532\u3002\u82E5\u652F\u4F1A\u571F\u5C40\uFF0C\u7532\u5148\u4E01\u540E\u3002",
352
+ target: []
353
+ },
354
+ ["\u7533" /* 申 */]: {
355
+ text: "\u7533\u6708\u4E01\uFF0C\u7532\u3002\u4E13\u7528\u4E01\u706B\uFF0C\u7532\u6728\u5F15\u4E01\u3002",
356
+ target: []
357
+ },
358
+ ["\u9149" /* 酉 */]: {
359
+ text: "\u9149\u6708\u4E01\uFF0C\u7532\uFF0C\u4E19\uFF0C\u7528\u4E01\u7532\u91D1\uFF0C\u517C\u7528\u4E19\u706B\u8C03\u5019\u3002",
360
+ target: []
361
+ },
362
+ ["\u620C" /* 戌 */]: {
363
+ text: "\u620C\u6708\u7532\uFF0C\u58EC\u3002\u571F\u539A\u5148\u7528\u7532\u758F\uFF0C\u6B21\u7528\u58EC\u6D17\u3002",
364
+ target: []
365
+ },
366
+ ["\u4EA5" /* 亥 */]: {
367
+ text: "\u4EA5\u6708\u4E01\uFF0C\u4E19\u3002\u6C34\u51B7\u91D1\u5BD2\u7231\u4E19\u4E01\uFF0C\u7532\u6728\u8F85\u4E01\u3002",
368
+ target: []
369
+ },
370
+ ["\u5B50" /* 子 */]: {
371
+ text: "\u5B50\u6708\u4E01\uFF0C\u7532\uFF0C\u4E19\u3002\u9996\u53D6\u4E01\u7532\uFF0C\u6B21\u53D6\u4E19\u706B\u7167\u6696\uFF0C\u4E00\u6D3E\u91D1\u6C34\uFF0C\u4E0D\u5165\u4E0E\u6696\u4E4B\u4E61\uFF0C\u5B64\u8D2B\u3002\u4E19\u4E01\u987B\u4E34\u5BC5\u5DF3\u5348\u672A\u620C\u652F\uFF0C\u65B9\u4E3A\u6709\u529B\u3002",
372
+ target: []
373
+ },
374
+ ["\u4E11" /* 丑 */]: {
375
+ text: "\u4E11\u6708\u4E19\uFF0C\u4E01\uFF0C\u7532\u3002\u9996\u53D6\u4E01\u7532\uFF0C\u6B21\u53D6\u4E19\u706B\u7167\u6696\uFF0C\u4E00\u6D3E\u91D1\u6C34\uFF0C\u4E0D\u5165\u4E0E\u6696\u4E4B\u4E61\uFF0C\u5B64\u8D2B\u3002\u4E19\u4E01\u987B\u4E34\u5BC5\u5DF3\u5348\u672A\u620C\u652F\uFF0C\u65B9\u4E3A\u6709\u529B\u3002",
376
+ target: []
377
+ }
378
+ },
379
+ ["\u8F9B" /* 辛 */]: {
380
+ ["\u5BC5" /* 寅 */]: {
381
+ text: "\u5BC5\u6708\u5DF1\uFF0C\u58EC\uFF0C\u5E9A\u3002\u8F9B\u91D1\u5931\u4EE4\uFF0C\u53D6\u5DF1\u571F\u4E3A\u751F\u8EAB\u4E4B\uFF0C\u672C\u6B32\u5F97\u8F9B\u91D1\u53D1\u7528\uFF0C\u5168\u8D56\u58EC\u6C34\u4E4B\u529F\u3002\u58EC\u5DF1\u5E76\u7528\uFF0C\u4EBA\u5E9A\u4E3A\u52A9\u3002",
382
+ target: []
383
+ },
384
+ ["\u536F" /* 卯 */]: {
385
+ text: "\u536F\u6708\u58EC\uFF0C\u7532\u3002\u8F9B\u91D1\u5931\u4EE4\uFF0C\u53D6\u5DF1\u571F\u4E3A\u751F\u8EAB\u4E4B\uFF0C\u672C\u6B32\u5F97\u8F9B\u91D1\u53D1\u7528\uFF0C\u5168\u8D56\u58EC\u6C34\u4E4B\u529F\u3002\u58EC\u5DF1\u5E76\u7528\uFF0C\u4EBA\u5E9A\u4E3A\u52A9\u3002",
386
+ target: []
387
+ },
388
+ ["\u8FB0" /* 辰 */]: {
389
+ text: "\u8FB0\u6708\u58EC\uFF0C\u7532\u3002\u82E5\u89C1\u4E19\u706B\u5408\u8F9B\uFF0C\u987B\u6709\u7678\u5236\u4E19\uFF0C\u652F\u89C1\u4EA5\u5B50\u7533\uFF0C\u4E3A\u8D35\u3002",
390
+ target: []
391
+ },
392
+ ["\u5DF3" /* 巳 */]: {
393
+ text: "\u5DF3\u6708\u58EC\uFF0C\u7532\uFF0C\u7678\u3002\u58EC\u6C34\u6D17\u6DD8\uFF0C\u517C\u6709\u8C03\u5019\u4E4B\u7528\uFF0C\u66F4\u6709\u7532\u6728\u5236\u620A\uFF0C\u4E00\u6E05\u6F88\u5E95\u3002",
394
+ target: []
395
+ },
396
+ ["\u5348" /* 午 */]: {
397
+ text: "\u5348\u6708\u58EC\uFF0C\u5DF1\uFF0C\u7678\u3002\u5DF1\u65E0\u58EC\u4E0D\u6E7F\uFF0C\u8F9B\u65E0\u5DF3\u4E0D\u751F\uFF0C\u6545\u58EC\uFF0C\u5DF3\u5E76\u7528\uFF0C\u65E0\u58EC\u7528\u7678\u3002",
398
+ target: []
399
+ },
400
+ ["\u672A" /* 未 */]: {
401
+ text: "\u672A\u6708\u58EC\uFF0C\u5E9A\uFF0C\u7532\u3002\u5148\u7528\u58EC\u6C34\uFF0C\u53D6\u5E9A\u4E3A\u4F50\uFF0C\u5FCC\u620A\u51FA\uFF0C\u5F97\u7532\u5236\u4E4B\uFF0C\u65B9\u5409\u3002",
402
+ target: []
403
+ },
404
+ ["\u7533" /* 申 */]: {
405
+ text: "\u7533\u6708\u58EC\uFF0C\u7532\uFF0C\u620A\u3002\u58EC\u6C34\u4E3A\uFF0C\u7532\u620A\u914C\u7528\uFF0C\u4E0D\u53EF\u7528\u7678\u6C34\u3002",
406
+ target: []
407
+ },
408
+ ["\u9149" /* 酉 */]: {
409
+ text: "\u9149\u6708\u58EC\uFF0C\u7532\u3002\u58EC\u6C34\u6DD8\u6D17\uFF0C\u5982\u89C1\u620A\u5DF1\uFF0C\u987B\u7532\u5236\u571F\uFF0C\u652F\u6210\u91D1\u5C40\u65E0\u58EC\u987B\u7528\u4E01\u706B\u3002",
410
+ target: []
411
+ },
412
+ ["\u620C" /* 戌 */]: {
413
+ text: "\u620C\u6708\u58EC\uFF0C\u7532\u3002\u6708\u8F9B\u91D1\uFF0C\u706B\u571F\u4E3A\u75C5\uFF0C\u6C34\u6728\u4E3A\u836F\u3002",
414
+ target: []
415
+ },
416
+ ["\u4EA5" /* 亥 */]: {
417
+ text: "\u4EA5\u6708\u58EC\u3002\u5148\u58EC\u540E\u4E19\uFF0C\u540D\u91D1\u767D\u6C34\u6E05\uFF0C\u9980\u7686\u914C\u7528\u3002",
418
+ target: []
419
+ },
420
+ ["\u5B50" /* 子 */]: {
421
+ text: "\u5B50\u6708\u4E19\uFF0C\u620A\uFF0C\u58EC\uFF0C\u7533\u3002\u51AC\u6708\u8F9B\u91D1\uFF0C\u4E0D\u80FD\u7F3A\u4E19\u706B\u6E29\u6696\uFF0C\u9980\u7686\u914C\u7528\u3002",
422
+ target: []
423
+ },
424
+ ["\u4E11" /* 丑 */]: {
425
+ text: "\u4E11\u6708\u58EC\uFF0C\u620A\uFF0C\u5DF1\u3002\u540C\u4E0A\uFF0C\u58EC\u5148\uFF0C\u620A\u5DF1\u6B21\u4E4B\uFF0C\u4E19\u706B\u4E0D\u53EF\u5C11\u4E5F\u3002",
426
+ target: []
427
+ }
428
+ },
429
+ ["\u58EC" /* 壬 */]: {
430
+ ["\u5BC5" /* 寅 */]: {
431
+ text: "\u5BC5\u6708\u5E9A\uFF0C\u4E19\uFF0C\u620A\u3002\u65E0\u6BD4\u52AB\u8005\uFF0C\u4E0D\u5FC5\u7528\u620A\uFF0C\u4E13\u7528\u5E9A\u91D1\uFF0C\u4EE5\u4E19\u4E3A\u4F50\uFF0C\u5982\u6BD4\u52AB\u591A\uFF0C\u53C8\u5E94\u8BE5\u5236\u4E4B\uFF0C\u4E00\u620A\u51FA\uFF0C\u540D\u4E00\u5C06\u5F53\u5173\uFF0C\u7FA4\u90AA\u81EA\u4F0F\u3002",
432
+ target: []
433
+ },
434
+ ["\u536F" /* 卯 */]: {
435
+ text: "\u536F\u6708\u620A\uFF0C\u8F9B\uFF0C\u5E9A\u3002\u4E09\u6625\u58EC\u6C34\u7EDD\u5730\uFF0C\u53D6\u5E9A\uFF0C\u8F9B\u53D1\u6C34\u4E4B\u6E90\uFF0C\u6C34\u591A\u7528\u620A\u3002",
436
+ target: []
437
+ },
438
+ ["\u8FB0" /* 辰 */]: {
439
+ text: "\u8FB0\u6708\u7532\uFF0C\u5E9A\u3002\u7532\u758F\u5B63\u4E0A\uFF0C\u6B21\u53D6\u5E9A\u91D1\u53D1\u6C34\u6E90\uFF0C\u91D1\u591A\u9884\u4E19\u5236\u4E4B\u4E3A\u5999\u3002",
440
+ target: []
441
+ },
442
+ ["\u5DF3" /* 巳 */]: {
443
+ text: "\u5DF3\u6708\u58EC\uFF0C\u8F9B\u5E9A\uFF0C\u7678\u3002\u58EC\u6C34\u5F31\u6781\uFF0C\u53D6\u5E9A\uFF0C\u8F9B\u4E3A\u6E90\uFF0C\u58EC\u7678\u6BD4\u52AB\u3002",
444
+ target: []
445
+ },
446
+ ["\u5348" /* 午 */]: {
447
+ text: "\u5348\u6708\u7678\uFF0C\u5E9A\uFF0C\u8F9B\u3002\u53D6\u5E9A\u4E3A\u6E90\uFF0C\u53D6\u7678\u4E3A\u4F50\uFF0C\u65E0\u5E9A\u7528\u8F9B\u3002",
448
+ target: []
449
+ },
450
+ ["\u672A" /* 未 */]: {
451
+ text: "\u672A\u6708\u8F9B\uFF0C\u7532\u3002\u4EE5\u8F9B\u91D1\u53D1\u6C34\u6E90\uFF0C\u7532\u6728\u758F\u571F\u3002",
452
+ target: []
453
+ },
454
+ ["\u7533" /* 申 */]: {
455
+ text: "\u7533\u6708\u620A\uFF0C\u4E01\u3002\u53D6\u4E01\u706B\u4F50\u620A\u5236\u5E9A\uFF0C\u620A\u571F\u901A\u6839\u8FB0\u620C\uFF0C\u4E01\u706B\u901A\u6839\u5348\u620C\uFF0C\u65B9\u53EF\u4E3A\u7528\u3002",
456
+ target: []
457
+ },
458
+ ["\u9149" /* 酉 */]: {
459
+ text: "\u9149\u6708\u7532\uFF0C\u5E9A\u3002\u65E0\u7532\uFF0C\u7528\u91D1\u53D1\u6C34\u4E4B\u6E90\uFF0C\u540D\u72EC\u6C34\u72AF\u5E9A\u8F9B\uFF0C\u4F53\u5168\u4E4B\u4E49\u3002",
460
+ target: []
461
+ },
462
+ ["\u620C" /* 戌 */]: {
463
+ text: "\u620C\u6708\u7532\uFF0C\u4E19\u3002\u4EE5\u7532\u5236\u620C\u4E2D\u620A\u571F\uFF0C\u4E19\u706B\u4E3A\u4F50\u3002",
464
+ target: []
465
+ },
466
+ ["\u4EA5" /* 亥 */]: {
467
+ text: "\u4EA5\u6708\u620A\uFF0C\u4E19\uFF0C\u5E9A\u3002\u5982\u7532\u51FA\u5236\u620A\uFF0C\u987B\u4EE5\u5E9A\u91D1\u4E3A\u6551\u3002",
468
+ target: []
469
+ },
470
+ ["\u5B50" /* 子 */]: {
471
+ text: "\u5B50\u6708\u620A\uFF0C\u4E19\u3002\u6C34\u65FA\u5E94\u8BE5\u620A\uFF0C\u8C03\u5019\u5E94\u8BE5\u4E19\uFF0C\u4E19\u620A\u5FC5\u987B\u517C\u7528\u3002",
472
+ target: []
473
+ },
474
+ ["\u4E11" /* 丑 */]: {
475
+ text: "\u4E11\u6708\u4E19\uFF0C\u4E01\uFF0C\u7532\u3002\u4E0A\u534A\u6708\u4E13\u7528\u4E19\u706B\uFF0C\u4E0B\u534A\u6708\u7528\u4E19\uFF0C\u7532\u6728\u4E3A\u4F50\u3002",
476
+ target: []
477
+ }
478
+ },
479
+ ["\u7678" /* 癸 */]: {
480
+ ["\u5BC5" /* 寅 */]: {
481
+ text: "\u5BC5\u6708\u8F9B\uFF0C\u4E19\u3002\u7528\u8F9B\u751F\u7678\u6C34\u4E3A\u6E90\uFF0C\u65E0\u8F9B\u7528\u5E9A\uFF0C\u4E19\u4E0D\u53EF\u5C11\u3002",
482
+ target: []
483
+ },
484
+ ["\u536F" /* 卯 */]: {
485
+ text: "\u536F\u6708\u5E9A\uFF0C\u8F9B\u3002\u4E59\u6728\u53F8\u4EE4\uFF0C\u4E13\u7528\u5E9A\u91D1\uFF0C\u8F9B\u91D1\u6B21\u4E4B\u3002",
486
+ target: []
487
+ },
488
+ ["\u8FB0" /* 辰 */]: {
489
+ text: "\u8FB0\u6708\u4E19\uFF0C\u8F9B\uFF0C\u7532\u3002\u4E0A\u534A\u6708\u4E13\u7528\u4E19\u706B\uFF0C\u4E0B\u534A\u6708\u867D\u7528\u4E19\u706B\uFF0C\u8F9B\u7532\u4E3A\u4F50\u3002",
490
+ target: []
491
+ },
492
+ ["\u5DF3" /* 巳 */]: {
493
+ text: "\u5DF3\u6708\u8F9B\u3002\u65E0\u8F9B\u7528\u5E9A\u3002",
494
+ target: []
495
+ },
496
+ ["\u5348" /* 午 */]: {
497
+ text: "\u5348\u6708\u5E9A\uFF0C\u8F9B\uFF0C\u58EC\uFF0C\u7678\u3002\u5E9A\u8F9B\u4E3A\u751F\u8EAB\u4E4B\u672C\uFF0C\u4F46\u4E01\u706B\u53F8\u6743\uFF0C\u91D1\u96BE\u654C\u706B\uFF0C\u5E94\u8BE5\u517C\u7528\u6BD4\u52AB\uFF0C\u65B9\u5F97\u5E9A\u8F9B\u4E4B\u7528\u3002",
498
+ target: []
499
+ },
500
+ ["\u672A" /* 未 */]: {
501
+ text: "\u672A\u6708\u5E9A\uFF0C\u8F9B\uFF0C\u58EC\uFF0C\u7678\u3002\u4E0A\u534A\u6708\u91D1\u795E\u8870\u5F31\uFF0C\u706B\u6C14\u708E\u70ED\uFF0C\u5E94\u8BE5\u6BD4\u52AB\u5E2E\u8EAB\uFF0C\u540C\u4E94\u6708\u3002",
502
+ target: []
503
+ },
504
+ ["\u7533" /* 申 */]: {
505
+ text: "\u7533\u6708\u4E01\u3002\u5E9A\u91D1\u5F97\u7984\uFF0C\u5FC5\u4E01\u706B\u5236\u91D1\u4E3A\u7528\uFF0C\u4E01\u706B\u4EE5\u901A\u6839\u5348\u620C\u672A\u4E3A\u5999\u3002",
506
+ target: []
507
+ },
508
+ ["\u9149" /* 酉 */]: {
509
+ text: "\u9149\u6708\u8F9B\uFF0C\u4E19\u3002\u8F9B\u91D1\u4E3A\u7528\uFF0C\u4E19\u706B\u4F50\u4E4B\uFF0C\u540D\u6C34\u6696\u91D1\u6E29\uFF0C\u987B\u9694\u4F4D\u540C\u900F\u3002",
510
+ target: []
511
+ },
512
+ ["\u620C" /* 戌 */]: {
513
+ text: "\u620C\u6708\u8F9B\uFF0C\u7532\uFF0C\u58EC\uFF0C\u7678\u3002\u4E13\u7528\u8F9B\u91D1\uFF0C\u5FCC\u620A\u571F\uFF0C\u8981\u6BD4\u52AB\u6ECB\u7532\uFF0C\u5236\u620A\u4E3A\u5999\u3002",
514
+ target: []
515
+ },
516
+ ["\u4EA5" /* 亥 */]: {
517
+ text: "\u4EA5\u6708\u5E9A\uFF0C\u8F9B\uFF0C\u620A\uFF0C\u4E01\u3002\u4EA5\u4E2D\u7532\u6728\u957F\u751F\uFF0C\u6CC4\u6563\u5143\u795E\uFF0C\u5E94\u8BE5\u7528\u5E9A\uFF0C\u8F9B\u3002\u6C34\u591A\u7528\u620A\uFF0C\u91D1\u591A\u7528\u4E01\u3002",
518
+ target: []
519
+ },
520
+ ["\u5B50" /* 子 */]: {
521
+ text: "\u5B50\u6708\u4E19\uFF0C\u8F9B\u3002\u4E19\u706B\u89E3\u51BB\uFF0C\u8F9B\u91D1\u6ECB\u6276\u3002",
522
+ target: []
523
+ },
524
+ ["\u4E11" /* 丑 */]: {
525
+ text: "\u4E11\u6708\u4E19\uFF0C\u4E01\u3002\u4E19\u706B\u89E3\u51BB\uFF0C\u901A\u6839\u5BC5\u5DF3\u5348\u672A\u620C\uFF0C\u65B9\u5999\uFF0C\u7678\u5DF3\u4F1A\u515A\uFF0C\u5E74\u900F\u4E01\u706B\uFF0C\u540D\u96EA\u540E\u706F\u5149\uFF0C\u591C\u751F\u8005\u8D35\uFF1B\u652F\u6210\u706B\u5C40\uFF0C\u53C8\u5E94\u8BE5\u7528\u5E9A\u8F9B\u3002",
526
+ target: []
527
+ }
528
+ }
529
+ };
530
+
531
+ // src/bazi/wuxing.ts
532
+ var TG = /* @__PURE__ */ ((TG2) => {
533
+ TG2["\u7532"] = "\u7532";
534
+ TG2["\u4E59"] = "\u4E59";
535
+ TG2["\u4E19"] = "\u4E19";
536
+ TG2["\u4E01"] = "\u4E01";
537
+ TG2["\u620A"] = "\u620A";
538
+ TG2["\u5DF1"] = "\u5DF1";
539
+ TG2["\u5E9A"] = "\u5E9A";
540
+ TG2["\u8F9B"] = "\u8F9B";
541
+ TG2["\u58EC"] = "\u58EC";
542
+ TG2["\u7678"] = "\u7678";
543
+ return TG2;
544
+ })(TG || {});
545
+ var DZ = /* @__PURE__ */ ((DZ2) => {
546
+ DZ2["\u5B50"] = "\u5B50";
547
+ DZ2["\u4E11"] = "\u4E11";
548
+ DZ2["\u5BC5"] = "\u5BC5";
549
+ DZ2["\u536F"] = "\u536F";
550
+ DZ2["\u8FB0"] = "\u8FB0";
551
+ DZ2["\u5DF3"] = "\u5DF3";
552
+ DZ2["\u5348"] = "\u5348";
553
+ DZ2["\u672A"] = "\u672A";
554
+ DZ2["\u7533"] = "\u7533";
555
+ DZ2["\u9149"] = "\u9149";
556
+ DZ2["\u620C"] = "\u620C";
557
+ DZ2["\u4EA5"] = "\u4EA5";
558
+ return DZ2;
559
+ })(DZ || {});
560
+ var TG_10 = ["\u7532" /* 甲 */, "\u4E59" /* 乙 */, "\u4E19" /* 丙 */, "\u4E01" /* 丁 */, "\u620A" /* 戊 */, "\u5DF1" /* 己 */, "\u5E9A" /* 庚 */, "\u8F9B" /* 辛 */, "\u58EC" /* 壬 */, "\u7678" /* 癸 */];
561
+ var DZ_12 = [
562
+ "\u5B50" /* 子 */,
563
+ "\u4E11" /* 丑 */,
564
+ "\u5BC5" /* 寅 */,
565
+ "\u536F" /* 卯 */,
566
+ "\u8FB0" /* 辰 */,
567
+ "\u5DF3" /* 巳 */,
568
+ "\u5348" /* 午 */,
569
+ "\u672A" /* 未 */,
570
+ "\u7533" /* 申 */,
571
+ "\u9149" /* 酉 */,
572
+ "\u620C" /* 戌 */,
573
+ "\u4EA5" /* 亥 */
574
+ ];
575
+ var DZ_SHEN_MING = [
576
+ "\u5BC5" /* 寅 */,
577
+ "\u536F" /* 卯 */,
578
+ "\u8FB0" /* 辰 */,
579
+ "\u5DF3" /* 巳 */,
580
+ "\u5348" /* 午 */,
581
+ "\u672A" /* 未 */,
582
+ "\u7533" /* 申 */,
583
+ "\u9149" /* 酉 */,
584
+ "\u620C" /* 戌 */,
585
+ "\u4EA5" /* 亥 */,
586
+ "\u5B50" /* 子 */,
587
+ "\u4E11" /* 丑 */
588
+ ];
589
+ var WX = /* @__PURE__ */ ((WX2) => {
590
+ WX2["\u91D1"] = "\u91D1";
591
+ WX2["\u6728"] = "\u6728";
592
+ WX2["\u6C34"] = "\u6C34";
593
+ WX2["\u706B"] = "\u706B";
594
+ WX2["\u571F"] = "\u571F";
595
+ return WX2;
596
+ })(WX || {});
597
+ var WuXing5 = ["\u91D1" /* 金 */, "\u6728" /* 木 */, "\u6C34" /* 水 */, "\u706B" /* 火 */, "\u571F" /* 土 */];
598
+ var JQ_4LI = ["\u6625\u5206", "\u590F\u81F3", "\u79CB\u5206", "\u51AC\u81F3"];
599
+ var JQ_4JUE = ["\u7ACB\u6625", "\u7ACB\u590F", "\u7ACB\u79CB", "\u7ACB\u51AC"];
600
+ var JQ_24 = [
601
+ "\u7ACB\u6625",
602
+ "\u96E8\u6C34",
603
+ "\u60CA\u86F0",
604
+ "\u6625\u5206",
605
+ "\u6E05\u660E",
606
+ "\u8C37\u96E8",
607
+ "\u7ACB\u590F",
608
+ "\u5C0F\u6EE1",
609
+ "\u8292\u79CD",
610
+ "\u590F\u81F3",
611
+ "\u5C0F\u6691",
612
+ "\u5927\u6691",
613
+ "\u7ACB\u79CB",
614
+ "\u5904\u6691",
615
+ "\u767D\u9732",
616
+ "\u79CB\u5206",
617
+ "\u5BD2\u9732",
618
+ "\u971C\u964D",
619
+ "\u7ACB\u51AC",
620
+ "\u5C0F\u96EA",
621
+ "\u5927\u96EA",
622
+ "\u51AC\u81F3",
623
+ "\u5C0F\u5BD2",
624
+ "\u5927\u5BD2"
625
+ ];
626
+ var JQ_12 = JQ_24.reduce((r, i, index) => {
627
+ if (index % 2 === 0) {
628
+ r.push(i);
629
+ }
630
+ return r;
631
+ }, []);
632
+ var YueLinByWuxing = {
633
+ // [WX.金]: [YueClass.旺, YueClass.死, YueClass.相, YueClass.囚, YueClass.休],
634
+ ["\u91D1" /* 金 */]: ["\u91D1" /* 金 */, "\u6C34" /* 水 */, "\u571F" /* 土 */, "\u706B" /* 火 */, "\u6728" /* 木 */],
635
+ // [WX.木]: [YueClass.休, YueClass.旺, YueClass.休, YueClass.相, YueClass.死],
636
+ ["\u6728" /* 木 */]: ["\u6728" /* 木 */, "\u706B" /* 火 */, "\u6C34" /* 水 */, "\u91D1" /* 金 */, "\u571F" /* 土 */],
637
+ // [WX.水]: [YueClass.休, YueClass.相, YueClass.旺, YueClass.死, YueClass.休],
638
+ ["\u6C34" /* 水 */]: ["\u6C34" /* 水 */, "\u6728" /* 木 */, "\u91D1" /* 金 */, "\u571F" /* 土 */, "\u706B" /* 火 */],
639
+ // [WX.火]: [YueClass.死, YueClass.休, YueClass.囚, YueClass.旺, YueClass.相],
640
+ ["\u706B" /* 火 */]: ["\u706B" /* 火 */, "\u571F" /* 土 */, "\u6728" /* 木 */, "\u6C34" /* 水 */, "\u91D1" /* 金 */],
641
+ // [WX.土]: [YueClass.相, YueClass.囚, YueClass.死, YueClass.休, YueClass.旺],
642
+ ["\u571F" /* 土 */]: ["\u571F" /* 土 */, "\u91D1" /* 金 */, "\u6728" /* 木 */, "\u706B" /* 火 */, "\u6C34" /* 水 */]
643
+ };
644
+ var TG_LEVEL = /* @__PURE__ */ ((TG_LEVEL2) => {
645
+ TG_LEVEL2[TG_LEVEL2["\u65E0\u6839\u6C14"] = 0] = "\u65E0\u6839\u6C14";
646
+ TG_LEVEL2[TG_LEVEL2["\u4F59\u6C14\u6839"] = 1] = "\u4F59\u6C14\u6839";
647
+ TG_LEVEL2[TG_LEVEL2["\u4E2D\u6C14\u6839"] = 2] = "\u4E2D\u6C14\u6839";
648
+ TG_LEVEL2[TG_LEVEL2["\u672C\u6C14\u6839"] = 3] = "\u672C\u6C14\u6839";
649
+ return TG_LEVEL2;
650
+ })(TG_LEVEL || {});
651
+ var DZ_LEVEL = /* @__PURE__ */ ((DZ_LEVEL2) => {
652
+ DZ_LEVEL2[DZ_LEVEL2["\u900F\u5E72"] = 0] = "\u900F\u5E72";
653
+ DZ_LEVEL2[DZ_LEVEL2["\u672A\u900F\u5E72"] = 1] = "\u672A\u900F\u5E72";
654
+ return DZ_LEVEL2;
655
+ })(DZ_LEVEL || {});
656
+ var WuXingClass = class {
657
+ constructor() {
658
+ this.map_dzgx = {
659
+ ["\u5408" /* 合 */]: [
660
+ ["\u5B50" /* 子 */, "\u4E11" /* 丑 */],
661
+ // 合化土
662
+ ["\u5BC5" /* 寅 */, "\u4EA5" /* 亥 */],
663
+ // 合化木
664
+ ["\u536F" /* 卯 */, "\u620C" /* 戌 */],
665
+ // 合化火
666
+ ["\u8FB0" /* 辰 */, "\u9149" /* 酉 */],
667
+ // 合化金
668
+ ["\u5DF3" /* 巳 */, "\u7533" /* 申 */],
669
+ // 合化水
670
+ ["\u5348" /* 午 */, "\u672A" /* 未 */]
671
+ // 合化土
672
+ ],
673
+ ["\u6697\u5408" /* 暗合 */]: [
674
+ ["\u536F" /* 卯 */, "\u7533" /* 申 */],
675
+ ["\u5BC5" /* 寅 */, "\u4E11" /* 丑 */],
676
+ ["\u5348" /* 午 */, "\u4EA5" /* 亥 */]
677
+ ],
678
+ ["\u51B2" /* 冲 */]: [
679
+ ["\u5B50" /* 子 */, "\u5348" /* 午 */],
680
+ // 水火本气受损
681
+ ["\u536F" /* 卯 */, "\u9149" /* 酉 */],
682
+ // 金木本气受损
683
+ ["\u5BC5" /* 寅 */, "\u7533" /* 申 */],
684
+ // 本气藏干都受损
685
+ ["\u5DF3" /* 巳 */, "\u4EA5" /* 亥 */],
686
+ // 本气藏干都受损
687
+ ["\u8FB0" /* 辰 */, "\u620C" /* 戌 */],
688
+ // 本气冲旺藏干互毁
689
+ ["\u4E11" /* 丑 */, "\u672A" /* 未 */]
690
+ // 本气冲旺藏干互毁
691
+ ],
692
+ ["\u7A7F" /* 穿 */]: [
693
+ ["\u672A" /* 未 */, "\u5B50" /* 子 */],
694
+ // 己土穿癸水
695
+ ["\u4E11" /* 丑 */, "\u5348" /* 午 */],
696
+ // 癸水克丁火
697
+ ["\u5DF3" /* 巳 */, "\u5BC5" /* 寅 */],
698
+ // 庚金克甲木
699
+ ["\u536F" /* 卯 */, "\u8FB0" /* 辰 */],
700
+ // 木克土
701
+ ["\u7533" /* 申 */, "\u4EA5" /* 亥 */],
702
+ // 庚金克甲木
703
+ ["\u620C" /* 戌 */, "\u9149" /* 酉 */]
704
+ // 丁火克辛金
705
+ ],
706
+ ["\u5211" /* 刑 */]: [
707
+ ["\u5B50" /* 子 */, "\u536F" /* 卯 */],
708
+ ["\u5348" /* 午 */, "\u9149" /* 酉 */],
709
+ ["\u8FB0" /* 辰 */, "\u8FB0" /* 辰 */],
710
+ ["\u9149" /* 酉 */, "\u9149" /* 酉 */],
711
+ ["\u4EA5" /* 亥 */, "\u4EA5" /* 亥 */],
712
+ ["\u5348" /* 午 */, "\u5348" /* 午 */]
713
+ ],
714
+ ["\u7834" /* 破 */]: [
715
+ ["\u5B50" /* 子 */, "\u9149" /* 酉 */],
716
+ ["\u5348" /* 午 */, "\u536F" /* 卯 */],
717
+ ["\u5DF3" /* 巳 */, "\u7533" /* 申 */],
718
+ ["\u5BC5" /* 寅 */, "\u4EA5" /* 亥 */],
719
+ ["\u8FB0" /* 辰 */, "\u4E11" /* 丑 */],
720
+ ["\u672A" /* 未 */, "\u620C" /* 戌 */]
721
+ ],
722
+ ["\u4E09\u5211" /* 三刑 */]: [
723
+ ["\u4E11" /* 丑 */, "\u672A" /* 未 */, "\u620C" /* 戌 */],
724
+ //(土力量增加,藏干互毁)
725
+ ["\u5BC5" /* 寅 */, "\u5DF3" /* 巳 */, "\u7533" /* 申 */]
726
+ //(本气互毁)
727
+ ],
728
+ ["\u4E09\u5408" /* 三合 */]: [
729
+ ["\u5BC5" /* 寅 */, "\u5348" /* 午 */, "\u620C" /* 戌 */],
730
+ ["\u7533" /* 申 */, "\u5B50" /* 子 */, "\u8FB0" /* 辰 */],
731
+ ["\u5DF3" /* 巳 */, "\u9149" /* 酉 */, "\u4E11" /* 丑 */],
732
+ ["\u4EA5" /* 亥 */, "\u536F" /* 卯 */, "\u672A" /* 未 */]
733
+ ],
734
+ ["\u56DB\u5408" /* 四合 */]: [["\u8FB0" /* 辰 */, "\u620C" /* 戌 */, "\u672A" /* 未 */, "\u4E11" /* 丑 */]],
735
+ ["\u4E09\u4F1A" /* 三会 */]: [
736
+ ["\u5DF3" /* 巳 */, "\u5348" /* 午 */, "\u672A" /* 未 */],
737
+ ["\u4EA5" /* 亥 */, "\u5B50" /* 子 */, "\u4E11" /* 丑 */],
738
+ ["\u7533" /* 申 */, "\u9149" /* 酉 */, "\u620C" /* 戌 */],
739
+ ["\u5BC5" /* 寅 */, "\u536F" /* 卯 */, "\u8FB0" /* 辰 */]
740
+ ],
741
+ get ["\u62F1\u5408" /* 拱合 */]() {
742
+ return this["\u4E09\u5408" /* 三合 */];
743
+ },
744
+ get ["\u62F1\u4F1A" /* 拱会 */]() {
745
+ return this["\u4E09\u4F1A" /* 三会 */];
746
+ },
747
+ get ["\u4E09\u5211\u4E4B\u4E8C" /* 三刑之二 */]() {
748
+ return this["\u4E09\u5211" /* 三刑 */];
749
+ }
750
+ };
751
+ // map_tg_genqi = {
752
+ // [TG.甲]: {
753
+ // [TG_LEVEL.禄]: [DZ.寅],
754
+ // [TG_LEVEL.刃]: [DZ.卯],
755
+ // [TG_LEVEL.中气根]: [DZ.亥, DZ.辰],
756
+ // [TG_LEVEL.余气根]: [DZ.未],
757
+ // },
758
+ // get [TG.乙]() {
759
+ // return _exchangeGenqi(this[TG.甲]);
760
+ // },
761
+ // [TG.丙]: {
762
+ // [TG_LEVEL.禄]: [DZ.巳],
763
+ // [TG_LEVEL.刃]: [DZ.午],
764
+ // [TG_LEVEL.中气根]: [DZ.寅, DZ.未],
765
+ // [TG_LEVEL.余气根]: [DZ.戌],
766
+ // },
767
+ // get [TG.丁]() {
768
+ // return _exchangeGenqi(this[TG.丙]);
769
+ // },
770
+ // [TG.戊]: {
771
+ // [TG_LEVEL.禄]: [DZ.戌, DZ.辰],
772
+ // [TG_LEVEL.刃]: [DZ.丑, DZ.未],
773
+ // [TG_LEVEL.中气根]: [DZ.巳],
774
+ // [TG_LEVEL.余气根]: [DZ.寅, DZ.申],
775
+ // },
776
+ // get [TG.己]() {
777
+ // return _exchangeGenqi(this[TG.戊]);
778
+ // },
779
+ // [TG.庚]: {
780
+ // [TG_LEVEL.禄]: [DZ.申],
781
+ // [TG_LEVEL.刃]: [DZ.酉],
782
+ // [TG_LEVEL.中气根]: [DZ.戌],
783
+ // [TG_LEVEL.余气根]: [DZ.丑, DZ.巳],
784
+ // },
785
+ // get [TG.辛]() {
786
+ // return _exchangeGenqi(this[TG.庚]);
787
+ // },
788
+ // [TG.壬]: {
789
+ // [TG_LEVEL.禄]: [DZ.亥],
790
+ // [TG_LEVEL.刃]: [DZ.子],
791
+ // [TG_LEVEL.中气根]: [DZ.丑, DZ.申],
792
+ // [TG_LEVEL.余气根]: [DZ.辰],
793
+ // },
794
+ // get [TG.癸]() {
795
+ // return _exchangeGenqi(this[TG.壬]);
796
+ // },
797
+ // };
798
+ this.map_wx_genqi = {
799
+ ["\u6728" /* 木 */]: {
800
+ [3 /* 本气根 */]: ["\u5BC5" /* 寅 */, "\u536F" /* 卯 */],
801
+ [2 /* 中气根 */]: ["\u4EA5" /* 亥 */, "\u8FB0" /* 辰 */],
802
+ [1 /* 余气根 */]: ["\u672A" /* 未 */]
803
+ },
804
+ ["\u706B" /* 火 */]: {
805
+ [3 /* 本气根 */]: ["\u5DF3" /* 巳 */, "\u5348" /* 午 */],
806
+ [2 /* 中气根 */]: ["\u5BC5" /* 寅 */, "\u672A" /* 未 */],
807
+ [1 /* 余气根 */]: ["\u620C" /* 戌 */]
808
+ },
809
+ ["\u571F" /* 土 */]: {
810
+ [3 /* 本气根 */]: ["\u8FB0" /* 辰 */, "\u620C" /* 戌 */, "\u4E11" /* 丑 */, "\u672A" /* 未 */],
811
+ [2 /* 中气根 */]: ["\u5DF3" /* 巳 */, "\u5348" /* 午 */],
812
+ [1 /* 余气根 */]: ["\u5BC5" /* 寅 */, "\u7533" /* 申 */]
813
+ },
814
+ ["\u91D1" /* 金 */]: {
815
+ [3 /* 本气根 */]: ["\u7533" /* 申 */, "\u9149" /* 酉 */],
816
+ [2 /* 中气根 */]: ["\u620C" /* 戌 */],
817
+ [1 /* 余气根 */]: ["\u4E11" /* 丑 */, "\u5DF3" /* 巳 */]
818
+ },
819
+ ["\u6C34" /* 水 */]: {
820
+ [3 /* 本气根 */]: ["\u4EA5" /* 亥 */, "\u5B50" /* 子 */],
821
+ [2 /* 中气根 */]: ["\u4E11" /* 丑 */, "\u7533" /* 申 */],
822
+ [1 /* 余气根 */]: ["\u8FB0" /* 辰 */]
823
+ }
824
+ };
825
+ this.map_dz_wx = {
826
+ ["\u5B50" /* 子 */]: { ["\u6C34" /* 水 */]: 1 },
827
+ ["\u4E11" /* 丑 */]: { ["\u571F" /* 土 */]: 0.6, ["\u6C34" /* 水 */]: 0.3, ["\u91D1" /* 金 */]: 0.1 },
828
+ ["\u5BC5" /* 寅 */]: { ["\u6728" /* 木 */]: 0.6, ["\u706B" /* 火 */]: 0.3, ["\u571F" /* 土 */]: 0.1 },
829
+ ["\u536F" /* 卯 */]: { ["\u6728" /* 木 */]: 1 },
830
+ ["\u8FB0" /* 辰 */]: { ["\u571F" /* 土 */]: 0.6, ["\u6728" /* 木 */]: 0.3, ["\u6C34" /* 水 */]: 0.1 },
831
+ ["\u5DF3" /* 巳 */]: { ["\u706B" /* 火 */]: 0.6, ["\u571F" /* 土 */]: 0.3, ["\u91D1" /* 金 */]: 0.1 },
832
+ ["\u5348" /* 午 */]: { ["\u706B" /* 火 */]: 0.7, ["\u571F" /* 土 */]: 0.3 },
833
+ ["\u672A" /* 未 */]: { ["\u571F" /* 土 */]: 0.6, ["\u706B" /* 火 */]: 0.3, ["\u6728" /* 木 */]: 0.1 },
834
+ ["\u7533" /* 申 */]: { ["\u91D1" /* 金 */]: 0.6, ["\u6C34" /* 水 */]: 0.3, ["\u571F" /* 土 */]: 0.1 },
835
+ ["\u9149" /* 酉 */]: { ["\u91D1" /* 金 */]: 1 },
836
+ ["\u620C" /* 戌 */]: { ["\u571F" /* 土 */]: 0.6, ["\u91D1" /* 金 */]: 0.3, ["\u706B" /* 火 */]: 0.1 },
837
+ ["\u4EA5" /* 亥 */]: { ["\u6C34" /* 水 */]: 0.7, ["\u6728" /* 木 */]: 0.3 }
838
+ };
839
+ this.map_dz_2_power = {
840
+ ["\u5B50" /* 子 */]: {
841
+ ["\u5B50" /* 子 */]: { ["\u6C34" /* 水 */]: 1 },
842
+ //
843
+ ["\u4E11" /* 丑 */]: { ["\u6C34" /* 水 */]: 0.8 },
844
+ // 被合
845
+ ["\u5BC5" /* 寅 */]: { ["\u6C34" /* 水 */]: 0.9 },
846
+ // 生寅木
847
+ ["\u536F" /* 卯 */]: { ["\u6C34" /* 水 */]: 1 },
848
+ // 刑
849
+ ["\u8FB0" /* 辰 */]: { ["\u6C34" /* 水 */]: 1.5 },
850
+ // 半合水
851
+ ["\u5DF3" /* 巳 */]: { ["\u6C34" /* 水 */]: 0.8 },
852
+ // 水被耗
853
+ ["\u5348" /* 午 */]: { ["\u6C34" /* 水 */]: 0.5 },
854
+ // 冲
855
+ ["\u672A" /* 未 */]: { ["\u6C34" /* 水 */]: 0.4 },
856
+ // 被穿被克
857
+ ["\u7533" /* 申 */]: { ["\u6C34" /* 水 */]: 1.5 },
858
+ // 半合水
859
+ ["\u9149" /* 酉 */]: { ["\u6C34" /* 水 */]: 1 },
860
+ // 酉不生子
861
+ ["\u620C" /* 戌 */]: { ["\u6C34" /* 水 */]: 0.6 },
862
+ // 被克
863
+ ["\u4EA5" /* 亥 */]: { ["\u6C34" /* 水 */]: 1.5 }
864
+ // 半会
865
+ },
866
+ ["\u4E11" /* 丑 */]: {
867
+ ["\u5B50" /* 子 */]: { ["\u571F" /* 土 */]: 1.2, ["\u6C34" /* 水 */]: 0.8, ["\u91D1" /* 金 */]: 1 },
868
+ // 合子
869
+ ["\u4E11" /* 丑 */]: { ["\u571F" /* 土 */]: 1, ["\u6C34" /* 水 */]: 1, ["\u91D1" /* 金 */]: 1 },
870
+ // 无
871
+ ["\u5BC5" /* 寅 */]: { ["\u571F" /* 土 */]: 1.1, ["\u6C34" /* 水 */]: 0.8, ["\u91D1" /* 金 */]: 0.9 },
872
+ // 暗合
873
+ ["\u536F" /* 卯 */]: { ["\u571F" /* 土 */]: 0.5, ["\u6C34" /* 水 */]: 1, ["\u91D1" /* 金 */]: 0.8 },
874
+ // 被克
875
+ ["\u8FB0" /* 辰 */]: { ["\u571F" /* 土 */]: 1, ["\u6C34" /* 水 */]: 0.8, ["\u91D1" /* 金 */]: 0.8 },
876
+ // 破、辛金消耗
877
+ ["\u5DF3" /* 巳 */]: { ["\u571F" /* 土 */]: 1, ["\u6C34" /* 水 */]: 0.8, ["\u91D1" /* 金 */]: 1.5 },
878
+ // 拱金
879
+ ["\u5348" /* 午 */]: { ["\u571F" /* 土 */]: 1.2, ["\u6C34" /* 水 */]: 0.8, ["\u91D1" /* 金 */]: 1 },
880
+ // 穿 癸水克丁火
881
+ ["\u672A" /* 未 */]: { ["\u571F" /* 土 */]: 1.5, ["\u6C34" /* 水 */]: 0.1, ["\u91D1" /* 金 */]: 0.5 },
882
+ // 冲 本气冲旺藏干互毁
883
+ ["\u7533" /* 申 */]: { ["\u571F" /* 土 */]: 0.8, ["\u6C34" /* 水 */]: 1, ["\u91D1" /* 金 */]: 1.5 },
884
+ // 半会
885
+ ["\u9149" /* 酉 */]: { ["\u571F" /* 土 */]: 0.7, ["\u6C34" /* 水 */]: 1, ["\u91D1" /* 金 */]: 1.5 },
886
+ // 半合
887
+ ["\u620C" /* 戌 */]: { ["\u571F" /* 土 */]: 1.5, ["\u6C34" /* 水 */]: 0.5, ["\u91D1" /* 金 */]: 0.3 },
888
+ // 刑
889
+ ["\u4EA5" /* 亥 */]: { ["\u571F" /* 土 */]: 1, ["\u6C34" /* 水 */]: 1.5, ["\u91D1" /* 金 */]: 1 }
890
+ // 半会
891
+ },
892
+ ["\u5BC5" /* 寅 */]: {
893
+ ["\u5B50" /* 子 */]: { ["\u6728" /* 木 */]: 1.2, ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 1 },
894
+ // 癸水生甲木
895
+ ["\u4E11" /* 丑 */]: { ["\u6728" /* 木 */]: 0.8, ["\u706B" /* 火 */]: 0.8, ["\u571F" /* 土 */]: 0.9 },
896
+ // 暗合
897
+ ["\u5BC5" /* 寅 */]: { ["\u6728" /* 木 */]: 1, ["\u706B" /* 火 */]: 1, ["\u571F" /* 土 */]: 1 },
898
+ //
899
+ ["\u536F" /* 卯 */]: { ["\u6728" /* 木 */]: 1.5, ["\u706B" /* 火 */]: 0.8, ["\u571F" /* 土 */]: 0.8 },
900
+ // 半会
901
+ ["\u8FB0" /* 辰 */]: { ["\u6728" /* 木 */]: 1.5, ["\u706B" /* 火 */]: 0.8, ["\u571F" /* 土 */]: 0.5 },
902
+ // 半会
903
+ ["\u5DF3" /* 巳 */]: { ["\u6728" /* 木 */]: 0.5, ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 1.2 },
904
+ // 穿 庚金克甲木
905
+ ["\u5348" /* 午 */]: { ["\u6728" /* 木 */]: 0.7, ["\u706B" /* 火 */]: 1.5, ["\u571F" /* 土 */]: 1.5 },
906
+ // 半合
907
+ ["\u672A" /* 未 */]: { ["\u6728" /* 木 */]: 0.9, ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 0.8 },
908
+ // 正财耗
909
+ ["\u7533" /* 申 */]: { ["\u6728" /* 木 */]: 0.1, ["\u706B" /* 火 */]: 0.5, ["\u571F" /* 土 */]: 0.8 },
910
+ // 被冲
911
+ ["\u9149" /* 酉 */]: { ["\u6728" /* 木 */]: 0.8, ["\u706B" /* 火 */]: 0.9, ["\u571F" /* 土 */]: 1 },
912
+ // 正官克
913
+ ["\u620C" /* 戌 */]: { ["\u6728" /* 木 */]: 0.7, ["\u706B" /* 火 */]: 1.5, ["\u571F" /* 土 */]: 1 },
914
+ // 拱午
915
+ ["\u4EA5" /* 亥 */]: { ["\u6728" /* 木 */]: 1.4, ["\u706B" /* 火 */]: 0.8, ["\u571F" /* 土 */]: 0.9 }
916
+ // 合木
917
+ },
918
+ ["\u536F" /* 卯 */]: {
919
+ ["\u5B50" /* 子 */]: { ["\u6728" /* 木 */]: 1 },
920
+ // 刑,子水不生卯木
921
+ ["\u4E11" /* 丑 */]: { ["\u6728" /* 木 */]: 0.9 },
922
+ // 偏财克
923
+ ["\u5BC5" /* 寅 */]: { ["\u6728" /* 木 */]: 1.5 },
924
+ // 半会
925
+ ["\u536F" /* 卯 */]: { ["\u6728" /* 木 */]: 1 },
926
+ //
927
+ ["\u8FB0" /* 辰 */]: { ["\u6728" /* 木 */]: 0.9 },
928
+ // 穿 木克土
929
+ ["\u5DF3" /* 巳 */]: { ["\u6728" /* 木 */]: 0.8 },
930
+ // 生伤官
931
+ ["\u5348" /* 午 */]: { ["\u6728" /* 木 */]: 0.7 },
932
+ // 破
933
+ ["\u672A" /* 未 */]: { ["\u6728" /* 木 */]: 1.5 },
934
+ // 半合
935
+ ["\u7533" /* 申 */]: { ["\u6728" /* 木 */]: 0.8 },
936
+ // 暗合
937
+ ["\u9149" /* 酉 */]: { ["\u6728" /* 木 */]: 0.1 },
938
+ // 被冲
939
+ ["\u620C" /* 戌 */]: { ["\u6728" /* 木 */]: 0.7 },
940
+ // 合火
941
+ ["\u4EA5" /* 亥 */]: { ["\u6728" /* 木 */]: 1.5 }
942
+ // 半合
943
+ },
944
+ ["\u8FB0" /* 辰 */]: {
945
+ ["\u5B50" /* 子 */]: { ["\u571F" /* 土 */]: 0.8, ["\u6728" /* 木 */]: 1, ["\u6C34" /* 水 */]: 1.2 },
946
+ // 半合
947
+ ["\u4E11" /* 丑 */]: { ["\u571F" /* 土 */]: 1.2, ["\u6728" /* 木 */]: 0.1, ["\u6C34" /* 水 */]: 0.8 },
948
+ // 破
949
+ ["\u5BC5" /* 寅 */]: { ["\u571F" /* 土 */]: 0.5, ["\u6728" /* 木 */]: 1.2, ["\u6C34" /* 水 */]: 1 },
950
+ // 半会
951
+ ["\u536F" /* 卯 */]: { ["\u571F" /* 土 */]: 0.1, ["\u6728" /* 木 */]: 1.2, ["\u6C34" /* 水 */]: 1 },
952
+ // 被穿 木克土 半会
953
+ ["\u8FB0" /* 辰 */]: { ["\u571F" /* 土 */]: 1.5, ["\u6728" /* 木 */]: 0.3, ["\u6C34" /* 水 */]: 0.3 },
954
+ // 自刑
955
+ ["\u5DF3" /* 巳 */]: { ["\u571F" /* 土 */]: 1.1, ["\u6728" /* 木 */]: 0.7, ["\u6C34" /* 水 */]: 0.9 },
956
+ // 被生
957
+ ["\u5348" /* 午 */]: { ["\u571F" /* 土 */]: 1.2, ["\u6728" /* 木 */]: 0.8, ["\u6C34" /* 水 */]: 0.5 },
958
+ // 被生
959
+ ["\u672A" /* 未 */]: { ["\u571F" /* 土 */]: 1.1, ["\u6728" /* 木 */]: 1, ["\u6C34" /* 水 */]: 0.8 },
960
+ //
961
+ ["\u7533" /* 申 */]: { ["\u571F" /* 土 */]: 0.8, ["\u6728" /* 木 */]: 0.8, ["\u6C34" /* 水 */]: 1.5 },
962
+ // 拱子
963
+ ["\u9149" /* 酉 */]: { ["\u571F" /* 土 */]: 1, ["\u6728" /* 木 */]: 0.8, ["\u6C34" /* 水 */]: 1.1 },
964
+ // 合金
965
+ ["\u620C" /* 戌 */]: { ["\u571F" /* 土 */]: 1.5, ["\u6728" /* 木 */]: 0.1, ["\u6C34" /* 水 */]: 0.3 },
966
+ // 冲
967
+ ["\u4EA5" /* 亥 */]: { ["\u571F" /* 土 */]: 0.5, ["\u6728" /* 木 */]: 1.2, ["\u6C34" /* 水 */]: 1.5 }
968
+ // 开水库、克水
969
+ },
970
+ ["\u5DF3" /* 巳 */]: {
971
+ ["\u5B50" /* 子 */]: { ["\u706B" /* 火 */]: 0.7, ["\u571F" /* 土 */]: 0.9, ["\u91D1" /* 金 */]: 0.9 },
972
+ // 被正官克
973
+ ["\u4E11" /* 丑 */]: { ["\u706B" /* 火 */]: 0.7, ["\u571F" /* 土 */]: 0.7, ["\u91D1" /* 金 */]: 1.5 },
974
+ // 拱酉金
975
+ ["\u5BC5" /* 寅 */]: { ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 0.8, ["\u91D1" /* 金 */]: 0.8 },
976
+ // 三刑 穿 庚金克甲木
977
+ ["\u536F" /* 卯 */]: { ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 0.8, ["\u91D1" /* 金 */]: 1.2 },
978
+ // 被正印生
979
+ ["\u8FB0" /* 辰 */]: { ["\u706B" /* 火 */]: 0.8, ["\u571F" /* 土 */]: 0.8, ["\u91D1" /* 金 */]: 0.8 },
980
+ // 生食神
981
+ ["\u5DF3" /* 巳 */]: { ["\u706B" /* 火 */]: 1, ["\u571F" /* 土 */]: 1, ["\u91D1" /* 金 */]: 1 },
982
+ //
983
+ ["\u5348" /* 午 */]: { ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 0.5, ["\u91D1" /* 金 */]: 0.5 },
984
+ // 半会
985
+ ["\u672A" /* 未 */]: { ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 1, ["\u91D1" /* 金 */]: 0.9 },
986
+ // 半会
987
+ ["\u7533" /* 申 */]: { ["\u706B" /* 火 */]: 0.8, ["\u571F" /* 土 */]: 0.9, ["\u91D1" /* 金 */]: 1.1 },
988
+ // 合
989
+ ["\u9149" /* 酉 */]: { ["\u706B" /* 火 */]: 0.7, ["\u571F" /* 土 */]: 0.9, ["\u91D1" /* 金 */]: 1 },
990
+ // 半合
991
+ ["\u620C" /* 戌 */]: { ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 1, ["\u91D1" /* 金 */]: 0.7 },
992
+ // 开火库
993
+ ["\u4EA5" /* 亥 */]: { ["\u706B" /* 火 */]: 0.5, ["\u571F" /* 土 */]: 0.5, ["\u91D1" /* 金 */]: 0.5 }
994
+ // 被冲
995
+ },
996
+ ["\u5348" /* 午 */]: {
997
+ ["\u5B50" /* 子 */]: { ["\u706B" /* 火 */]: 0.5, ["\u571F" /* 土 */]: 0.8 },
998
+ // 被冲
999
+ ["\u4E11" /* 丑 */]: { ["\u706B" /* 火 */]: 0.5, ["\u571F" /* 土 */]: 0.8 },
1000
+ // 被穿 癸水克丁火
1001
+ ["\u5BC5" /* 寅 */]: { ["\u706B" /* 火 */]: 1.5, ["\u571F" /* 土 */]: 1.5 },
1002
+ // 半合
1003
+ ["\u536F" /* 卯 */]: { ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 0.5 },
1004
+ // 被破
1005
+ ["\u8FB0" /* 辰 */]: { ["\u706B" /* 火 */]: 0.9, ["\u571F" /* 土 */]: 0.8 },
1006
+ // 生伤官
1007
+ ["\u5DF3" /* 巳 */]: { ["\u706B" /* 火 */]: 1.2, ["\u571F" /* 土 */]: 1.2 },
1008
+ // 半会
1009
+ ["\u5348" /* 午 */]: { ["\u706B" /* 火 */]: 1.5, ["\u571F" /* 土 */]: 0.5 },
1010
+ // 自刑
1011
+ ["\u672A" /* 未 */]: { ["\u706B" /* 火 */]: 0.9, ["\u571F" /* 土 */]: 1.2 },
1012
+ // 合土 半会
1013
+ ["\u7533" /* 申 */]: { ["\u706B" /* 火 */]: 0.9, ["\u571F" /* 土 */]: 0.9 },
1014
+ // 克正财
1015
+ ["\u9149" /* 酉 */]: { ["\u706B" /* 火 */]: 0.9, ["\u571F" /* 土 */]: 0.9 },
1016
+ // 刑
1017
+ ["\u620C" /* 戌 */]: { ["\u706B" /* 火 */]: 1.5, ["\u571F" /* 土 */]: 1.5 },
1018
+ // 半合
1019
+ ["\u4EA5" /* 亥 */]: { ["\u706B" /* 火 */]: 0.8, ["\u571F" /* 土 */]: 1.2 }
1020
+ // 暗合
1021
+ },
1022
+ ["\u672A" /* 未 */]: {
1023
+ ["\u5B50" /* 子 */]: { ["\u571F" /* 土 */]: 0.9, ["\u706B" /* 火 */]: 0.9, ["\u6728" /* 木 */]: 1 },
1024
+ // 穿 己土穿癸水
1025
+ ["\u4E11" /* 丑 */]: { ["\u571F" /* 土 */]: 1.5, ["\u706B" /* 火 */]: 0.1, ["\u6728" /* 木 */]: 0.1 },
1026
+ // 冲
1027
+ ["\u5BC5" /* 寅 */]: { ["\u571F" /* 土 */]: 0.5, ["\u706B" /* 火 */]: 0.5, ["\u6728" /* 木 */]: 1.2 },
1028
+ // 开木库
1029
+ ["\u536F" /* 卯 */]: { ["\u571F" /* 土 */]: 0.5, ["\u706B" /* 火 */]: 0.8, ["\u6728" /* 木 */]: 1.2 },
1030
+ // 半合
1031
+ ["\u8FB0" /* 辰 */]: { ["\u571F" /* 土 */]: 1, ["\u706B" /* 火 */]: 1, ["\u6728" /* 木 */]: 1 },
1032
+ // 无
1033
+ ["\u5DF3" /* 巳 */]: { ["\u571F" /* 土 */]: 0.8, ["\u706B" /* 火 */]: 1.2, ["\u6728" /* 木 */]: 0.8 },
1034
+ // 半会
1035
+ ["\u5348" /* 午 */]: { ["\u571F" /* 土 */]: 1.2, ["\u706B" /* 火 */]: 1, ["\u6728" /* 木 */]: 1 },
1036
+ // 合土
1037
+ ["\u672A" /* 未 */]: { ["\u571F" /* 土 */]: 1, ["\u706B" /* 火 */]: 1, ["\u6728" /* 木 */]: 1 },
1038
+ //
1039
+ ["\u7533" /* 申 */]: { ["\u571F" /* 土 */]: 0.9, ["\u706B" /* 火 */]: 0.9, ["\u6728" /* 木 */]: 0.9 },
1040
+ // 生伤官
1041
+ ["\u9149" /* 酉 */]: { ["\u571F" /* 土 */]: 0.9, ["\u706B" /* 火 */]: 0.9, ["\u6728" /* 木 */]: 0.9 },
1042
+ // 生食神
1043
+ ["\u620C" /* 戌 */]: { ["\u571F" /* 土 */]: 1.5, ["\u706B" /* 火 */]: 0.9, ["\u6728" /* 木 */]: 0.5 },
1044
+ // 破 三刑
1045
+ ["\u4EA5" /* 亥 */]: { ["\u571F" /* 土 */]: 1, ["\u706B" /* 火 */]: 0.8, ["\u6728" /* 木 */]: 1.2 }
1046
+ // 克正财
1047
+ },
1048
+ ["\u7533" /* 申 */]: {
1049
+ ["\u5B50" /* 子 */]: { ["\u91D1" /* 金 */]: 0.7, ["\u6C34" /* 水 */]: 1.5, ["\u571F" /* 土 */]: 0.9 },
1050
+ // 半合
1051
+ ["\u4E11" /* 丑 */]: { ["\u91D1" /* 金 */]: 1.2, ["\u6C34" /* 水 */]: 1.2, ["\u571F" /* 土 */]: 1 },
1052
+ // 开金库
1053
+ ["\u5BC5" /* 寅 */]: { ["\u91D1" /* 金 */]: 0.7, ["\u6C34" /* 水 */]: 0.5, ["\u571F" /* 土 */]: 0.5 },
1054
+ // 冲
1055
+ ["\u536F" /* 卯 */]: { ["\u91D1" /* 金 */]: 1.2, ["\u6C34" /* 水 */]: 0.8, ["\u571F" /* 土 */]: 0.8 },
1056
+ // 暗合
1057
+ ["\u8FB0" /* 辰 */]: { ["\u91D1" /* 金 */]: 0.7, ["\u6C34" /* 水 */]: 1.2, ["\u571F" /* 土 */]: 0.8 },
1058
+ // 拱子
1059
+ ["\u5DF3" /* 巳 */]: { ["\u91D1" /* 金 */]: 0.7, ["\u6C34" /* 水 */]: 1.1, ["\u571F" /* 土 */]: 0.8 },
1060
+ // 合化水 破
1061
+ ["\u5348" /* 午 */]: { ["\u91D1" /* 金 */]: 0.8, ["\u6C34" /* 水 */]: 0.7, ["\u571F" /* 土 */]: 1 },
1062
+ // 被正官克
1063
+ ["\u672A" /* 未 */]: { ["\u91D1" /* 金 */]: 1.1, ["\u6C34" /* 水 */]: 1, ["\u571F" /* 土 */]: 1 },
1064
+ // 被偏印生
1065
+ ["\u7533" /* 申 */]: { ["\u91D1" /* 金 */]: 1, ["\u6C34" /* 水 */]: 1, ["\u571F" /* 土 */]: 1 },
1066
+ //
1067
+ ["\u9149" /* 酉 */]: { ["\u91D1" /* 金 */]: 1.5, ["\u6C34" /* 水 */]: 0.5, ["\u571F" /* 土 */]: 0.5 },
1068
+ // 半会
1069
+ ["\u620C" /* 戌 */]: { ["\u91D1" /* 金 */]: 1.5, ["\u6C34" /* 水 */]: 0.5, ["\u571F" /* 土 */]: 0.7 },
1070
+ // 半会
1071
+ ["\u4EA5" /* 亥 */]: { ["\u91D1" /* 金 */]: 0.9, ["\u6C34" /* 水 */]: 1, ["\u571F" /* 土 */]: 1 }
1072
+ // 穿 庚金克甲木
1073
+ },
1074
+ ["\u9149" /* 酉 */]: {
1075
+ ["\u5B50" /* 子 */]: { ["\u91D1" /* 金 */]: 1 },
1076
+ // 刑,破
1077
+ ["\u4E11" /* 丑 */]: { ["\u91D1" /* 金 */]: 1.5 },
1078
+ // 半合
1079
+ ["\u5BC5" /* 寅 */]: { ["\u91D1" /* 金 */]: 0.9 },
1080
+ // 正财耗
1081
+ ["\u536F" /* 卯 */]: { ["\u91D1" /* 金 */]: 0.8 },
1082
+ // 冲
1083
+ ["\u8FB0" /* 辰 */]: { ["\u91D1" /* 金 */]: 1.2 },
1084
+ // 合金
1085
+ ["\u5DF3" /* 巳 */]: { ["\u91D1" /* 金 */]: 1.5 },
1086
+ // 半合
1087
+ ["\u5348" /* 午 */]: { ["\u91D1" /* 金 */]: 1 },
1088
+ //
1089
+ ["\u672A" /* 未 */]: { ["\u91D1" /* 金 */]: 0.9 },
1090
+ //
1091
+ ["\u7533" /* 申 */]: { ["\u91D1" /* 金 */]: 1.2 },
1092
+ // 半会
1093
+ ["\u9149" /* 酉 */]: { ["\u91D1" /* 金 */]: 1.5 },
1094
+ // 自刑
1095
+ ["\u620C" /* 戌 */]: { ["\u91D1" /* 金 */]: 0.5 },
1096
+ // 穿 丁火克辛金
1097
+ ["\u4EA5" /* 亥 */]: { ["\u91D1" /* 金 */]: 0.8 }
1098
+ //
1099
+ },
1100
+ ["\u620C" /* 戌 */]: {
1101
+ ["\u5B50" /* 子 */]: { ["\u571F" /* 土 */]: 0.9, ["\u91D1" /* 金 */]: 1, ["\u706B" /* 火 */]: 1.1 },
1102
+ // 克正财
1103
+ ["\u4E11" /* 丑 */]: { ["\u571F" /* 土 */]: 1.5, ["\u91D1" /* 金 */]: 1, ["\u706B" /* 火 */]: 0.8 },
1104
+ // 三刑
1105
+ ["\u5BC5" /* 寅 */]: { ["\u571F" /* 土 */]: 0.5, ["\u91D1" /* 金 */]: 0.5, ["\u706B" /* 火 */]: 1.5 },
1106
+ // 拱午
1107
+ ["\u536F" /* 卯 */]: { ["\u571F" /* 土 */]: 0.8, ["\u91D1" /* 金 */]: 0.8, ["\u706B" /* 火 */]: 1.2 },
1108
+ // 合火
1109
+ ["\u8FB0" /* 辰 */]: { ["\u571F" /* 土 */]: 1.5, ["\u91D1" /* 金 */]: 0.9, ["\u706B" /* 火 */]: 0.1 },
1110
+ // 冲
1111
+ ["\u5DF3" /* 巳 */]: { ["\u571F" /* 土 */]: 0.8, ["\u91D1" /* 金 */]: 0.7, ["\u706B" /* 火 */]: 1.2 },
1112
+ // 开火库
1113
+ ["\u5348" /* 午 */]: { ["\u571F" /* 土 */]: 0.8, ["\u91D1" /* 金 */]: 0.5, ["\u706B" /* 火 */]: 1.5 },
1114
+ // 半合
1115
+ ["\u672A" /* 未 */]: { ["\u571F" /* 土 */]: 1.5, ["\u91D1" /* 金 */]: 0.5, ["\u706B" /* 火 */]: 1.2 },
1116
+ // 三刑
1117
+ ["\u7533" /* 申 */]: { ["\u571F" /* 土 */]: 0.7, ["\u91D1" /* 金 */]: 1.2, ["\u706B" /* 火 */]: 0.5 },
1118
+ // 半会
1119
+ ["\u9149" /* 酉 */]: { ["\u571F" /* 土 */]: 1, ["\u91D1" /* 金 */]: 0.5, ["\u706B" /* 火 */]: 0.9 },
1120
+ // 半会 穿 丁火克辛金
1121
+ ["\u620C" /* 戌 */]: { ["\u571F" /* 土 */]: 1, ["\u91D1" /* 金 */]: 1, ["\u706B" /* 火 */]: 1 },
1122
+ //
1123
+ ["\u4EA5" /* 亥 */]: { ["\u571F" /* 土 */]: 0.7, ["\u91D1" /* 金 */]: 0.9, ["\u706B" /* 火 */]: 1 }
1124
+ // 克偏财
1125
+ },
1126
+ ["\u4EA5" /* 亥 */]: {
1127
+ ["\u5B50" /* 子 */]: { ["\u6C34" /* 水 */]: 1.5, ["\u6728" /* 木 */]: 0.5 },
1128
+ // 半会
1129
+ ["\u4E11" /* 丑 */]: { ["\u6C34" /* 水 */]: 1.2, ["\u6728" /* 木 */]: 0.8 },
1130
+ // 半会
1131
+ ["\u5BC5" /* 寅 */]: { ["\u6C34" /* 水 */]: 0.7, ["\u6728" /* 木 */]: 1.2 },
1132
+ // 合木
1133
+ ["\u536F" /* 卯 */]: { ["\u6C34" /* 水 */]: 0.7, ["\u6728" /* 木 */]: 1.2 },
1134
+ // 半合
1135
+ ["\u8FB0" /* 辰 */]: { ["\u6C34" /* 水 */]: 1.2, ["\u6728" /* 木 */]: 1.2 },
1136
+ // 开水库
1137
+ ["\u5DF3" /* 巳 */]: { ["\u6C34" /* 水 */]: 0.5, ["\u6728" /* 木 */]: 0.1 },
1138
+ // 冲 本气藏干都受损
1139
+ ["\u5348" /* 午 */]: { ["\u6C34" /* 水 */]: 0.9, ["\u6728" /* 木 */]: 1.1 },
1140
+ // 暗合
1141
+ ["\u672A" /* 未 */]: { ["\u6C34" /* 水 */]: 0.5, ["\u6728" /* 木 */]: 1.5 },
1142
+ // 拱卯
1143
+ ["\u7533" /* 申 */]: { ["\u6C34" /* 水 */]: 1.2, ["\u6728" /* 木 */]: 0.1 },
1144
+ // 穿 庚金克甲木
1145
+ ["\u9149" /* 酉 */]: { ["\u6C34" /* 水 */]: 1.1, ["\u6728" /* 木 */]: 0.9 },
1146
+ // 偏印生
1147
+ ["\u620C" /* 戌 */]: { ["\u6C34" /* 水 */]: 0.7, ["\u6728" /* 木 */]: 0.8 },
1148
+ // 被克
1149
+ ["\u4EA5" /* 亥 */]: { ["\u6C34" /* 水 */]: 1.5, ["\u6728" /* 木 */]: 0.5 }
1150
+ // 自刑
1151
+ }
1152
+ };
1153
+ this.map_muku = {
1154
+ ["\u706B" /* 火 */]: {
1155
+ mk: "\u620C" /* 戌 */,
1156
+ tg: ["\u4E19" /* 丙 */, "\u4E01" /* 丁 */],
1157
+ dz: ["\u5DF3" /* 巳 */, "\u5348" /* 午 */, "\u5BC5" /* 寅 */],
1158
+ close: "\u536F" /* 卯 */
1159
+ },
1160
+ ["\u6C34" /* 水 */]: {
1161
+ mk: "\u8FB0" /* 辰 */,
1162
+ tg: ["\u58EC" /* 壬 */, "\u7678" /* 癸 */],
1163
+ dz: ["\u4EA5" /* 亥 */, "\u5B50" /* 子 */, "\u7533" /* 申 */],
1164
+ close: "\u9149" /* 酉 */
1165
+ },
1166
+ ["\u91D1" /* 金 */]: {
1167
+ mk: "\u4E11" /* 丑 */,
1168
+ tg: ["\u5E9A" /* 庚 */, "\u8F9B" /* 辛 */],
1169
+ dz: ["\u7533" /* 申 */, "\u9149" /* 酉 */, "\u5DF3" /* 巳 */],
1170
+ close: "\u5B50" /* 子 */
1171
+ },
1172
+ ["\u6728" /* 木 */]: {
1173
+ mk: "\u672A" /* 未 */,
1174
+ tg: ["\u7532" /* 甲 */, "\u4E59" /* 乙 */],
1175
+ dz: ["\u5BC5" /* 寅 */, "\u536F" /* 卯 */, "\u4EA5" /* 亥 */],
1176
+ close: "\u5348" /* 午 */
1177
+ }
1178
+ };
1179
+ }
1180
+ // 根据天干或地支得到对应的五行
1181
+ getWuxing(text) {
1182
+ const wuxingArr = WuXing5;
1183
+ if (text in WX) {
1184
+ return text;
1185
+ } else if (text in TG) {
1186
+ const index = TG_10.findIndex((i) => i === text);
1187
+ const wuxingIndex = [1, 1, 3, 3, 4, 4, 0, 0, 2, 2][index];
1188
+ return wuxingArr[wuxingIndex];
1189
+ } else if (text in DZ) {
1190
+ const index = DZ_12.findIndex((i) => i === text);
1191
+ const wuxingIndex = [2, 4, 1, 1, 4, 3, 3, 4, 0, 0, 4, 2][index];
1192
+ return wuxingArr[wuxingIndex];
1193
+ }
1194
+ return "";
1195
+ }
1196
+ getColorByWuxing(text) {
1197
+ const ColorsMap = {
1198
+ ["\u6728" /* 木 */]: "#4CAF50",
1199
+ ["\u706B" /* 火 */]: "#F44336",
1200
+ ["\u571F" /* 土 */]: "#795548",
1201
+ ["\u91D1" /* 金 */]: "#FDD835",
1202
+ ["\u6C34" /* 水 */]: "#2196F3"
1203
+ };
1204
+ return ColorsMap[this.getWuxing(text)];
1205
+ }
1206
+ // 根据JZ_60得到对应的旬
1207
+ getXun(target) {
1208
+ const tg_index = TG_10.findIndex((i) => i === target[0]);
1209
+ if (tg_index === 0) {
1210
+ return target;
1211
+ } else {
1212
+ const dz_index = DZ_12.findIndex((i) => i === target[1]);
1213
+ const xun_dizhi_index = dz_index - tg_index < 0 ? dz_index - tg_index + DZ_12.length : dz_index - tg_index;
1214
+ return "\u7532" /* 甲 */ + DZ_12[xun_dizhi_index];
1215
+ }
1216
+ }
1217
+ // 拿到天干关系
1218
+ getTgRelation(target) {
1219
+ const res = [];
1220
+ for (let i = target.length - 1; i >= 0; i--) {
1221
+ const relation = [];
1222
+ for (let j = i - 1; j >= 0; j--) {
1223
+ const gx = this.checkTGRelation(target[i], target[j]);
1224
+ if (gx !== null) {
1225
+ relation.push({ name: target[j], index: j, text: gx });
1226
+ }
1227
+ }
1228
+ if (relation.length) {
1229
+ res.push({
1230
+ name: target[i],
1231
+ index: i,
1232
+ relation
1233
+ });
1234
+ }
1235
+ }
1236
+ return res;
1237
+ }
1238
+ // 校验天干关系
1239
+ checkTGRelation(a, b) {
1240
+ const map = {
1241
+ ["\u514B" /* 克 */]: [
1242
+ ["\u7532" /* 甲 */, "\u620A" /* 戊 */],
1243
+ ["\u4E59" /* 乙 */, "\u5DF1" /* 己 */],
1244
+ ["\u4E19" /* 丙 */, "\u5E9A" /* 庚 */],
1245
+ ["\u4E01" /* 丁 */, "\u8F9B" /* 辛 */],
1246
+ ["\u620A" /* 戊 */, "\u58EC" /* 壬 */],
1247
+ ["\u5DF1" /* 己 */, "\u7678" /* 癸 */],
1248
+ ["\u5E9A" /* 庚 */, "\u7532" /* 甲 */],
1249
+ ["\u8F9B" /* 辛 */, "\u4E59" /* 乙 */],
1250
+ ["\u58EC" /* 壬 */, "\u4E19" /* 丙 */],
1251
+ ["\u7678" /* 癸 */, "\u4E01" /* 丁 */]
1252
+ ],
1253
+ ["\u5408" /* 合 */]: [
1254
+ ["\u7532" /* 甲 */, "\u5DF1" /* 己 */],
1255
+ ["\u4E59" /* 乙 */, "\u5E9A" /* 庚 */],
1256
+ ["\u4E19" /* 丙 */, "\u8F9B" /* 辛 */],
1257
+ ["\u4E01" /* 丁 */, "\u58EC" /* 壬 */],
1258
+ ["\u620A" /* 戊 */, "\u7678" /* 癸 */]
1259
+ ]
1260
+ };
1261
+ let res = null;
1262
+ for (const key in map) {
1263
+ map[key].forEach((gxItems, index) => {
1264
+ if (gxItems[0] === a && gxItems[1] === b || gxItems[0] === b && gxItems[1] === a) {
1265
+ if (key === "\u514B" /* 克 */) {
1266
+ res = gxItems[0] + "\u514B" /* 克 */ + gxItems[1];
1267
+ } else if (key === "\u5408" /* 合 */) {
1268
+ const map_tg = ["\u571F" /* 土 */, "\u91D1" /* 金 */, "\u6C34" /* 水 */, "\u6728" /* 木 */, "\u706B" /* 火 */];
1269
+ res = gxItems[0] + gxItems[1] + "\u5408" /* 合 */ + map_tg[index];
1270
+ }
1271
+ }
1272
+ });
1273
+ }
1274
+ return res;
1275
+ }
1276
+ // 拿到地支关系
1277
+ getDzRelation(target) {
1278
+ const res = [];
1279
+ for (let i = target.length - 1; i >= 0; i--) {
1280
+ const relation = [];
1281
+ for (let j = i - 1; j >= 0; j--) {
1282
+ const gx = this.checkDZRelation(target[i], target[j], null, target);
1283
+ if (gx.length) {
1284
+ gx.forEach(({ text, key, color }) => {
1285
+ relation.push({
1286
+ name: [target[j]],
1287
+ index: [j],
1288
+ start: j,
1289
+ key,
1290
+ text,
1291
+ color
1292
+ });
1293
+ });
1294
+ }
1295
+ for (let k = j - 1; k >= 0; k--) {
1296
+ const gx3 = this.checkDZRelation(target[i], target[j], target[k], target);
1297
+ if (gx3.length) {
1298
+ gx3.forEach(({ text, key, color }) => {
1299
+ relation.push({
1300
+ name: [target[k], target[j]],
1301
+ start: Math.min(j, k),
1302
+ index: [k, j],
1303
+ key,
1304
+ text,
1305
+ color
1306
+ });
1307
+ });
1308
+ }
1309
+ const four = this.map_dzgx["\u56DB\u5408" /* 四合 */][0];
1310
+ if (four.includes(target[i]) && four.includes(target[j]) && four.includes(target[k])) {
1311
+ const i_index = four.findIndex((fourItem) => fourItem === target[i]);
1312
+ const j_index = four.findIndex((fourItem) => fourItem === target[j]);
1313
+ const k_index = four.findIndex((fourItem) => fourItem === target[k]);
1314
+ if (i_index === j_index || j_index === k_index || i_index === k_index) {
1315
+ continue;
1316
+ }
1317
+ const other_index = 6 - i_index - j_index - k_index;
1318
+ const other = four[other_index];
1319
+ for (let p = k - 1; p >= 0; p--) {
1320
+ if (target[p] === other) {
1321
+ relation.push({
1322
+ name: [target[k], target[j], target[k], target[p]],
1323
+ start: Math.min(j, k, p),
1324
+ index: [p, k, j],
1325
+ key: "\u56DB\u5408" /* 四合 */,
1326
+ text: this.map_dzgx["\u56DB\u5408" /* 四合 */][0].join("") + "\u56DB\u5408\u571F\u5C40",
1327
+ color: ""
1328
+ });
1329
+ }
1330
+ }
1331
+ }
1332
+ }
1333
+ }
1334
+ if (relation.length) {
1335
+ res.push({
1336
+ name: target[i],
1337
+ index: i,
1338
+ end: i,
1339
+ relation
1340
+ });
1341
+ }
1342
+ }
1343
+ return res;
1344
+ }
1345
+ // 校验地支关系
1346
+ checkDZRelation(a, b, c = null, target = []) {
1347
+ const res = [];
1348
+ const inputs = (c === null ? [a, b] : [a, b, c]).sort((x, y) => x.charCodeAt(0) - y.charCodeAt(0)).join("");
1349
+ const map_3he = ["\u706B" /* 火 */, "\u6C34" /* 水 */, "\u91D1" /* 金 */, "\u6728" /* 木 */];
1350
+ for (const key in this.map_dzgx) {
1351
+ this.map_dzgx[key].forEach((gxItems, index) => {
1352
+ if (key === "\u62F1\u4F1A" /* 拱会 */ || key === "\u62F1\u5408" /* 拱合 */ || key === "\u4E09\u5211\u4E4B\u4E8C" /* 三刑之二 */) {
1353
+ if (c === null && a !== b && gxItems.includes(a) && gxItems.includes(b)) {
1354
+ const rest = gxItems.filter((i) => i !== a && i !== b);
1355
+ if (!target.includes(rest[0])) {
1356
+ if (key === "\u4E09\u5211\u4E4B\u4E8C" /* 三刑之二 */) {
1357
+ res.push({
1358
+ key,
1359
+ text: `${a}${b}\u76F8\u5211`,
1360
+ color: ""
1361
+ });
1362
+ } else {
1363
+ res.push({
1364
+ key,
1365
+ // text: `${a}${b}${key[0]}${rest[0]}半三${key[1]}${map_3he[index]}局`,
1366
+ text: `${a}${b}\u62F1${key[1]}${map_3he[index]}\u5C40`,
1367
+ color: ""
1368
+ });
1369
+ }
1370
+ }
1371
+ }
1372
+ } else if (gxItems.length === inputs.length && [...gxItems].sort((x, y) => x.charCodeAt(0) - y.charCodeAt(0)).join("") === inputs) {
1373
+ switch (key) {
1374
+ // TODO use color
1375
+ case "\u5408" /* 合 */:
1376
+ const map_he = ["\u571F" /* 土 */, "\u6728" /* 木 */, "\u706B" /* 火 */, "\u91D1" /* 金 */, "\u6C34" /* 水 */, "\u571F" /* 土 */];
1377
+ res.push({
1378
+ key,
1379
+ text: gxItems.join("") + "\u5408" /* 合 */ + map_he[index],
1380
+ color: ""
1381
+ });
1382
+ break;
1383
+ case "\u6697\u5408" /* 暗合 */:
1384
+ res.push({ key, text: gxItems.join("") + "\u6697\u5408" /* 暗合 */, color: "" });
1385
+ break;
1386
+ case "\u51B2" /* 冲 */:
1387
+ res.push({ key, text: gxItems.join("") + "\u51B2" /* 冲 */, color: "" });
1388
+ break;
1389
+ case "\u7A7F" /* 穿 */:
1390
+ const map_chuan = [
1391
+ "\u5DF1\u571F\u7A7F\u7678\u6C34",
1392
+ "\u7678\u6C34\u514B\u4E01\u706B",
1393
+ "\u5E9A\u91D1\u514B\u7532\u6728",
1394
+ "\u6728\u514B\u571F",
1395
+ "\u5E9A\u91D1\u514B\u7532\u6728",
1396
+ "\u4E01\u706B\u514B\u8F9B\u91D1"
1397
+ ];
1398
+ res.push({
1399
+ key,
1400
+ text: gxItems[0] + "\u7A7F" /* 穿 */ + gxItems[1] + "(" + map_chuan[index] + ")",
1401
+ color: ""
1402
+ });
1403
+ break;
1404
+ case "\u5211" /* 刑 */:
1405
+ let text = "";
1406
+ if (a === b) {
1407
+ text = gxItems.join("") + "\u81EA\u5211";
1408
+ } else {
1409
+ text = gxItems.join("") + "\u76F8\u5211";
1410
+ }
1411
+ res.push({ key, text, color: "" });
1412
+ break;
1413
+ case "\u7834" /* 破 */:
1414
+ res.push({ key, text: gxItems.join("") + "\u7834" /* 破 */, color: "" });
1415
+ break;
1416
+ case "\u4E09\u5211" /* 三刑 */:
1417
+ res.push({ key, text: gxItems.join("") + "\u4E09\u5211" /* 三刑 */, color: "" });
1418
+ break;
1419
+ case "\u4E09\u5408" /* 三合 */:
1420
+ res.push({
1421
+ key,
1422
+ text: gxItems.join("") + "\u4E09\u5408" /* 三合 */ + map_3he[index] + "\u5C40",
1423
+ color: ""
1424
+ });
1425
+ break;
1426
+ case "\u4E09\u4F1A" /* 三会 */:
1427
+ res.push({
1428
+ key,
1429
+ text: gxItems.join("") + "\u4E09\u4F1A" /* 三会 */ + map_3he[index] + "\u5C40",
1430
+ color: ""
1431
+ });
1432
+ break;
1433
+ case "\u56DB\u5408" /* 四合 */:
1434
+ break;
1435
+ }
1436
+ }
1437
+ });
1438
+ }
1439
+ return res;
1440
+ }
1441
+ // 调侯
1442
+ getTiaohou(bazi) {
1443
+ const [, yuezhu, rizhu] = bazi;
1444
+ const info = DH_MAP[rizhu[0]][yuezhu[1]];
1445
+ return info.text;
1446
+ }
1447
+ // 得到五行的十神关系
1448
+ getTenMapByWX(tenMap) {
1449
+ const wxTenMap = tenMap.reduce((r, i, index) => {
1450
+ const tg10Wuxing = ["\u6728" /* 木 */, "\u706B" /* 火 */, "\u571F" /* 土 */, "\u91D1" /* 金 */, "\u6C34" /* 水 */];
1451
+ const halfIndex = Math.floor(index / 2);
1452
+ const map = {
1453
+ ["\u6B63\u5B98" /* 正官 */]: "\u5B98\u6740" /* 官杀 */,
1454
+ ["\u4E03\u6740" /* 七杀 */]: "\u5B98\u6740" /* 官杀 */,
1455
+ ["\u6B63\u5370" /* 正印 */]: "\u5370\u7EF6" /* 印绶 */,
1456
+ ["\u504F\u5370" /* 偏印 */]: "\u5370\u7EF6" /* 印绶 */,
1457
+ ["\u6B63\u8D22" /* 正财 */]: "\u8D22\u624D" /* 财才 */,
1458
+ ["\u504F\u8D22" /* 偏财 */]: "\u8D22\u624D" /* 财才 */,
1459
+ ["\u98DF\u795E" /* 食神 */]: "\u98DF\u4F24" /* 食伤 */,
1460
+ ["\u4F24\u5B98" /* 伤官 */]: "\u98DF\u4F24" /* 食伤 */,
1461
+ ["\u6BD4\u80A9" /* 比肩 */]: "\u6BD4\u52AB" /* 比劫 */,
1462
+ ["\u52AB\u8D22" /* 劫财 */]: "\u6BD4\u52AB" /* 比劫 */,
1463
+ ["\u5143\u7537" /* 元男 */]: "\u65E5\u5143" /* 日元 */,
1464
+ ["\u5143\u5973" /* 元女 */]: "\u65E5\u5143" /* 日元 */
1465
+ };
1466
+ r[tg10Wuxing[halfIndex]] = map[i];
1467
+ return r;
1468
+ }, {});
1469
+ return wxTenMap;
1470
+ }
1471
+ // 拿到各个五行的力量
1472
+ getWxPower(bazi, tenMap) {
1473
+ const { tgs, dzs } = bazi.reduce(
1474
+ (r, i) => {
1475
+ r.tgs.push(i[0]);
1476
+ r.dzs.push(i[1]);
1477
+ return r;
1478
+ },
1479
+ { tgs: [], dzs: [] }
1480
+ );
1481
+ const yueling = this.getWuxing(bazi[1][1]);
1482
+ const yueMap = YueLinByWuxing[yueling];
1483
+ const res = WuXing5.map((i) => {
1484
+ const yuelingIndex = yueMap.findIndex((j) => j === i);
1485
+ let tg_level = 0 /* 无根气 */;
1486
+ let wx_opacity = 0.3;
1487
+ const now_genqi = this.map_wx_genqi[i];
1488
+ if (dzs.find((d) => now_genqi[3 /* 本气根 */].includes(d))) {
1489
+ tg_level = 3 /* 本气根 */;
1490
+ wx_opacity = 1;
1491
+ } else if (dzs.find((d) => now_genqi[2 /* 中气根 */].includes(d))) {
1492
+ tg_level = 2 /* 中气根 */;
1493
+ wx_opacity = 0.7;
1494
+ } else if (dzs.find((d) => now_genqi[1 /* 余气根 */].includes(d))) {
1495
+ tg_level = 1 /* 余气根 */;
1496
+ wx_opacity = 0.4;
1497
+ }
1498
+ let gen_dz = [];
1499
+ if (tg_level !== 0 /* 无根气 */) {
1500
+ gen_dz = dzs.filter((d) => now_genqi[3 /* 本气根 */].includes(d)).concat(dzs.filter((d) => now_genqi[2 /* 中气根 */].includes(d))).concat(dzs.filter((d) => now_genqi[1 /* 余气根 */].includes(d)));
1501
+ }
1502
+ let dz_level_text = DZ_LEVEL[1 /* 未透干 */];
1503
+ if (tgs.find((t) => this.getWuxing(t) === i)) {
1504
+ dz_level_text = DZ_LEVEL[0 /* 透干 */];
1505
+ }
1506
+ return {
1507
+ wx: i,
1508
+ // tg,
1509
+ // dz,
1510
+ isDeLing: yuelingIndex === 0 || yuelingIndex === 1,
1511
+ tg_level,
1512
+ tg_level_text: TG_LEVEL[tg_level],
1513
+ wx_opacity,
1514
+ tg_is_qg: tg_level === 3 /* 本气根 */,
1515
+ // tg_color: WuXing.getColorByWuxing(tg),
1516
+ dz_level_text,
1517
+ is_tougan: dz_level_text === DZ_LEVEL[0 /* 透干 */],
1518
+ gen_dz,
1519
+ isDeShi: false,
1520
+ deshi_text: [],
1521
+ power_number: 0,
1522
+ power_text: "",
1523
+ shishen: "\u65E5\u5143" /* 日元 */
1524
+ };
1525
+ });
1526
+ const dz_gx = this.getDzRelation(bazi.map((i) => i[1]));
1527
+ dz_gx.forEach((i) => {
1528
+ i.relation.forEach((relation) => {
1529
+ if (relation.text.includes("\u4E09\u5408" /* 三合 */) || relation.text.includes("\u4E09\u4F1A" /* 三会 */) || relation.text.includes("\u56DB\u5408" /* 四合 */)) {
1530
+ const zhongshen = res.find(
1531
+ (j) => j.gen_dz.includes(relation.text[1])
1532
+ // TODO index 1
1533
+ );
1534
+ if (zhongshen) {
1535
+ zhongshen.isDeShi = true;
1536
+ zhongshen.deshi_text.push(relation.text);
1537
+ }
1538
+ }
1539
+ });
1540
+ });
1541
+ const { wu_numbs } = this.getWxNumbs(bazi.map((i) => this.getWuxing(i[1])));
1542
+ res.forEach((item) => {
1543
+ if (item.gen_dz) {
1544
+ if (wu_numbs[item.wx] >= 2) {
1545
+ item.isDeShi = true;
1546
+ item.deshi_text.push(item.wx + "\u6210\u4F17");
1547
+ }
1548
+ }
1549
+ });
1550
+ const wxTenMap = this.getTenMapByWX(tenMap);
1551
+ console.log("res", JSON.stringify(res, null, 4));
1552
+ let allScore = 0;
1553
+ res.forEach((i) => {
1554
+ const score = this.getWxSingleScore(i.wx, bazi, res);
1555
+ i.power_number = score;
1556
+ allScore += score;
1557
+ });
1558
+ res.forEach((i) => {
1559
+ const score = i.power_number;
1560
+ i.power_number = (+score / allScore * 100).toFixed(2);
1561
+ i.power_text = +score >= 180 ? "\u6781\u5F3A" : +score >= 150 ? "\u5F3A\u76DB" : +score >= 100 ? "\u5F3A" : +score >= 50 ? "\u666E\u901A" : "\u5F31";
1562
+ i.shishen = wxTenMap[i.wx];
1563
+ });
1564
+ return res;
1565
+ }
1566
+ // 获取单个五行的分数
1567
+ getWxSingleScore(wx, bazi, res) {
1568
+ const getWuxing = this.getWuxing;
1569
+ function getYuelingScore() {
1570
+ const yuezhi = bazi[1][1];
1571
+ const yueling = getWuxing(yuezhi);
1572
+ const yueMap = YueLinByWuxing[yueling];
1573
+ const map = [1.2, 1.1, 1, 0.75, 0.6];
1574
+ const index = yueMap.findIndex((i) => i === wx);
1575
+ if ("\u4E11" /* 丑 */ === yuezhi && wx === "\u6C34" /* 水 */ || "\u672A" /* 未 */ === yuezhi && wx === "\u706B" /* 火 */ || "\u8FB0" /* 辰 */ === yuezhi && wx === "\u6728" /* 木 */) {
1576
+ return map[1];
1577
+ }
1578
+ return map[index];
1579
+ }
1580
+ const yuelingScore = getYuelingScore();
1581
+ const dz_gx = this.getDzRelation(bazi.map((i) => i[1]));
1582
+ const { wu_numbs } = this.getWxNumbs(bazi.map((i) => this.getWuxing(i[1])));
1583
+ function getDeshiScore() {
1584
+ let score = 0;
1585
+ let has3 = false;
1586
+ dz_gx.forEach((i) => {
1587
+ i.relation.forEach((relation) => {
1588
+ if (relation.text.includes("\u4E09\u5408" /* 三合 */) || relation.text.includes("\u4E09\u4F1A" /* 三会 */)) {
1589
+ const zhongshen = res.find(
1590
+ (j) => j.gen_dz.includes(relation.text[1])
1591
+ // TODO index 1
1592
+ );
1593
+ if ((zhongshen == null ? void 0 : zhongshen.wx) === wx) {
1594
+ has3 = true;
1595
+ }
1596
+ }
1597
+ });
1598
+ });
1599
+ const wxNumbs = wu_numbs[wx];
1600
+ if (wxNumbs === 4) {
1601
+ score = 100;
1602
+ } else {
1603
+ if (has3) {
1604
+ score = wxNumbs >= 2 ? 100 : 75;
1605
+ } else {
1606
+ if (wxNumbs === 3) {
1607
+ score = 90;
1608
+ } else if (wxNumbs === 2) {
1609
+ score = 50;
1610
+ } else if (wxNumbs === 1) {
1611
+ score = 25;
1612
+ } else {
1613
+ const item = res.find((i) => i.wx === wx);
1614
+ score = (item == null ? void 0 : item.tg_level) === 2 /* 中气根 */ ? 7.5 : (item == null ? void 0 : item.tg_level) === 1 /* 余气根 */ ? 2.5 : 0;
1615
+ }
1616
+ }
1617
+ }
1618
+ return score;
1619
+ }
1620
+ const deshiScore = getDeshiScore();
1621
+ const tgs = bazi.map((i) => i[0]);
1622
+ const tg_gx = this.getTgRelation(tgs).reduce((r, i) => {
1623
+ i.relation.forEach((j) => {
1624
+ if (j.text.includes("\u5408")) {
1625
+ r.push([i.name, j.name]);
1626
+ }
1627
+ });
1628
+ return r;
1629
+ }, []);
1630
+ function getTgScore() {
1631
+ let score = 0;
1632
+ const same_tgs = tgs.filter((i) => getWuxing(i) === wx);
1633
+ const ke_map = ["\u91D1" /* 金 */, "\u706B" /* 火 */, "\u6C34" /* 水 */, "\u571F" /* 土 */, "\u6728" /* 木 */];
1634
+ const ke_wx = ke_map[(ke_map.findIndex((i) => i === wx) + 1) % ke_map.length];
1635
+ const sheng_map = ["\u91D1" /* 金 */, "\u571F" /* 土 */, "\u706B" /* 火 */, "\u6728" /* 木 */, "\u6C34" /* 水 */];
1636
+ const sheng_wx = sheng_map[(sheng_map.findIndex((i) => i === wx) + 1) % sheng_map.length];
1637
+ for (let i = 0; i < tgs.length; i++) {
1638
+ const tg_wx = getWuxing(tgs[i]);
1639
+ if (tg_wx === sheng_wx) {
1640
+ score += 25;
1641
+ } else if (tg_gx.find((j) => j.includes(tgs[i]))) {
1642
+ if (tg_wx === wx) {
1643
+ if (["\u4E59" /* 乙 */, "\u4E01" /* 丁 */, "\u8F9B" /* 辛 */, "\u7678" /* 癸 */].includes(tgs[i])) {
1644
+ score += 20;
1645
+ } else if (tgs[i] === "\u5DF1" /* 己 */) {
1646
+ score += 25;
1647
+ } else if (tgs[i] === "\u5E9A" /* 庚 */) {
1648
+ score += 30;
1649
+ } else {
1650
+ score += 25;
1651
+ }
1652
+ }
1653
+ } else if (tg_wx === ke_wx) {
1654
+ } else if (tg_wx === wx) {
1655
+ score += 25;
1656
+ }
1657
+ }
1658
+ if (same_tgs.length === 0) {
1659
+ score = 0;
1660
+ }
1661
+ return score;
1662
+ }
1663
+ const tgScore = getTgScore();
1664
+ const map_dz_wx = this.map_dz_wx;
1665
+ const map_dz_2_power = this.map_dz_2_power;
1666
+ const dzs = bazi.map((i) => i[1]);
1667
+ function getDzScore() {
1668
+ let score = 0;
1669
+ const item = res.find((i) => i.wx === wx);
1670
+ for (let i = 0; i < dzs.length; i++) {
1671
+ const target = dzs[i];
1672
+ if (item == null ? void 0 : item.gen_dz.includes(target)) {
1673
+ const genqi_ratio = map_dz_wx[target][wx];
1674
+ let genqi_item_power = 0;
1675
+ for (let j = 0; j < dzs.length; j++) {
1676
+ if (i === j) continue;
1677
+ const power = map_dz_2_power[target][dzs[j]][wx];
1678
+ if (power) {
1679
+ genqi_item_power += power * 0.33;
1680
+ }
1681
+ }
1682
+ score += genqi_item_power * genqi_ratio;
1683
+ }
1684
+ }
1685
+ score = Math.floor(score * 100 / 3);
1686
+ return score;
1687
+ }
1688
+ const dzScore = getDzScore();
1689
+ const map_muku = this.map_muku;
1690
+ function getMkScore() {
1691
+ let score = 0;
1692
+ if (wx === "\u571F" /* 土 */) return score;
1693
+ const { tg, dz, mk } = map_muku[wx];
1694
+ if (dzs.includes(mk)) {
1695
+ if (tg.find((t) => tgs.includes(t)) && dz.find((d) => dzs.includes(d))) {
1696
+ score = 100;
1697
+ }
1698
+ }
1699
+ return score;
1700
+ }
1701
+ const mkScore = getMkScore();
1702
+ const res_score = Math.round(yuelingScore * (tgScore + deshiScore + dzScore + mkScore / 4 / 2));
1703
+ console.log("score", wx, res_score, {
1704
+ yuelingScore,
1705
+ deshiScore,
1706
+ tgScore,
1707
+ dzScore,
1708
+ mkScore
1709
+ });
1710
+ return res_score;
1711
+ }
1712
+ // 获取五行数量数组
1713
+ getWxNumbs(wxs) {
1714
+ const wu_numbs = wxs.reduce(
1715
+ (r, i) => {
1716
+ r[i]++;
1717
+ return r;
1718
+ },
1719
+ { ["\u91D1" /* 金 */]: 0, ["\u6728" /* 木 */]: 0, ["\u6C34" /* 水 */]: 0, ["\u706B" /* 火 */]: 0, ["\u571F" /* 土 */]: 0 }
1720
+ );
1721
+ const arr_wu_nums = Array(wxs.length).fill(null).map((_, index) => {
1722
+ const active = Object.keys(wu_numbs).filter((key) => wu_numbs[key] === index);
1723
+ if (active.length) {
1724
+ return active;
1725
+ }
1726
+ return null;
1727
+ });
1728
+ return { arr_wu_nums, wu_numbs };
1729
+ }
1730
+ // 胎元
1731
+ getTaiyuan(yuegan, yuezhi) {
1732
+ const yuegan_index = TG_10.indexOf(yuegan);
1733
+ const res_tg = TG_10[(yuegan_index + 1) % 10];
1734
+ const yuezhi_index = DZ_12.indexOf(yuezhi);
1735
+ const res_dz = DZ_12[(yuezhi_index + 3) % 12];
1736
+ return res_tg + res_dz;
1737
+ }
1738
+ // 命宫
1739
+ getMingGong(yuegan, yuezhi, shizhi) {
1740
+ const birthMonth = DZ_SHEN_MING.indexOf(yuezhi);
1741
+ const zi_index = DZ_SHEN_MING.indexOf("\u5B50" /* 子 */);
1742
+ let mingGongIndex = (12 - birthMonth + zi_index) % 12;
1743
+ const mao_index = DZ_SHEN_MING.indexOf("\u536F" /* 卯 */);
1744
+ const shizhi_index = DZ_SHEN_MING.indexOf(shizhi);
1745
+ const step_move = (12 - shizhi_index + mao_index) % 12;
1746
+ mingGongIndex = (mingGongIndex + step_move) % 12;
1747
+ const mingGongDizhi = DZ_SHEN_MING[mingGongIndex];
1748
+ const yuegan_index = TG_10.indexOf(yuegan);
1749
+ const yuezhi_index = DZ_SHEN_MING.indexOf(yuezhi);
1750
+ let mingGongStemIndex;
1751
+ if (mingGongIndex > yuezhi_index) {
1752
+ mingGongStemIndex = (yuegan_index + (mingGongIndex - yuezhi_index)) % 10;
1753
+ } else {
1754
+ mingGongStemIndex = (yuegan_index - (yuezhi_index - mingGongIndex) + 10) % 10;
1755
+ }
1756
+ const mingGongTiangan = TG_10[mingGongStemIndex];
1757
+ return mingGongTiangan + mingGongDizhi;
1758
+ }
1759
+ // 身宫
1760
+ getShenGong(yuegan, yuezhi, shizhi) {
1761
+ const birthMonth = DZ_SHEN_MING.indexOf(yuezhi);
1762
+ const zi_index = DZ_SHEN_MING.indexOf("\u5B50" /* 子 */);
1763
+ let mingGongIndex = (zi_index + birthMonth + 12) % 12;
1764
+ const you_index = DZ_SHEN_MING.indexOf("\u9149" /* 酉 */);
1765
+ const shizhi_index = DZ_SHEN_MING.indexOf(shizhi);
1766
+ const step2_move = (12 + shizhi_index - you_index) % 12;
1767
+ mingGongIndex = (mingGongIndex + step2_move) % 12;
1768
+ const shenGongDizhi = DZ_SHEN_MING[mingGongIndex];
1769
+ const yuegan_index = TG_10.indexOf(yuegan);
1770
+ const yuezhi_index = DZ_SHEN_MING.indexOf(yuezhi);
1771
+ let mingGongStemIndex;
1772
+ if (mingGongIndex > yuezhi_index) {
1773
+ mingGongStemIndex = (yuegan_index + (mingGongIndex - yuezhi_index)) % 10;
1774
+ } else {
1775
+ mingGongStemIndex = (yuegan_index - (yuezhi_index - mingGongIndex) + 10) % 10;
1776
+ }
1777
+ const shenGongTiangan = TG_10[mingGongStemIndex];
1778
+ return shenGongTiangan + shenGongDizhi;
1779
+ }
1780
+ // 获取胎命身
1781
+ getTMS(bazi) {
1782
+ const [, [yuegan, yuezhi], , [, shizhi]] = bazi;
1783
+ const taiyuan = this.getTaiyuan(yuegan, yuezhi);
1784
+ const minggong = this.getMingGong(yuegan, yuezhi, shizhi);
1785
+ const shengong = this.getShenGong(yuegan, yuezhi, shizhi);
1786
+ return {
1787
+ taiyuan,
1788
+ minggong,
1789
+ shengong
1790
+ };
1791
+ }
1792
+ };
1793
+ var WuXing = new WuXingClass();
1794
+
1795
+ // src/bazi/paipan.ts
1796
+ var synmonth = 29.530588853;
1797
+ var ptsa = [
1798
+ 485,
1799
+ 203,
1800
+ 199,
1801
+ 182,
1802
+ 156,
1803
+ 136,
1804
+ 77,
1805
+ 74,
1806
+ 70,
1807
+ 58,
1808
+ 52,
1809
+ 50,
1810
+ 45,
1811
+ 44,
1812
+ 29,
1813
+ 18,
1814
+ 17,
1815
+ 16,
1816
+ 14,
1817
+ 12,
1818
+ 12,
1819
+ 12,
1820
+ 9,
1821
+ 8
1822
+ ];
1823
+ var ptsb = [
1824
+ 324.96,
1825
+ 337.23,
1826
+ 342.08,
1827
+ 27.85,
1828
+ 73.14,
1829
+ 171.52,
1830
+ 222.54,
1831
+ 296.72,
1832
+ 243.58,
1833
+ 119.81,
1834
+ 297.17,
1835
+ 21.02,
1836
+ 247.54,
1837
+ 325.15,
1838
+ 60.93,
1839
+ 155.12,
1840
+ 288.79,
1841
+ 198.04,
1842
+ 199.76,
1843
+ 95.39,
1844
+ 287.11,
1845
+ 320.81,
1846
+ 227.73,
1847
+ 15.45
1848
+ ];
1849
+ var ptsc = [
1850
+ 1934.136,
1851
+ 32964.467,
1852
+ 20.186,
1853
+ 445267.112,
1854
+ 45036.886,
1855
+ 22518.443,
1856
+ 65928.934,
1857
+ 3034.906,
1858
+ 9037.513,
1859
+ 33718.147,
1860
+ 150.678,
1861
+ 2281.226,
1862
+ 29929.562,
1863
+ 31555.956,
1864
+ 4443.417,
1865
+ 67555.328,
1866
+ 4562.452,
1867
+ 62894.029,
1868
+ 31436.921,
1869
+ 14577.848,
1870
+ 31931.756,
1871
+ 34777.259,
1872
+ 1222.114,
1873
+ 16859.074
1874
+ ];
1875
+ function VE(yy) {
1876
+ if (yy < -8e3 || yy > 8001) {
1877
+ return 0;
1878
+ } else if (yy >= 1e3 && yy <= 8001) {
1879
+ const m = (yy - 2e3) / 1e3;
1880
+ return 245162380984e-5 + 365242.37404 * m + 0.05169 * m * m - 411e-5 * m * m * m - 57e-5 * m * m * m * m;
1881
+ } else if (yy >= -8e3 && yy < 1e3) {
1882
+ const m = yy / 1e3;
1883
+ return 172113929189e-5 + 365242.1374 * m + 0.06134 * m * m + 111e-5 * m * m * m - 71e-5 * m * m * m * m;
1884
+ } else {
1885
+ return 0;
1886
+ }
1887
+ }
1888
+ function Perturbation(jd) {
1889
+ const t = (jd - 2451545) / 36525;
1890
+ let s = 0;
1891
+ for (let k = 0; k <= 23; k++) {
1892
+ s = s + ptsa[k] * Math.cos(ptsb[k] * 2 * Math.PI / 360 + ptsc[k] * 2 * Math.PI / 360 * t);
1893
+ }
1894
+ const w = 35999.373 * t - 2.47;
1895
+ const l = 1 + 0.0334 * Math.cos(w * 2 * Math.PI / 360) + 7e-4 * Math.cos(2 * w * 2 * Math.PI / 360);
1896
+ return 1e-5 * s / l;
1897
+ }
1898
+ function DeltaT(yy, mm) {
1899
+ let u, t, dt;
1900
+ const y = yy + (mm - 0.5) / 12;
1901
+ if (y <= -500) {
1902
+ u = (y - 1820) / 100;
1903
+ dt = -20 + 32 * u * u;
1904
+ } else {
1905
+ if (y < 500) {
1906
+ u = y / 100;
1907
+ dt = 10583.6 - 1014.41 * u + 33.78311 * u * u - 5.952053 * u * u * u - 0.1798452 * u * u * u * u + 0.022174192 * u * u * u * u * u + 0.0090316521 * u * u * u * u * u * u;
1908
+ } else {
1909
+ if (y < 1600) {
1910
+ u = (y - 1e3) / 100;
1911
+ dt = 1574.2 - 556.01 * u + 71.23472 * u * u + 0.319781 * u * u * u - 0.8503463 * u * u * u * u - 5050998e-9 * u * u * u * u * u + 0.0083572073 * u * u * u * u * u * u;
1912
+ } else {
1913
+ if (y < 1700) {
1914
+ t = y - 1600;
1915
+ dt = 120 - 0.9808 * t - 0.01532 * t * t + t * t * t / 7129;
1916
+ } else {
1917
+ if (y < 1800) {
1918
+ t = y - 1700;
1919
+ dt = 8.83 + 0.1603 * t - 59285e-7 * t * t + 13336e-8 * t * t * t - t * t * t * t / 1174e3;
1920
+ } else {
1921
+ if (y < 1860) {
1922
+ t = y - 1800;
1923
+ dt = 13.72 - 0.332447 * t + 68612e-7 * t * t + 41116e-7 * t * t * t - 37436e-8 * t * t * t * t + 121272e-10 * t * t * t * t * t - 1699e-10 * t * t * t * t * t * t + 875e-12 * t * t * t * t * t * t * t;
1924
+ } else {
1925
+ if (y < 1900) {
1926
+ t = y - 1860;
1927
+ dt = 7.62 + 0.5737 * t - 0.251754 * t * t + 0.01680668 * t * t * t - 4473624e-10 * t * t * t * t + t * t * t * t * t / 233174;
1928
+ } else {
1929
+ if (y < 1920) {
1930
+ t = y - 1900;
1931
+ dt = -2.79 + 1.494119 * t - 0.0598939 * t * t + 61966e-7 * t * t * t - 197e-6 * t * t * t * t;
1932
+ } else {
1933
+ if (y < 1941) {
1934
+ t = y - 1920;
1935
+ dt = 21.2 + 0.84493 * t - 0.0761 * t * t + 20936e-7 * t * t * t;
1936
+ } else {
1937
+ if (y < 1961) {
1938
+ t = y - 1950;
1939
+ dt = 29.07 + 0.407 * t - t * t / 233 + t * t * t / 2547;
1940
+ } else {
1941
+ if (y < 1986) {
1942
+ t = y - 1975;
1943
+ dt = 45.45 + 1.067 * t - t * t / 260 - t * t * t / 718;
1944
+ } else {
1945
+ if (y < 2005) {
1946
+ t = y - 2e3;
1947
+ dt = 63.86 + 0.3345 * t - 0.060374 * t * t + 17275e-7 * t * t * t + 651814e-9 * t * t * t * t + 2373599e-11 * t * t * t * t * t;
1948
+ } else {
1949
+ if (y < 2050) {
1950
+ t = y - 2e3;
1951
+ dt = 62.92 + 0.32217 * t + 5589e-6 * t * t;
1952
+ } else {
1953
+ if (y < 2150) {
1954
+ u = (y - 1820) / 100;
1955
+ dt = -20 + 32 * u * u - 0.5628 * (2150 - y);
1956
+ } else {
1957
+ u = (y - 1820) / 100;
1958
+ dt = -20 + 32 * u * u;
1959
+ }
1960
+ }
1961
+ }
1962
+ }
1963
+ }
1964
+ }
1965
+ }
1966
+ }
1967
+ }
1968
+ }
1969
+ }
1970
+ }
1971
+ }
1972
+ }
1973
+ if (y < 1955 || y >= 2005) {
1974
+ dt = dt - 12932e-9 * (y - 1955) * (y - 1955);
1975
+ }
1976
+ return dt / 60;
1977
+ }
1978
+ function MeanJQJD(yy) {
1979
+ const jd = VE(yy);
1980
+ if (!jd) {
1981
+ return [];
1982
+ }
1983
+ const ty = VE(yy + 1) - jd;
1984
+ const num = 24 + 2;
1985
+ const ath = 2 * Math.PI / 24;
1986
+ const tx = (jd - 2451545) / 365250;
1987
+ const e = 0.0167086342 - 4203654e-10 * tx - 126734e-10 * tx * tx + 1444e-10 * tx * tx * tx - 2e-10 * tx * tx * tx * tx + 3e-10 * tx * tx * tx * tx * tx;
1988
+ const tt = yy / 1e3;
1989
+ const vp = 111.25586939 - 17.0119934518333 * tt - 0.044091890166673 * tt * tt - 437356166661345e-18 * tt * tt * tt + 816716666602386e-20 * tt * tt * tt * tt;
1990
+ const rvp = vp * 2 * Math.PI / 360;
1991
+ const peri = [];
1992
+ for (let i = 0; i < num; i++) {
1993
+ let flag = 0;
1994
+ let th = ath * i + rvp;
1995
+ if (th > Math.PI && th <= 3 * Math.PI) {
1996
+ th = 2 * Math.PI - th;
1997
+ flag = 1;
1998
+ }
1999
+ if (th > 3 * Math.PI) {
2000
+ th = 4 * Math.PI - th;
2001
+ flag = 2;
2002
+ }
2003
+ const f1 = 2 * Math.atan(Math.sqrt((1 - e) / (1 + e)) * Math.tan(th / 2));
2004
+ const f2 = e * Math.sqrt(1 - e * e) * Math.sin(th) / (1 + e * Math.cos(th));
2005
+ let f = (f1 - f2) * ty / 2 / Math.PI;
2006
+ if (flag == 1) {
2007
+ f = ty - f;
2008
+ }
2009
+ if (flag == 2) {
2010
+ f = 2 * ty - f;
2011
+ }
2012
+ peri[i] = f;
2013
+ }
2014
+ const jqjd = [];
2015
+ for (let i = 0; i < num; i++) {
2016
+ jqjd[i] = jd + peri[i] - peri[0];
2017
+ }
2018
+ return jqjd;
2019
+ }
2020
+ var GetAdjustedJQ = function(yy, start, end) {
2021
+ if (start < 0 || start > 25) {
2022
+ return [];
2023
+ }
2024
+ if (end < 0 || end > 25) {
2025
+ return [];
2026
+ }
2027
+ const jq = [];
2028
+ const jqjd = MeanJQJD(yy);
2029
+ for (const k in jqjd) {
2030
+ if (+k < start || +k > end) {
2031
+ continue;
2032
+ }
2033
+ const ptb = Perturbation(jqjd[k]);
2034
+ const dt = DeltaT(yy, Math.floor((+k + 1) / 2) + 3);
2035
+ jq[k] = jqjd[k] + ptb - dt / 60 / 24;
2036
+ jq[k] = jq[k] + 1 / 3;
2037
+ }
2038
+ return jq;
2039
+ };
2040
+ var GetPureJQsinceSpring = function(yy) {
2041
+ const jdpjq = [];
2042
+ let dj = GetAdjustedJQ(yy - 1, 19, 23);
2043
+ for (const k in dj) {
2044
+ if (+k < 19) {
2045
+ continue;
2046
+ }
2047
+ if (+k > 23) {
2048
+ continue;
2049
+ }
2050
+ if (+k % 2 == 0) {
2051
+ continue;
2052
+ }
2053
+ jdpjq.push(dj[k]);
2054
+ }
2055
+ dj = GetAdjustedJQ(yy, 0, 25);
2056
+ for (const k in dj) {
2057
+ if (+k % 2 == 0) {
2058
+ continue;
2059
+ }
2060
+ jdpjq.push(dj[k]);
2061
+ }
2062
+ return jdpjq;
2063
+ };
2064
+ function GetZQsinceWinterSolstice(yy) {
2065
+ const jdzq = [];
2066
+ let dj = GetAdjustedJQ(yy - 1, 18, 23);
2067
+ jdzq[0] = dj[18];
2068
+ jdzq[1] = dj[20];
2069
+ jdzq[2] = dj[22];
2070
+ dj = GetAdjustedJQ(yy, 0, 23);
2071
+ for (const k in dj) {
2072
+ if (+k % 2 != 0) {
2073
+ continue;
2074
+ }
2075
+ jdzq.push(dj[k]);
2076
+ }
2077
+ return jdzq;
2078
+ }
2079
+ function TrueNewMoon(k) {
2080
+ const jdt = 245155009765e-5 + k * synmonth;
2081
+ const t = (jdt - 2451545) / 36525;
2082
+ const t2 = t * t;
2083
+ const t3 = t2 * t;
2084
+ const t4 = t3 * t;
2085
+ const pt = jdt + 1337e-7 * t2 - 15e-8 * t3 + 73e-11 * t4;
2086
+ const m = 2.5534 + 29.10535669 * k - 218e-7 * t2 - 11e-8 * t3;
2087
+ const mprime = 201.5643 + 385.81693528 * k + 0.0107438 * t2 + 1239e-8 * t3 - 58e-9 * t4;
2088
+ const f = 160.7108 + 390.67050274 * k - 16341e-7 * t2 - 227e-8 * t3 + 11e-9 * t4;
2089
+ const omega = 124.7746 - 1.5637558 * k + 20691e-7 * t2 + 215e-8 * t3;
2090
+ const es = 1 - 2516e-6 * t - 74e-7 * t2;
2091
+ let apt1 = -0.4072 * Math.sin(Math.PI / 180 * mprime);
2092
+ apt1 += 0.17241 * es * Math.sin(Math.PI / 180 * m);
2093
+ apt1 += 0.01608 * Math.sin(Math.PI / 180 * 2 * mprime);
2094
+ apt1 += 0.01039 * Math.sin(Math.PI / 180 * 2 * f);
2095
+ apt1 += 739e-5 * es * Math.sin(Math.PI / 180 * (mprime - m));
2096
+ apt1 -= 514e-5 * es * Math.sin(Math.PI / 180 * (mprime + m));
2097
+ apt1 += 208e-5 * es * es * Math.sin(Math.PI / 180 * (2 * m));
2098
+ apt1 -= 111e-5 * Math.sin(Math.PI / 180 * (mprime - 2 * f));
2099
+ apt1 -= 57e-5 * Math.sin(Math.PI / 180 * (mprime + 2 * f));
2100
+ apt1 += 56e-5 * es * Math.sin(Math.PI / 180 * (2 * mprime + m));
2101
+ apt1 -= 42e-5 * Math.sin(Math.PI / 180 * 3 * mprime);
2102
+ apt1 += 42e-5 * es * Math.sin(Math.PI / 180 * (m + 2 * f));
2103
+ apt1 += 38e-5 * es * Math.sin(Math.PI / 180 * (m - 2 * f));
2104
+ apt1 -= 24e-5 * es * Math.sin(Math.PI / 180 * (2 * mprime - m));
2105
+ apt1 -= 17e-5 * Math.sin(Math.PI / 180 * omega);
2106
+ apt1 -= 7e-5 * Math.sin(Math.PI / 180 * (mprime + 2 * m));
2107
+ apt1 += 4e-5 * Math.sin(Math.PI / 180 * (2 * mprime - 2 * f));
2108
+ apt1 += 4e-5 * Math.sin(Math.PI / 180 * (3 * m));
2109
+ apt1 += 3e-5 * Math.sin(Math.PI / 180 * (mprime + m - 2 * f));
2110
+ apt1 += 3e-5 * Math.sin(Math.PI / 180 * (2 * mprime + 2 * f));
2111
+ apt1 -= 3e-5 * Math.sin(Math.PI / 180 * (mprime + m + 2 * f));
2112
+ apt1 += 3e-5 * Math.sin(Math.PI / 180 * (mprime - m + 2 * f));
2113
+ apt1 -= 2e-5 * Math.sin(Math.PI / 180 * (mprime - m - 2 * f));
2114
+ apt1 -= 2e-5 * Math.sin(Math.PI / 180 * (3 * mprime + m));
2115
+ apt1 += 2e-5 * Math.sin(Math.PI / 180 * (4 * mprime));
2116
+ let apt2 = 325e-6 * Math.sin(Math.PI / 180 * (299.77 + 0.107408 * k - 9173e-6 * t2));
2117
+ apt2 += 165e-6 * Math.sin(Math.PI / 180 * (251.88 + 0.016321 * k));
2118
+ apt2 += 164e-6 * Math.sin(Math.PI / 180 * (251.83 + 26.651886 * k));
2119
+ apt2 += 126e-6 * Math.sin(Math.PI / 180 * (349.42 + 36.412478 * k));
2120
+ apt2 += 11e-5 * Math.sin(Math.PI / 180 * (84.66 + 18.206239 * k));
2121
+ apt2 += 62e-6 * Math.sin(Math.PI / 180 * (141.74 + 53.303771 * k));
2122
+ apt2 += 6e-5 * Math.sin(Math.PI / 180 * (207.14 + 2.453732 * k));
2123
+ apt2 += 56e-6 * Math.sin(Math.PI / 180 * (154.84 + 7.30686 * k));
2124
+ apt2 += 47e-6 * Math.sin(Math.PI / 180 * (34.52 + 27.261239 * k));
2125
+ apt2 += 42e-6 * Math.sin(Math.PI / 180 * (207.19 + 0.121824 * k));
2126
+ apt2 += 4e-5 * Math.sin(Math.PI / 180 * (291.34 + 1.844379 * k));
2127
+ apt2 += 37e-6 * Math.sin(Math.PI / 180 * (161.72 + 24.198154 * k));
2128
+ apt2 += 35e-6 * Math.sin(Math.PI / 180 * (239.56 + 25.513099 * k));
2129
+ apt2 += 23e-6 * Math.sin(Math.PI / 180 * (331.55 + 3.592518 * k));
2130
+ return pt + apt1 + apt2;
2131
+ }
2132
+ function MeanNewMoon(jd) {
2133
+ const kn = Math.floor((jd - 245155009765e-5) / synmonth);
2134
+ const jdt = 245155009765e-5 + kn * synmonth;
2135
+ const t = (jdt - 2451545) / 36525;
2136
+ const thejd = jdt + 1337e-7 * t * t - 15e-8 * t * t * t + 73e-11 * t * t * t * t;
2137
+ return [kn, thejd];
2138
+ }
2139
+ function Julian2Solar(jd) {
2140
+ jd = Number(jd);
2141
+ let y4h = 0, init = 0;
2142
+ if (jd >= 22991605e-1) {
2143
+ y4h = 146097;
2144
+ init = 17211195e-1;
2145
+ } else {
2146
+ y4h = 146100;
2147
+ init = 17211175e-1;
2148
+ }
2149
+ const jdr = Math.floor(jd - init);
2150
+ const yh = y4h / 4;
2151
+ const cen = Math.floor((jdr + 0.75) / yh);
2152
+ let d = Math.floor(jdr + 0.75 - cen * yh);
2153
+ const ywl = 1461 / 4;
2154
+ const jy = Math.floor((d + 0.75) / ywl);
2155
+ d = Math.floor(d + 0.75 - ywl * jy + 1);
2156
+ const ml = 153 / 5;
2157
+ const mp = Math.floor((d - 0.5) / ml);
2158
+ d = Math.floor(d - 0.5 - 30.6 * mp + 1);
2159
+ let y = 100 * cen + jy;
2160
+ const m = (mp + 2) % 12 + 1;
2161
+ if (m < 3) {
2162
+ y = y + 1;
2163
+ }
2164
+ const sd = Math.floor((jd + 0.5 - Math.floor(jd + 0.5)) * 24 * 60 * 60 + 5e-5);
2165
+ let mt = Math.floor(sd / 60);
2166
+ const ss = sd % 60;
2167
+ const hh = Math.floor(mt / 60);
2168
+ mt = mt % 60;
2169
+ const yy = Math.floor(y);
2170
+ const mm = Math.floor(m);
2171
+ const dd = Math.floor(d);
2172
+ return [yy, mm, dd, hh, mt, ss];
2173
+ }
2174
+ function GetZQandSMandLunarMonthCode(yy) {
2175
+ const mc = [];
2176
+ const jdzq = GetZQsinceWinterSolstice(yy);
2177
+ const jdnm = GetSMsinceWinterSolstice(yy, jdzq[0]);
2178
+ let yz = 0;
2179
+ if (Math.floor(jdzq[12] + 0.5) >= Math.floor(jdnm[13] + 0.5)) {
2180
+ for (let i = 1; i <= 14; i++) {
2181
+ if (jdnm[i] + 0.5 > Math.floor(jdzq[i - 1 - yz] + 0.5) && Math.floor(jdnm[i + 1] + 0.5) <= Math.floor(jdzq[i - yz] + 0.5)) {
2182
+ mc[i] = i - 0.5;
2183
+ yz = 1;
2184
+ } else {
2185
+ mc[i] = i - yz;
2186
+ }
2187
+ }
2188
+ } else {
2189
+ for (let i = 0; i <= 12; i++) {
2190
+ mc[i] = i;
2191
+ }
2192
+ for (let i = 13; i <= 14; i++) {
2193
+ if (jdnm[i] + 0.5 > Math.floor(jdzq[i - 1 - yz] + 0.5) && Math.floor(jdnm[i + 1] + 0.5) <= Math.floor(jdzq[i - yz] + 0.5)) {
2194
+ mc[i] = i - 0.5;
2195
+ yz = 1;
2196
+ } else {
2197
+ mc[i] = i - yz;
2198
+ }
2199
+ }
2200
+ }
2201
+ return [jdzq, jdnm, mc];
2202
+ }
2203
+ function GetSMsinceWinterSolstice(yy, jdws) {
2204
+ const tjd = [];
2205
+ const jd = Solar2Julian(yy - 1, 11, 1, 0, 0, 0);
2206
+ if (!jd) return [];
2207
+ const nm = MeanNewMoon(jd);
2208
+ const kn = nm[0];
2209
+ const thejd = nm[1];
2210
+ for (let i = 0; i <= 19; i++) {
2211
+ const k = kn + i;
2212
+ const mjd = thejd + synmonth * i;
2213
+ tjd[i] = TrueNewMoon(k) + 1 / 3;
2214
+ tjd[i] = tjd[i] - DeltaT(yy, i - 1) / 1440;
2215
+ }
2216
+ let target_j = 0;
2217
+ for (let j = 0; j <= 18; j++) {
2218
+ if (Math.floor(tjd[j] + 0.5) > Math.floor(jdws + 0.5)) {
2219
+ target_j = j;
2220
+ break;
2221
+ }
2222
+ target_j = j;
2223
+ }
2224
+ const jdnm = [];
2225
+ for (let k = 0; k <= 15; k++) {
2226
+ jdnm[k] = tjd[target_j - 1 + k];
2227
+ }
2228
+ return jdnm;
2229
+ }
2230
+ function Solar2Julian(yy, mm, dd, hh = 0, mt = 0, ss = 0) {
2231
+ if (!ValidDate(yy, mm, dd)) {
2232
+ return false;
2233
+ }
2234
+ if (hh < 0 || hh >= 24) {
2235
+ return false;
2236
+ }
2237
+ if (mt < 0 || mt >= 60) {
2238
+ return false;
2239
+ }
2240
+ if (ss < 0 || ss >= 60) {
2241
+ return false;
2242
+ }
2243
+ const yp = yy + Math.floor((mm - 3) / 10);
2244
+ let init = 0, jdy = 0;
2245
+ if (yy > 1582 || yy == 1582 && mm > 10 || yy == 1582 && mm == 10 && dd >= 15) {
2246
+ init = 17211195e-1;
2247
+ jdy = Math.floor(yp * 365.25) - Math.floor(yp / 100) + Math.floor(yp / 400);
2248
+ }
2249
+ if (yy < 1582 || yy == 1582 && mm < 10 || yy == 1582 && mm == 10 && dd <= 4) {
2250
+ init = 17211175e-1;
2251
+ jdy = Math.floor(yp * 365.25);
2252
+ }
2253
+ if (!init) {
2254
+ return false;
2255
+ }
2256
+ const mp = Math.floor(mm + 9) % 12;
2257
+ const jdm = mp * 30 + Math.floor((mp + 1) * 34 / 57);
2258
+ const jdd = dd - 1;
2259
+ const jdh = (hh + (mt + ss / 60) / 60) / 24;
2260
+ return jdy + jdm + jdd + jdh + init;
2261
+ }
2262
+ function ValidDate(yy, mm, dd) {
2263
+ if (yy < -1e3 || yy > 3e3) {
2264
+ return false;
2265
+ }
2266
+ if (mm < 1 || mm > 12) {
2267
+ return false;
2268
+ }
2269
+ if (yy == 1582 && mm == 10 && dd >= 5 && dd < 15) {
2270
+ return false;
2271
+ }
2272
+ const isLeap = yy > 1582 ? yy % 4 === 0 && yy % 100 !== 0 || yy % 400 === 0 : yy % 4 === 0;
2273
+ const daysInMonth = [31, isLeap ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
2274
+ return dd > 0 && dd <= daysInMonth[mm - 1];
2275
+ }
2276
+ var Paipan = class {
2277
+ constructor() {
2278
+ // constructor() {}
2279
+ /**
2280
+ * 是否区分 早晚子 时,true则23:00-24:00算成上一天
2281
+ * @var bool
2282
+ */
2283
+ this.zwz = false;
2284
+ /**
2285
+ * 十天干
2286
+ * @var array
2287
+ */
2288
+ this.ctg = [...TG_10];
2289
+ // char of TianGan
2290
+ this.yang = ["\u7532" /* 甲 */, "\u4E19" /* 丙 */, "\u620A" /* 戊 */, "\u5E9A" /* 庚 */, "\u58EC" /* 壬 */];
2291
+ this.yin = ["\u4E59" /* 乙 */, "\u4E01" /* 丁 */, "\u5DF1" /* 己 */, "\u8F9B" /* 辛 */, "\u7678" /* 癸 */];
2292
+ // tenGodMap = { 2: '食神', 6: '七杀', 8: '偏印' } // TODO 为什么只有这几个的位置是固定的
2293
+ this.ctg2 = ["\u7532\u6728", "\u4E59\u6728", "\u4E19\u706B", "\u4E01\u706B", "\u620A\u571F", "\u5DF1\u571F", "\u5E9A\u91D1", "\u8F9B\u91D1", "\u58EC\u6C34", "\u7678\u6C34"];
2294
+ // 全称
2295
+ /**
2296
+ * 五行
2297
+ */
2298
+ this.cwx = [...WuXing5];
2299
+ //char of WuXing
2300
+ /**
2301
+ * 天干对应五行
2302
+ * @var array
2303
+ */
2304
+ this.tgwx = [1, 1, 3, 3, 4, 4, 0, 0, 2, 2];
2305
+ /**
2306
+ * 十二地支
2307
+ * @var array
2308
+ */
2309
+ this.cdz = [...DZ_12];
2310
+ //char of DiZhi
2311
+ /**
2312
+ * 地支对应五行
2313
+ * @var array
2314
+ */
2315
+ this.dzwx = [2, 4, 1, 1, 4, 3, 3, 4, 0, 0, 4, 2];
2316
+ /**
2317
+ * 地支藏干
2318
+ * @var array
2319
+ */
2320
+ this.dzcg = [
2321
+ [9],
2322
+ [5, 9, 7],
2323
+ [0, 2, 4],
2324
+ [1],
2325
+ [4, 1, 9],
2326
+ [2, 4, 6],
2327
+ [3, 5],
2328
+ [5, 3, 1],
2329
+ [6, 8, 4],
2330
+ [7],
2331
+ [4, 7, 3],
2332
+ [8, 0]
2333
+ ];
2334
+ /**
2335
+ * 十二生肖
2336
+ * @var array
2337
+ */
2338
+ this.csa = ["\u9F20", "\u725B", "\u864E", "\u5154", "\u9F99", "\u86C7", "\u9A6C", "\u7F8A", "\u7334", "\u9E21", "\u72D7", "\u732A"];
2339
+ //char of symbolic animals
2340
+ // /**
2341
+ // * 十二星座
2342
+ // * @var array
2343
+ // */
2344
+ // cxz = XZ_12.slice(10).concat(XZ_12.slice(0, -2)); //char of XingZuo
2345
+ /**
2346
+ * 星期
2347
+ * @var array
2348
+ */
2349
+ this.wkd = ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"];
2350
+ //week day
2351
+ /**
2352
+ * 廿四节气(从春分开始)
2353
+ * @var array
2354
+ */
2355
+ this.jq = [...JQ_24];
2356
+ }
2357
+ // 24节气
2358
+ /**
2359
+ * 获取公历某个月有多少天
2360
+ * @param int yy
2361
+ * @param int mm
2362
+ * @return number
2363
+ */
2364
+ GetSolarDays(yy, mm) {
2365
+ if (yy < -1e3 || yy > 3e3) return 0;
2366
+ if (mm < 1 || mm > 12) return 0;
2367
+ const isLeap = yy > 1582 ? yy % 4 === 0 && yy % 100 !== 0 || yy % 400 === 0 : yy % 4 === 0;
2368
+ const daysInMonth = [31, isLeap ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
2369
+ return daysInMonth[mm - 1];
2370
+ }
2371
+ /**
2372
+ * 获取农历某个月有多少天
2373
+ * @param int yy
2374
+ * @param int mm
2375
+ * @param bool isLeap
2376
+ * @return number
2377
+ */
2378
+ GetLunarDays(yy, mm, isLeap) {
2379
+ if (yy < -1e3 || yy > 3e3) {
2380
+ return 0;
2381
+ }
2382
+ if (mm < 1 || mm > 12) {
2383
+ return 0;
2384
+ }
2385
+ const lm = GetZQandSMandLunarMonthCode(yy);
2386
+ const jdzq = lm[0];
2387
+ const jdnm = lm[1];
2388
+ const mc = lm[2];
2389
+ let leap = 0;
2390
+ for (let j = 1; j <= 14; j++) {
2391
+ if (mc[j] - Math.floor(mc[j]) > 0) {
2392
+ leap = Math.floor(mc[j] + 0.5);
2393
+ break;
2394
+ }
2395
+ }
2396
+ mm = mm + 2;
2397
+ const nofd = [];
2398
+ for (let i = 0; i <= 14; i++) {
2399
+ nofd[i] = Math.floor(jdnm[i + 1] + 0.5) - Math.floor(jdnm[i] + 0.5);
2400
+ }
2401
+ let dy = 0;
2402
+ let er = 0;
2403
+ if (isLeap) {
2404
+ if (leap < 3) {
2405
+ er = 1;
2406
+ } else {
2407
+ if (leap != mm) {
2408
+ er = 2;
2409
+ } else {
2410
+ dy = nofd[mm];
2411
+ }
2412
+ }
2413
+ } else {
2414
+ if (leap == 0) {
2415
+ dy = nofd[mm - 1];
2416
+ } else {
2417
+ dy = nofd[mm + Number(mm > leap) - 1];
2418
+ }
2419
+ }
2420
+ return dy;
2421
+ }
2422
+ /**
2423
+ * 获取农历某年的闰月,0为无闰月
2424
+ * @param int yy
2425
+ * @return number
2426
+ */
2427
+ GetLeap(yy) {
2428
+ const lm = GetZQandSMandLunarMonthCode(yy);
2429
+ const jdzq = lm[0];
2430
+ const jdnm = lm[1];
2431
+ const mc = lm[2];
2432
+ let leap = 0;
2433
+ for (let j = 1; j <= 14; j++) {
2434
+ if (mc[j] - Math.floor(mc[j]) > 0) {
2435
+ leap = Math.floor(mc[j] + 0.5);
2436
+ break;
2437
+ }
2438
+ }
2439
+ return Math.max(0, leap - 2);
2440
+ }
2441
+ /**
2442
+ * 根据公历月日计算星座下标
2443
+ * @param int mm
2444
+ * @param int dd
2445
+ * @return int|false
2446
+ */
2447
+ GetZodiac(mm, dd) {
2448
+ if (mm < 1 || mm > 12) {
2449
+ return -1;
2450
+ }
2451
+ if (dd < 1 || dd > 31) {
2452
+ return -1;
2453
+ }
2454
+ const dds = [20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 22, 22];
2455
+ let kn = mm - 1;
2456
+ if (dd < dds[kn]) {
2457
+ kn = (kn + 12 - 1) % 12;
2458
+ }
2459
+ return kn;
2460
+ }
2461
+ /**
2462
+ * 计算公历的某天是星期几(PHP中的date方法,此处演示儒略日历的转换作用)
2463
+ * @param int yy
2464
+ * @param int mm
2465
+ * @param int dd
2466
+ */
2467
+ GetWeek(yy, mm, dd) {
2468
+ const jd = Solar2Julian(yy, mm, dd, 12);
2469
+ if (!jd) {
2470
+ return false;
2471
+ }
2472
+ return (Math.floor(jd + 1) % 7 + 7) % 7;
2473
+ }
2474
+ /**
2475
+ * 将农历时间转换成公历时间
2476
+ * @param int yy
2477
+ * @param int mm
2478
+ * @param int dd
2479
+ * @param int isLeap 是否闰月
2480
+ * @return false/array(年,月,日)
2481
+ */
2482
+ Lunar2Solar(yy, mm, dd, isLeap) {
2483
+ if (yy < -7e3 || yy > 7e3) {
2484
+ return false;
2485
+ }
2486
+ if (yy < -1e3 || yy > 3e3) {
2487
+ return false;
2488
+ }
2489
+ if (mm < 1 || mm > 12) {
2490
+ return false;
2491
+ }
2492
+ if (dd < 1 || dd > 30) {
2493
+ return false;
2494
+ }
2495
+ const lm = GetZQandSMandLunarMonthCode(yy);
2496
+ const jdzq = lm[0];
2497
+ const jdnm = lm[1];
2498
+ const mc = lm[2];
2499
+ let leap = 0;
2500
+ for (let j = 1; j <= 14; j++) {
2501
+ if (mc[j] - Math.floor(mc[j]) > 0) {
2502
+ leap = Math.floor(mc[j] + 0.5);
2503
+ break;
2504
+ }
2505
+ }
2506
+ mm = mm + 2;
2507
+ const nofd = [];
2508
+ for (let i = 0; i <= 14; i++) {
2509
+ nofd[i] = Math.floor(jdnm[i + 1] + 0.5) - Math.floor(jdnm[i] + 0.5);
2510
+ }
2511
+ let jd = 0;
2512
+ let er = 0;
2513
+ if (isLeap) {
2514
+ if (leap < 3) {
2515
+ er = 1;
2516
+ } else {
2517
+ if (leap != mm) {
2518
+ er = 2;
2519
+ } else {
2520
+ if (dd <= nofd[mm]) {
2521
+ jd = jdnm[mm] + dd - 1;
2522
+ } else {
2523
+ er = 3;
2524
+ }
2525
+ }
2526
+ }
2527
+ } else {
2528
+ if (leap == 0) {
2529
+ if (dd <= nofd[mm - 1]) {
2530
+ jd = jdnm[mm - 1] + dd - 1;
2531
+ } else {
2532
+ er = 4;
2533
+ }
2534
+ } else {
2535
+ if (dd <= nofd[mm + Number(mm > leap) - 1]) {
2536
+ jd = jdnm[mm + Number(mm > leap) - 1] + dd - 1;
2537
+ } else {
2538
+ er = 4;
2539
+ }
2540
+ }
2541
+ }
2542
+ return er ? false : Julian2Solar(jd).slice(0, 3);
2543
+ }
2544
+ /**
2545
+ * 将公历时间转换成农历时间
2546
+ * @param int yy
2547
+ * @param int mm
2548
+ * @param int dd
2549
+ * @return array(年,月,日,是否闰月)
2550
+ */
2551
+ Solar2Lunar(yy, mm, dd) {
2552
+ if (!ValidDate(yy, mm, dd)) {
2553
+ return [];
2554
+ }
2555
+ let mi = 0;
2556
+ let prev = 0;
2557
+ let isLeap = 0;
2558
+ let lm = GetZQandSMandLunarMonthCode(yy);
2559
+ let jdzq = lm[0];
2560
+ let jdnm = lm[1];
2561
+ let mc = lm[2];
2562
+ const jd = Solar2Julian(yy, mm, dd, 12, 0, 0);
2563
+ if (!jd) return [];
2564
+ if (Math.floor(jd) < Math.floor(jdnm[0] + 0.5)) {
2565
+ prev = 1;
2566
+ lm = GetZQandSMandLunarMonthCode(yy - 1);
2567
+ jdzq = lm[0];
2568
+ jdnm = lm[1];
2569
+ mc = lm[2];
2570
+ }
2571
+ for (let i = 0; i <= 14; i++) {
2572
+ if (Math.floor(jd) >= Math.floor(jdnm[i] + 0.5) && Math.floor(jd) < Math.floor(jdnm[i + 1] + 0.5)) {
2573
+ mi = i;
2574
+ break;
2575
+ }
2576
+ }
2577
+ if (mc[mi] < 2 || prev == 1) {
2578
+ yy = yy - 1;
2579
+ }
2580
+ if ((mc[mi] - Math.floor(mc[mi])) * 2 + 1 != 1) {
2581
+ isLeap = 1;
2582
+ }
2583
+ mm = Math.floor(mc[mi] + 10) % 12 + 1;
2584
+ dd = Math.floor(jd) - Math.floor(jdnm[mi] + 0.5) + 1;
2585
+ return [yy, mm, dd, isLeap];
2586
+ }
2587
+ /**
2588
+ * 求出含某公历年立春點開始的24节气的儒略日历时间
2589
+ * @param int yy
2590
+ * @return array jq[(k+21)%24]
2591
+ */
2592
+ Get24JieQi(yy) {
2593
+ const jq = [];
2594
+ let dj = GetAdjustedJQ(yy - 1, 21, 23);
2595
+ for (const k in dj) {
2596
+ if (+k < 21) {
2597
+ continue;
2598
+ }
2599
+ if (+k > 23) {
2600
+ continue;
2601
+ }
2602
+ jq.push(Julian2Solar(dj[k]));
2603
+ }
2604
+ dj = GetAdjustedJQ(yy, 0, 20);
2605
+ for (const k in dj) {
2606
+ jq.push(Julian2Solar(dj[k]));
2607
+ }
2608
+ return jq;
2609
+ }
2610
+ // 获取某一年的24节气时间表
2611
+ Get24JieQiByYear(dateObj) {
2612
+ const yy = dateObj.getFullYear();
2613
+ let jqs = this.Get24JieQi(yy);
2614
+ if (dateObj.getTime() < new Date(jqs[0][0], jqs[0][1] - 1, jqs[0][2], jqs[0][3], jqs[0][4], jqs[0][5]).getTime()) {
2615
+ jqs = this.Get24JieQi(yy - 1);
2616
+ }
2617
+ return jqs.map((i, index) => ({
2618
+ t: new Date(i[0], i[1] - 1, i[2], i[3], i[4], i[5]),
2619
+ name: this.jq[index]
2620
+ }));
2621
+ }
2622
+ // 根据传入时间找到对应的24节气
2623
+ Get24JieQiText(dateObj) {
2624
+ const jqs = this.Get24JieQiByYear(dateObj);
2625
+ const jq_text = jqs.reduce((r, i) => {
2626
+ const times = dateObj.getTime() - i.t.getTime();
2627
+ if (times > 0) {
2628
+ const dayNums = Math.floor(times / (24 * 3600 * 1e3));
2629
+ const hours = Math.floor(times % (24 * 3600 * 1e3) / (3600 * 1e3));
2630
+ r = i.name + `(\u4E4B\u540E${dayNums <= 0 ? "" : dayNums + "\u5929"}${hours}\u5C0F\u65F6)`;
2631
+ }
2632
+ return r;
2633
+ }, "");
2634
+ return jq_text;
2635
+ }
2636
+ /**
2637
+ * 四柱計算,分早子时晚子时,传公历
2638
+ * @param int yy
2639
+ * @param int mm
2640
+ * @param int dd
2641
+ * @param int hh 时间(0-23)
2642
+ * @param int mt 分钟数(0-59),在跨节的时辰上会需要,有的排盘忽略了跨节
2643
+ * @param int ss 秒数(0-59)
2644
+ * @return array(天干, 地支, 对应的儒略日历时间, 对应年的12节+前后N节, 对应时间所处节的索引)
2645
+ */
2646
+ GetGanZhi(yy, mm, dd, hh, mt = 0, ss = 0) {
2647
+ const jd = Solar2Julian(yy, mm, dd, hh, mt, Math.max(1, ss));
2648
+ if (!jd) {
2649
+ return { tg: [], dz: [], jq: [], jd: 0, ix: 0 };
2650
+ }
2651
+ let ix = 0;
2652
+ const tg = [];
2653
+ const dz = [];
2654
+ let jq = GetPureJQsinceSpring(yy);
2655
+ if (jd < jq[1]) {
2656
+ yy = yy - 1;
2657
+ jq = GetPureJQsinceSpring(yy);
2658
+ }
2659
+ const ygz = ((yy + 4712 + 24) % 60 + 60) % 60;
2660
+ tg[0] = ygz % 10;
2661
+ dz[0] = ygz % 12;
2662
+ for (let j = 0; j <= 15; j++) {
2663
+ if (jq[j] >= jd) {
2664
+ ix = j - 1;
2665
+ break;
2666
+ }
2667
+ }
2668
+ const tmm = ((yy + 4712) * 12 + (ix - 1) + 60) % 60;
2669
+ const mgz = (tmm + 50) % 60;
2670
+ tg[1] = mgz % 10;
2671
+ dz[1] = mgz % 12;
2672
+ const jda = jd + 0.5;
2673
+ const thes = (jda - Math.floor(jda)) * 86400 + 3600;
2674
+ const dayjd = Math.floor(jda) + thes / 86400;
2675
+ const dgz = (Math.floor(dayjd + 49) % 60 + 60) % 60;
2676
+ tg[2] = dgz % 10;
2677
+ dz[2] = dgz % 12;
2678
+ if (this.zwz && hh >= 23) {
2679
+ tg[2] = (tg[2] + 10 - 1) % 10;
2680
+ dz[2] = (dz[2] + 12 - 1) % 12;
2681
+ }
2682
+ const dh = dayjd * 12;
2683
+ const hgz = (Math.floor(dh + 48) % 60 + 60) % 60;
2684
+ tg[3] = hgz % 10;
2685
+ dz[3] = hgz % 12;
2686
+ return { tg, dz, jd, jq, ix };
2687
+ }
2688
+ // 获取某一年年中的天干地支
2689
+ getYearMidTgDz(y) {
2690
+ const dateObj = new Date(y, 6, 1);
2691
+ const [yy, mm, dd, hh, mt, ss] = [
2692
+ dateObj.getFullYear(),
2693
+ dateObj.getMonth() + 1,
2694
+ dateObj.getDate(),
2695
+ dateObj.getHours(),
2696
+ dateObj.getMinutes(),
2697
+ dateObj.getSeconds()
2698
+ ];
2699
+ const { tg, dz } = this.GetGanZhi(yy, mm, dd, hh, mt, ss);
2700
+ return [tg[0], dz[0]];
2701
+ }
2702
+ /**
2703
+ * 根据公历年月日排盘
2704
+ * @param int gd 0男1女
2705
+ * @param int yy
2706
+ * @param int mm
2707
+ * @param int dd
2708
+ * @param int hh 时间(0-23)
2709
+ * @param int mt 分钟数(0-59),在跨节的时辰上会需要,有的排盘忽略了跨节
2710
+ * @param int ss 秒数(0-59)
2711
+ * @return array
2712
+ */
2713
+ GetInfo(gender, date) {
2714
+ const dateObj = new Date(date);
2715
+ const [yy, mm, dd, hh, mt, ss] = [
2716
+ dateObj.getFullYear(),
2717
+ dateObj.getMonth() + 1,
2718
+ dateObj.getDate(),
2719
+ dateObj.getHours(),
2720
+ dateObj.getMinutes(),
2721
+ dateObj.getSeconds()
2722
+ ];
2723
+ const res = {
2724
+ gender,
2725
+ yy,
2726
+ mm,
2727
+ dd,
2728
+ hh,
2729
+ mt,
2730
+ ss,
2731
+ tg: [],
2732
+ // 天干
2733
+ dz: [],
2734
+ // 地支
2735
+ dzcg: [],
2736
+ // 地支藏干
2737
+ dzcg_text: [],
2738
+ // 地支藏干文字
2739
+ big: {
2740
+ big_tg: [],
2741
+ // 大运的天干
2742
+ big_dz: [],
2743
+ // 大运的地支
2744
+ start_desc: "",
2745
+ start_time: [],
2746
+ // xiaoyun: [],
2747
+ data: []
2748
+ },
2749
+ bazi: ["\u7532\u5B50" /* 甲子 */, "\u7532\u5B50" /* 甲子 */, "\u7532\u5B50" /* 甲子 */, "\u7532\u5B50" /* 甲子 */],
2750
+ // xz: XZ.白羊座,
2751
+ sx: "",
2752
+ yinli: [],
2753
+ yangli: [],
2754
+ tenMap: [],
2755
+ jq_text: ""
2756
+ };
2757
+ const big_tg = [];
2758
+ const big_dz = [];
2759
+ const gd = gender === 0 ? 0 : 1;
2760
+ const { tg, dz, jd, jq, ix } = this.GetGanZhi(yy, mm, dd, hh, mt, ss);
2761
+ for (let i = 0; i <= 3; i++) {
2762
+ res.bazi[i] = this.ctg[tg[i]] + this.cdz[dz[i]];
2763
+ }
2764
+ const pn = tg[0] % 2;
2765
+ let span;
2766
+ if (gd === 0 && pn === 0 || gd === 1 && pn === 1) {
2767
+ span = jq[ix + 1] - jd;
2768
+ for (let i = 1; i <= 12; i++) {
2769
+ big_tg.push((tg[1] + i) % 10);
2770
+ big_dz.push((dz[1] + i) % 12);
2771
+ }
2772
+ } else {
2773
+ span = jd - jq[ix];
2774
+ for (let i = 1; i <= 12; i++) {
2775
+ big_tg.push((tg[1] + 20 - i) % 10);
2776
+ big_dz.push((dz[1] + 24 - i) % 12);
2777
+ }
2778
+ }
2779
+ const days = parseInt(String(span * 4 * 30), 10);
2780
+ const y = parseInt(String(days / 360), 10);
2781
+ const m = parseInt(String(days % 360 / 30), 10);
2782
+ const day = parseInt(String(days % 360 % 30), 10);
2783
+ res.tg = tg;
2784
+ res.dz = dz;
2785
+ const { dzcg, dzcg_text } = this.getDzcgText(dz);
2786
+ res.dzcg = dzcg;
2787
+ res.dzcg_text = dzcg_text;
2788
+ res.yinli = this.Solar2Lunar(yy, mm, dd).slice(0, 3);
2789
+ res.yangli = [yy, mm, dd, hh];
2790
+ res.big.big_tg = big_tg;
2791
+ res.big.big_dz = big_dz;
2792
+ res.big.start_desc = y + "\u5E74" + m + "\u6708" + day + "\u5929\u8D77\u8FD0";
2793
+ const start_jdtime = jd + span * 120;
2794
+ res.big.start_time = Julian2Solar(start_jdtime);
2795
+ for (let i = 0; i < 12; i++) {
2796
+ res.big.data.push({
2797
+ name: this.ctg[big_tg[i]] + this.cdz[big_dz[i]],
2798
+ start_time: Julian2Solar(start_jdtime + i * 10 * 360),
2799
+ years: []
2800
+ });
2801
+ }
2802
+ const years = [];
2803
+ const xiaoyun = [];
2804
+ let arr = [];
2805
+ const start_yy = res.yinli[0];
2806
+ const [start_tg, start_dz] = this.getYearMidTgDz(start_yy);
2807
+ for (let i = 0; i <= 130; i++) {
2808
+ const t = (start_tg + i) % 10;
2809
+ const d = (start_dz + i) % 12;
2810
+ const tgdz_text = this.ctg[t] + this.cdz[d];
2811
+ const item = { name: tgdz_text, year: start_yy + i };
2812
+ if (res.yinli[0] + i < res.big.start_time[0]) {
2813
+ xiaoyun.push(item);
2814
+ continue;
2815
+ }
2816
+ arr.push(item);
2817
+ if (arr.length === 10) {
2818
+ years.push([...arr]);
2819
+ arr = [];
2820
+ }
2821
+ }
2822
+ years.forEach((year, index) => {
2823
+ if (res.big.data[index]) {
2824
+ res.big.data[index].years = year;
2825
+ }
2826
+ });
2827
+ res.big.data.unshift({
2828
+ name: "\u5C0F\u8FD0",
2829
+ xiaoyuns: xiaoyun.map((_, index) => {
2830
+ const shizhu_next_tg = res.tg[3] + 1 + index;
2831
+ const shizhu_next_dz = res.dz[3] + 1 + index;
2832
+ const [nextName] = this._getJZ60SByStartEnd(
2833
+ [shizhu_next_tg, shizhu_next_dz],
2834
+ [shizhu_next_tg + 1, shizhu_next_dz + 1]
2835
+ );
2836
+ return nextName;
2837
+ }),
2838
+ years: xiaoyun
2839
+ });
2840
+ res.sx = this.csa[dz[0]];
2841
+ res.tenMap = this.getTenGodMap(res.bazi[2][0]);
2842
+ res.jq_text = this.Get24JieQiText(dateObj);
2843
+ return res;
2844
+ }
2845
+ // 根据公历年获取流月流日
2846
+ getLiuYueByYear(yy, tgdz) {
2847
+ const res = [];
2848
+ const days = [];
2849
+ const rest_days = [];
2850
+ GetPureJQsinceSpring(yy).forEach((i) => {
2851
+ let [y, m, ddd, hhh, mtt, sss] = Julian2Solar(i);
2852
+ if (++sss && sss === 60) {
2853
+ sss = 0;
2854
+ mtt++;
2855
+ }
2856
+ const r = this.GetGanZhi(y, m, ddd, hhh, mtt, sss);
2857
+ if (this.ctg[r.tg[0]] + this.cdz[r.dz[0]] === tgdz) {
2858
+ res.push({
2859
+ name: this.ctg[r.tg[1]] + this.cdz[r.dz[1]],
2860
+ year: y,
2861
+ mouth: m,
2862
+ day: ddd,
2863
+ days: []
2864
+ });
2865
+ days.push([r.tg[2], r.dz[2]]);
2866
+ } else {
2867
+ const tg_index = this.ctg.findIndex((t) => t === tgdz[0]);
2868
+ const next_tg_index = (tg_index + 1) % 10;
2869
+ r.tg[0] === next_tg_index && rest_days.push([r.tg[2], r.dz[2]]);
2870
+ }
2871
+ });
2872
+ const days_JZ_60 = [];
2873
+ for (let i = 0; i < days.length; i++) {
2874
+ const start = days[i];
2875
+ let end = days[i + 1];
2876
+ if (!end) {
2877
+ end = rest_days[0];
2878
+ }
2879
+ days_JZ_60.push(
2880
+ this._getJZ60SByStartEnd(start, end).map((n) => ({
2881
+ name: n,
2882
+ year: 0,
2883
+ mouth: 0,
2884
+ day: 0,
2885
+ week: ""
2886
+ }))
2887
+ );
2888
+ }
2889
+ const max_map = {
2890
+ 1: 31,
2891
+ 2: this.GetLeap(yy) ? 29 : 28,
2892
+ 3: 31,
2893
+ 4: 30,
2894
+ 5: 31,
2895
+ 6: 30,
2896
+ 7: 31,
2897
+ 8: 31,
2898
+ 9: 30,
2899
+ 10: 31,
2900
+ 11: 30,
2901
+ 12: 31
2902
+ };
2903
+ res.forEach((i, index) => {
2904
+ let year = i.year;
2905
+ let mouth = i.mouth;
2906
+ let day = i.day;
2907
+ i.days = days_JZ_60[index].map((j, k) => {
2908
+ if (k !== 0) {
2909
+ day++;
2910
+ } else {
2911
+ const next_day_r = this.GetGanZhi(yy, mouth, day + 1, 1, 1, 1);
2912
+ const [, , next_day_rizhu] = next_day_r.tg.map(
2913
+ (_, next_day_r_i) => this.ctg[next_day_r.tg[next_day_r_i]] + this.cdz[next_day_r.dz[next_day_r_i]]
2914
+ );
2915
+ if (next_day_rizhu === j.name) {
2916
+ day++;
2917
+ }
2918
+ }
2919
+ if (day > max_map[mouth]) {
2920
+ mouth++;
2921
+ if (mouth >= 13) {
2922
+ mouth = 1;
2923
+ year++;
2924
+ }
2925
+ day = 1;
2926
+ }
2927
+ j.year = year;
2928
+ j.mouth = mouth;
2929
+ j.day = day;
2930
+ return j;
2931
+ });
2932
+ });
2933
+ const WEEKS = ["\u5468\u65E5", "\u5468\u4E00", "\u5468\u4E8C", "\u5468\u4E09", "\u5468\u56DB", "\u5468\u4E94", "\u5468\u516D"];
2934
+ res.forEach((i) => {
2935
+ let last_day = null;
2936
+ i.days.forEach((item) => {
2937
+ if (last_day === null) {
2938
+ last_day = new Date(item.year, item.mouth - 1, item.day).getDay();
2939
+ } else {
2940
+ last_day = ++last_day % 7;
2941
+ }
2942
+ item.week = WEEKS[last_day];
2943
+ });
2944
+ });
2945
+ const jqs = this.Get24JieQiByYear(new Date(yy, 7, 1));
2946
+ let jq_index = 0;
2947
+ res.forEach((i, yue_index) => {
2948
+ i.days.forEach((item, index) => {
2949
+ if (jqs[jq_index] && jqs[jq_index].t.getFullYear() === item.year && jqs[jq_index].t.getMonth() + 1 === item.mouth && jqs[jq_index].t.getDate() === item.day) {
2950
+ item.jq_text = jqs[jq_index].name;
2951
+ if (i.days[index - 1]) {
2952
+ if (JQ_4LI.includes(jqs[jq_index].name)) {
2953
+ i.days[index - 1].jq_text = "\u56DB\u79BB\u65E5";
2954
+ } else if (JQ_4JUE.includes(jqs[jq_index].name)) {
2955
+ i.days[index - 1].jq_text = "\u56DB\u7EDD\u65E5";
2956
+ }
2957
+ } else if (res[yue_index - 1]) {
2958
+ const lastMouth = res[yue_index - 1];
2959
+ if (JQ_4JUE.includes(jqs[jq_index].name)) {
2960
+ lastMouth.days[lastMouth.days.length - 1].jq_text = "\u56DB\u7EDD\u65E5";
2961
+ } else if (jqs[jq_index]) {
2962
+ lastMouth.days[lastMouth.days.length - 1].jq_text = jqs[jq_index].name + "\u524D";
2963
+ }
2964
+ }
2965
+ jq_index++;
2966
+ }
2967
+ });
2968
+ if (yue_index === res.length - 1) {
2969
+ i.days[i.days.length - 1].jq_text = "\u56DB\u7EDD\u65E5";
2970
+ }
2971
+ });
2972
+ return res;
2973
+ }
2974
+ // 根据当前时间获取流时
2975
+ getLiuShi(date) {
2976
+ const dateObj = new Date(date);
2977
+ const [yy, mm, dd, hh, mt, ss] = [
2978
+ dateObj.getFullYear(),
2979
+ dateObj.getMonth() + 1,
2980
+ dateObj.getDate(),
2981
+ dateObj.getHours(),
2982
+ dateObj.getMinutes(),
2983
+ dateObj.getSeconds()
2984
+ ];
2985
+ const { tg, dz } = this.GetGanZhi(yy, mm, dd, hh, mt, ss);
2986
+ let tg_item = tg[3];
2987
+ let dz_item = dz[3];
2988
+ const res = [];
2989
+ for (let i = 0; i <= 12; i++) {
2990
+ if (i !== 0) {
2991
+ tg_item++;
2992
+ dz_item++;
2993
+ if (tg_item >= this.ctg.length) {
2994
+ tg_item = 0;
2995
+ }
2996
+ if (dz_item >= this.cdz.length) {
2997
+ dz_item = 0;
2998
+ }
2999
+ }
3000
+ const new_hh = hh + i * 2 - 1;
3001
+ let end_hh = new_hh + 2;
3002
+ if (end_hh > 24) {
3003
+ end_hh = 1;
3004
+ }
3005
+ const time_text = `${i === 0 ? 23 : new_hh}-${end_hh}`;
3006
+ res.push({
3007
+ name: this.ctg[tg_item] + this.cdz[dz_item],
3008
+ hh: new_hh,
3009
+ time_text
3010
+ });
3011
+ }
3012
+ return res;
3013
+ }
3014
+ // 分别以一个六十甲子索引为始,另一个为终,拿到中间的所有天干地支组合
3015
+ // 79 710 711, 80 81 - 811, - , 611, 70, 71, 72, 73
3016
+ _getJZ60SByStartEnd(start, end) {
3017
+ const res = [];
3018
+ const [startX, startY] = start;
3019
+ const [endX, endY] = end;
3020
+ let nowX = startX % 10, nowY = startY % 12;
3021
+ for (let i = 1; i <= 60; i++) {
3022
+ if (nowX === endX && nowY === endY) {
3023
+ break;
3024
+ } else {
3025
+ res.push(TG_10[nowX] + DZ_12[nowY]);
3026
+ ++nowX;
3027
+ ++nowY;
3028
+ if (nowX > 9) {
3029
+ nowX = nowX % 10;
3030
+ }
3031
+ if (nowY > 11) {
3032
+ nowY = nowY % 12;
3033
+ }
3034
+ }
3035
+ }
3036
+ return res;
3037
+ }
3038
+ // 获取地支藏干和文字
3039
+ getDzcgText(target) {
3040
+ const dzcg = this.getDzcgByIndex(target);
3041
+ const dzcg_text = dzcg.map((arr) => arr.map((j) => this.ctg2[j]));
3042
+ return { dzcg, dzcg_text };
3043
+ }
3044
+ // 根据地支索引找到地支藏干
3045
+ getDzcgByIndex(target) {
3046
+ const res = [];
3047
+ target.forEach((item) => {
3048
+ if (this.cdz[item]) {
3049
+ res.push(this.dzcg[item]);
3050
+ } else {
3051
+ res.push([]);
3052
+ }
3053
+ });
3054
+ return res;
3055
+ }
3056
+ // // 根据汉字找到地支具体藏干
3057
+ // getCanggan(target: string) {
3058
+ // const index = this.cdz.findIndex(i => i === target);
3059
+ // if (index === -1) {
3060
+ // return [];
3061
+ // }
3062
+ // return target[index];
3063
+ // }
3064
+ // 找到日元的十神表
3065
+ getTenGodMap(self = "") {
3066
+ function _getLoopIndex(targetIndex) {
3067
+ const max = 5;
3068
+ if (targetIndex >= max) {
3069
+ targetIndex = targetIndex - max;
3070
+ }
3071
+ return targetIndex;
3072
+ }
3073
+ if (!Number.isNaN(Number(self))) {
3074
+ self = this.ctg[Number(self)];
3075
+ }
3076
+ const isYang = this.yang.some((i) => i === self);
3077
+ const map = new Array(5);
3078
+ const self_index = (isYang ? this.yang : this.yin).findIndex((i) => i === self);
3079
+ map[self_index] = "\u6BD4\u80A9" /* 比肩 */;
3080
+ map[_getLoopIndex(self_index + 1)] = "\u98DF\u795E" /* 食神 */;
3081
+ map[_getLoopIndex(self_index + 2)] = "\u504F\u8D22" /* 偏财 */;
3082
+ map[_getLoopIndex(self_index + 3)] = "\u4E03\u6740" /* 七杀 */;
3083
+ map[_getLoopIndex(self_index + 4)] = "\u504F\u5370" /* 偏印 */;
3084
+ const otherMap = new Array(5);
3085
+ map.forEach((i, index) => {
3086
+ switch (i) {
3087
+ case "\u6BD4\u80A9" /* 比肩 */:
3088
+ otherMap[index] = "\u52AB\u8D22" /* 劫财 */;
3089
+ break;
3090
+ case "\u98DF\u795E" /* 食神 */:
3091
+ otherMap[index] = "\u4F24\u5B98" /* 伤官 */;
3092
+ break;
3093
+ case "\u504F\u8D22" /* 偏财 */:
3094
+ otherMap[index] = "\u6B63\u8D22" /* 正财 */;
3095
+ break;
3096
+ case "\u4E03\u6740" /* 七杀 */:
3097
+ otherMap[index] = "\u6B63\u5B98" /* 正官 */;
3098
+ break;
3099
+ case "\u504F\u5370" /* 偏印 */:
3100
+ otherMap[index] = "\u6B63\u5370" /* 正印 */;
3101
+ break;
3102
+ default:
3103
+ break;
3104
+ }
3105
+ });
3106
+ const res = [];
3107
+ map.forEach((_, index) => {
3108
+ if (isYang) {
3109
+ res.push(map[index]);
3110
+ res.push(otherMap[index]);
3111
+ } else {
3112
+ res.push(otherMap[index]);
3113
+ res.push(map[index]);
3114
+ }
3115
+ });
3116
+ return res;
3117
+ }
3118
+ };
3119
+ var paipan = new Paipan();
3120
+ // Annotate the CommonJS export names for ESM import in node:
3121
+ 0 && (module.exports = {
3122
+ paipan
3123
+ });