PD_x12 1.3.1

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