tcd_x12 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1847) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +8 -0
  3. data/.gitignore +17 -0
  4. data/CHANGELOG.md +35 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +503 -0
  7. data/README.md +63 -0
  8. data/Rakefile +14 -0
  9. data/example/factory.rb +93 -0
  10. data/example/parse.rb +58 -0
  11. data/lib/x12/base.rb +187 -0
  12. data/lib/x12/composite.rb +10 -0
  13. data/lib/x12/empty.rb +14 -0
  14. data/lib/x12/field.rb +70 -0
  15. data/lib/x12/loop.rb +69 -0
  16. data/lib/x12/parser.rb +117 -0
  17. data/lib/x12/segment.rb +89 -0
  18. data/lib/x12/table.rb +21 -0
  19. data/lib/x12/version.rb +4 -0
  20. data/lib/x12/xmldefinitions.rb +147 -0
  21. data/lib/x12.rb +23 -0
  22. data/misc/270.xml +152 -0
  23. data/misc/270interchange.xml +164 -0
  24. data/misc/271.xml +125 -0
  25. data/misc/276.xml +93 -0
  26. data/misc/277.xml +95 -0
  27. data/misc/832.xml +127 -0
  28. data/misc/835.xml +84 -0
  29. data/misc/837p.xml +255 -0
  30. data/misc/850.xml +51 -0
  31. data/misc/850dsd.xml +59 -0
  32. data/misc/997.xml +55 -0
  33. data/misc/997single.xml +835 -0
  34. data/misc/999.xml +54 -0
  35. data/misc/AAA.xml +31 -0
  36. data/misc/ACD.xml +30 -0
  37. data/misc/ACK.xml +56 -0
  38. data/misc/ACS.xml +31 -0
  39. data/misc/ACT.xml +36 -0
  40. data/misc/AD1.xml +32 -0
  41. data/misc/ADI.xml +31 -0
  42. data/misc/ADJ.xml +44 -0
  43. data/misc/ADT.xml +37 -0
  44. data/misc/ADV.xml +34 -0
  45. data/misc/ADX.xml +31 -0
  46. data/misc/AEI.xml +30 -0
  47. data/misc/AES.xml +32 -0
  48. data/misc/AIN.xml +40 -0
  49. data/misc/AK1.xml +30 -0
  50. data/misc/AK2.xml +30 -0
  51. data/misc/AK3.xml +31 -0
  52. data/misc/AK4.xml +31 -0
  53. data/misc/AK5.xml +33 -0
  54. data/misc/AK9.xml +36 -0
  55. data/misc/AM1.xml +33 -0
  56. data/misc/AMT.xml +30 -0
  57. data/misc/ANI.xml +36 -0
  58. data/misc/AOC.xml +32 -0
  59. data/misc/AOI.xml +40 -0
  60. data/misc/AOL.xml +35 -0
  61. data/misc/AOR.xml +40 -0
  62. data/misc/AP1.xml +40 -0
  63. data/misc/APE.xml +32 -0
  64. data/misc/API.xml +35 -0
  65. data/misc/APR.xml +30 -0
  66. data/misc/ARC.xml +30 -0
  67. data/misc/ARS.xml +32 -0
  68. data/misc/ASI.xml +30 -0
  69. data/misc/ASL.xml +31 -0
  70. data/misc/ASM.xml +30 -0
  71. data/misc/ASO.xml +38 -0
  72. data/misc/AST.xml +38 -0
  73. data/misc/AT1.xml +28 -0
  74. data/misc/AT2.xml +39 -0
  75. data/misc/AT3.xml +34 -0
  76. data/misc/AT4.xml +28 -0
  77. data/misc/AT5.xml +33 -0
  78. data/misc/AT6.xml +30 -0
  79. data/misc/AT7.xml +34 -0
  80. data/misc/AT8.xml +34 -0
  81. data/misc/AT9.xml +35 -0
  82. data/misc/ATA.xml +30 -0
  83. data/misc/ATH.xml +32 -0
  84. data/misc/ATN.xml +33 -0
  85. data/misc/ATR.xml +37 -0
  86. data/misc/ATV.xml +37 -0
  87. data/misc/AVA.xml +29 -0
  88. data/misc/AWD.xml +31 -0
  89. data/misc/AXL.xml +35 -0
  90. data/misc/B1.xml +33 -0
  91. data/misc/B10.xml +36 -0
  92. data/misc/B11.xml +38 -0
  93. data/misc/B12.xml +30 -0
  94. data/misc/B13.xml +29 -0
  95. data/misc/B2.xml +39 -0
  96. data/misc/B2A.xml +29 -0
  97. data/misc/B3.xml +41 -0
  98. data/misc/B3A.xml +29 -0
  99. data/misc/B3B.xml +38 -0
  100. data/misc/B4.xml +40 -0
  101. data/misc/B9.xml +30 -0
  102. data/misc/B9A.xml +28 -0
  103. data/misc/BA1.xml +39 -0
  104. data/misc/BA2.xml +38 -0
  105. data/misc/BAA.xml +33 -0
  106. data/misc/BAK.xml +37 -0
  107. data/misc/BAL.xml +30 -0
  108. data/misc/BAT.xml +31 -0
  109. data/misc/BAU.xml +33 -0
  110. data/misc/BAX.xml +41 -0
  111. data/misc/BBC.xml +29 -0
  112. data/misc/BC.xml +34 -0
  113. data/misc/BCA.xml +42 -0
  114. data/misc/BCD.xml +42 -0
  115. data/misc/BCH.xml +43 -0
  116. data/misc/BCI.xml +35 -0
  117. data/misc/BCM.xml +39 -0
  118. data/misc/BCO.xml +39 -0
  119. data/misc/BCP.xml +40 -0
  120. data/misc/BCQ.xml +34 -0
  121. data/misc/BCS.xml +39 -0
  122. data/misc/BCT.xml +37 -0
  123. data/misc/BCU.xml +34 -0
  124. data/misc/BDD.xml +30 -0
  125. data/misc/BDS.xml +30 -0
  126. data/misc/BEG.xml +39 -0
  127. data/misc/BEN.xml +33 -0
  128. data/misc/BEP.xml +29 -0
  129. data/misc/BFR.xml +40 -0
  130. data/misc/BFS.xml +37 -0
  131. data/misc/BGF.xml +30 -0
  132. data/misc/BGN.xml +36 -0
  133. data/misc/BGP.xml +36 -0
  134. data/misc/BHT.xml +33 -0
  135. data/misc/BIA.xml +33 -0
  136. data/misc/BIG.xml +38 -0
  137. data/misc/BIN.xml +29 -0
  138. data/misc/BIX.xml +38 -0
  139. data/misc/BJF.xml +34 -0
  140. data/misc/BL.xml +44 -0
  141. data/misc/BLI.xml +45 -0
  142. data/misc/BLN.xml +33 -0
  143. data/misc/BLR.xml +30 -0
  144. data/misc/BLS.xml +33 -0
  145. data/misc/BMA.xml +35 -0
  146. data/misc/BMG.xml +30 -0
  147. data/misc/BMM.xml +37 -0
  148. data/misc/BMP.xml +31 -0
  149. data/misc/BMS.xml +36 -0
  150. data/misc/BNR.xml +33 -0
  151. data/misc/BNX.xml +31 -0
  152. data/misc/BOL.xml +38 -0
  153. data/misc/BOR.xml +37 -0
  154. data/misc/BOS.xml +33 -0
  155. data/misc/BOX.xml +42 -0
  156. data/misc/BPA.xml +32 -0
  157. data/misc/BPP.xml +41 -0
  158. data/misc/BPR.xml +48 -0
  159. data/misc/BPT.xml +37 -0
  160. data/misc/BQR.xml +35 -0
  161. data/misc/BQT.xml +38 -0
  162. data/misc/BR.xml +38 -0
  163. data/misc/BRA.xml +34 -0
  164. data/misc/BRC.xml +32 -0
  165. data/misc/BRR.xml +33 -0
  166. data/misc/BSC.xml +31 -0
  167. data/misc/BSD.xml +36 -0
  168. data/misc/BSF.xml +30 -0
  169. data/misc/BSI.xml +36 -0
  170. data/misc/BSN.xml +34 -0
  171. data/misc/BSR.xml +39 -0
  172. data/misc/BSS.xml +38 -0
  173. data/misc/BT1.xml +38 -0
  174. data/misc/BTA.xml +31 -0
  175. data/misc/BTC.xml +39 -0
  176. data/misc/BTI.xml +41 -0
  177. data/misc/BTP.xml +37 -0
  178. data/misc/BTR.xml +35 -0
  179. data/misc/BTS.xml +42 -0
  180. data/misc/BUY.xml +32 -0
  181. data/misc/BVA.xml +52 -0
  182. data/misc/BVB.xml +34 -0
  183. data/misc/BVP.xml +38 -0
  184. data/misc/BVS.xml +39 -0
  185. data/misc/BW.xml +30 -0
  186. data/misc/BX.xml +41 -0
  187. data/misc/C001.xml +43 -0
  188. data/misc/C002.xml +33 -0
  189. data/misc/C003.xml +35 -0
  190. data/misc/C004.xml +32 -0
  191. data/misc/C005.xml +33 -0
  192. data/misc/C006.xml +33 -0
  193. data/misc/C007.xml +38 -0
  194. data/misc/C022.xml +37 -0
  195. data/misc/C023.xml +31 -0
  196. data/misc/C024.xml +33 -0
  197. data/misc/C028.xml +48 -0
  198. data/misc/C030.xml +31 -0
  199. data/misc/C033.xml +30 -0
  200. data/misc/C034.xml +30 -0
  201. data/misc/C035.xml +31 -0
  202. data/misc/C036.xml +33 -0
  203. data/misc/C037.xml +30 -0
  204. data/misc/C040.xml +34 -0
  205. data/misc/C042.xml +30 -0
  206. data/misc/C043.xml +32 -0
  207. data/misc/C045.xml +33 -0
  208. data/misc/C046.xml +33 -0
  209. data/misc/C047.xml +33 -0
  210. data/misc/C048.xml +32 -0
  211. data/misc/C050.xml +40 -0
  212. data/misc/C052.xml +32 -0
  213. data/misc/C053.xml +33 -0
  214. data/misc/C055.xml +36 -0
  215. data/misc/C056.xml +31 -0
  216. data/misc/C057.xml +29 -0
  217. data/misc/C2.xml +34 -0
  218. data/misc/C3.xml +31 -0
  219. data/misc/C4.xml +29 -0
  220. data/misc/C8.xml +31 -0
  221. data/misc/C8C.xml +30 -0
  222. data/misc/C998.xml +29 -0
  223. data/misc/C999.xml +29 -0
  224. data/misc/CA1.xml +29 -0
  225. data/misc/CAD.xml +36 -0
  226. data/misc/CAI.xml +34 -0
  227. data/misc/CAL.xml +43 -0
  228. data/misc/CAS.xml +46 -0
  229. data/misc/CAT.xml +34 -0
  230. data/misc/CB1.xml +29 -0
  231. data/misc/CBS.xml +30 -0
  232. data/misc/CCI.xml +37 -0
  233. data/misc/CD.xml +38 -0
  234. data/misc/CD1.xml +58 -0
  235. data/misc/CD2.xml +35 -0
  236. data/misc/CD3.xml +41 -0
  237. data/misc/CDA.xml +49 -0
  238. data/misc/CDD.xml +41 -0
  239. data/misc/CDI.xml +38 -0
  240. data/misc/CDS.xml +38 -0
  241. data/misc/CED.xml +32 -0
  242. data/misc/CF1.xml +33 -0
  243. data/misc/CF2.xml +37 -0
  244. data/misc/CFI.xml +34 -0
  245. data/misc/CFT.xml +36 -0
  246. data/misc/CGS.xml +32 -0
  247. data/misc/CHB.xml +36 -0
  248. data/misc/CHR.xml +30 -0
  249. data/misc/CI.xml +41 -0
  250. data/misc/CIC.xml +32 -0
  251. data/misc/CID.xml +34 -0
  252. data/misc/CIV.xml +45 -0
  253. data/misc/CL1.xml +31 -0
  254. data/misc/CLD.xml +32 -0
  255. data/misc/CLI.xml +33 -0
  256. data/misc/CLM.xml +48 -0
  257. data/misc/CLP.xml +41 -0
  258. data/misc/CLR.xml +31 -0
  259. data/misc/CM.xml +44 -0
  260. data/misc/CMA.xml +38 -0
  261. data/misc/CMC.xml +29 -0
  262. data/misc/CN1.xml +33 -0
  263. data/misc/COB.xml +31 -0
  264. data/misc/COM.xml +30 -0
  265. data/misc/CON_.xml +30 -0
  266. data/misc/CPR.xml +32 -0
  267. data/misc/CQ.xml +37 -0
  268. data/misc/CR1.xml +37 -0
  269. data/misc/CR2.xml +39 -0
  270. data/misc/CR3.xml +32 -0
  271. data/misc/CR4.xml +56 -0
  272. data/misc/CR5.xml +45 -0
  273. data/misc/CR6.xml +48 -0
  274. data/misc/CR7.xml +30 -0
  275. data/misc/CR8.xml +36 -0
  276. data/misc/CRC.xml +34 -0
  277. data/misc/CRD.xml +31 -0
  278. data/misc/CRI.xml +37 -0
  279. data/misc/CRO.xml +33 -0
  280. data/misc/CRS.xml +47 -0
  281. data/misc/CRT.xml +37 -0
  282. data/misc/CRV.xml +34 -0
  283. data/misc/CS.xml +45 -0
  284. data/misc/CSB.xml +29 -0
  285. data/misc/CSC.xml +36 -0
  286. data/misc/CSD.xml +36 -0
  287. data/misc/CSE.xml +39 -0
  288. data/misc/CSF.xml +30 -0
  289. data/misc/CSH.xml +37 -0
  290. data/misc/CSI.xml +31 -0
  291. data/misc/CSM.xml +30 -0
  292. data/misc/CSS.xml +34 -0
  293. data/misc/CST.xml +31 -0
  294. data/misc/CSU.xml +37 -0
  295. data/misc/CT.xml +30 -0
  296. data/misc/CTB.xml +34 -0
  297. data/misc/CTC.xml +37 -0
  298. data/misc/CTP.xml +38 -0
  299. data/misc/CTT.xml +34 -0
  300. data/misc/CTX.xml +33 -0
  301. data/misc/CUR.xml +48 -0
  302. data/misc/CV.xml +41 -0
  303. data/misc/CYC.xml +33 -0
  304. data/misc/D9.xml +39 -0
  305. data/misc/DAD.xml +42 -0
  306. data/misc/DAI.xml +30 -0
  307. data/misc/DAM.xml +43 -0
  308. data/misc/DB.xml +33 -0
  309. data/misc/DD.xml +37 -0
  310. data/misc/DDI.xml +28 -0
  311. data/misc/DED.xml +36 -0
  312. data/misc/DEF.xml +33 -0
  313. data/misc/DEG.xml +32 -0
  314. data/misc/DEL.xml +32 -0
  315. data/misc/DEP.xml +35 -0
  316. data/misc/DEX.xml +33 -0
  317. data/misc/DFI.xml +31 -0
  318. data/misc/DH.xml +30 -0
  319. data/misc/DIS.xml +33 -0
  320. data/misc/DK.xml +37 -0
  321. data/misc/DL.xml +38 -0
  322. data/misc/DLV.xml +32 -0
  323. data/misc/DM.xml +48 -0
  324. data/misc/DMA.xml +36 -0
  325. data/misc/DMG.xml +38 -0
  326. data/misc/DMI.xml +39 -0
  327. data/misc/DN.xml +31 -0
  328. data/misc/DN1.xml +31 -0
  329. data/misc/DN2.xml +32 -0
  330. data/misc/DOS.xml +34 -0
  331. data/misc/DP.xml +44 -0
  332. data/misc/DPN.xml +31 -0
  333. data/misc/DR.xml +33 -0
  334. data/misc/DRT.xml +33 -0
  335. data/misc/DSB.xml +35 -0
  336. data/misc/DTM.xml +33 -0
  337. data/misc/DTP.xml +30 -0
  338. data/misc/DVI.xml +41 -0
  339. data/misc/E01.xml +31 -0
  340. data/misc/E03.xml +34 -0
  341. data/misc/E1.xml +30 -0
  342. data/misc/E10.xml +32 -0
  343. data/misc/E13.xml +37 -0
  344. data/misc/E20.xml +31 -0
  345. data/misc/E22.xml +39 -0
  346. data/misc/E24.xml +34 -0
  347. data/misc/E30.xml +36 -0
  348. data/misc/E34.xml +31 -0
  349. data/misc/E4.xml +31 -0
  350. data/misc/E40.xml +31 -0
  351. data/misc/E41.xml +31 -0
  352. data/misc/E5.xml +31 -0
  353. data/misc/E6.xml +36 -0
  354. data/misc/E8.xml +29 -0
  355. data/misc/EA.xml +30 -0
  356. data/misc/EB.xml +40 -0
  357. data/misc/EC.xml +33 -0
  358. data/misc/ED.xml +35 -0
  359. data/misc/EDF.xml +38 -0
  360. data/misc/EFI.xml +43 -0
  361. data/misc/EI.xml +33 -0
  362. data/misc/EIA.xml +33 -0
  363. data/misc/ELV.xml +33 -0
  364. data/misc/EM.xml +34 -0
  365. data/misc/EMP.xml +37 -0
  366. data/misc/EMS.xml +42 -0
  367. data/misc/EMT.xml +35 -0
  368. data/misc/ENE.xml +32 -0
  369. data/misc/ENM.xml +35 -0
  370. data/misc/ENR.xml +47 -0
  371. data/misc/ENT.xml +36 -0
  372. data/misc/EQ.xml +31 -0
  373. data/misc/ER.xml +38 -0
  374. data/misc/ERI.xml +36 -0
  375. data/misc/ERP.xml +32 -0
  376. data/misc/ES.xml +33 -0
  377. data/misc/ESI.xml +36 -0
  378. data/misc/ETD.xml +32 -0
  379. data/misc/EXI.xml +35 -0
  380. data/misc/F01.xml +36 -0
  381. data/misc/F02.xml +36 -0
  382. data/misc/F04.xml +37 -0
  383. data/misc/F05.xml +30 -0
  384. data/misc/F07.xml +49 -0
  385. data/misc/F09.xml +39 -0
  386. data/misc/F10.xml +31 -0
  387. data/misc/F11.xml +37 -0
  388. data/misc/F12.xml +35 -0
  389. data/misc/F13.xml +33 -0
  390. data/misc/F14.xml +29 -0
  391. data/misc/F6X.xml +35 -0
  392. data/misc/F9.xml +39 -0
  393. data/misc/FA1.xml +30 -0
  394. data/misc/FA2.xml +29 -0
  395. data/misc/FAA.xml +42 -0
  396. data/misc/FAC.xml +33 -0
  397. data/misc/FBB.xml +34 -0
  398. data/misc/FC.xml +32 -0
  399. data/misc/FCL.xml +32 -0
  400. data/misc/FDA.xml +36 -0
  401. data/misc/FGS.xml +30 -0
  402. data/misc/FH.xml +31 -0
  403. data/misc/FIR.xml +39 -0
  404. data/misc/FIS.xml +31 -0
  405. data/misc/FK.xml +41 -0
  406. data/misc/FNA.xml +33 -0
  407. data/misc/FOB.xml +36 -0
  408. data/misc/FOS.xml +34 -0
  409. data/misc/FPT.xml +29 -0
  410. data/misc/FRM.xml +32 -0
  411. data/misc/FSA.xml +36 -0
  412. data/misc/FST.xml +40 -0
  413. data/misc/FTH.xml +31 -0
  414. data/misc/G01.xml +35 -0
  415. data/misc/G05.xml +35 -0
  416. data/misc/G07.xml +33 -0
  417. data/misc/G08.xml +31 -0
  418. data/misc/G1.xml +30 -0
  419. data/misc/G11.xml +37 -0
  420. data/misc/G12.xml +34 -0
  421. data/misc/G13.xml +33 -0
  422. data/misc/G14.xml +29 -0
  423. data/misc/G15.xml +31 -0
  424. data/misc/G17.xml +41 -0
  425. data/misc/G18.xml +31 -0
  426. data/misc/G19.xml +36 -0
  427. data/misc/G2.xml +29 -0
  428. data/misc/G20.xml +36 -0
  429. data/misc/G21.xml +37 -0
  430. data/misc/G22.xml +32 -0
  431. data/misc/G23.xml +43 -0
  432. data/misc/G24.xml +28 -0
  433. data/misc/G25.xml +30 -0
  434. data/misc/G26.xml +33 -0
  435. data/misc/G27.xml +33 -0
  436. data/misc/G28.xml +33 -0
  437. data/misc/G29.xml +30 -0
  438. data/misc/G3.xml +33 -0
  439. data/misc/G30.xml +29 -0
  440. data/misc/G31.xml +38 -0
  441. data/misc/G32.xml +32 -0
  442. data/misc/G33.xml +28 -0
  443. data/misc/G35.xml +30 -0
  444. data/misc/G36.xml +31 -0
  445. data/misc/G37.xml +30 -0
  446. data/misc/G38.xml +30 -0
  447. data/misc/G39.xml +56 -0
  448. data/misc/G4.xml +33 -0
  449. data/misc/G40.xml +36 -0
  450. data/misc/G42.xml +30 -0
  451. data/misc/G43.xml +31 -0
  452. data/misc/G45.xml +44 -0
  453. data/misc/G46.xml +39 -0
  454. data/misc/G47.xml +29 -0
  455. data/misc/G48.xml +36 -0
  456. data/misc/G49.xml +30 -0
  457. data/misc/G5.xml +44 -0
  458. data/misc/G50.xml +34 -0
  459. data/misc/G51.xml +35 -0
  460. data/misc/G53.xml +28 -0
  461. data/misc/G54.xml +33 -0
  462. data/misc/G55.xml +60 -0
  463. data/misc/G61.xml +32 -0
  464. data/misc/G62.xml +32 -0
  465. data/misc/G63.xml +31 -0
  466. data/misc/G66.xml +34 -0
  467. data/misc/G68.xml +42 -0
  468. data/misc/G69.xml +28 -0
  469. data/misc/G70.xml +37 -0
  470. data/misc/G72.xml +38 -0
  471. data/misc/G73.xml +28 -0
  472. data/misc/G76.xml +37 -0
  473. data/misc/G82.xml +39 -0
  474. data/misc/G83.xml +40 -0
  475. data/misc/G84.xml +30 -0
  476. data/misc/G85.xml +28 -0
  477. data/misc/G86.xml +29 -0
  478. data/misc/G87.xml +33 -0
  479. data/misc/G88.xml +32 -0
  480. data/misc/G89.xml +37 -0
  481. data/misc/G91.xml +29 -0
  482. data/misc/G92.xml +30 -0
  483. data/misc/G93.xml +35 -0
  484. data/misc/G94.xml +29 -0
  485. data/misc/G95.xml +34 -0
  486. data/misc/GA.xml +45 -0
  487. data/misc/GDP.xml +34 -0
  488. data/misc/GE.xml +29 -0
  489. data/misc/GF.xml +36 -0
  490. data/misc/GH.xml +31 -0
  491. data/misc/GID.xml +30 -0
  492. data/misc/GR.xml +49 -0
  493. data/misc/GR2.xml +39 -0
  494. data/misc/GR4.xml +38 -0
  495. data/misc/GR5.xml +32 -0
  496. data/misc/GRI.xml +38 -0
  497. data/misc/GRP.xml +31 -0
  498. data/misc/GS.xml +35 -0
  499. data/misc/GY.xml +42 -0
  500. data/misc/H1.xml +36 -0
  501. data/misc/H2.xml +29 -0
  502. data/misc/H3.xml +32 -0
  503. data/misc/H5.xml +30 -0
  504. data/misc/H6.xml +34 -0
  505. data/misc/HAD.xml +33 -0
  506. data/misc/HC.xml +34 -0
  507. data/misc/HCP.xml +42 -0
  508. data/misc/HCR.xml +31 -0
  509. data/misc/HD.xml +38 -0
  510. data/misc/HI.xml +39 -0
  511. data/misc/HL.xml +31 -0
  512. data/misc/HLH.xml +34 -0
  513. data/misc/HPL.xml +33 -0
  514. data/misc/HS.xml +32 -0
  515. data/misc/HSD.xml +35 -0
  516. data/misc/IC.xml +36 -0
  517. data/misc/ICH.xml +39 -0
  518. data/misc/ICM.xml +33 -0
  519. data/misc/ID.xml +30 -0
  520. data/misc/ID1.xml +61 -0
  521. data/misc/ID2.xml +35 -0
  522. data/misc/ID3.xml +48 -0
  523. data/misc/ID4.xml +36 -0
  524. data/misc/IDB.xml +32 -0
  525. data/misc/IDC.xml +31 -0
  526. data/misc/IEA.xml +29 -0
  527. data/misc/IGI.xml +33 -0
  528. data/misc/III.xml +36 -0
  529. data/misc/IIS.xml +41 -0
  530. data/misc/IK3.xml +30 -0
  531. data/misc/IK4.xml +30 -0
  532. data/misc/IK5.xml +32 -0
  533. data/misc/IM.xml +30 -0
  534. data/misc/IMA.xml +31 -0
  535. data/misc/IMM.xml +33 -0
  536. data/misc/IMP.xml +29 -0
  537. data/misc/IN1.xml +34 -0
  538. data/misc/IN2.xml +30 -0
  539. data/misc/INC.xml +32 -0
  540. data/misc/IND.xml +39 -0
  541. data/misc/INI.xml +30 -0
  542. data/misc/INQ.xml +29 -0
  543. data/misc/INR.xml +30 -0
  544. data/misc/INS.xml +44 -0
  545. data/misc/INT.xml +33 -0
  546. data/misc/INV.xml +34 -0
  547. data/misc/INX.xml +29 -0
  548. data/misc/IRA.xml +30 -0
  549. data/misc/IRP.xml +34 -0
  550. data/misc/IS1.xml +34 -0
  551. data/misc/IS2.xml +44 -0
  552. data/misc/ISA.xml +43 -0
  553. data/misc/ISC.xml +37 -0
  554. data/misc/ISD.xml +31 -0
  555. data/misc/ISI.xml +33 -0
  556. data/misc/ISR.xml +30 -0
  557. data/misc/ISS.xml +35 -0
  558. data/misc/IT1.xml +52 -0
  559. data/misc/IT3.xml +32 -0
  560. data/misc/IT8.xml +54 -0
  561. data/misc/ITA.xml +44 -0
  562. data/misc/ITC.xml +39 -0
  563. data/misc/ITD.xml +42 -0
  564. data/misc/IV1.xml +32 -0
  565. data/misc/JCT.xml +36 -0
  566. data/misc/JID.xml +33 -0
  567. data/misc/JIL.xml +34 -0
  568. data/misc/JIT.xml +29 -0
  569. data/misc/JL.xml +31 -0
  570. data/misc/JS.xml +31 -0
  571. data/misc/K1.xml +29 -0
  572. data/misc/K2.xml +28 -0
  573. data/misc/K3.xml +30 -0
  574. data/misc/L0.xml +42 -0
  575. data/misc/L1.xml +49 -0
  576. data/misc/L10.xml +30 -0
  577. data/misc/L11.xml +32 -0
  578. data/misc/L12.xml +29 -0
  579. data/misc/L13.xml +43 -0
  580. data/misc/L1A.xml +29 -0
  581. data/misc/L3.xml +42 -0
  582. data/misc/L4.xml +33 -0
  583. data/misc/L5.xml +37 -0
  584. data/misc/L7.xml +43 -0
  585. data/misc/L8.xml +38 -0
  586. data/misc/L9.xml +29 -0
  587. data/misc/LAD.xml +41 -0
  588. data/misc/LC.xml +34 -0
  589. data/misc/LC1.xml +39 -0
  590. data/misc/LCD.xml +33 -0
  591. data/misc/LCT.xml +39 -0
  592. data/misc/LDT.xml +31 -0
  593. data/misc/LE.xml +28 -0
  594. data/misc/LEP.xml +31 -0
  595. data/misc/LEQ.xml +36 -0
  596. data/misc/LET.xml +31 -0
  597. data/misc/LFG.xml +33 -0
  598. data/misc/LFH.xml +34 -0
  599. data/misc/LFI.xml +35 -0
  600. data/misc/LH.xml +33 -0
  601. data/misc/LH1.xml +38 -0
  602. data/misc/LH2.xml +40 -0
  603. data/misc/LH3.xml +31 -0
  604. data/misc/LH4.xml +39 -0
  605. data/misc/LH6.xml +31 -0
  606. data/misc/LHE.xml +32 -0
  607. data/misc/LHR.xml +30 -0
  608. data/misc/LHT.xml +30 -0
  609. data/misc/LIC.xml +35 -0
  610. data/misc/LID.xml +36 -0
  611. data/misc/LIE.xml +31 -0
  612. data/misc/LIN.xml +58 -0
  613. data/misc/LM.xml +29 -0
  614. data/misc/LN.xml +38 -0
  615. data/misc/LN1.xml +50 -0
  616. data/misc/LN2.xml +39 -0
  617. data/misc/LOC.xml +51 -0
  618. data/misc/LOD.xml +33 -0
  619. data/misc/LP.xml +34 -0
  620. data/misc/LQ.xml +29 -0
  621. data/misc/LRQ.xml +48 -0
  622. data/misc/LS.xml +28 -0
  623. data/misc/LS1.xml +34 -0
  624. data/misc/LT.xml +31 -0
  625. data/misc/LTE.xml +31 -0
  626. data/misc/LTR.xml +39 -0
  627. data/misc/LUC.xml +31 -0
  628. data/misc/LUI.xml +32 -0
  629. data/misc/LV.xml +29 -0
  630. data/misc/LX.xml +28 -0
  631. data/misc/M0.xml +31 -0
  632. data/misc/M1.xml +39 -0
  633. data/misc/M10.xml +41 -0
  634. data/misc/M11.xml +46 -0
  635. data/misc/M12.xml +38 -0
  636. data/misc/M13.xml +39 -0
  637. data/misc/M14.xml +38 -0
  638. data/misc/M15.xml +43 -0
  639. data/misc/M2.xml +35 -0
  640. data/misc/M20.xml +36 -0
  641. data/misc/M21.xml +42 -0
  642. data/misc/M3.xml +31 -0
  643. data/misc/M7.xml +32 -0
  644. data/misc/M7A.xml +33 -0
  645. data/misc/MAN.xml +33 -0
  646. data/misc/MBL.xml +32 -0
  647. data/misc/MC.xml +32 -0
  648. data/misc/MCD.xml +31 -0
  649. data/misc/MCT.xml +35 -0
  650. data/misc/MEA.xml +39 -0
  651. data/misc/MI.xml +32 -0
  652. data/misc/MI1.xml +30 -0
  653. data/misc/MIA.xml +51 -0
  654. data/misc/MIC.xml +45 -0
  655. data/misc/MIN.xml +43 -0
  656. data/misc/MIR.xml +39 -0
  657. data/misc/MIS.xml +32 -0
  658. data/misc/MIT.xml +31 -0
  659. data/misc/MKS.xml +30 -0
  660. data/misc/MLA.xml +35 -0
  661. data/misc/MLS.xml +31 -0
  662. data/misc/MNC.xml +44 -0
  663. data/misc/MOA.xml +36 -0
  664. data/misc/MPI.xml +34 -0
  665. data/misc/MPP.xml +35 -0
  666. data/misc/MRC.xml +36 -0
  667. data/misc/MS.xml +33 -0
  668. data/misc/MS1.xml +35 -0
  669. data/misc/MS2.xml +31 -0
  670. data/misc/MS3.xml +32 -0
  671. data/misc/MS4.xml +31 -0
  672. data/misc/MS5.xml +32 -0
  673. data/misc/MS6.xml +31 -0
  674. data/misc/MSG.xml +30 -0
  675. data/misc/MSI.xml +29 -0
  676. data/misc/MSS.xml +34 -0
  677. data/misc/MTX.xml +33 -0
  678. data/misc/N1.xml +33 -0
  679. data/misc/N10.xml +40 -0
  680. data/misc/N11.xml +30 -0
  681. data/misc/N12.xml +29 -0
  682. data/misc/N2.xml +29 -0
  683. data/misc/N3.xml +29 -0
  684. data/misc/N4.xml +34 -0
  685. data/misc/N5.xml +36 -0
  686. data/misc/N7.xml +51 -0
  687. data/misc/N7A.xml +36 -0
  688. data/misc/N7B.xml +33 -0
  689. data/misc/N8.xml +38 -0
  690. data/misc/N8A.xml +37 -0
  691. data/misc/N9.xml +34 -0
  692. data/misc/NA.xml +39 -0
  693. data/misc/NCA.xml +32 -0
  694. data/misc/NCD.xml +34 -0
  695. data/misc/NM1.xml +38 -0
  696. data/misc/NTE.xml +29 -0
  697. data/misc/NX1.xml +32 -0
  698. data/misc/NX2.xml +30 -0
  699. data/misc/OBI.xml +33 -0
  700. data/misc/OD.xml +31 -0
  701. data/misc/OI.xml +33 -0
  702. data/misc/OID.xml +38 -0
  703. data/misc/OOI.xml +31 -0
  704. data/misc/OPS.xml +33 -0
  705. data/misc/OPX.xml +32 -0
  706. data/misc/OQS.xml +29 -0
  707. data/misc/ORI.xml +28 -0
  708. data/misc/OTI.xml +44 -0
  709. data/misc/P1.xml +34 -0
  710. data/misc/P2.xml +30 -0
  711. data/misc/P4.xml +32 -0
  712. data/misc/P5.xml +30 -0
  713. data/misc/PAD.xml +32 -0
  714. data/misc/PAI.xml +32 -0
  715. data/misc/PAL.xml +44 -0
  716. data/misc/PAM.xml +42 -0
  717. data/misc/PAS.xml +37 -0
  718. data/misc/PAT.xml +36 -0
  719. data/misc/PBI.xml +35 -0
  720. data/misc/PCL.xml +34 -0
  721. data/misc/PCR.xml +29 -0
  722. data/misc/PCS.xml +38 -0
  723. data/misc/PCT.xml +29 -0
  724. data/misc/PD.xml +37 -0
  725. data/misc/PDD.xml +32 -0
  726. data/misc/PDE.xml +31 -0
  727. data/misc/PDI.xml +31 -0
  728. data/misc/PDL.xml +39 -0
  729. data/misc/PDP.xml +30 -0
  730. data/misc/PDR.xml +31 -0
  731. data/misc/PDS.xml +30 -0
  732. data/misc/PEN.xml +36 -0
  733. data/misc/PER.xml +36 -0
  734. data/misc/PEX.xml +35 -0
  735. data/misc/PI.xml +42 -0
  736. data/misc/PID.xml +36 -0
  737. data/misc/PIN.xml +34 -0
  738. data/misc/PKD.xml +32 -0
  739. data/misc/PKG.xml +33 -0
  740. data/misc/PKL.xml +40 -0
  741. data/misc/PL.xml +33 -0
  742. data/misc/PLA.xml +32 -0
  743. data/misc/PLB.xml +41 -0
  744. data/misc/PLC.xml +29 -0
  745. data/misc/PLD.xml +31 -0
  746. data/misc/PLI.xml +36 -0
  747. data/misc/PM.xml +33 -0
  748. data/misc/PO1.xml +52 -0
  749. data/misc/PO3.xml +35 -0
  750. data/misc/PO4.xml +45 -0
  751. data/misc/POC.xml +54 -0
  752. data/misc/POD.xml +30 -0
  753. data/misc/PPA.xml +33 -0
  754. data/misc/PPD.xml +40 -0
  755. data/misc/PPL.xml +32 -0
  756. data/misc/PPY.xml +35 -0
  757. data/misc/PR.xml +36 -0
  758. data/misc/PR1.xml +40 -0
  759. data/misc/PR2.xml +36 -0
  760. data/misc/PRC.xml +39 -0
  761. data/misc/PRD.xml +38 -0
  762. data/misc/PRF.xml +34 -0
  763. data/misc/PRI.xml +41 -0
  764. data/misc/PRJ.xml +31 -0
  765. data/misc/PRM.xml +40 -0
  766. data/misc/PRR.xml +38 -0
  767. data/misc/PRS.xml +29 -0
  768. data/misc/PRT.xml +31 -0
  769. data/misc/PRV.xml +33 -0
  770. data/misc/PS.xml +41 -0
  771. data/misc/PS1.xml +30 -0
  772. data/misc/PSA.xml +32 -0
  773. data/misc/PSC.xml +52 -0
  774. data/misc/PSD.xml +36 -0
  775. data/misc/PT.xml +38 -0
  776. data/misc/PTD.xml +33 -0
  777. data/misc/PTF.xml +34 -0
  778. data/misc/PTS.xml +38 -0
  779. data/misc/PUN.xml +32 -0
  780. data/misc/PWK.xml +36 -0
  781. data/misc/PYD.xml +32 -0
  782. data/misc/PYM.xml +34 -0
  783. data/misc/PYT.xml +35 -0
  784. data/misc/Q2.xml +43 -0
  785. data/misc/Q3.xml +29 -0
  786. data/misc/Q5.xml +45 -0
  787. data/misc/Q7.xml +30 -0
  788. data/misc/Q8.xml +37 -0
  789. data/misc/QTY.xml +31 -0
  790. data/misc/R1.xml +40 -0
  791. data/misc/R11.xml +34 -0
  792. data/misc/R12.xml +37 -0
  793. data/misc/R13.xml +39 -0
  794. data/misc/R2.xml +40 -0
  795. data/misc/R2A.xml +37 -0
  796. data/misc/R2B.xml +30 -0
  797. data/misc/R2C.xml +31 -0
  798. data/misc/R2D.xml +29 -0
  799. data/misc/R3.xml +39 -0
  800. data/misc/R4.xml +35 -0
  801. data/misc/R9.xml +36 -0
  802. data/misc/RA.xml +37 -0
  803. data/misc/RAB.xml +37 -0
  804. data/misc/RAP.xml +34 -0
  805. data/misc/RB.xml +35 -0
  806. data/misc/RC.xml +36 -0
  807. data/misc/RCD.xml +48 -0
  808. data/misc/RCR.xml +29 -0
  809. data/misc/RD.xml +31 -0
  810. data/misc/RDD.xml +32 -0
  811. data/misc/RDI.xml +32 -0
  812. data/misc/RDM.xml +32 -0
  813. data/misc/RDR.xml +32 -0
  814. data/misc/RDT.xml +33 -0
  815. data/misc/REA.xml +41 -0
  816. data/misc/REC.xml +40 -0
  817. data/misc/RED.xml +33 -0
  818. data/misc/REF.xml +31 -0
  819. data/misc/REL.xml +29 -0
  820. data/misc/REN.xml +34 -0
  821. data/misc/REP.xml +47 -0
  822. data/misc/REQ.xml +29 -0
  823. data/misc/RES.xml +34 -0
  824. data/misc/RET.xml +32 -0
  825. data/misc/RH.xml +30 -0
  826. data/misc/RIC.xml +45 -0
  827. data/misc/RLD.xml +31 -0
  828. data/misc/RLT.xml +39 -0
  829. data/misc/RMR.xml +35 -0
  830. data/misc/RMT.xml +37 -0
  831. data/misc/RO.xml +36 -0
  832. data/misc/RP.xml +36 -0
  833. data/misc/RPA.xml +32 -0
  834. data/misc/RQS.xml +32 -0
  835. data/misc/RRA.xml +29 -0
  836. data/misc/RS.xml +33 -0
  837. data/misc/RSC.xml +31 -0
  838. data/misc/RSD.xml +30 -0
  839. data/misc/RST.xml +29 -0
  840. data/misc/RT.xml +39 -0
  841. data/misc/RT1.xml +35 -0
  842. data/misc/RTE.xml +32 -0
  843. data/misc/RTT.xml +29 -0
  844. data/misc/RU1.xml +36 -0
  845. data/misc/RU2.xml +35 -0
  846. data/misc/RU3.xml +56 -0
  847. data/misc/RYL.xml +31 -0
  848. data/misc/S1.xml +33 -0
  849. data/misc/S2.xml +30 -0
  850. data/misc/S4A.xml +38 -0
  851. data/misc/S5.xml +38 -0
  852. data/misc/S9.xml +35 -0
  853. data/misc/SA.xml +32 -0
  854. data/misc/SAC.xml +43 -0
  855. data/misc/SAD.xml +34 -0
  856. data/misc/SAL.xml +34 -0
  857. data/misc/SB.xml +28 -0
  858. data/misc/SBR.xml +36 -0
  859. data/misc/SBT.xml +30 -0
  860. data/misc/SC.xml +29 -0
  861. data/misc/SCA.xml +34 -0
  862. data/misc/SCD.xml +34 -0
  863. data/misc/SCH.xml +39 -0
  864. data/misc/SCL.xml +37 -0
  865. data/misc/SCM.xml +31 -0
  866. data/misc/SCN.xml +32 -0
  867. data/misc/SCP.xml +31 -0
  868. data/misc/SCR.xml +51 -0
  869. data/misc/SCS.xml +29 -0
  870. data/misc/SCT.xml +38 -0
  871. data/misc/SD1.xml +35 -0
  872. data/misc/SDP.xml +35 -0
  873. data/misc/SDQ.xml +50 -0
  874. data/misc/SE.xml +29 -0
  875. data/misc/SER.xml +38 -0
  876. data/misc/SES.xml +41 -0
  877. data/misc/SFC.xml +29 -0
  878. data/misc/SG.xml +33 -0
  879. data/misc/SHD.xml +41 -0
  880. data/misc/SHI.xml +32 -0
  881. data/misc/SHP.xml +34 -0
  882. data/misc/SHR.xml +29 -0
  883. data/misc/SI.xml +48 -0
  884. data/misc/SID.xml +33 -0
  885. data/misc/SII.xml +34 -0
  886. data/misc/SIN.xml +33 -0
  887. data/misc/SL1.xml +36 -0
  888. data/misc/SLA.xml +35 -0
  889. data/misc/SLI.xml +49 -0
  890. data/misc/SLN.xml +55 -0
  891. data/misc/SMA.xml +32 -0
  892. data/misc/SMB.xml +36 -0
  893. data/misc/SMD.xml +30 -0
  894. data/misc/SMO.xml +34 -0
  895. data/misc/SMR.xml +31 -0
  896. data/misc/SMS.xml +40 -0
  897. data/misc/SN1.xml +35 -0
  898. data/misc/SOI.xml +32 -0
  899. data/misc/SOM.xml +40 -0
  900. data/misc/SP.xml +32 -0
  901. data/misc/SPA.xml +38 -0
  902. data/misc/SPE.xml +31 -0
  903. data/misc/SPI.xml +42 -0
  904. data/misc/SPK.xml +32 -0
  905. data/misc/SPR.xml +36 -0
  906. data/misc/SPS.xml +33 -0
  907. data/misc/SPY.xml +30 -0
  908. data/misc/SR.xml +38 -0
  909. data/misc/SRA.xml +29 -0
  910. data/misc/SRD.xml +47 -0
  911. data/misc/SRE.xml +29 -0
  912. data/misc/SRM.xml +43 -0
  913. data/misc/SRT.xml +40 -0
  914. data/misc/SS.xml +36 -0
  915. data/misc/SSC.xml +35 -0
  916. data/misc/SSD.xml +31 -0
  917. data/misc/SSE.xml +32 -0
  918. data/misc/SSS.xml +36 -0
  919. data/misc/SST.xml +36 -0
  920. data/misc/ST.xml +30 -0
  921. data/misc/STA.xml +35 -0
  922. data/misc/STC.xml +39 -0
  923. data/misc/STP.xml +36 -0
  924. data/misc/STS.xml +32 -0
  925. data/misc/SUM.xml +45 -0
  926. data/misc/SUP.xml +31 -0
  927. data/misc/SV.xml +31 -0
  928. data/misc/SV1.xml +48 -0
  929. data/misc/SV2.xml +37 -0
  930. data/misc/SV3.xml +38 -0
  931. data/misc/SV4.xml +45 -0
  932. data/misc/SV5.xml +34 -0
  933. data/misc/SV6.xml +34 -0
  934. data/misc/SV7.xml +33 -0
  935. data/misc/SVA.xml +30 -0
  936. data/misc/SVC.xml +34 -0
  937. data/misc/SVD.xml +33 -0
  938. data/misc/SW.xml +36 -0
  939. data/misc/T1.xml +36 -0
  940. data/misc/T1002.xml +30 -0
  941. data/misc/T1004.xml +305 -0
  942. data/misc/T1005.xml +107 -0
  943. data/misc/T1006.xml +35 -0
  944. data/misc/T1007.xml +31 -0
  945. data/misc/T1008.xml +58 -0
  946. data/misc/T1009.xml +116 -0
  947. data/misc/T1012.xml +53 -0
  948. data/misc/T1013.xml +113 -0
  949. data/misc/T1015.xml +33 -0
  950. data/misc/T1016.xml +33 -0
  951. data/misc/T1017.xml +82 -0
  952. data/misc/T1019.xml +30 -0
  953. data/misc/T102.xml +32 -0
  954. data/misc/T1020.xml +30 -0
  955. data/misc/T1023.xml +31 -0
  956. data/misc/T1025.xml +30 -0
  957. data/misc/T1026.xml +34 -0
  958. data/misc/T1029.xml +68 -0
  959. data/misc/T103.2.xml +84 -0
  960. data/misc/T1030.xml +41 -0
  961. data/misc/T1031.xml +40 -0
  962. data/misc/T1032.xml +75 -0
  963. data/misc/T1033.xml +36 -0
  964. data/misc/T104.xml +31 -0
  965. data/misc/T1042.xml +32 -0
  966. data/misc/T1044.xml +41 -0
  967. data/misc/T1045.xml +32 -0
  968. data/misc/T1046.xml +34 -0
  969. data/misc/T1047.xml +40 -0
  970. data/misc/T1048.xml +36 -0
  971. data/misc/T1053.xml +29 -0
  972. data/misc/T1054.xml +30 -0
  973. data/misc/T1062.xml +47 -0
  974. data/misc/T1065.xml +43 -0
  975. data/misc/T1066.xml +45 -0
  976. data/misc/T1067.xml +39 -0
  977. data/misc/T1068.xml +34 -0
  978. data/misc/T1069.xml +181 -0
  979. data/misc/T107.xml +64 -0
  980. data/misc/T1070.xml +42 -0
  981. data/misc/T1071.xml +104 -0
  982. data/misc/T1072.xml +31 -0
  983. data/misc/T1073.xml +31 -0
  984. data/misc/T1074.xml +101 -0
  985. data/misc/T1075.xml +40 -0
  986. data/misc/T1076.xml +31 -0
  987. data/misc/T1077.xml +31 -0
  988. data/misc/T1078.xml +43 -0
  989. data/misc/T1079.xml +31 -0
  990. data/misc/T108.xml +59 -0
  991. data/misc/T1080.xml +31 -0
  992. data/misc/T1081.xml +72 -0
  993. data/misc/T1082.xml +48 -0
  994. data/misc/T1083.xml +76 -0
  995. data/misc/T1084.xml +29 -0
  996. data/misc/T1085.xml +58 -0
  997. data/misc/T1086.xml +34 -0
  998. data/misc/T1089.xml +98 -0
  999. data/misc/T1090.xml +30 -0
  1000. data/misc/T1091.xml +39 -0
  1001. data/misc/T1093.xml +45 -0
  1002. data/misc/T1097.xml +31 -0
  1003. data/misc/T1098.xml +30 -0
  1004. data/misc/T1099.xml +31 -0
  1005. data/misc/T11.xml +47 -0
  1006. data/misc/T110.xml +47 -0
  1007. data/misc/T1100.xml +36 -0
  1008. data/misc/T1101.xml +34 -0
  1009. data/misc/T1102.xml +30 -0
  1010. data/misc/T1103.xml +35 -0
  1011. data/misc/T1104.xml +49 -0
  1012. data/misc/T1105.xml +32 -0
  1013. data/misc/T1106.xml +101 -0
  1014. data/misc/T1107.xml +43 -0
  1015. data/misc/T1108.xml +39 -0
  1016. data/misc/T1109.xml +50 -0
  1017. data/misc/T1113.xml +43 -0
  1018. data/misc/T1122.xml +34 -0
  1019. data/misc/T1123.xml +46 -0
  1020. data/misc/T1127.xml +60 -0
  1021. data/misc/T1129.xml +184 -0
  1022. data/misc/T1130.xml +29 -0
  1023. data/misc/T1131.xml +120 -0
  1024. data/misc/T1132.xml +68 -0
  1025. data/misc/T1133.xml +112 -0
  1026. data/misc/T1134.xml +36 -0
  1027. data/misc/T1135.xml +40 -0
  1028. data/misc/T1136.xml +447 -0
  1029. data/misc/T1138.xml +33 -0
  1030. data/misc/T1139.xml +42 -0
  1031. data/misc/T1140.xml +32 -0
  1032. data/misc/T1141.xml +43 -0
  1033. data/misc/T1142.xml +65 -0
  1034. data/misc/T1143.xml +36 -0
  1035. data/misc/T1146.xml +33 -0
  1036. data/misc/T1147.xml +47 -0
  1037. data/misc/T115.xml +60 -0
  1038. data/misc/T1150.xml +30 -0
  1039. data/misc/T1152.xml +30 -0
  1040. data/misc/T1153.xml +41 -0
  1041. data/misc/T1154.xml +31 -0
  1042. data/misc/T1156.xml +38 -0
  1043. data/misc/T1157.xml +31 -0
  1044. data/misc/T1159.xml +56 -0
  1045. data/misc/T1160.xml +41 -0
  1046. data/misc/T1161.xml +57 -0
  1047. data/misc/T1162.xml +35 -0
  1048. data/misc/T1163.xml +35 -0
  1049. data/misc/T1164.xml +36 -0
  1050. data/misc/T1165.xml +30 -0
  1051. data/misc/T1166.xml +77 -0
  1052. data/misc/T1168.xml +43 -0
  1053. data/misc/T1172.xml +109 -0
  1054. data/misc/T1173.xml +46 -0
  1055. data/misc/T1176.xml +97 -0
  1056. data/misc/T1179.xml +29 -0
  1057. data/misc/T1181.xml +46 -0
  1058. data/misc/T1185.xml +48 -0
  1059. data/misc/T1186.xml +144 -0
  1060. data/misc/T1187.xml +60 -0
  1061. data/misc/T1188.xml +144 -0
  1062. data/misc/T1189.xml +33 -0
  1063. data/misc/T1193.xml +61 -0
  1064. data/misc/T1196.xml +189 -0
  1065. data/misc/T1197.xml +46 -0
  1066. data/misc/T1198.xml +30 -0
  1067. data/misc/T1199.xml +32 -0
  1068. data/misc/T120.xml +31 -0
  1069. data/misc/T1201.xml +37 -0
  1070. data/misc/T1202.xml +32 -0
  1071. data/misc/T1203.xml +143 -0
  1072. data/misc/T1205.xml +79 -0
  1073. data/misc/T1207.xml +45 -0
  1074. data/misc/T1209.xml +34 -0
  1075. data/misc/T121.xml +52 -0
  1076. data/misc/T1211.xml +35 -0
  1077. data/misc/T1212.xml +32 -0
  1078. data/misc/T1213.xml +40 -0
  1079. data/misc/T1215.xml +32 -0
  1080. data/misc/T1216.xml +33 -0
  1081. data/misc/T1218.xml +32 -0
  1082. data/misc/T1219.xml +38 -0
  1083. data/misc/T122.xml +204 -0
  1084. data/misc/T1220.xml +30 -0
  1085. data/misc/T1221.xml +53 -0
  1086. data/misc/T1222.xml +38 -0
  1087. data/misc/T1223.xml +35 -0
  1088. data/misc/T1224.xml +62 -0
  1089. data/misc/T1225.xml +39 -0
  1090. data/misc/T1226.xml +43 -0
  1091. data/misc/T1227.xml +34 -0
  1092. data/misc/T1229.xml +32 -0
  1093. data/misc/T1230.xml +87 -0
  1094. data/misc/T1231.xml +38 -0
  1095. data/misc/T1232.xml +50 -0
  1096. data/misc/T1233.xml +49 -0
  1097. data/misc/T1234.xml +31 -0
  1098. data/misc/T1236.xml +31 -0
  1099. data/misc/T1237.xml +32 -0
  1100. data/misc/T1238.xml +30 -0
  1101. data/misc/T1239.xml +36 -0
  1102. data/misc/T1240.xml +57 -0
  1103. data/misc/T1241.xml +36 -0
  1104. data/misc/T1246.xml +30 -0
  1105. data/misc/T125.xml +47 -0
  1106. data/misc/T1250.xml +68 -0
  1107. data/misc/T1254.xml +41 -0
  1108. data/misc/T1257.xml +52 -0
  1109. data/misc/T1262.xml +98 -0
  1110. data/misc/T1264.xml +59 -0
  1111. data/misc/T1265.xml +34 -0
  1112. data/misc/T1266.xml +43 -0
  1113. data/misc/T1267.xml +33 -0
  1114. data/misc/T1268.xml +30 -0
  1115. data/misc/T1270.xml +917 -0
  1116. data/misc/T1273.xml +30 -0
  1117. data/misc/T1275.xml +31 -0
  1118. data/misc/T1277.xml +31 -0
  1119. data/misc/T1278.xml +29 -0
  1120. data/misc/T128.xml +1712 -0
  1121. data/misc/T1280.xml +43 -0
  1122. data/misc/T1292.xml +41 -0
  1123. data/misc/T1293.xml +56 -0
  1124. data/misc/T1294.xml +41 -0
  1125. data/misc/T1295.xml +55 -0
  1126. data/misc/T1297.xml +33 -0
  1127. data/misc/T1300.xml +1116 -0
  1128. data/misc/T1303.xml +35 -0
  1129. data/misc/T1304.xml +37 -0
  1130. data/misc/T1307.xml +216 -0
  1131. data/misc/T1308.xml +38 -0
  1132. data/misc/T1309.xml +144 -0
  1133. data/misc/T1310.xml +30 -0
  1134. data/misc/T1311.xml +38 -0
  1135. data/misc/T1312.xml +30 -0
  1136. data/misc/T1316.xml +31 -0
  1137. data/misc/T1317.xml +33 -0
  1138. data/misc/T1319.xml +37 -0
  1139. data/misc/T132.xml +33 -0
  1140. data/misc/T1320.xml +31 -0
  1141. data/misc/T1321.xml +1327 -0
  1142. data/misc/T1322.xml +41 -0
  1143. data/misc/T1327.xml +31 -0
  1144. data/misc/T1329.xml +37 -0
  1145. data/misc/T133.xml +50 -0
  1146. data/misc/T1330.xml +100 -0
  1147. data/misc/T1332.xml +29 -0
  1148. data/misc/T1333.xml +33 -0
  1149. data/misc/T1335.xml +31 -0
  1150. data/misc/T1336.xml +74 -0
  1151. data/misc/T1337.xml +35 -0
  1152. data/misc/T1338.xml +44 -0
  1153. data/misc/T1340.xml +30 -0
  1154. data/misc/T1342.xml +34 -0
  1155. data/misc/T1343.xml +74 -0
  1156. data/misc/T1344.xml +30 -0
  1157. data/misc/T1345.xml +36 -0
  1158. data/misc/T1346.xml +30 -0
  1159. data/misc/T1347.xml +31 -0
  1160. data/misc/T1348.xml +33 -0
  1161. data/misc/T1349.xml +34 -0
  1162. data/misc/T1350.xml +30 -0
  1163. data/misc/T1351.xml +32 -0
  1164. data/misc/T1355.xml +35 -0
  1165. data/misc/T1356.xml +31 -0
  1166. data/misc/T1357.xml +35 -0
  1167. data/misc/T1358.xml +29 -0
  1168. data/misc/T1359.xml +31 -0
  1169. data/misc/T1360.xml +34 -0
  1170. data/misc/T1361.xml +43 -0
  1171. data/misc/T1362.xml +33 -0
  1172. data/misc/T1363.xml +33 -0
  1173. data/misc/T1364.xml +35 -0
  1174. data/misc/T1365.xml +210 -0
  1175. data/misc/T1366.xml +37 -0
  1176. data/misc/T1367.xml +55 -0
  1177. data/misc/T1368.xml +31 -0
  1178. data/misc/T1369.xml +34 -0
  1179. data/misc/T1370.xml +37 -0
  1180. data/misc/T1373.xml +41 -0
  1181. data/misc/T1376.xml +55 -0
  1182. data/misc/T1378.xml +36 -0
  1183. data/misc/T1379.xml +49 -0
  1184. data/misc/T1382.xml +32 -0
  1185. data/misc/T1383.xml +45 -0
  1186. data/misc/T1384.xml +42 -0
  1187. data/misc/T1387.xml +61 -0
  1188. data/misc/T139.xml +40 -0
  1189. data/misc/T1390.xml +66 -0
  1190. data/misc/T1393.xml +31 -0
  1191. data/misc/T1395.xml +35 -0
  1192. data/misc/T1396.xml +30 -0
  1193. data/misc/T1398.xml +68 -0
  1194. data/misc/T1401.xml +44 -0
  1195. data/misc/T1402.xml +56 -0
  1196. data/misc/T1403.xml +30 -0
  1197. data/misc/T1404.xml +29 -0
  1198. data/misc/T1407.xml +29 -0
  1199. data/misc/T1408.xml +30 -0
  1200. data/misc/T1413.xml +30 -0
  1201. data/misc/T1420.xml +41 -0
  1202. data/misc/T1422.xml +32 -0
  1203. data/misc/T1423.xml +89 -0
  1204. data/misc/T1425.xml +36 -0
  1205. data/misc/T1426.xml +43 -0
  1206. data/misc/T1428.xml +29 -0
  1207. data/misc/T1429.xml +76 -0
  1208. data/misc/T143.xml +341 -0
  1209. data/misc/T1431.xml +33 -0
  1210. data/misc/T1432.xml +51 -0
  1211. data/misc/T1434.xml +34 -0
  1212. data/misc/T1439.xml +37 -0
  1213. data/misc/T146.xml +58 -0
  1214. data/misc/T1465.xml +48 -0
  1215. data/misc/T1466.xml +49 -0
  1216. data/misc/T1468.xml +64 -0
  1217. data/misc/T1469.xml +33 -0
  1218. data/misc/T147.xml +62 -0
  1219. data/misc/T1473.xml +42 -0
  1220. data/misc/T1476.xml +38 -0
  1221. data/misc/T1484.xml +37 -0
  1222. data/misc/T1485.xml +29 -0
  1223. data/misc/T1487.xml +58 -0
  1224. data/misc/T1488.xml +44 -0
  1225. data/misc/T1489.xml +39 -0
  1226. data/misc/T1491.xml +30 -0
  1227. data/misc/T1492.xml +37 -0
  1228. data/misc/T1493.xml +35 -0
  1229. data/misc/T1496.xml +81 -0
  1230. data/misc/T1499.xml +29 -0
  1231. data/misc/T150.xml +1125 -0
  1232. data/misc/T1511.xml +34 -0
  1233. data/misc/T1514.xml +41 -0
  1234. data/misc/T152.xml +577 -0
  1235. data/misc/T1520.xml +52 -0
  1236. data/misc/T1521.xml +41 -0
  1237. data/misc/T1522.xml +52 -0
  1238. data/misc/T1523.xml +35 -0
  1239. data/misc/T1525.xml +34 -0
  1240. data/misc/T1526.xml +32 -0
  1241. data/misc/T1527.xml +33 -0
  1242. data/misc/T1540.xml +31 -0
  1243. data/misc/T1543.xml +29 -0
  1244. data/misc/T1546.xml +32 -0
  1245. data/misc/T1549.xml +34 -0
  1246. data/misc/T1550.xml +31 -0
  1247. data/misc/T1552.xml +41 -0
  1248. data/misc/T1553.xml +41 -0
  1249. data/misc/T1554.xml +47 -0
  1250. data/misc/T1555.xml +31 -0
  1251. data/misc/T1556.xml +30 -0
  1252. data/misc/T1557.xml +32 -0
  1253. data/misc/T1558.xml +31 -0
  1254. data/misc/T1559.xml +50 -0
  1255. data/misc/T1560.xml +38 -0
  1256. data/misc/T1561.xml +29 -0
  1257. data/misc/T157.xml +206 -0
  1258. data/misc/T1570.xml +35 -0
  1259. data/misc/T1572.xml +30 -0
  1260. data/misc/T1574.xml +34 -0
  1261. data/misc/T1575.xml +33 -0
  1262. data/misc/T1576.xml +30 -0
  1263. data/misc/T1577.xml +30 -0
  1264. data/misc/T1578.xml +36 -0
  1265. data/misc/T1579.xml +30 -0
  1266. data/misc/T1585.xml +33 -0
  1267. data/misc/T1588.xml +47 -0
  1268. data/misc/T1590.xml +151 -0
  1269. data/misc/T1591.xml +159 -0
  1270. data/misc/T1592.xml +60 -0
  1271. data/misc/T1594.xml +69 -0
  1272. data/misc/T1595.xml +42 -0
  1273. data/misc/T1596.xml +82 -0
  1274. data/misc/T1599.xml +151 -0
  1275. data/misc/T16.xml +33 -0
  1276. data/misc/T160.xml +31 -0
  1277. data/misc/T1600.xml +36 -0
  1278. data/misc/T1601.xml +39 -0
  1279. data/misc/T1602.xml +59 -0
  1280. data/misc/T1606.xml +39 -0
  1281. data/misc/T1607.xml +47 -0
  1282. data/misc/T1609.xml +51 -0
  1283. data/misc/T1610.xml +31 -0
  1284. data/misc/T1611.xml +38 -0
  1285. data/misc/T1612.xml +32 -0
  1286. data/misc/T1617.xml +31 -0
  1287. data/misc/T1619.xml +30 -0
  1288. data/misc/T1620.xml +49 -0
  1289. data/misc/T1621.xml +29 -0
  1290. data/misc/T1622.xml +35 -0
  1291. data/misc/T1626.xml +30 -0
  1292. data/misc/T1627.xml +29 -0
  1293. data/misc/T1629.xml +41 -0
  1294. data/misc/T163.xml +49 -0
  1295. data/misc/T1630.xml +61 -0
  1296. data/misc/T1631.xml +44 -0
  1297. data/misc/T1632.xml +96 -0
  1298. data/misc/T1633.xml +32 -0
  1299. data/misc/T1634.xml +128 -0
  1300. data/misc/T1635.xml +39 -0
  1301. data/misc/T1636.xml +54 -0
  1302. data/misc/T1637.xml +29 -0
  1303. data/misc/T1638.xml +57 -0
  1304. data/misc/T1642.xml +37 -0
  1305. data/misc/T1644.xml +34 -0
  1306. data/misc/T1650.xml +73 -0
  1307. data/misc/T1651.xml +111 -0
  1308. data/misc/T1652.xml +36 -0
  1309. data/misc/T1656.xml +31 -0
  1310. data/misc/T1657.xml +30 -0
  1311. data/misc/T1658.xml +34 -0
  1312. data/misc/T1675.xml +31 -0
  1313. data/misc/T1678.xml +34 -0
  1314. data/misc/T1679.xml +30 -0
  1315. data/misc/T1680.xml +30 -0
  1316. data/misc/T1681.xml +43 -0
  1317. data/misc/T1685.xml +30 -0
  1318. data/misc/T1691.xml +81 -0
  1319. data/misc/T1693.xml +28 -0
  1320. data/misc/T1698.xml +30 -0
  1321. data/misc/T1699.xml +30 -0
  1322. data/misc/T1701.xml +30 -0
  1323. data/misc/T1703.xml +32 -0
  1324. data/misc/T1706.xml +33 -0
  1325. data/misc/T1713.xml +39 -0
  1326. data/misc/T1714.xml +40 -0
  1327. data/misc/T1719.xml +31 -0
  1328. data/misc/T1720.xml +46 -0
  1329. data/misc/T1721.xml +67 -0
  1330. data/misc/T1722.xml +38 -0
  1331. data/misc/T1727.xml +30 -0
  1332. data/misc/T1729.xml +48 -0
  1333. data/misc/T1730.xml +37 -0
  1334. data/misc/T1731.xml +40 -0
  1335. data/misc/T176.xml +70 -0
  1336. data/misc/T181.xml +75 -0
  1337. data/misc/T184.xml +43 -0
  1338. data/misc/T187.xml +79 -0
  1339. data/misc/T188.xml +35 -0
  1340. data/misc/T190.xml +29 -0
  1341. data/misc/T192.xml +30 -0
  1342. data/misc/T195.xml +33 -0
  1343. data/misc/T197.xml +34 -0
  1344. data/misc/T199.xml +31 -0
  1345. data/misc/T2.xml +39 -0
  1346. data/misc/T201.xml +39 -0
  1347. data/misc/T202.xml +66 -0
  1348. data/misc/T208.xml +41 -0
  1349. data/misc/T210.xml +29 -0
  1350. data/misc/T211.xml +161 -0
  1351. data/misc/T214.xml +31 -0
  1352. data/misc/T216.xml +28 -0
  1353. data/misc/T221.xml +74 -0
  1354. data/misc/T226.xml +29 -0
  1355. data/misc/T23.xml +53 -0
  1356. data/misc/T231.xml +42 -0
  1357. data/misc/T235.xml +544 -0
  1358. data/misc/T236.xml +194 -0
  1359. data/misc/T240.xml +46 -0
  1360. data/misc/T241.xml +36 -0
  1361. data/misc/T242.xml +35 -0
  1362. data/misc/T246.xml +86 -0
  1363. data/misc/T248.xml +34 -0
  1364. data/misc/T249.xml +32 -0
  1365. data/misc/T253.xml +33 -0
  1366. data/misc/T256.xml +48 -0
  1367. data/misc/T257.xml +37 -0
  1368. data/misc/T259.xml +48 -0
  1369. data/misc/T261.xml +44 -0
  1370. data/misc/T262.xml +37 -0
  1371. data/misc/T263.xml +48 -0
  1372. data/misc/T271.xml +29 -0
  1373. data/misc/T272.xml +29 -0
  1374. data/misc/T283.xml +31 -0
  1375. data/misc/T284.xml +93 -0
  1376. data/misc/T286.xml +37 -0
  1377. data/misc/T287.xml +30 -0
  1378. data/misc/T288.xml +34 -0
  1379. data/misc/T290.xml +51 -0
  1380. data/misc/T291.xml +30 -0
  1381. data/misc/T292.xml +29 -0
  1382. data/misc/T293.xml +30 -0
  1383. data/misc/T295.xml +36 -0
  1384. data/misc/T3.xml +34 -0
  1385. data/misc/T304.xml +138 -0
  1386. data/misc/T305.xml +50 -0
  1387. data/misc/T306.xml +347 -0
  1388. data/misc/T308.xml +28 -0
  1389. data/misc/T309.xml +209 -0
  1390. data/misc/T311.xml +32 -0
  1391. data/misc/T312.xml +32 -0
  1392. data/misc/T313.xml +37 -0
  1393. data/misc/T321.xml +35 -0
  1394. data/misc/T322.xml +32 -0
  1395. data/misc/T33.xml +34 -0
  1396. data/misc/T331.xml +49 -0
  1397. data/misc/T333.xml +44 -0
  1398. data/misc/T334.xml +30 -0
  1399. data/misc/T335.xml +52 -0
  1400. data/misc/T336.xml +104 -0
  1401. data/misc/T340.xml +153 -0
  1402. data/misc/T344.xml +87 -0
  1403. data/misc/T345.xml +59 -0
  1404. data/misc/T346.xml +111 -0
  1405. data/misc/T349.xml +30 -0
  1406. data/misc/T353.xml +93 -0
  1407. data/misc/T355.xml +831 -0
  1408. data/misc/T363.xml +376 -0
  1409. data/misc/T365.xml +69 -0
  1410. data/misc/T366.xml +265 -0
  1411. data/misc/T368.xml +129 -0
  1412. data/misc/T371.xml +57 -0
  1413. data/misc/T372.xml +29 -0
  1414. data/misc/T374.xml +1283 -0
  1415. data/misc/T375.xml +106 -0
  1416. data/misc/T377.xml +31 -0
  1417. data/misc/T378.xml +39 -0
  1418. data/misc/T379.xml +36 -0
  1419. data/misc/T381.xml +44 -0
  1420. data/misc/T39.xml +35 -0
  1421. data/misc/T392.xml +30 -0
  1422. data/misc/T393.xml +44 -0
  1423. data/misc/T399.xml +32 -0
  1424. data/misc/T40.xml +164 -0
  1425. data/misc/T400.xml +39 -0
  1426. data/misc/T407.xml +31 -0
  1427. data/misc/T412.xml +42 -0
  1428. data/misc/T422.xml +103 -0
  1429. data/misc/T423.xml +34 -0
  1430. data/misc/T426.xml +508 -0
  1431. data/misc/T432.xml +166 -0
  1432. data/misc/T433.xml +31 -0
  1433. data/misc/T436.xml +33 -0
  1434. data/misc/T437.xml +28 -0
  1435. data/misc/T441.xml +61 -0
  1436. data/misc/T444.xml +33 -0
  1437. data/misc/T445.xml +37 -0
  1438. data/misc/T448.xml +43 -0
  1439. data/misc/T455.xml +29 -0
  1440. data/misc/T456.xml +31 -0
  1441. data/misc/T460.xml +40 -0
  1442. data/misc/T461.xml +30 -0
  1443. data/misc/T465.xml +28 -0
  1444. data/misc/T47.xml +29 -0
  1445. data/misc/T473.xml +40 -0
  1446. data/misc/T478.xml +29 -0
  1447. data/misc/T479.xml +288 -0
  1448. data/misc/T48.xml +31 -0
  1449. data/misc/T480.xml +72 -0
  1450. data/misc/T481.xml +30 -0
  1451. data/misc/T482.xml +36 -0
  1452. data/misc/T483.xml +32 -0
  1453. data/misc/T484.xml +32 -0
  1454. data/misc/T485.xml +38 -0
  1455. data/misc/T486.xml +35 -0
  1456. data/misc/T487.xml +33 -0
  1457. data/misc/T491.xml +31 -0
  1458. data/misc/T501.xml +44 -0
  1459. data/misc/T503.xml +30 -0
  1460. data/misc/T506.xml +32 -0
  1461. data/misc/T51.xml +29 -0
  1462. data/misc/T511.xml +36 -0
  1463. data/misc/T512.xml +31 -0
  1464. data/misc/T514.xml +40 -0
  1465. data/misc/T516.xml +31 -0
  1466. data/misc/T519.xml +33 -0
  1467. data/misc/T52.xml +55 -0
  1468. data/misc/T521.xml +84 -0
  1469. data/misc/T522.xml +1767 -0
  1470. data/misc/T529.xml +43 -0
  1471. data/misc/T533.xml +31 -0
  1472. data/misc/T534.xml +34 -0
  1473. data/misc/T535.xml +33 -0
  1474. data/misc/T536.xml +40 -0
  1475. data/misc/T537.xml +29 -0
  1476. data/misc/T538.xml +36 -0
  1477. data/misc/T54.xml +36 -0
  1478. data/misc/T544.xml +29 -0
  1479. data/misc/T545.xml +36 -0
  1480. data/misc/T546.xml +208 -0
  1481. data/misc/T547.xml +47 -0
  1482. data/misc/T548.xml +86 -0
  1483. data/misc/T558.xml +37 -0
  1484. data/misc/T559.xml +218 -0
  1485. data/misc/T56.xml +46 -0
  1486. data/misc/T560.xml +196 -0
  1487. data/misc/T562.xml +74 -0
  1488. data/misc/T563.xml +83 -0
  1489. data/misc/T566.xml +36 -0
  1490. data/misc/T568.xml +34 -0
  1491. data/misc/T569.xml +73 -0
  1492. data/misc/T570.xml +29 -0
  1493. data/misc/T571.xml +29 -0
  1494. data/misc/T572.xml +32 -0
  1495. data/misc/T575.xml +28 -0
  1496. data/misc/T578.xml +45 -0
  1497. data/misc/T579.xml +36 -0
  1498. data/misc/T580.xml +34 -0
  1499. data/misc/T584.xml +117 -0
  1500. data/misc/T585.xml +46 -0
  1501. data/misc/T587.xml +42 -0
  1502. data/misc/T590.xml +30 -0
  1503. data/misc/T591.xml +81 -0
  1504. data/misc/T592.xml +34 -0
  1505. data/misc/T594.xml +50 -0
  1506. data/misc/T595.xml +33 -0
  1507. data/misc/T6.xml +34 -0
  1508. data/misc/T604.xml +30 -0
  1509. data/misc/T605.xml +31 -0
  1510. data/misc/T608.xml +34 -0
  1511. data/misc/T611.xml +52 -0
  1512. data/misc/T612.xml +31 -0
  1513. data/misc/T615.xml +65 -0
  1514. data/misc/T617.xml +51 -0
  1515. data/misc/T618.xml +50 -0
  1516. data/misc/T620.xml +39 -0
  1517. data/misc/T621.xml +39 -0
  1518. data/misc/T623.xml +78 -0
  1519. data/misc/T625.xml +31 -0
  1520. data/misc/T626.xml +50 -0
  1521. data/misc/T627.xml +32 -0
  1522. data/misc/T629.xml +33 -0
  1523. data/misc/T632.xml +38 -0
  1524. data/misc/T635.xml +47 -0
  1525. data/misc/T639.xml +118 -0
  1526. data/misc/T640.xml +553 -0
  1527. data/misc/T641.xml +463 -0
  1528. data/misc/T644.xml +31 -0
  1529. data/misc/T645.xml +29 -0
  1530. data/misc/T647.xml +227 -0
  1531. data/misc/T648.xml +33 -0
  1532. data/misc/T650.xml +109 -0
  1533. data/misc/T653.xml +39 -0
  1534. data/misc/T654.xml +31 -0
  1535. data/misc/T656.xml +29 -0
  1536. data/misc/T659.xml +47 -0
  1537. data/misc/T66.xml +266 -0
  1538. data/misc/T662.xml +32 -0
  1539. data/misc/T665.xml +29 -0
  1540. data/misc/T666.xml +47 -0
  1541. data/misc/T668.xml +53 -0
  1542. data/misc/T669.xml +33 -0
  1543. data/misc/T670.xml +57 -0
  1544. data/misc/T672.xml +35 -0
  1545. data/misc/T673.xml +1123 -0
  1546. data/misc/T674.xml +32 -0
  1547. data/misc/T675.xml +38 -0
  1548. data/misc/T676.xml +31 -0
  1549. data/misc/T678.xml +72 -0
  1550. data/misc/T679.xml +36 -0
  1551. data/misc/T680.xml +48 -0
  1552. data/misc/T681.xml +38 -0
  1553. data/misc/T682.xml +58 -0
  1554. data/misc/T683.xml +32 -0
  1555. data/misc/T687.xml +89 -0
  1556. data/misc/T688.xml +38 -0
  1557. data/misc/T689.xml +44 -0
  1558. data/misc/T692.xml +61 -0
  1559. data/misc/T693.xml +34 -0
  1560. data/misc/T695.xml +39 -0
  1561. data/misc/T698.xml +30 -0
  1562. data/misc/T699.xml +29 -0
  1563. data/misc/T701.xml +118 -0
  1564. data/misc/T703.xml +45 -0
  1565. data/misc/T704.xml +41 -0
  1566. data/misc/T705.xml +30 -0
  1567. data/misc/T706.xml +151 -0
  1568. data/misc/T707.xml +115 -0
  1569. data/misc/T708.xml +125 -0
  1570. data/misc/T709.xml +29 -0
  1571. data/misc/T714.xml +30 -0
  1572. data/misc/T715.xml +34 -0
  1573. data/misc/T716.xml +47 -0
  1574. data/misc/T717.xml +33 -0
  1575. data/misc/T718.xml +50 -0
  1576. data/misc/T72.xml +30 -0
  1577. data/misc/T720.xml +35 -0
  1578. data/misc/T723.xml +44 -0
  1579. data/misc/T726.xml +46 -0
  1580. data/misc/T728.xml +38 -0
  1581. data/misc/T73.xml +30 -0
  1582. data/misc/T731.xml +34 -0
  1583. data/misc/T732.xml +37 -0
  1584. data/misc/T735.xml +277 -0
  1585. data/misc/T736.xml +29 -0
  1586. data/misc/T737.xml +191 -0
  1587. data/misc/T738.xml +1018 -0
  1588. data/misc/T743.xml +31 -0
  1589. data/misc/T744.xml +39 -0
  1590. data/misc/T745.xml +28 -0
  1591. data/misc/T747.xml +30 -0
  1592. data/misc/T748.xml +51 -0
  1593. data/misc/T749.xml +51 -0
  1594. data/misc/T750.xml +263 -0
  1595. data/misc/T752.xml +136 -0
  1596. data/misc/T753.xml +72 -0
  1597. data/misc/T755.xml +560 -0
  1598. data/misc/T756.xml +82 -0
  1599. data/misc/T759.xml +28 -0
  1600. data/misc/T760.xml +28 -0
  1601. data/misc/T762.xml +42 -0
  1602. data/misc/T771.xml +41 -0
  1603. data/misc/T772.xml +30 -0
  1604. data/misc/T78.xml +31 -0
  1605. data/misc/T783.xml +42 -0
  1606. data/misc/T786.xml +44 -0
  1607. data/misc/T789.xml +44 -0
  1608. data/misc/T792.xml +42 -0
  1609. data/misc/T795.xml +36 -0
  1610. data/misc/T797.xml +32 -0
  1611. data/misc/T8.xml +34 -0
  1612. data/misc/T808.xml +46 -0
  1613. data/misc/T811.xml +45 -0
  1614. data/misc/T812.xml +38 -0
  1615. data/misc/T813.xml +39 -0
  1616. data/misc/T814.xml +29 -0
  1617. data/misc/T815.xml +40 -0
  1618. data/misc/T816.xml +37 -0
  1619. data/misc/T820.xml +58 -0
  1620. data/misc/T821.xml +180 -0
  1621. data/misc/T829.xml +48 -0
  1622. data/misc/T83.xml +55 -0
  1623. data/misc/T831.xml +41 -0
  1624. data/misc/T835.xml +28 -0
  1625. data/misc/T836.xml +63 -0
  1626. data/misc/T837.xml +38 -0
  1627. data/misc/T844.xml +30 -0
  1628. data/misc/T845.xml +34 -0
  1629. data/misc/T846.xml +66 -0
  1630. data/misc/T847.xml +35 -0
  1631. data/misc/T848.xml +30 -0
  1632. data/misc/T849.xml +30 -0
  1633. data/misc/T850.xml +39 -0
  1634. data/misc/T852.xml +31 -0
  1635. data/misc/T853.xml +48 -0
  1636. data/misc/T854.xml +47 -0
  1637. data/misc/T855.xml +29 -0
  1638. data/misc/T856.xml +31 -0
  1639. data/misc/T859.xml +69 -0
  1640. data/misc/T868.xml +29 -0
  1641. data/misc/T875.xml +150 -0
  1642. data/misc/T88.xml +48 -0
  1643. data/misc/T883.xml +36 -0
  1644. data/misc/T886.xml +36 -0
  1645. data/misc/T887.xml +42 -0
  1646. data/misc/T888.xml +34 -0
  1647. data/misc/T889.xml +37 -0
  1648. data/misc/T890.xml +43 -0
  1649. data/misc/T891.xml +47 -0
  1650. data/misc/T892.xml +52 -0
  1651. data/misc/T893.xml +29 -0
  1652. data/misc/T894.xml +39 -0
  1653. data/misc/T897.xml +31 -0
  1654. data/misc/T9.xml +50 -0
  1655. data/misc/T90.xml +31 -0
  1656. data/misc/T901.xml +234 -0
  1657. data/misc/T902.xml +31 -0
  1658. data/misc/T903.xml +30 -0
  1659. data/misc/T904.xml +33 -0
  1660. data/misc/T906.xml +31 -0
  1661. data/misc/T91.xml +107 -0
  1662. data/misc/T912.xml +32 -0
  1663. data/misc/T913.xml +43 -0
  1664. data/misc/T92.xml +98 -0
  1665. data/misc/T921.xml +33 -0
  1666. data/misc/T922.xml +33 -0
  1667. data/misc/T923.xml +35 -0
  1668. data/misc/T924.xml +29 -0
  1669. data/misc/T927.xml +29 -0
  1670. data/misc/T934.xml +34 -0
  1671. data/misc/T935.xml +157 -0
  1672. data/misc/T936.xml +86 -0
  1673. data/misc/T937.xml +47 -0
  1674. data/misc/T938.xml +35 -0
  1675. data/misc/T939.xml +29 -0
  1676. data/misc/T940.xml +32 -0
  1677. data/misc/T943.xml +53 -0
  1678. data/misc/T944.xml +43 -0
  1679. data/misc/T945.xml +56 -0
  1680. data/misc/T950.xml +75 -0
  1681. data/misc/T951.xml +36 -0
  1682. data/misc/T952.xml +30 -0
  1683. data/misc/T955.xml +32 -0
  1684. data/misc/T959.xml +29 -0
  1685. data/misc/T960.xml +40 -0
  1686. data/misc/T962.xml +38 -0
  1687. data/misc/T963.xml +129 -0
  1688. data/misc/T964.xml +46 -0
  1689. data/misc/T969.xml +38 -0
  1690. data/misc/T974.xml +28 -0
  1691. data/misc/T976.xml +32 -0
  1692. data/misc/T98.xml +1511 -0
  1693. data/misc/T980.xml +35 -0
  1694. data/misc/T981.xml +46 -0
  1695. data/misc/T982.xml +32 -0
  1696. data/misc/T983.xml +29 -0
  1697. data/misc/T984.xml +30 -0
  1698. data/misc/T985.xml +28 -0
  1699. data/misc/T986.xml +28 -0
  1700. data/misc/T987.xml +36 -0
  1701. data/misc/T988.xml +48 -0
  1702. data/misc/T990.xml +34 -0
  1703. data/misc/T998.xml +30 -0
  1704. data/misc/T999.xml +39 -0
  1705. data/misc/TA.xml +34 -0
  1706. data/misc/TA1.xml +32 -0
  1707. data/misc/TAX.xml +40 -0
  1708. data/misc/TBI.xml +35 -0
  1709. data/misc/TC2.xml +29 -0
  1710. data/misc/TCD.xml +43 -0
  1711. data/misc/TD1.xml +37 -0
  1712. data/misc/TD3.xml +37 -0
  1713. data/misc/TD4.xml +32 -0
  1714. data/misc/TD5.xml +42 -0
  1715. data/misc/TDS.xml +31 -0
  1716. data/misc/TDT.xml +31 -0
  1717. data/misc/TED.xml +35 -0
  1718. data/misc/TEM.xml +32 -0
  1719. data/misc/TER.xml +33 -0
  1720. data/misc/TF.xml +31 -0
  1721. data/misc/TFR.xml +31 -0
  1722. data/misc/TFS.xml +35 -0
  1723. data/misc/THE.xml +32 -0
  1724. data/misc/TI.xml +34 -0
  1725. data/misc/TI01.xml +34 -0
  1726. data/misc/TI03.xml +29 -0
  1727. data/misc/TI05.xml +65 -0
  1728. data/misc/TI10.xml +28 -0
  1729. data/misc/TI11.xml +41 -0
  1730. data/misc/TI13.xml +29 -0
  1731. data/misc/TI14.xml +30 -0
  1732. data/misc/TI40.xml +36 -0
  1733. data/misc/TI43.xml +61 -0
  1734. data/misc/TI58.xml +32 -0
  1735. data/misc/TI60.xml +29 -0
  1736. data/misc/TI61.xml +30 -0
  1737. data/misc/TI62.xml +30 -0
  1738. data/misc/TI63.xml +33 -0
  1739. data/misc/TIA.xml +34 -0
  1740. data/misc/TID.xml +36 -0
  1741. data/misc/TII.xml +32 -0
  1742. data/misc/TIS.xml +31 -0
  1743. data/misc/TLN.xml +49 -0
  1744. data/misc/TMD.xml +36 -0
  1745. data/misc/TOA.xml +32 -0
  1746. data/misc/TOO.xml +30 -0
  1747. data/misc/TOV.xml +33 -0
  1748. data/misc/TPB.xml +31 -0
  1749. data/misc/TPD.xml +31 -0
  1750. data/misc/TRF.xml +32 -0
  1751. data/misc/TRL.xml +32 -0
  1752. data/misc/TRN.xml +31 -0
  1753. data/misc/TRS.xml +32 -0
  1754. data/misc/TS.xml +34 -0
  1755. data/misc/TS2.xml +46 -0
  1756. data/misc/TS3.xml +51 -0
  1757. data/misc/TSD.xml +29 -0
  1758. data/misc/TSI.xml +31 -0
  1759. data/misc/TSP.xml +31 -0
  1760. data/misc/TST.xml +44 -0
  1761. data/misc/TSU.xml +35 -0
  1762. data/misc/TT.xml +29 -0
  1763. data/misc/TUD.xml +30 -0
  1764. data/misc/TXI.xml +37 -0
  1765. data/misc/TXN.xml +37 -0
  1766. data/misc/TXP.xml +37 -0
  1767. data/misc/UC.xml +31 -0
  1768. data/misc/UCS.xml +35 -0
  1769. data/misc/UD.xml +44 -0
  1770. data/misc/UDA.xml +34 -0
  1771. data/misc/UIT.xml +30 -0
  1772. data/misc/UM.xml +37 -0
  1773. data/misc/UQS.xml +31 -0
  1774. data/misc/UR.xml +29 -0
  1775. data/misc/USD.xml +39 -0
  1776. data/misc/USI.xml +30 -0
  1777. data/misc/UWI.xml +31 -0
  1778. data/misc/V1.xml +36 -0
  1779. data/misc/V2.xml +44 -0
  1780. data/misc/V3.xml +31 -0
  1781. data/misc/V4.xml +28 -0
  1782. data/misc/V5.xml +30 -0
  1783. data/misc/V9.xml +47 -0
  1784. data/misc/VAD.xml +38 -0
  1785. data/misc/VAR.xml +34 -0
  1786. data/misc/VAT.xml +39 -0
  1787. data/misc/VC.xml +40 -0
  1788. data/misc/VC1.xml +42 -0
  1789. data/misc/VDI.xml +42 -0
  1790. data/misc/VEH.xml +43 -0
  1791. data/misc/VID.xml +40 -0
  1792. data/misc/VR.xml +36 -0
  1793. data/misc/VRC.xml +32 -0
  1794. data/misc/W01.xml +43 -0
  1795. data/misc/W03.xml +34 -0
  1796. data/misc/W04.xml +42 -0
  1797. data/misc/W05.xml +35 -0
  1798. data/misc/W06.xml +39 -0
  1799. data/misc/W07.xml +38 -0
  1800. data/misc/W08.xml +36 -0
  1801. data/misc/W09.xml +36 -0
  1802. data/misc/W1.xml +28 -0
  1803. data/misc/W10.xml +36 -0
  1804. data/misc/W12.xml +49 -0
  1805. data/misc/W13.xml +32 -0
  1806. data/misc/W14.xml +32 -0
  1807. data/misc/W15.xml +33 -0
  1808. data/misc/W17.xml +36 -0
  1809. data/misc/W18.xml +30 -0
  1810. data/misc/W19.xml +45 -0
  1811. data/misc/W2.xml +43 -0
  1812. data/misc/W20.xml +37 -0
  1813. data/misc/W27.xml +37 -0
  1814. data/misc/W28.xml +35 -0
  1815. data/misc/W3.xml +33 -0
  1816. data/misc/W4.xml +32 -0
  1817. data/misc/W5.xml +33 -0
  1818. data/misc/W6.xml +31 -0
  1819. data/misc/W66.xml +37 -0
  1820. data/misc/W76.xml +33 -0
  1821. data/misc/WLD.xml +37 -0
  1822. data/misc/WS.xml +30 -0
  1823. data/misc/X01.xml +37 -0
  1824. data/misc/X02.xml +32 -0
  1825. data/misc/X1.xml +44 -0
  1826. data/misc/X2.xml +33 -0
  1827. data/misc/X4.xml +46 -0
  1828. data/misc/X7.xml +29 -0
  1829. data/misc/XD.xml +32 -0
  1830. data/misc/XH.xml +34 -0
  1831. data/misc/XPO.xml +31 -0
  1832. data/misc/XQ.xml +32 -0
  1833. data/misc/Y1.xml +36 -0
  1834. data/misc/Y2.xml +37 -0
  1835. data/misc/Y3.xml +38 -0
  1836. data/misc/Y4.xml +37 -0
  1837. data/misc/Y5.xml +28 -0
  1838. data/misc/Y6.xml +30 -0
  1839. data/misc/Y7.xml +32 -0
  1840. data/misc/YNQ.xml +37 -0
  1841. data/misc/ZA.xml +35 -0
  1842. data/misc/ZC1.xml +36 -0
  1843. data/misc/ZD.xml +36 -0
  1844. data/misc/ZR.xml +43 -0
  1845. data/misc/ZT.xml +33 -0
  1846. data/x12.gemspec +28 -0
  1847. metadata +1949 -0
@@ -0,0 +1,89 @@
1
+ module X12
2
+
3
+ # Implements a segment containing fields or composites
4
+ class Segment < Base
5
+ # Parses this segment out of a string, puts the match into value,
6
+ # returns the rest of the string - nil if cannot parse.
7
+ def parse(str)
8
+ s = str
9
+ # puts "Parsing segment #{name} from #{s} with regexp [#{regexp.source}]"
10
+ m = regexp.match(s)
11
+ # puts "Matched #{m ? m[0] : 'nothing'}"
12
+
13
+ return nil unless m
14
+
15
+ s = m.post_match
16
+ self.parsed_str = m[0]
17
+ s = do_repeats(s)
18
+
19
+ # puts "Parsed segment "+self.inspect
20
+ return s
21
+ end
22
+
23
+ # Render all components of this segment as string suitable for EDI.
24
+ def render
25
+ self.to_a.inject('') { |repeat_str, i|
26
+ if i.repeats.begin < 1 and !i.has_content?
27
+ # Skip optional empty segments
28
+ repeat_str
29
+ else
30
+ # Have to render no matter how empty
31
+ repeat_str += i.name + i.nodes.reverse.inject('') { |nodes_str, j|
32
+ field = j.render
33
+ (j.required or nodes_str != '' or field != '') ? field_separator + field + nodes_str : nodes_str
34
+ } + segment_separator
35
+ end
36
+ }
37
+ end
38
+
39
+ # Returns a regexp that matches this particular segment.
40
+ def regexp
41
+ unless @regexp
42
+ if self.nodes.find { |i| i.type =~ /^".+"$/ }
43
+ # It's a very special regexp if there are constant fields
44
+ re_str = self.nodes.inject("^#{name}#{Regexp.escape(field_separator)}") { |s, i|
45
+ field_re = i.simple_regexp(field_separator, segment_separator) + Regexp.escape(field_separator) + '?'
46
+ field_re = "(#{field_re})?" unless i.required
47
+ s + field_re
48
+ } + Regexp.escape(segment_separator)
49
+ @regexp = Regexp.new(re_str)
50
+ else
51
+ # Simple match
52
+ @regexp = Regexp.new("^#{name}#{Regexp.escape(field_separator)}[^#{Regexp.escape(segment_separator)}]*#{Regexp.escape(segment_separator)}")
53
+ end
54
+ # puts sprintf("%s %p", name, @regexp)
55
+ end
56
+ @regexp
57
+ end
58
+
59
+ # Finds a field in the segment. Returns EMPTY if not found.
60
+ def find_field(str)
61
+ # puts "Finding field [#{str}] in #{self.class} #{name}"
62
+ # If there is such a field to begin with
63
+ field_num = nil
64
+ self.nodes.each_index{ |i|
65
+ field_num = i if str == self.nodes[i].name
66
+ }
67
+ return EMPTY if field_num.nil?
68
+ # puts field_num
69
+
70
+ # Parse the segment if not parsed already
71
+ unless @fields
72
+ @fields = self.to_s.chop.split(Regexp.new(Regexp.escape(field_separator)))
73
+ self.nodes.each_index { |i| self.nodes[i].content = @fields[i + 1] }
74
+ end
75
+ # puts self.nodes[field_num].inspect
76
+ return self.nodes[field_num]
77
+ end
78
+
79
+ # provides loopong through multiple segments within the loop
80
+ def each
81
+ res = self.to_a
82
+ 0.upto(res.length - 1) do |x|
83
+ yield res[x]
84
+ end
85
+ end
86
+
87
+ end
88
+
89
+ end
data/lib/x12/table.rb ADDED
@@ -0,0 +1,21 @@
1
+ module X12
2
+
3
+ # This just a named hash to store validation tables.
4
+ class Table < Hash
5
+ attr_reader :name
6
+
7
+ # Create a new table with given name and hash content.
8
+ def initialize(name, name_values)
9
+ @name = name
10
+ self.merge!(name_values)
11
+ end
12
+
13
+ # Return a printable string representing this table
14
+ # @return [String]
15
+ def inspect
16
+ "Table #{name} -- #{super.inspect}"
17
+ end
18
+
19
+ end
20
+
21
+ end
@@ -0,0 +1,4 @@
1
+ module X12
2
+ # @type [String]
3
+ VERSION = '1.6.0'.freeze
4
+ end
@@ -0,0 +1,147 @@
1
+ module X12
2
+ # A class for parsing X12 message definition expressed in XML format.
3
+ class XMLDefinitions < Hash
4
+
5
+ # Parse definitions out of XML file.
6
+ # @param str [String]
7
+ def initialize(str)
8
+ doc = LibXML::XML::Document.string(str)
9
+ definitions = doc.root.name =~ /^Definition$/i ? doc.root.find('*').to_a : [doc.root]
10
+
11
+ definitions.each do |element|
12
+ # puts element.name
13
+ syntax_element = case element.name
14
+ when /table/i
15
+ parse_table(element)
16
+ when /segment/i
17
+ parse_segment(element)
18
+ when /composite/i
19
+ parse_composite(element)
20
+ when /loop/i
21
+ parse_loop(element)
22
+ end
23
+ self[syntax_element.class] ||= {}
24
+ self[syntax_element.class][syntax_element.name] = syntax_element
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def parse_boolean(s)
31
+ return case s
32
+ when nil
33
+ false
34
+ when ''
35
+ false
36
+ when /(^y(es)?$)|(^t(rue)?$)|(^1$)/i
37
+ true
38
+ when /(^no?$)|(^f(alse)?$)|(^0$)/i
39
+ false
40
+ else
41
+ nil
42
+ end
43
+ end
44
+
45
+ def parse_type(s)
46
+ return case s
47
+ when nil
48
+ 'string'
49
+ when /^C.+$/
50
+ s
51
+ when /^i(nt(eger)?)?$/i
52
+ 'int'
53
+ when /^l(ong)?$/i
54
+ 'long'
55
+ when /^d(ouble)?$/i
56
+ 'double'
57
+ when /^s(tr(ing)?)?$/i
58
+ 'string'
59
+ else
60
+ nil
61
+ end
62
+ end
63
+
64
+ def parse_int(s)
65
+ return case s
66
+ when nil then 0
67
+ when /^\d+$/ then s.to_i
68
+ when /^inf(inite)?$/ then 999_999
69
+ else
70
+ nil
71
+ end
72
+ end
73
+
74
+ def parse_attributes(e)
75
+ throw Exception.new("No name attribute found for : #{e.inspect}") unless name = e.attributes['name']
76
+ throw Exception.new("Cannot parse attribute 'min' for: #{e.inspect}") unless min = parse_int(e.attributes['min'])
77
+ throw Exception.new("Cannot parse attribute 'max' for: #{e.inspect}") unless max = parse_int(e.attributes['max'])
78
+ throw Exception.new("Cannot parse attribute 'type' for: #{e.inspect}") unless type = parse_type(e.attributes['type'])
79
+ throw Exception.new("Cannot parse attribute 'required' for: #{e.inspect}") if (required = parse_boolean(e.attributes['required'])).nil?
80
+
81
+ validation = e.attributes['validation']
82
+ min = 1 if required and min < 1
83
+ max = 999_999 if max.zero?
84
+
85
+ return name, min, max, type, required, validation
86
+ end
87
+
88
+ def parse_field(e)
89
+ name, min, max, type, required, validation = parse_attributes(e)
90
+
91
+ # FIXME: for compatibility with d12 - constants are stored in attribute 'type' and are enclosed in
92
+ # double quotes
93
+ const_field = e.attributes['const']
94
+ if const_field
95
+ type = "\"#{const_field}\""
96
+ end
97
+
98
+ Field.new(name, type, required, min, max, validation)
99
+ end
100
+
101
+ def parse_table(e)
102
+ name, min, max, type, required, validation = parse_attributes(e)
103
+
104
+ content = e.find('Entry').inject({}) { |t, entry|
105
+ t[entry.attributes['name']] = entry.attributes['value']
106
+ t
107
+ }
108
+ Table.new(name, content)
109
+ end
110
+
111
+ def parse_segment(e)
112
+ name, min, max, type, required, validation = parse_attributes(e)
113
+
114
+ fields = e.find('Field').inject([]) { |f, field|
115
+ f << parse_field(field)
116
+ }
117
+ Segment.new(name, fields, Range.new(min, max))
118
+ end
119
+
120
+ def parse_composite(e)
121
+ name, min, max, type, required, validation = parse_attributes(e)
122
+
123
+ fields = e.find('Field').inject([]) { |f, field|
124
+ f << parse_field(field)
125
+ }
126
+ Composite.new(name, fields)
127
+ end
128
+
129
+ def parse_loop(e)
130
+ name, min, max, type, required, validation = parse_attributes(e)
131
+
132
+ components = e.find('*').to_a.inject([]) { |r, element|
133
+ r << case element.name
134
+ when /loop/i
135
+ parse_loop(element)
136
+ when /segment/i
137
+ parse_segment(element)
138
+ else
139
+ throw Exception.new("Cannot recognize syntax for: #{element.inspect} in loop #{e.inspect}")
140
+ end
141
+ }
142
+ Loop.new(name, components, Range.new(min, max))
143
+ end
144
+
145
+ end
146
+
147
+ end
data/lib/x12.rb ADDED
@@ -0,0 +1,23 @@
1
+ require 'libxml'
2
+ require 'pp'
3
+
4
+ require 'x12/base'
5
+ require 'x12/composite'
6
+ require 'x12/empty'
7
+ require 'x12/field'
8
+ require 'x12/loop'
9
+ require 'x12/parser'
10
+ require 'x12/segment'
11
+ require 'x12/table'
12
+ require 'x12/version'
13
+ require 'x12/xmldefinitions'
14
+
15
+ # X12 implements direct manipulation of X12 structures using Ruby syntax.
16
+ module X12
17
+ include LibXML
18
+
19
+ # @type [X12::Empty]
20
+ EMPTY = Empty.new()
21
+ # @type [Integer]
22
+ TEST_REPEAT = 1
23
+ end
data/misc/270.xml ADDED
@@ -0,0 +1,152 @@
1
+ <!--
2
+ This file is part of the X12Parser library that provides tools to
3
+ manipulate X12 messages using Ruby native syntax.
4
+
5
+ http://x12parser.rubyforge.org
6
+
7
+ Copyright (C) 2009 APP Design, Inc.
8
+
9
+ This library is free software; you can redistribute it and/or
10
+ modify it under the terms of the GNU Lesser General Public
11
+ License as published by the Free Software Foundation; either
12
+ version 2.1 of the License, or (at your option) any later version.
13
+
14
+ This library is distributed in the hope that it will be useful,
15
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public
20
+ License along with this library; if not, write to the Free Software
21
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
+
23
+ $Id: 270.xml 81 2009-05-13 18:05:32Z ikk $
24
+ -->
25
+
26
+ <Loop name="270" comment="This X12 Transaction Set contains the format and establishes the data contents of the Eligibility, Coverage or Benefit Inquiry Transaction Set (270) for use within the context of an Electronic Data Interchange (EDI) environment. This transaction set can be used to inquire about the eligibility, coverages or benefits associated with a benefit plan, employer, plan sponsor, subscriber or a dependent under the subscriber's policy. The transaction set is intended to be used by all lines of insurance such as Health, Life, and Property and Casualty.">
27
+
28
+ <Segment name="ST" required="y" max="1">
29
+ <Field name="TransactionSetIdentifierCode" const="270" comment="Code uniquely identifying a Transaction Set"/>
30
+ <Field name="TransactionSetControlNumber" min="4" max="9" comment="Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set"/>
31
+ </Segment>
32
+ <Segment name="BHT" required="y" max="1" comment="To define the business hierarchical structure of the transaction set and identify the business application purpose and reference data, i.e., number, date, and time">
33
+ <Field name="HierarchicalStructureCode" required="y" const="0022" comment="Code indicating the hierarchical application structure of a transaction set that utilizes the HL segment to define the structure of the transaction set"/>
34
+ <Field name="TransactionSetPurposeCode" required="y" min="2" max="2" validation="T353" comment="Code identifying purpose of transaction set"/>
35
+ <Field name="ReferenceIdentification" min="1" max="50" comment="Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier"/>
36
+ <Field name="Date" required="y" min="8" max="8" comment="Date expressed as CCYYMMDD where CC represents the first two digits of the calendar year"/>
37
+ <Field name="Time" required="y" min="4" max="8" comment="Time expressed in 24-hour clock time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23), M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)"/>
38
+ <Field name="TransactionTypeCode" required="n" min="2" max="2" validation="T640" comment="Code specifying the type of transaction"/>
39
+ </Segment>
40
+
41
+ <Loop name="L2000A" max="inf" required="y">
42
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
43
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
44
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
45
+ <Field name="HierarchicalLevelCode" const="20" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
46
+ <Field name="HierarchicalChildCode" required="n" min="1" max="1" validation="T736" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
47
+ </Segment>
48
+ <Loop name="L2100A" min="1" max="1" required="y">
49
+ <Segment name="NM1" required="y" max="1"/>
50
+ </Loop>
51
+ </Loop>
52
+
53
+ <Loop name="L2000B" max="inf" required="y">
54
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
55
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
56
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
57
+ <Field name="HierarchicalLevelCode" const="21" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
58
+ <Field name="HierarchicalChildCode" required="n" min="1" max="1" validation="T736" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
59
+ </Segment>
60
+ <Loop name="L2100B" min="1" max="1" required="y">
61
+ <Segment name="NM1" required="y" max="1"/>
62
+ <Segment name="REF" required="n" max="9"/>
63
+ <Segment name="N3" required="n" max="1"/>
64
+ <Segment name="N4" required="n" max="1"/>
65
+ <Segment name="PER" required="n" max="3"/>
66
+ <Segment name="PRV" required="n" max="1"/>
67
+ </Loop>
68
+ </Loop>
69
+
70
+ <Loop name="L2000C" max="inf" required="y">
71
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
72
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
73
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
74
+ <Field name="HierarchicalLevelCode" const="22" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
75
+ <Field name="HierarchicalChildCode" required="n" min="1" max="1" validation="T736" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
76
+ </Segment>
77
+ <Segment name="TRN" required="n" max="2"/>
78
+ <Loop name="L2100C" min="1" max="1" required="y">
79
+ <!-- Note the difference from 'standard' NM1: IdentificationCodeQualifier and IdentificationCode are not
80
+ required -->
81
+ <Segment name="NM1" required="y" max="1" comment="To supply the full name of an individual or organizational entity">
82
+ <Field name="EntityIdentifierCode1" required="y" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
83
+ <Field name="EntityTypeQualifier" required="y" min="1" max="1" validation="T1065" comment="Code qualifying the type of entity"/>
84
+ <Field name="NameLastOrOrganizationName" required="n" min="1" max="60" comment="Individual last name or organizational name"/>
85
+ <Field name="NameFirst" required="n" min="1" max="35" comment="Individual first name"/>
86
+ <Field name="NameMiddle" required="n" min="1" max="25" comment="Individual middle name or initial"/>
87
+ <Field name="NamePrefix" required="n" min="1" max="10" comment="Prefix to individual name"/>
88
+ <Field name="NameSuffix" required="n" min="1" max="10" comment="Suffix to individual name"/>
89
+ <Field name="IdentificationCodeQualifier" required="n" min="1" max="2" validation="T66" comment="Code designating the system/method of code structure used for Identification Code (67)"/>
90
+ <Field name="IdentificationCode" required="n" min="2" max="80" comment="Code identifying a party or other code"/>
91
+ <Field name="EntityRelationshipCode" required="n" min="2" max="2" validation="T706" comment="Code describing entity relationship"/>
92
+ <Field name="EntityIdentifierCode" required="n" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
93
+ </Segment>
94
+ <Segment name="REF" required="n" max="9"/>
95
+ <Segment name="N3" required="n" max="1"/>
96
+ <Segment name="N4" required="n" max="1"/>
97
+ <Segment name="PRV" required="n" max="1"/>
98
+ <Segment name="DMG" required="n" max="3"/>
99
+ <Segment name="INS" required="n" max="1"/>
100
+ <Segment name="DTP" required="n" max="2"/>
101
+ <Loop name="L2110C" max="99" required="n">
102
+ <Segment name="EQ" required="n" max="1"/>
103
+ <Segment name="AMT" required="n" max="1"/>
104
+ <Segment name="III" required="n" max="10"/>
105
+ <Segment name="REF" required="n" max="1"/>
106
+ <Segment name="DTP" required="n" max="1"/>
107
+ </Loop>
108
+ </Loop>
109
+ </Loop>
110
+
111
+ <Loop name="L2000D" max="inf" required="n">
112
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
113
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
114
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
115
+ <Field name="HierarchicalLevelCode" const="23" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
116
+ <Field name="HierarchicalChildCode" const="0" required="y" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
117
+ </Segment>
118
+ <Segment name="TRN" required="n" max="2"/>
119
+ <Loop name="L2100D" min="0" max="1" required="n">
120
+ <!-- Note the difference from 'standard' NM1: IdentificationCodeQualifier and IdentificationCode are not
121
+ required -->
122
+ <Segment name="NM1" required="y" max="1" comment="To supply the full name of an individual or organizational entity">
123
+ <Field name="EntityIdentifierCode1" required="y" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
124
+ <Field name="EntityTypeQualifier" required="y" min="1" max="1" validation="T1065" comment="Code qualifying the type of entity"/>
125
+ <Field name="NameLastOrOrganizationName" required="n" min="1" max="60" comment="Individual last name or organizational name"/>
126
+ <Field name="NameFirst" required="n" min="1" max="35" comment="Individual first name"/>
127
+ <Field name="NameMiddle" required="n" min="1" max="25" comment="Individual middle name or initial"/>
128
+ <Field name="NamePrefix" required="n" min="1" max="10" comment="Prefix to individual name"/>
129
+ <Field name="NameSuffix" required="n" min="1" max="10" comment="Suffix to individual name"/>
130
+ <Field name="IdentificationCodeQualifier" required="n" min="1" max="2" validation="T66" comment="Code designating the system/method of code structure used for Identification Code (67)"/>
131
+ <Field name="IdentificationCode" required="n" min="2" max="80" comment="Code identifying a party or other code"/>
132
+ <Field name="EntityRelationshipCode" required="n" min="2" max="2" validation="T706" comment="Code describing entity relationship"/>
133
+ <Field name="EntityIdentifierCode" required="n" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
134
+ </Segment>
135
+ <Segment name="REF" required="n" max="9"/>
136
+ <Segment name="N3" required="n" max="1"/>
137
+ <Segment name="N4" required="n" max="1"/>
138
+ <Segment name="PRV" required="n" max="1"/>
139
+ <Segment name="DMG" required="n" max="3"/>
140
+ <Segment name="INS" required="n" max="1"/>
141
+ <Segment name="DTP" required="n" max="2"/>
142
+ <Loop name="L2110D" max="99" required="n">
143
+ <Segment name="EQ" required="y" max="1"/>
144
+ <Segment name="III" required="n" max="10"/>
145
+ <Segment name="REF" required="n" max="1"/>
146
+ <Segment name="DTP" required="n" max="1"/>
147
+ </Loop>
148
+ </Loop>
149
+ </Loop>
150
+
151
+ <Segment name="SE" min="1" max="1"/>
152
+ </Loop>
@@ -0,0 +1,164 @@
1
+ <!--
2
+ This file is part of the X12Parser library that provides tools to
3
+ manipulate X12 messages using Ruby native syntax.
4
+
5
+ http://x12parser.rubyforge.org
6
+
7
+ Copyright (C) 2009 APP Design, Inc.
8
+
9
+ This library is free software; you can redistribute it and/or
10
+ modify it under the terms of the GNU Lesser General Public
11
+ License as published by the Free Software Foundation; either
12
+ version 2.1 of the License, or (at your option) any later version.
13
+
14
+ This library is distributed in the hope that it will be useful,
15
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public
20
+ License along with this library; if not, write to the Free Software
21
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
+
23
+ $Id: 270interchange.xml 79 2009-05-13 17:22:33Z ikk $
24
+ -->
25
+
26
+ <Loop name="270interchange" min="1" max="1">
27
+ <Segment name="ISA" min="1" max="1"/>
28
+
29
+ <Loop name="FG" min="1" max="inf">
30
+ <Segment name="GS" min="1" max="1"/>
31
+
32
+ <Loop name="270" comment="This X12 Transaction Set contains the format and establishes the data contents of the Eligibility, Coverage or Benefit Inquiry Transaction Set (270) for use within the context of an Electronic Data Interchange (EDI) environment. This transaction set can be used to inquire about the eligibility, coverages or benefits associated with a benefit plan, employer, plan sponsor, subscriber or a dependent under the subscriber's policy. The transaction set is intended to be used by all lines of insurance such as Health, Life, and Property and Casualty.">
33
+ <Segment name="ST" required="y" max="1">
34
+ <Field name="TransactionSetIdentifierCode" const="270" comment="Code uniquely identifying a Transaction Set"/>
35
+ <Field name="TransactionSetControlNumber" min="4" max="9" comment="Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set"/>
36
+ <Field name="ImplementationConventionReference" required="n" min="1" max="35" comment="Reference assigned to identify Implementation Convention"/>
37
+ </Segment>
38
+ <Segment name="BHT" required="y" max="1" comment="To define the business hierarchical structure of the transaction set and identify the business application purpose and reference data, i.e., number, date, and time">
39
+ <Field name="HierarchicalStructureCode" required="y" const="0022" comment="Code indicating the hierarchical application structure of a transaction set that utilizes the HL segment to define the structure of the transaction set"/>
40
+ <Field name="TransactionSetPurposeCode" required="y" min="2" max="2" validation="T353" comment="Code identifying purpose of transaction set"/>
41
+ <Field name="ReferenceIdentification" min="1" max="50" comment="Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier"/>
42
+ <Field name="Date" required="y" min="8" max="8" comment="Date expressed as CCYYMMDD where CC represents the first two digits of the calendar year"/>
43
+ <Field name="Time" required="y" min="4" max="8" comment="Time expressed in 24-hour clock time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23), M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)"/>
44
+ <Field name="TransactionTypeCode" required="n" min="2" max="2" validation="T640" comment="Code specifying the type of transaction"/>
45
+ </Segment>
46
+
47
+ <Loop name="L2000A" max="inf" required="y">
48
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
49
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
50
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
51
+ <Field name="HierarchicalLevelCode" const="20" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
52
+ <Field name="HierarchicalChildCode" required="n" min="1" max="1" validation="T736" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
53
+ </Segment>
54
+ <Loop name="L2100A" min="1" max="1" required="y">
55
+ <Segment name="NM1" required="y" max="1"/>
56
+ </Loop>
57
+ </Loop>
58
+
59
+ <Loop name="L2000B" max="inf" required="y">
60
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
61
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
62
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
63
+ <Field name="HierarchicalLevelCode" const="21" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
64
+ <Field name="HierarchicalChildCode" required="n" min="1" max="1" validation="T736" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
65
+ </Segment>
66
+ <Loop name="L2100B" min="1" max="1" required="y">
67
+ <Segment name="NM1" required="y" max="1"/>
68
+ <Segment name="REF" required="n" max="9"/>
69
+ <Segment name="N3" required="n" max="1"/>
70
+ <Segment name="N4" required="n" max="1"/>
71
+ <Segment name="PER" required="n" max="3"/>
72
+ <Segment name="PRV" required="n" max="1"/>
73
+ </Loop>
74
+ </Loop>
75
+
76
+ <Loop name="L2000C" max="inf" required="y">
77
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
78
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
79
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
80
+ <Field name="HierarchicalLevelCode" const="22" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
81
+ <Field name="HierarchicalChildCode" required="n" min="1" max="1" validation="T736" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
82
+ </Segment>
83
+ <Segment name="TRN" required="n" max="2"/>
84
+ <Loop name="L2100C" min="1" max="1" required="y">
85
+ <!-- Note the difference from 'standard' NM1: IdentificationCodeQualifier and IdentificationCode are not
86
+ required -->
87
+ <Segment name="NM1" required="y" max="1" comment="To supply the full name of an individual or organizational entity">
88
+ <Field name="EntityIdentifierCode1" required="y" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
89
+ <Field name="EntityTypeQualifier" required="y" min="1" max="1" validation="T1065" comment="Code qualifying the type of entity"/>
90
+ <Field name="NameLastOrOrganizationName" required="n" min="1" max="60" comment="Individual last name or organizational name"/>
91
+ <Field name="NameFirst" required="n" min="1" max="35" comment="Individual first name"/>
92
+ <Field name="NameMiddle" required="n" min="1" max="25" comment="Individual middle name or initial"/>
93
+ <Field name="NamePrefix" required="n" min="1" max="10" comment="Prefix to individual name"/>
94
+ <Field name="NameSuffix" required="n" min="1" max="10" comment="Suffix to individual name"/>
95
+ <Field name="IdentificationCodeQualifier" required="n" min="1" max="2" validation="T66" comment="Code designating the system/method of code structure used for Identification Code (67)"/>
96
+ <Field name="IdentificationCode" required="n" min="2" max="80" comment="Code identifying a party or other code"/>
97
+ <Field name="EntityRelationshipCode" required="n" min="2" max="2" validation="T706" comment="Code describing entity relationship"/>
98
+ <Field name="EntityIdentifierCode" required="n" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
99
+ </Segment>
100
+ <Segment name="REF" required="n" max="9"/>
101
+ <Segment name="N3" required="n" max="1"/>
102
+ <Segment name="N4" required="n" max="1"/>
103
+ <Segment name="PRV" required="n" max="1"/>
104
+ <Segment name="DMG" required="n" max="3"/>
105
+ <Segment name="INS" required="n" max="1"/>
106
+ <Segment name="DTP" required="n" max="2"/>
107
+ <Loop name="L2110C" max="99" required="n">
108
+ <Segment name="EQ" required="n" max="1"/>
109
+ <Segment name="AMT" required="n" max="1"/>
110
+ <Segment name="III" required="n" max="10"/>
111
+ <Segment name="REF" required="n" max="1"/>
112
+ <Segment name="DTP" required="n" max="1"/>
113
+ </Loop>
114
+ </Loop>
115
+ </Loop>
116
+
117
+ <Loop name="L2000D" max="inf" required="n">
118
+ <Segment name="HL" min="1" max="1" comment="To identify dependencies among and the content of hierarchically related groups of data segments">
119
+ <Field name="HierarchicalIdNumber" required="y" min="1" max="12" comment="A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"/>
120
+ <Field name="HierarchicalParentIdNumber" required="n" min="1" max="12" comment="Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"/>
121
+ <Field name="HierarchicalLevelCode" const="23" required="y" comment="Code defining the characteristic of a level in a hierarchical structure"/>
122
+ <Field name="HierarchicalChildCode" const="0" required="y" comment="Code indicating if there are hierarchical child data segments subordinate to the level being described"/>
123
+ </Segment>
124
+ <Segment name="TRN" required="n" max="2"/>
125
+ <Loop name="L2100D" min="0" max="1" required="n">
126
+ <!-- Note the difference from 'standard' NM1: IdentificationCodeQualifier and IdentificationCode are not
127
+ required -->
128
+ <Segment name="NM1" required="y" max="1" comment="To supply the full name of an individual or organizational entity">
129
+ <Field name="EntityIdentifierCode1" required="y" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
130
+ <Field name="EntityTypeQualifier" required="y" min="1" max="1" validation="T1065" comment="Code qualifying the type of entity"/>
131
+ <Field name="NameLastOrOrganizationName" required="n" min="1" max="60" comment="Individual last name or organizational name"/>
132
+ <Field name="NameFirst" required="n" min="1" max="35" comment="Individual first name"/>
133
+ <Field name="NameMiddle" required="n" min="1" max="25" comment="Individual middle name or initial"/>
134
+ <Field name="NamePrefix" required="n" min="1" max="10" comment="Prefix to individual name"/>
135
+ <Field name="NameSuffix" required="n" min="1" max="10" comment="Suffix to individual name"/>
136
+ <Field name="IdentificationCodeQualifier" required="n" min="1" max="2" validation="T66" comment="Code designating the system/method of code structure used for Identification Code (67)"/>
137
+ <Field name="IdentificationCode" required="n" min="2" max="80" comment="Code identifying a party or other code"/>
138
+ <Field name="EntityRelationshipCode" required="n" min="2" max="2" validation="T706" comment="Code describing entity relationship"/>
139
+ <Field name="EntityIdentifierCode" required="n" min="2" max="3" validation="T98" comment="Code identifying an organizational entity, a physical location, property or an individual"/>
140
+ </Segment>
141
+ <Segment name="REF" required="n" max="9"/>
142
+ <Segment name="N3" required="n" max="1"/>
143
+ <Segment name="N4" required="n" max="1"/>
144
+ <Segment name="PRV" required="n" max="1"/>
145
+ <Segment name="DMG" required="n" max="3"/>
146
+ <Segment name="INS" required="n" max="1"/>
147
+ <Segment name="DTP" required="n" max="2"/>
148
+ <Loop name="L2110D" max="99" required="n">
149
+ <Segment name="EQ" required="y" max="1"/>
150
+ <Segment name="III" required="n" max="10"/>
151
+ <Segment name="REF" required="n" max="1"/>
152
+ <Segment name="DTP" required="n" max="1"/>
153
+ </Loop>
154
+ </Loop>
155
+ </Loop>
156
+
157
+ <Segment name="SE" min="1" max="1"/>
158
+ </Loop>
159
+
160
+ <Segment name="GE" min="1" max="1"/>
161
+ </Loop>
162
+
163
+ <Segment name="IEA" min="1" max="1"/>
164
+ </Loop>